Quantcast
Channel: Altera Forums
Viewing all articles
Browse latest Browse all 19390

Low Pass Frequency Filter in Verilog

$
0
0
Hello,
I am trying to implement a low pass frequency filter in Verilog. I know that the input is a sine wave that oscilates around 0. The threshold is 500hz. Here is my code:
module filter(clk, in, out);
input signed [11:0]in;
output signed [13:0]out;
input clk;
reg [17:0]counter;
wire [13:0]out;
reg q;
reg [11:0]true;
reg s;
initial begin counter=18'b000000000000000000; q=1; true=12'b000000000000; s=1; end
always @(posedge clk) begin
if(counter[17]==0) counter=counter+1;
if(~q==s) begin s=q; counter=18'b00000000000000; end
end
always @(negedge in[11]) begin
true={counter[17],counter[17],counter[17],counter[17],counter[17],counter[17],counter[17],counter[17],counter[17],counter[17],counter[17],counter[17]};
q=~q;
end
assign out=(in & true)<<< 2;
endmodule

The output is just 0 for no matter what frequency of the input.(The input is converted in a 2's complement system)
Will be very happy to hear how to fix my program... but if it desperately stupid, would like to see a code for LPFF.
Thanks in advance

Viewing all articles
Browse latest Browse all 19390

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>