当使用LPC的filtfilt返回意想不到的大值

6视图(30天)
Sangeon勇
Sangeon勇 2016年9月27日
回答: 赵王 2016年9月29日
嗨,我只是试着source-filter分离lpc的功能和filtfilt函数。然而,当信号通过filtfilt,它变得非常大。当我使用滤波器代替filtfilt,没有问题。
在我的代码有什么问题?
一个= lpc(来源、50);
e =源- filtfilt([0 -(2:结束)],1,源);
恢复= filtfilt (1 a, e);%这filtfilt使得这个问题

答案(1)

赵王
赵王 2016年9月29日
我知道你想用source-filter分离的“filtfilt”功能。使用“filtfilt”功能后,过滤信号的振幅变大。
这种信号振幅的增加可能是由于“filtfilt”功能如何处理信号。“filtfilt”函数执行零相位数字滤波处理输入信号在正向和反向两个方向。这种处理机制导致滤波器传递函数等于平方级的原始滤波器传递函数。由于这个属性,输出信号可能大于“过滤器”功能的输出相同的滤波器设计。
更多关于“filtfilt”功能的详细信息,请参阅以下链接:
你也可以参考“零相位滤波”部分在以下链接的另一个例子使用“filtfilt”功能:
如果你有任何进一步的问题,你可以联系MathWorks技术支持协助。金宝app

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!