毕业设计-基于FPGA的FIR数字滤波器设计.doc

上传人:龙*** 文档编号:746473 上传时间:2018-10-30 格式:DOC 页数:34 大小:1.11MB
下载 相关 举报
毕业设计-基于FPGA的FIR数字滤波器设计.doc_第1页
第1页 / 共34页
毕业设计-基于FPGA的FIR数字滤波器设计.doc_第2页
第2页 / 共34页
毕业设计-基于FPGA的FIR数字滤波器设计.doc_第3页
第3页 / 共34页
毕业设计-基于FPGA的FIR数字滤波器设计.doc_第4页
第4页 / 共34页
毕业设计-基于FPGA的FIR数字滤波器设计.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、 I学士论文基于 FPGA 的 FIR 数字滤波器设计摘 要随着公元的第二十一个世纪的到来,今天我们进入了一个科技日新月异的时代。在现代电子数字系统中,滤波器都以一个不可缺少的身份出现。其中,FIR 数字滤波器又以其良好的线性特性被广泛和有针对性的大量使用。众所周知,灵活性和实时性是工程实践中对数字信号处理的基本要求。在以往使用的各种滤波器技术中,不难发现有许许多多的问题。但是,随着现代计算机技术在滤波问题上的飞跃,派生出一个全新的分支数字滤波器。利用可编程逻辑器件和 EDA技术,使用 FPGA 来实现 FIR 滤波器,可以同时兼顾实时性和灵活性。基于 FPGA 的 FIR 数字滤波器的研究势

2、在必行。本论文讨论基于 FPGA 的 FIR 数字滤波器设计,针对该毕业设计要做的基本工作有如下几点:(一)掌握有限冲击响应 FIR(Finite Impulse Response, FIR)的基本结构,研究现有的实现方法。对各种方案和步骤进行比较和论证分析,然后针对目前 FIR 数字滤波器需要的特点,速度快和硬件规模小,作为指导思想进行设计计算。(二)基于硬件 FPGA 的特点,利用 Matlab 软件以及窗函数法设计滤波器。对整个 FPGA 元件,计划采用模块化、层次化设计思想,从而对各个部分功能进行更为详细的理解和分工设计。最终FIR 数字滤波器的设计语言选择 VHDL 硬件编程语言。(

3、三)设计中的软件仿真使用 Altera 公司的 综 合 性 PLD 开 发 软 件 Quartus II,并且利用 Matlab工具进行对比仿真,在仿真的过程中,对比证明,本论文设计的滤波器的技术指标已经全部达标。关键词:数字滤波器 Matlab 可编程逻辑元件 模块化算法 11 绪 论1.1 本课题研究意义在现代通信信号处理领域中,随着各种精密计算和快速计算的发展对信号处理的实时性、快速性的要求越来越高。以往的模拟滤波器无法克服电压漂移、温度漂移和噪声等问题,从而带来了许多误差和不稳定因素。而数字滤波器具有稳定性高、精度高、设计灵活、实现方便等突出优点。FPGA 元器件在高速并行处理和数据传

4、输中有独特优势,FPGA 正在前端信号处理中越来越多地代替 ASIC 和 DSP。我们需要的就是这种设计周期短,功能密度高,重组时间短的元器件。本文在 FPGA 元器件的基础上,实现现代 FIR 数字滤波器功能。并且研究多种快速的 FIR 数字滤波器的理论设计思想和程序设计方法。1.2 国内外研究现状分析1985 年 XilinX 公司生产出了第一块 FPGA 元器件,由于它有着集成度高、方便易用、开发和上市周期短的绝对优势,使得 FPGA 器件在数字设计和电子生产中得到迅速普及和应用,发展潜力十分巨大。现在 FPGA 已经发展到可以利用硬件乘加器、片内储存器、逻辑单元、流水处理技术等特有的硬

5、件结构,高速完成 FFT 、FIR 、复数乘加、卷积、三角函数以及矩阵运算等数字信号处理。这样可以完成信号处理的主要技术,如中频采样、参数估计、自适应滤波、脉冲压缩、自适应波束形成和旁瓣对消等。1.3 研究思路通过对目前数字滤波器的几种实现方法的简单分析,本文认为基于 FPGA 的数字滤波器具有许多优点,本文考虑到信息技术的发展对于数字滤波器的要求越来越高,而目前 FIR 数字滤波器的性能还不完善,于是选择了基于 FPGA 的数字滤波器作为主要研究内容,通常滤波器在进行数据处理时用到了卷积运算,在设计中的解决这些乘法运算的思路是将它们转换成加减法,这是目前解决乘法运算的主流思想。设计初期在 M

