CIC滤波器

CIC滤波器是滑动平均滤波器的非常高效的迭代实现,只需要一个减法和一个加法,而滑动平均需要N-1个加法。

cic滤波器相当于一个梳状滤波器y(n)=x(n)-x(n-D),H(z)=1-z-D,和一个积分滤波器y(n)=x(n)+y(n-1),H(z)=(1-z-1)-1的级联,两个级联后y(n)=x(n)-x(n-D)+y(n-1),H(z)=(1-z-D)/(1-z-1),和求和表达式y(n)=x(n)+x(n-1)+x(n-2)...+x(n-D),H(z)=(1-z-D)/(1-z-1)一样.

CIC滤波器的FPGA表达:

process(rst,clk)

begin

if rst=1 then

y(n-1)=0;

k=0;

if rising(clk) then

x(n)="0000"+xin;

x(n-1)=x(n);

x(n-2)=x(n-1);

x(n-3)=x(n-2);

xd4=x(n)-x(n-3);

y(n)=xd4+y(n-1);

k=k+1;

if k=0 then

yout=y(n);

endif;

if k=3 then

k=0;

endif;

end process

猜你喜欢

转载自www.cnblogs.com/deyicun/p/12499704.html