Which interpolation method to use for resampling speech signal?

与世无争的帅哥 提交于 2021-01-27 14:20:42

问题


I want to do audio signal resampling (converting a signal with fs = 8 kHz to 16 kHz) using MATLAB.

There are 3 interpolation methods available : linear, pchip and spline

https://in.mathworks.com/help/signal/ref/resample.html#bungoxs

Which of them is most suitable for a speech signal and why?


回答1:


You probably don't want to use any of these, but rather interpft, which does the upsampling by zero-padding in the frequency domain. This assumes that all the higher frequency signals (above 4 kHz) are zero - these have been lost in the recording process.




回答2:


Linear sampling doesn't give good results as it won't capture the "curviness" of a low sample-rate signal, and the result is high frequency artifacts (You'll see if you Fourier-transform your upsampled signal).

A spline (which means cubic spline) is a sort of pchip. Basically you can use pchip if you know what you are doing and want to fine-tune the parameters. Since you don't know what you are doing, just use cubic splines with the default parameters. Visually they look OK, though when I was doing interpolation of width points (for graphics) I found that they weren't flexible enough, and had to do up to quintic splines. Higher than quintic and the splines become very wiggly and hard to control. But probably quintic splines with hand-tuned parameters would give you best quality.

I've got sophisticated up/down sampling code in the Baby X resource compiler. It wasn't developed by me, however. https://github.com/MalcolmMcLean/babyxrc




回答3:


The optimal way to upsample is use Sinc kernel interpolation or reconstruction, using a (polyphase if needed) windowed Sinc to be computationally feasible. Using a Zero-padded IFFT to upsample produces a similar high quality interpolation, except for circular boundary effects.

If you have to use 1 of your 3 available methods, spline is less worse than pchip, as the latter may clip a bit, and both of those are less worse than linear.



来源:https://stackoverflow.com/questions/43427960/which-interpolation-method-to-use-for-resampling-speech-signal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!