我想做音频信号重采样(将fs =8 kHz的信号转换为16 kHz)使用MATLAB。
有三种插补方法可供选择:线性插值、pchip插值和样条插值。
https://in.mathworks.com/help/signal/ref/resample.html#bungoxs
它们中的哪一个最适合语音信号?为什么?
发布于 2017-04-16 03:22:42
您可能不想使用其中的任何一个,而是使用interpft,它通过在频域中填充零来执行上采样。这假设所有高频信号(高于4 kHz)均为零-这些信号在记录过程中已丢失。
发布于 2017-04-15 23:56:31
线性采样不会给出好的结果,因为它不会捕获低采样率信号的“曲率”,结果是高频伪影(您将看到是否对上采样信号进行傅立叶变换)。
样条(意思是三次样条)是一种pchip。基本上,如果您知道自己在做什么并希望微调参数,则可以使用pchip。既然你不知道你在做什么,就使用默认参数的三次样条。从视觉上看,它们看起来还可以,尽管当我在做宽度点的插值(对于图形)时,我发现它们不够灵活,不得不做五次样条。高于五次曲线,并且样条曲线变得非常摇摆,很难控制。但是,手动调整参数的五次样条曲线可能会给你带来最好的质量。
我在Baby X资源编译器中获得了复杂的向上/向下采样代码。然而,它不是我开发的。https://github.com/MalcolmMcLean/babyxrc
发布于 2017-04-16 03:40:28
上采样的最佳方式是使用Sinc核插值或重建,使用(如果需要)加窗Sinc在计算上是可行的。使用零填充IFFT进行上采样可生成类似的高质量插值,但圆形边界效果除外。
如果你必须使用3种可用方法中的1种,样条线不如pchip差,因为后者可能会有一点修剪,而且这两种方法都比线性差。
https://stackoverflow.com/questions/43427960
复制相似问题