6、atlab 下对滤波器原理进行证明包括(零极点图、时域和频域分析图等) ,分析 FIR 数字滤波器的多种理论设计思想和窗函数选择方法,在设计后期对FIR 数字滤波器的小数乘法问题进行单独论证。然后对分析出来的问题进行论证和解决,最后在QUARTUS中进行仿真验证。1.4 相关概念说明数字滤波器(Digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。可认为是一个离散时间系统按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置FIR(Finite Impulse Response

7、 )由线性系统理论可知,在某种适度条件下,输入到线性系统的一个冲击完全可以表征系统。当我们处理有限的离散数据时,线形系统的响应(包括对冲击的响应)也是有限的。若线性系统仅是一个空间滤波器,则通过简单地观察它对冲击的响应,我们就可以2完全确定该滤波器。通过这种方式确定的滤波器称为有限冲击响应(FIR)滤波器。3图 1-1 总体设计流程图设 计 定 位理 论 部 分 程 序 分 析 部 分选 题 资 料 准 备滤 波 器 基 础 研 究滤 波 器 设 计 方 法 研究 软 硬 件 介 绍 分 析程 序 设 计明 确 目 标 奠 基指 导 指 导基 础选 择规 划仿 真错 误 修 正 及 优 化 总

8、结设 计 成 功42 FIR 数字滤波器的设计方法2.1 理论部分2.1.1 引言数字滤波器的功能一般是用来变换时域或者频域中某些要求信号的属性,滤除信号中某一部分频率分量。经过数字滤波器的信号是让其频谱与数字滤波器的频率响应相乘从而得出新的结果。经过一个线性卷积过程,从时域上输入信号与滤波器的单位冲击响应作一个卷积和。下面是卷积定义式:(1)kkkfnxnfxnfxy LTI 数字滤波器在一般情况下分为有限脉冲响应(Finite impulse response)和无限脉冲响应(Infinite impulse response),FIR 数字滤波器的设计方法和 IIR 滤波器的设计方法有很

9、大的差别。因为其设计方向是选择有限长度的 h(n),使频率响应函数 H(e )满足指标。数字滤波器正在用直接的电子j计算机规范和算法进行分析的方式来逐渐代替传统的模拟滤波器的 RLC 元器件和放大电路。2.1.2 FIR 数字滤波器的基础首先介绍 FIR 数字滤波器基本原理,在如下表格中对 FIR 和 IIR 数字滤波器进行了全面的比较:表 2-1 两种滤波器特点比较分析FIR 数字滤波器 IIR 数字滤波器设计方法在一般的情况下,FIR 数字滤波器没有设计公式。它的设计需要借助计算机程序完成可以利用 AF 的设计成果,可简单、有效地完成设计阶数 高 低稳定性 在稳定性方面(稳定) ,极点全部

10、在原点存在一定的稳定性问题,需要注意结构 非递归系统 递归系统运算误差 一般情况下不存在反馈,运算的误差比较小存在反馈,由于运算中的特殊运算方法会产生极限环通常情况下一般数字滤波器的 N 阶 FIR 数字滤波器基于输入信号 x(n)的表达式为:(2)10)()(ni ixhy5这个公式给我们了一个非常明了的直接型网络结构,该结构表现出 N 个乘法器,每次采样y(n)的内容是 n 次乘法和 n-1 次加法,然后做乘累加之和。如图 2-1 所示:图 2-1 FIR 滤波器直接型网络结构从 DSP 的介绍中,第一类线性相位对 h(n)的约束条件:(3)jgnjNnj eHeheH)()()(10(4

11、)sin)(co)si)(co10 jjhNn g由公式(3) , (4)我们可以推出:(5)10 10csi)(sinc)(NnNh移相并利用三角公式化简得到:(6)10)(si)Nnh从数字信号处理学科中知道函数 关于求和区间的中心(N-1)/2 奇对称,in于是我们要求 和 h(n)满足如下条件:其中对应的有 (7))1()nNhn102Nn图 2-2 线性相位 FIR 滤波器结构若 h(n)呈现对称特性,即此具有线性相位的滤波器是 FIR 数字滤波器。滤波器的基础网络结构可以相互进行转换。6在前面本文已经讨论过, FPGA的实现中将对各种方法进行比较,找出最优设计方式。从而达到减少资源

