基于fpga16阶fir数字滤波器设计

基于fpga16阶fir数字滤波器设计

ID:5247151

大小:27.50 KB

页数:5页

时间:2017-12-06

基于fpga16阶fir数字滤波器设计_第1页
基于fpga16阶fir数字滤波器设计_第2页
基于fpga16阶fir数字滤波器设计_第3页
基于fpga16阶fir数字滤波器设计_第4页
基于fpga16阶fir数字滤波器设计_第5页
资源描述:

《基于fpga16阶fir数字滤波器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于FPGA16阶FIR数字滤波器设计  【摘要】本文是利用Altera提供的DSPBuilder开发工具从Simulink模型自动生成VHDL代码的一种FPGA设计方法来实现一个16阶FIR数字低通滤波器,设计出的滤波器用于线性调制的相干解调中。通过对设计的电路进行验证和仿真,结果表明电路工作正确可靠,能满足设计要求。【关键词】FPGA;DSPBuilder;FIR数字低通滤波器;相干解调1.引言信号的数字滤波在图像处理、语音识别、模式识别等数字信号处理中都占有要的地位。与模拟滤波器相比,数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤

2、波器所无法克服的电压漂移、温度漂移和噪声等问题。根据数字滤波器冲激响应函数的时域特性,可将数字滤波器分为无限长冲激响应(IIR)滤波和有限长冲激响应(FIR)滤波器两种。由于FIR系统只有零点、系统稳定,便于实FFT算法、运算速度快、线性相位的特性和设计更为灵活等突出优点而在工程实际中得广泛应用。在复杂运算中,FPGA的处理速度表现了很好的优势,而且FPGA开发周期短且编程灵活,易于反复擦写,算法实现不受DSP之类固件性能的限制。5本文研究了基于FPGA的16阶数字低通滤波器硬件电路的实现方法。设计出的16阶FIR数字低通滤波器用于线性调制中的相干解调(

3、也叫同步解调)来实现对原始信号的恢复。2.本设计利用的基本原理及设计指标的选择2.1相干解调的基本原理在线性调制中,设调制信号m(t)=sinω1t,载波为cosωct,则已调信号:Sm(t)=m(t)cosωct将已调信号乘上一个同频同相的载波,得:χ(t)=Sm(t)cosωct=m(t)(cosωct)2=0.5m(t)+0.5m(t)cos2ωct由上式可知,用一个低通滤波器可以将第一项与第二项分离,从而恢复出原始的调制信号,这种方法称为同步解调或相干解调。相干解调器的一般模型如图1,它由相乘器和低通滤波器组成,可用于AM、DSB、SSB、VSB

4、信号的解调。3.基于FPGA的FIR滤波器的设计设计指标:16阶FIR数字低通滤波器;输入为8位有符号数;输出为8位无符号数;抽样频率为50KHZ;带宽为10KHZ。3.1FIR滤波器系数的获得5常用的线性相位FIR滤波器,其单位脉冲响应均为实数,且满足偶对称或奇对称的条件,即h(n)=h(M-1-n)或h(n)=-h(M-1-n)。MATLAB集成了一套功能强大的滤波器设计工具FDATool(FilterDesign&AnalysisTool),可以完成多种滤波器的设计、分析和性能评估。本文就是利用FDATool来自动生成所要设计的滤波器的系数。利用F

5、DATool计算出的只是一个有符号小数,如下:3.2使用DSPBuilder提供的模块构造FIR数字低通滤波器本设计中利用4个4阶子系统来构建一个16阶的FIR滤波器,经推算得输出为16位的有符号数,但一般的D/A器件的输入数据都是无符号的正数。因此,为了能在硬件系统上D/A的输出也能观察到此波形,必须对此输出做一些改进,以便输出无符号数据。用BusConversion模块把16位转化为8位,再用BusConcatenation把有符号数转化为无符号数。为进行仿真观察添加了示波器模块。电路图如下,图2为4阶子系统,图3为总的电路图。3.3MATLAB仿真

6、根据上面构造的16阶FIR数字低通滤波器电路图,在MATLAB里进行仿真,可以从示波器上观察到仿真波形为图4:5上图中第一个是原始调制信号m(t),第二个是载波信号cosωct,第三个是进入滤波器前的信号x(t),由此可见进入滤波器之前的信号的包络就是原始信号与其反褶信号的叠加,我们希望经过滤波器之后能够把原始信号恢复出来。第四个是经过滤波器后的输出信号,可见输出信号与原始信号基本上是一致的,只是由于噪声的存在产生了一点失真。第五个是延迟后的输入信号。3.4自动生成代码及在QuartusⅡ中进行仿真通过MATLAB仿真,可以发现该构造已达到设计要求,接着

7、用于生成代码,在Simulink编辑窗中(即图3中)先进行编译,再双击Signal-Compiler模块,点击“Analyze”来自动生成VHDL语言和在QuartusⅡ中自动生成工程文件。在QuartusⅡ中打开自动生成的工程文件进行编译,编译成功后,再根据输入和输出结点新建一个波形文件进行编译和仿真,观察仿真结果并进行分析,经分析该仿真结果发现输出的数据正好对应图4中的输出波形的幅度,因此说,此仿真结果是正确的。其中oyout是通过滤波器后的输出结果,oyout1是延迟信号。仿真结果如图5所示:3.5引脚锁定及下载5通过查芯片引脚对照表,确定引脚分别

8、为:时钟CLK接179;清零sclrp接240;8位数据输出分别接21、41、1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。