zoukankan      html  css  js  c++  java
  • 基于FPGA的FIR滤波器(草稿)

    方案一:QuartusII中的IP核。但是FIR IP没有破解,放弃。

    方案二:用纯硬件描述语言搭建。

    基本上分为MAC(乘积累加结构)和DA(分布式结构)。

    MAC中具体结构有:

    直接型FIR滤波器结构。利用FIR系数对称性特点,先对相应值相加,再做乘积运算,最后累加。该进措施可以是加上流水线结构。

    实例:(参考自《EDA技术与Verilog设计》王金明编著)8KHZ采样率,8Bit输入,8Bit输出,11阶低通滤波器,fL=3.4KHZ。利用MATLAB得到滤波器系数,采用SD编码。Tips:SD(signed digit numbers有符号数字量),通过SD编码可以降低非零元素的数量。SD编码数字值域{1,0,-1},-1用1上面加“-”表示。

    代码如下:

    module Fir02
    (
    	input clk,
    	input [7:0] x,
    	output reg [15:0] y
    );
    
    reg [7:0] tap0,tap1,tap2,tap3,tap4,tap5,tap6,tap7,tap8,tap9,tap10;
    reg [7:0] t0,t1,t2,t3,t4,t5;
    reg [15:0] sum;
    
    always @(posedge clk)
    	begin
    		t0<=tap5;
    		t1<=tap4+tap6;
    		t2<=tap3+tap7;
    		t3<=tap2+tap8;
    		t4<=tap1+tap9;
    		t5<=tap0+tap10;
    		
    		sum<=	(t1<<4)
    				+{t1[7],t1[7:1]}
    				+{t1[7],t1[7],t1[7:2]}
    				+{t1[7],t1[7],t1[7],t1[7:3]}
    				
    				-(t2<<3)
    				-(t2<<2)
    				+t2
    				-{t2[7],t2[7],t2[7:2]}
    				
    				+(t3<<2)
    				+t3
    				+{t3[7],t3[7],t3[7:2]}
    				+{t3[7],t3[7],t3[7],t3[7],t3[7:4]}
    				+{t3[7],t3[7],t3[7],t3[7],t3[7],t3[7:5]}
    				
    				-t4
    				-{t4[7],t4[7:1]}
    				-{t4[7],t4[7],t4[7],t4[7:3]}
    				
    				+{t5[7],t5[7:1]}
    				-{t5[7],t5[7],t5[7],t5[7],t5[7],t5[7:5]}
    				
    				+(t0<<7)
    				-((t0<<2)<<2)
    				-(t0<<2)
    				+{t0[7],t0[7:1]}
    				+{t0[7],t0[7],t0[7:2]}
    				+{t0[7],t0[7],t0[7],t0[7],t0[7:4]};
    				
    		tap10<=tap9;
    		tap9<=tap8;
    		tap8<=tap7;
    		tap7<=tap6;
    		tap6<=tap5;
    		tap5<=tap4;
    		tap4<=tap3;
    		tap3<=tap2;
    		tap2<=tap1;
    		tap1<=tap0;
    		tap0<=x;
    		
    		y<={sum[15],sum[15],sum[15],sum[15],sum[15],sum[15],sum[15],sum[15:7]};
    	end
    
    endmodule 
    
  • 相关阅读:
    【刷题】洛谷 P2764 最小路径覆盖问题
    【刷题】BZOJ 3546 [ONTAK2010]Life of the Party
    【刷题】BZOJ 3175 [Tjoi2013]攻击装置
    【刷题】BZOJ 4516 [Sdoi2016]生成魔咒
    【刷题】SPOJ 1811 LCS
    【刷题】洛谷 P3804 【模板】后缀自动机
    【刷题】SPOJ 8222 NSUBSTR
    (98)Wangdao.com_第三十天_拖拉事件
    ECMA Script 6_必须要知道的基础
    (97)Wangdao.com_第三十天_触摸事件
  • 原文地址:https://www.cnblogs.com/yuesheng/p/2143678.html
Copyright © 2011-2022 走看看