我现在要求滤波器的冲击响应,已知该滤波器的传递函数,matlab里面编程和结果如下,请问怎么知道h(n)?
程序:
clear all;
syms z;
F=(-0.7071+6.8284*z^-1+15.0711*z^-2+6.8284*z^-3-0.7071*z^-4)/(1+25.3137*z^-2+z^-4);
f=iztrans(F)
得到的结果是:
f = sum(-(19220237309710434304*r3*r3^n +92803474332138603843*r3^2*r3^n + 19220237309710434304*r3^3*r3^n)/(14250346235921066*r3^2 + 1125899906842624),r3 in RootOf(z1^4 + (7125173117960533*z1^2)/281474976710656 + 1,z1))/10000 - (7071*kroneckerDelta(n,0))/10000
我现在就是不清楚怎么从这个结果中得出h(n),还是我的这种方法就不对,
我现在做的这个滤波器是IIR的,我用的软件版本是:matlab的R2011a版本
我现在要求滤波器的冲击响应,已知该滤波器的传递函数,matlab里面编程和结果如下,请问怎么知道h(n)?
答案:1 悬赏:50 手机版
解决时间 2021-01-03 22:39
- 提问者网友:欺烟
- 2021-01-03 14:59
最佳答案
- 五星知识达人网友:醉吻情书
- 2021-01-03 16:30
在matlab中用freqz这个函数试一下,我做FIR用的这个函数,不知道IIR的可不可以.
再问: 麻烦您看一下,是这样用吗? a=[-0.7071 6.8284 15.0711 6.8284 0.7071];b=[1 25.3137 1]; freqz(a,b) 得出的结果是这样一个图: 我想求出的是h(n),也就是滤波器的系数,您知道这个怎么求吗?谢谢!
再答: 系数可以用FDATOOL求呀。要看系数的话直接把系数导出就可以了。怎么用在网上搜一下,很多的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