Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FIR filters are is widely used in different applications such as biomedical, communication
and control due to its easily implementation, stability and best performance. Its simplicity
makes it attractive for many applications where it is need to minimize computational
requirements.
Filters play an important role for removal of unwanted signal or noise from original input
signal by removing the selected frequencies from incoming signal. They became much
popular due to the increase of the digital signal processing.
FIR
Less Efficient
No Analog Equivalent
May Be Unstable
Always Stable
assign dataout=d3+m5;
endmodule
#100;
end
always begin #50 clk=~clk; end
endmodule
module fir_filter(
input clock,
input reset,
input wire[15:0] input_sample,
output reg[15:0] output_sample);
parameter N = 13;
reg signed[15:0] coeffs[12:0];
reg [15:0] holderBefore[12:0];
wire [15:0] toAdd[12:0];
always @(*)
begin
coeffs[0]=6375;
coeffs[1]=1;
coeffs[2]=-3656;
coeffs[3]=3;
coeffs[4]=4171;
coeffs[5]=4;
coeffs[6]=28404;
coeffs[7]=4;
coeffs[8]=4171;
coeffs[9]=3;
coeffs[10]=-3656;
coeffs[11]=1;
coeffs[12]=6375;
end
genvar i;
generate
for (i=0; i<N; i=i+1)
begin: mult
multiplier mult1(
.dataa(coeffs[i]),
.datab(holderBefore[i]),
.result(toAdd[i]));
end
endgenerate
endmodule