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
原文地址:https://www.cnblogs.com/deyicun/p/12499704.html
时间: 2024-10-18 20:22:25