数字滤波器是现代数字信号处理系统的重要组成部分之

上传人:jiups****uk12 文档编号:38465463 上传时间:2018-05-02 格式:DOC 页数:5 大小:105KB
返回 下载 相关 举报
数字滤波器是现代数字信号处理系统的重要组成部分之_第1页
第1页 / 共5页
数字滤波器是现代数字信号处理系统的重要组成部分之_第2页
第2页 / 共5页
数字滤波器是现代数字信号处理系统的重要组成部分之_第3页
第3页 / 共5页
数字滤波器是现代数字信号处理系统的重要组成部分之_第4页
第4页 / 共5页
数字滤波器是现代数字信号处理系统的重要组成部分之_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《数字滤波器是现代数字信号处理系统的重要组成部分之》由会员分享,可在线阅读,更多相关《数字滤波器是现代数字信号处理系统的重要组成部分之(5页珍藏版)》请在金锄头文库上搜索。

1、 数字滤波器是现代数字信号处理系统的重要组成部分之一,具有模拟滤波器所无法替 代的新特性,因此在通信、语音与图像处理、自动控制等领域有着广泛的应用,它对于降 低噪声、提高信噪比及信号的频谱纯度等方面有着重要的意义。数字滤波器根据单位脉冲 响应的不同,可分为 FIR (有限长脉冲响应)滤波器和 IIR (无限长脉冲响应)滤波器,FIR 优点在于具有良好的相位特性,IIR 优点在于具有良好的幅频特性,可以根据不同的系统 性能 要求选择不同的滤波器。目前滤波器的主要实现方法:单片通用数字滤波器集成电路。该方法简单方便,但由于 其字长和阶数不能调节,且规格较少,难以满足实际需要。采用 DSP 器件,D

2、SP 集成了 许多专用函数,设计数字滤波器相对简单方便,其应用也最为广泛,DSP 器件性能也不断 提高,但在某些要求实时性、高速处理场合则受到很大限制。FPGA (现场可编程门阵 列)以其优越的实时性和设计的灵活性成了控制系统中重要的一部分,并且直接采用 Verilog 或 VHDL 编程,简化了设计步骤,在 FPGA 上实现滤波器,使滤波器能适用高 速场合。本文研究基于 FPGA 设计 FIR 数字滤波器的相关理论、设计方法及仿真。 1 分布式算法的基本原理分布式算法的基本原理 分布式算法是一项重要的 FPGA 技术,现广泛地应用于相关、离散傅里叶变换和卷积计 算中。随着可编程逻辑器件的发展

3、,分布式算法在数字滤波器硬件设计中的研究和应用将 进一步加强。为便于理解分布式算法的原理,考虑“乘积和”内积如下:假设 h(n)是已知常数,x(n)为变量,无符号数 x( n) 的表达式为:式(2)中 表示 x(n)的第 b 位,而 x(n)是 x 的第 n 次采样。则内积 y 为:对于有符号数 x(n):式(4)中,为符号位。则内积 y 为:公式(5)的形式被称为分布式算法,分布式算法是一种以实现乘累加运算为目的的运算 方法。它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序不同。简单地说, 分布式算法在完成乘累加功能时是通过将各输入数据每一对应位产生的部分积预先相加形 成相应部分积

4、,然后再对各部分进行累加得到最终结果。 2 分布式算法的分布式算法的 FPGA 实现实现 FPGA 中的基本单元称作可配置逻辑块( Con-figurable Logic Block,CLB),CLB 中的 Slice 又包含若干功能发生器(Function Generators,FG),FG 可编程配置为移位寄存器、查 找表(LUT)或 RAM 存储器,这一能力为实现分布式算法提供了硬件基础。 在具体实现时,利用查找表(LUT)映射乘累加运算,LUT 可采用基于 FPGA 逻辑单 元的 case 查找表或者 FPGA 自带的 RAM 来实现。如图 1 所示,预先设定程序的 LUT 接收一个

