1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/ZJaTmJdp
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
4.部分源码
.............................................................
reg[15:0]delay_pipeline[0:8];
reg[26:0]sum;
reg[23:0]product[0:8];
always@(posedge clk or negedge rst_n) begin
if(!rst_n) begin
delay_pipeline[0] <= 0;
delay_pipeline[1] <= 0;
delay_pipeline[2] <= 0;
delay_pipeline[3] <= 0;
delay_pipeline[4] <= 0;
delay_pipeline[5] <= 0;
delay_pipeline[6] <= 0;
delay_pipeline[7] <= 0;
delay_pipeline[8] <= 0;
end
else if(clk_en) begin
delay_pipeline[0] <= filter_in;
delay_pipeline[1] <= delay_pipeline[0];
delay_pipeline[2] <= delay_pipeline[1];
delay_pipeline[3] <= delay_pipeline[2];
delay_pipeline[4] <= delay_pipeline[3];
delay_pipeline[5] <= delay_pipeline[4];
delay_pipeline[6] <= delay_pipeline[5];
delay_pipeline[7] <= delay_pipeline[6];
delay_pipeline[8] <= delay_pipeline[7];
end
end
always@(posedge clk or negedge rst_n) begin
if(!rst_n) begin
product[0] <= 0;
product[1] <= 0;
product[2] <= 0;
product[3] <= 0;
product[4] <= 0;
product[5] <= 0;
product[6] <= 0;
product[7] <= 0;
product[8] <= 0;
end
else if(clk_en) begin
product[0] <= delay_pipeline[0]*coeff0;
product[1] <= delay_pipeline[1]*coeff1;
product[2] <= delay_pipeline[2]*coeff2;
product[3] <= delay_pipeline[3]*coeff3;
product[4] <= delay_pipeline[4]*coeff4;
product[5] <= delay_pipeline[5]*coeff5;
product[6] <= delay_pipeline[6]*coeff6;
product[7] <= delay_pipeline[7]*coeff7;
product[8] <= delay_pipeline[8]*coeff8;
end
end
..................................................
assign filter_out = sum[26:11];
endmodule
A451