基于Matlab和FPGAD的FTR数字滤波器的设计 联系客服

发布时间 : 星期五 文章基于Matlab和FPGAD的FTR数字滤波器的设计更新完毕开始阅读93cd103583c4bb4cf7ecd16f

图九 Matable 仿真图

9

图十 仿真结果

图十一 FIR 滤波器系数

对FIR滤波器的系数进行调整,整数化可得FIR滤波器的参数为[-12 -19 13 30 -14 -54 14 170 255 170 14 -54 -14 30 13 -19 -12]

10

4.2 FIR滤波器的原理框图

图十二 FIR滤波器的原理框图 五.FIR滤波器设计的仿真实现

5.1. 模块电路设计

设计的FIR滤波器由19个小VHD文件和一个总体BDF文件组成,VHD文件可以分为以下四种模块:寄存器、加法器、减法器、乘法器。

5.1.1 寄存器

5.1.1.1寄存器原理

寄存器用于寄存一组二值代码,对寄存器的触发器只要求它们具有置1、置0的功能即可,因而本设计中用D触发器组成寄存器,实现寄存功能。

11

5.1.1.2 寄存器要求实现的功能

在CP正跳沿前接受输入信号,正跳沿时触发翻转,正跳沿后输入即被封锁。

5.1.1.3寄存器的VHDL语言实现(8位) LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY dff8 IS

PORT( clk : IN STD_LOGIC; clear : IN STD_LOGIC;

Din : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Dout : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END dff8;

ARCHITECTURE a OF dff8 IS BEGIN

PROCESS(clk,clear) BEGIN

IF clear='1' THEN Dout<=\ ELSIF clear='0' THEN

IF(clk'EVENT AND clk='1') THEN Dout <= Din; END IF; END IF; END PROCESS; END a;

其中,clear为复位信号。

5.1.1.4寄存器的模块图

图十三 寄存器模块图

12