5、N 位输入向量Xi(N 1),Xi(1),Xi(0) ,查找表的输出对应表 1 中输出 值,然后将从 LUT 中读取的数据经过处理后送入加法器中。将每个输入数据的相同位传 递给 LUT,不同的位有不同的值。上述算法的实现由于摒弃了大量的乘法运算,使运算效 率得到成倍的提高。 3 FIR 滤波器设计及仿真滤波器设计及仿真 FIR 数字滤波器可用公式表示为:根据线性相位 FIR 数字滤波器冲激响应 h(n)的对称性可以发现,当阶数 N 确定后, 式(6)是一个内积公式。也就是说,FIR 滤波器可以采用分布式算法来实现。下面以一个截 止频率为 10. 8 kHz,采样频率为 48 kHz 的 16

6、阶 FIR 低通数字滤波器为例说明硬件电 路设计的方法和过程。3. 1 利用利用 MATLAB 的滤波器设计工具进行滤波器系数的确定的滤波器设计工具进行滤波器系数的确定 滤波器系数可以使用 Matlab 的 FDATool 设计工具获得。FDATool 即为 Fiter Design AnalysysTool,可以完成多种滤波器的设计、分析和性能评估。 启动 FDATool 后就是滤波器的设计界面,在该界面中进行滤波器设计,首先选择 Response Type 为 Lowpass,然后选择 Design Method 为 FIR,在 FIR 的下拉窗口中选择 window,Fiter Orde

7、r 指定为 15,win-dow 选为 kaiser,Beta 值为 0. 5,Fs ( 采样频率) 为 48 kHz,Fc(截止频率)为 10. 8 kHz,然后点击 designfilter 按钮,便可生成所需的系数 以及仿真的滤波器幅频特性图。由于得到的系数均为介于1,1区间的浮点数,而 FPGA 上只能进行定点数乘法,故需将其量化为整数。量化后滤波器系数为:3. 2 系统顶层文件设计系统顶层文件设计 用 VHDL 语言实现硬件时,定义了一个顶层实体 fir,x_in 是输入端口,y 是输出端 口。另外还定义了查找表实体 case。查找表表体的计算工作量较大,可以用 C 语言编写 一个小

8、程序来自动生成。系统顶层 VHDL 核心代码如下: ENTITY fir ISPORT(clk:IN STD_LOGIC;x_in:IN STD_LOGIC_VECTOR(3 DOWNTO 0);y:OUT INTEGER RANGE 3000 TO 3600);END fir; ARCHITECTURE behave OF fir ISSIGNAL x0,x1,x2,x3:STD_LOGIC_VECTOR(15 DOWNTO 0); SIGNAL y,y1,y2,y3:INTEGER RANGE 1000 TO 1600; BEGINPROCESSBEGINWAIT UNTIL clk =1

9、;FOR k IN 0 TO 14 LOOPx0(k) x0,tab_out = y0);LC_Tab1: casePORT MAP(tab_in = x1,tab_out = y1);LC_Tab2: casePORT MAP(tab_in = x2,tab_out = y2);LC_Tab3: casePORT MAP(tab_in = x3,tab_out = y3); end behave; 为了检测和验证系统,以 Altera 公司的 Stratix 系列芯片 EP1S10484C5 为硬件平台, 以 QuartusII 6.0 为软件平台,将上述用 VHDL 语言描述的系统进行仿真

10、,得到图 2 所 示的仿真结果。图 2 中 clk 为系统时钟,x_in 为输入数据,y 为滤波器的输出结果。 由式(6)知,FIR 滤波算法实际上是卷积运算。若: x_in(n) = 1, 3,5,h(n) = 2,0,7,5, 25, 26,80. 218,218,80, 26, 25,5,7,0, 2,则滤波器输出 y 的理论结果为:y = x_in( n) h( n) = 2,6, 3, 16, 5,74. 33, 152, 36,516,824,453, 50, 133,4,33,6, 10 。 可见,所设计的 FIR 滤波器在 Quartus6. 0 中进行时序仿真得到的输出结果和理论 上计算得到的结果是完全一致的,从而说明了设计的正确性。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号