Incorrect downsampling audio range
古いコメントを表示
Hi, I have an .wav input audio with the signal in the range [-1;1] at 44.1kHz and I try to apply a down-sampling to about 2kHz but as result I have a signal that exceed the original audio range [-1;1]. It seen like the anti-aliasing filter amplify the signal. I suspect it may be because the filter is not ideal or the algorithm introduce some kind of distorsion.
Below is the code:
[x,F]=audioread('example.wav');
Fs=F/24; %1837.5Hz
x_decimate=decimate(x,F/Fs,2,'iir');
Results:
max(x)
1.000
min(x)
-1.000
max(x_decimate)
1.1108
min(x_decimate)
-1.1078
What is wrong? Am I making a mistake?
Thank you
4 件のコメント
Ameer Hamza
2020 年 5 月 4 日
What properties do you want in the downsampled signal? Should it be filtered during the downsampling process? You can also see downsample().
Luciano Sebastián Rau
2020 年 5 月 4 日
Ameer Hamza
2020 年 5 月 5 日
What are the issues with values going beyond -1 and +1? I guess if the decimated signal looks similar to the original signal, then it should not be a problem. You can also consider rescaling then filtered so that it remains in the range of -1 to 1.
Luciano Sebastián Rau
2020 年 5 月 5 日
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Simulation, Tuning, and Visualization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!