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!