我正在尝试绘制过滤后的音频,但我做错了,因为第二个情节没有显示任何内容。
[wave,fs]=wavread('my-audio.wav');
t=0:1/fs:(length(wave)-1)/fs;
figure(1);plot(t,wave);
b = [1.1 1];
a = [-0.1 0 1];
FIR = filter(b,a,wave);
figure(2);plot(t,FIR);
我正在使用的功能是:H(z)=(z + 1.1)/(z^2 - 0.1)
我错过了什么?
谢谢!
答案 0 :(得分:3)
看起来你已经颠倒了a
和b
向量中系数的顺序。对于定义传递函数的极点的反馈系数a
来说,反转系数的阶数特别显着(因此确定滤波器的稳定性)。因此,生成的过滤输出FIR
可能超过数值浮点容量,plot
遇到问题。
根据filter
's documentation,a
和b
系数是使用transfer function of the form定义的:
由于您的传输功能是
你应该使用系数
b = [0 1 1.1]
a = [1 0 -0.1]