IIR滤波器

IIR滤波器IIR 滤波器 IIR 滤波器定义滤波器结构图直接 I 型滤波器直接 II 型滤波器程序仿真参考 IIR 滤波器定义 IIR infiniteimpu 滤波器 无限冲击响应滤波器 IIR 滤波器

大家好,欢迎来到IT知识分享网。

IIR滤波器定义

滤波器结构图

直接I型滤波器

用个例子来说明,令 N = M = 3 N=M=3 N=M=3
y ( n ) = ∑ l = 1 3 a ( l ) y ( n − l ) + ∑ k = 0 3 b ( k ) x ( n − k ) y(n)=\sum_{l=1}^{3}a(l)y(n-l) + \sum_{k=0}^{3}b(k)x(n-k) y(n)=l=13a(l)y(nl)+k=03b(k)x(nk)
直接I型结构图,
在这里插入图片描述
用滤波器的系统函数表示为,
y ( h ) = h ( n ) ∗ x ( n ) y(h)=h(n) * x(n) y(h)=h(n)x(n)




同时做 z z z变换后,系统函数为,
H ( z ) = ∑ k = 0 M b ( k ) z − k 1 − ∑ l = 1 N a ( l ) z − l = B ( z ) A ( z ) H(z)=\frac{\sum_{k=0}^{M}b(k)z^{-k}}{1 – \sum_{l=1}^{N}a(l)z^{-l}}=\frac{B(z)}{A(z)} H(z)=1l=1Na(l)zlk=0Mb(k)zk=A(z)B(z)
从结构图中可以看出,在程序实现时,需要 2 ( N − 1 ) 2(N-1) 2(N1)个缓存。

直接II型滤波器

可以看出 B ( z ) B(z) B(z)对应的就是直接I型结构图中的蓝色区域, A ( z ) A(z) A(z)对应的就是粉色区域,从系统函数出发,调换其中 B ( z ) B(z) B(z) A ( z ) A(z) A(z)的顺序,
H ( z ) = B ( z ) 1 A ( z ) = 1 A ( z ) B ( z ) H(z)=B(z)\frac{1}{A(z)}=\frac{1}{A(z)}B(z) H(z)=B(z)A(z)1=A(z)1B(z)
调换顺序后的结构图可以看到中间一部分共有操作可以合并,合并后的结构图为直接II型结构图。
在这里插入图片描述
从直接II型结构图中可以看出,在程序实现时,只要 ( N − 1 ) (N-1) (N1)个缓存,比直接I型减少了(N-1)个缓存。



程序仿真

直接I型结构一阶IIR

load('HighPass50HzFs16k.mat') fs = 16000; data = rand(fs,1); data_out1 = zeros(size(data)); data_out2 = zeros(size(data)); b0 = SOS(1); b1 = SOS(2); b2 = SOS(3); a1 = SOS(5); a2 = SOS(6); x1=0; x2=0; y1=0; y2=0; [bb,aa] = sos2tf(SOS,G); data_out0 = filter(bb,aa,data); for i = 1:length(data) x0 = data(i); y0 = (x0 * b0 + x1 * b1 + x2 * b2) * G(1) ... - y1 * a1 - y2 * a2; data_out1(i) = y0; x2 = x1; x1 = x0; y2 = y1; y1 = y0; end 

直接II型结构一阶IIR

s1 = 0; s2 = 0; for i = 1:length(data) s0 = data(i) - a1 * s1 - a2 *s2; y0 = (s0 * b0 + s1 * b1 + s2 * b2) * G(1); data_out2(i) = y0; s2 = s1; s1 = s0; end 

参考

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122171.html

(0)
上一篇 2025-10-18 18:33
下一篇 2025-10-18 19:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信