icola 发表于 2009-10-24 12:00

求助!这个滤波器频域响应为什么不对呢?搞了三天了……

我画的这个4阶滤波器的频域响应和官方给的差别很大,主要是纵向坐标差了好多倍,下面是matlab代码、滤波器表达式还有官方和我画的频域响应。滤波器的频域响应不就是用iw代替滤波器表达式中的s,然后求每个频率点的值吗?怎么会不对呢?
matlab代码:
f=;
fil=-3.9466e5.*f.^2./(f.^4-888*sqrt(-1)*f.^3-3.9478e5*f.^2+5.5822e4*sqrt(-1).*f+3.9478e3);
subplot(2,1,1); semilogx(f,10*log10(abs(fil))); xlabel('Frequency(Hz)'); ylabel('Magnitude(dB)');
subplot(2,1,2); semilogx(f,angle(fil)*180/pi); xlabel('Frequency(Hz)'); ylabel('Phase(degree)');
axis()

[ 本帖最后由 ChaChing 于 2009-10-24 19:52 编辑 ]

ChaChing 发表于 2009-10-24 12:37

w=2*pi*f

icola 发表于 2009-10-24 12:58

谢谢,解决了,概念错误!
页: [1]
查看完整版本: 求助!这个滤波器频域响应为什么不对呢?搞了三天了……