APP下载

基于MATLAB-FDATool的数字滤波器FPGA实现

2010-09-04郑州轻工业学院计算机与通信工程学院李祖贺陈庆南

河南科技 2010年9期
关键词:冲激响应参数设置信号处理

郑州轻工业学院计算机与通信工程学院 李祖贺 陈庆南

基于MATLAB-FDATool的数字滤波器FPGA实现

郑州轻工业学院计算机与通信工程学院 李祖贺 陈庆南

随着数字技术的不断发展,数字信号处理技术(DSP,DigitalSignalProcessing)已飞速扩展到移动通信、雷达卫星通信、多媒体系统、图像识别与处理系统等诸多应用领域。不同领域对功能实现、性能指标与成本方面的要求也在不断增加。DSP处理器(如TI的TMS320系列)曾经是系统核心器件的唯一选择,但由于当今DSP应用市场的迅速变化,它已不能满足全部的要求。随着现代FPGA(FieldProgrammableGateArray,现场可编程门阵列)的出现,弥补了DSP处理器的一些不足。用FPGA来实现数字信号的处理就很好地解决了并行性和速度的问题,而且由FPGA构成的DSP系统非常易于修改、测试和升级。FPGA已经广泛地应用于信息通信、自动控制等诸多领域。但是传统的DSP开发者只能直接使用VHDL或VerilogHDL语言进行FPGA的设计,因而开发难度较大。

现在已经出现了许多新的基于FPGA的DSP开发工具,工作效率大为提高。本文就是在这种背景下,以在语音、图像处理和数字通信等各种系统中起作用的数字滤波器为切入点,尝试利用MATLAB信号处理工具箱下的滤波器设计工具FDATool进行数字滤波器的设计及FPGA实现。

一、MATLAB-FDATool及数字滤波器基础

FDATool(FilterDesign&AnalysisTool)是MATLAB软件信号处理工具箱里的滤波器设计分析工具,它几乎可以设计所有的常规滤波器,包含FIR和IIR的各种设计方法,操作简单方便。

FDATool设计界面可分为2大部分:一部分是Design Filter,位于界面下半部,用于设置滤波器的各项设计参数;另一部分则是特性区,位于界面的上半部,用于显示滤波器的各项特性,如幅频、相频特性等,且在设计过程中实时显示,方便参数的选择。DesignFilter部分主要分为:FilterType(滤波器类型)选项,DesignMethod(设计方法)选项,FilterOrder(滤波器阶数)选项,FrenquencySpecifications选项,MagnitudeSpecifications选项,WindowSpecifications选项。

数字滤波器是输入输出均为数字信号,经过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器根据其冲激响应函数的时域特性,分为无限长冲激响应(IIR)和有限长冲激响应(FIR)滤波器。IIR滤波器具有无限持续时间冲激响应,一般需要用递归模型来实现。FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式来实现,也可以采用非递归的方式来实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法等。

数字滤波器的实现分为软件实现和硬件实现2种方式,硬件主要利用通用数字滤波器集成电路、DSP处理器和FPGA来实现。由于现代实时性信号处理系统,特别是图像、视频系统,对处理速度的要求非常高,因此FPGA以其运算速度高的特点成为首选。传统方法实现FPGA有一定难度。然而在用FPGA进行DSP系统开发应用的已有全新的设计工具和设计流程,给开发人员提供了很大的便利。

二、MATLAB-FDATool下的FIR滤波器设计及实现

基于FDATool的滤波器设计方法真正实现了从参数设计到硬件FPGA实现的完全自动化,这也是真正意义上的EDA。

下面以Equiripple法设计FIR低通滤波器为例说明,该滤波器参数为:采样频率20KHz,通带截止频率4KHz,阻带截止频率5KHz,通带最大衰减0.1dB,阻带最小衰减80dB。

在MATLAB命令窗键入fdatool命令启动设计向导界面,对其各项参数进行设置。完成设计后可在特性区查看各项性能指标。见图1。

图1 滤波器幅频性能

然后进行量化设置,点击界面左侧的量化参数设置按钮,进入量化参数设置界面。设置Filterarithmetic为Fixed-point,Filterprecision设置为Specifyall,量化参数设置见表1。

表1 量化参数设置

在FDATool界面菜单下点击Targets>GenerateHDL进入HDL代码生成界面,选择相应参数,在work目录下生成滤波器及其测试向量的VHDL代码。其定义主要端口为:数据输入—data_in,数据输出—data_out,时钟—clk,使能输入—clk_enable,复位输入—reset。

三、MODELSIM下的结果验证

这里我们选择利用Modelsim软件进行验证,当然也可以选择QuartusⅡ等软件。ModelSim是优秀的HDL语言仿真器,它提供最友好的调试环境,是唯一的单内核支持VHDL和Verilog混合仿真的仿真器,是作FPGA/ASIC设计RTL级和门级电路仿真的首选。

选择前面滤波器代码的生成路径,进行编译仿真,图2为wave窗口下仿真波形的部分解图,使端clk_enable为1时滤波器工作,data_in和data_out为16位并行数据。可以进行下载实现,并可进行硬件调试。

图2 Modelsim下的仿真波形

四、结束语

本文以FIR数字滤波器为例,进行了基于FDATool的滤波器设计及其FPGA自动实现。在后续验证满足性能指标的前提下,该设计流程实现了整个设计的自动化,大大缩短了开发周期,提高了开发效率。随着现代基于FPGA的DSP开发工具如DSP Builder、SOPCBuilder、SystemGenerator等的出现,设计者可以按照流程化软件设计的开发方法进行FPGA的设计。

猜你喜欢

冲激响应参数设置信号处理
基于稀疏系统辨识的改进的零吸引LMS算法*
运动中人体信道数学模型研究
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
蚁群算法求解TSP中的参数设置
RTK技术在放线测量中的应用
基于STM32处理器的大棚温湿度监控系统设计
基于MATLAB仿真的井下变压器参数设置研究