新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于DSP Builder数字信号处理器的FPGA设计

基于DSP Builder数字信号处理器的FPGA设计

作者:时间:2011-02-09来源:网络收藏

技术广泛应用于各个领域,但传统的由于以顺序方式工作使得数据处理速度较低,且在功能重构及应用目标的修改方面缺乏灵活性。而使用具有并行处理特性的实现数字信号处理系统,具有很强的实时性和灵活性,因此利用实现数字信号处理成为数字信号处理领域的一种新的趋势。
以往基于的数字信号处理系统的模型及算法采用VHDL或VerilogHDL等硬件描述语言描述。但这些硬件描述语言往往比较复杂,而采用Altera公司推出的专门针对设计工具 BuildIer则可大大简化设计过程,提高设计效率。

1 基于 设计流程
DSP 是一个系统级(或者说算法级)设计工具,它架构在多个软件工具之上,并连接系统级的算法仿真建模和RTL级的硬件实现两个设计领域的设计工具,最大程度地发挥了这两种工具的优势。
DSP 依赖于Math-Works公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可在simulink中进行图形化设计和仿真,同时又通过signal Compiler把Maltlab/Simulink/DSP Builder的设计文件转成相应的VHDL设计文件,以及用控制综合与编译的tcl脚本。而对后者的处理可以由FPGA/CPLD开发工具QuartusⅡ完成。其设计流程如下:
Step1:在Simulink环境中调用Altera DSP库(非MATLAB自带的DSP库)中的块,进行数学模型设计。
Step2:在MATLAB中进行纯数学上的仿真、验证及修改。
Step3:当仿真符合设计要求后,再加入并运行Signal Compiler模块,将.mdl文件自动转成.vhd文件,进行RTL级的功能仿真和逻辑综合。
Step4:在QuartusⅡ中进行编译设计并进行时序仿真。
Step5:下载到一个硬件开发板上并测试。

2 设计实例
FIR和IIR滤波器是当前数字信号处理巾最常用的2种滤波器,其中FIR因其具有精确的线性相位特性而得到广泛应用。下面以截止频率为5 kHz,采样频率为32 kHz,输入序列位宽为9位(最高位为符号位)的12阶FIR低通数字滤波器为例,阐述基于DSP Builder的数字信号处理器设计方案。
2.1 FIR数字滤波器结构模型
对于N阶FIR数字滤波系统,其冲击响应总是有限长的,系统函数为:

滤波器的差分方程为:

式中,x(n)是输入采样序列,h(n)是滤波器系数,N是滤波器的阶数,y(n)表示滤波器的输出序列。
设计滤波器的任务就是寻找一个因果、物理上可实现的系统函数H(z),使其频率响应满足所希望的频域指标。图1为阶FIR数字滤波器的结构图。可见,FIR的数字滤波过程就是一个信号逐级延迟的过程,将各级的延迟输出加权累计,即得到FIR的输出。

本文引用地址:http://www.eepw.com.cn/article/191371.htm


2.2 滤波器系数的确定
滤波器系数使用Matlab的FDNTool设计工具获得。FDATool即为Filter Design&Analysys Tool,可以完成多种滤波器的设计、分析和性能评估。
启动FDATool后就是滤波器的设计界面,设置相应参数,便可生成所需的系数。由于得到的系数均为介于[-1,1]区间的浮点数,而在DSP Builder下建立的FIR滤波器模型需要一个整数(有符号整数类型)作为滤波器系数,故需将其量化为整数。量化后滤波器系数为:

2.3 滤波器模型的建立
在DSP Builder平台上设计FIR滤波器,首先在Matlab的Simulink中建立一个.MDL模型文件,即根据所要设计FIR滤波器的结构调用Al-tera DSP Builder和其他Simulink库中的图形模块,构成设计框图文件。


如果把所有的模块放在一个Simulink图中,设计图会显得非常复杂、庞大,不利于阅读或排错,这时可以利用层次设计方法设计。对于12阶FIR数字滤波器,可以先设计一个3阶FIR滤波器子模块fir3(图2),然后调用3个fir3子模块构造成12阶nR数字滤波器。使用。DSPBuilder工具箱建立的12阶FIR数字滤波器模型,如图3所示。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