12、占有和提高系统作业速度的目的,更好的体现实时性的数字滤波器优势。2.1.3 数字滤波器的设计原理在数字信号处理技术的研究中,一般是使用的三种设计方法:窗函数法,FDATool 直接设计法,程序编译法。本文首先使用窗函数和 Matlab 软件共同进行设计。随着软件技术的不断发展,Matlab 软件能给设计者带来的数字信号处理工作已经非常的完善和多样了,设计者可以利用 Matlab 软件进行数字滤波器的设计和仿真,而且还可以用这款软件进行设计的优化。数字滤波器的一般设计步骤如下:1.指标的确定做任何工程或者设计,设计者都必须要有一个期望的指标用来限制设计范围。在很多的实际应用中,设计者常常都是使用

13、数字滤波器做选频的工作。因此,指标的形式一半在频域中给出相位响应和幅度。相位响应的指标形式,一半是指系统在通频带中药有线性相位。幅度指标:绝对指标,它给出对幅度响应函数的要求,一般用于 FIR 滤波器的设计。相对指标,以分贝值的形式给出具体限制。2.逼近目标设计者做高频的时候大概都有一个模式,就是首先得到技术指标,然后利用我们的技术和工具让我们的产品去逼近这个指标。同理我们首先建立以个目标的数字滤波器模型。一般情况下都是采用理想的数字滤波器模型,然后去逼近我们想要的目标数字滤波器参数。3.计算机仿真和性能优化分析在工作中我们发现通过(1) 、 (2)之后本文会得到以差分、系统函数或者冲击响应这

14、三种方式描述的滤波器。这个时候设计者可以利用计算进行仿真,在系统中分析技术指标和滤波结果是否是希望得到的结果。7图 2-3 各种理想数字滤波器的幅度频率响应2.1.4 FIR 数字滤波器的理论计算方式与参数转换思想在理论上掌握了 FIR 数字滤波器的基本原理之后,本文需要对设计思想进行一个多方位的论证和尝试。首先设计者设计滤波器要有一个硬性的指标,这个指标可以是直接给出最基本的数据,也有多重表现形式。于是我例举两种特殊的指标形式然后加以解决设计。然后我们分别用 2 种方式来设计不同指标的滤波器。接下来我首先用程序的方式来实现滤波器:1.逼近法转换与思想使用 remez 函数设计 FIR 低通滤

15、波器设计滤波器,使逼近低通滤波特性| |。)(eHjd| |=)(ejd016/54要求通带波纹 ,阻带衰减 ,并用最小阶数实现。Bp3Bs0绘出设计的 FIR 数字滤波幅频特性曲线,检验设计指标。这个指标我们可以以如下计算方法来得出详细指标:从给出的低通滤波特性| |。我们可以看出设计参数 f=1/4,5/16,m=1,0;)(eHjddev 的计算根据公式:Rp=-20 0log1021/于是有 Rp=20 ,)(/)(l10v)2(log0devAs所以 dev(1),dev(2)可以被表示出来。2.逼近法程序描述与思想有了这几个参数我们现在就可以根据已经设定好的格式来调用函数 reme

16、zord 和 remez 函数了,于是可得如下程序。clear;close allfc=1/4;fs=5/16; %输入给定指标Rp=3;As=60;Fs=2;f=fc,fs;m=1,0; %计算 remezord 函数所需参数 f,m,devdev=(10(Rp/20)-1)/(10(Rp/20)+1),10(-As/20);N,fo,mo,W=remezord(f,m ,dev,Fs); %确定 remez 函数所需参数hn=remez(N,fo,mo,W); %调用 remez 函数进行设计hw=fft(hn,512); %求设计出的滤波器频率特性w=0:511 *2/512;8plot

17、(w,20*log10(abs(hw);grid; %画对数幅频特性图axis(0, max(w)/2,-90,5); xlabel(w/pi);ylabel(Magnitude(dB)line(0,0.4,-3,-3); %画线检验设计结果line(1/4,1/4,-90,5);line(5/16 ,5/16,-90,5);程序结束。3.仿真图像与结果用以上的程序我们可以得到在 Matlab 中的许多参数和图像,从而进一步分析我们的设计。首先引入程序输出的幅频特性图:(如图 2-4)图 2-4 在 Matlab 中的程序9图 2-5 程序输出的幅频特性图 2-6 Impulse Response

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。