版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于FPGA的FIR数字滤波器设计摘要:文章介绍了CSD编码和流水线技术,将它们运用到VHDL语言编程中,设计了一个16阶8位输入17位输出的线性相位结构FIR数字滤波器,仿真结果符合要求。最后比较了两种方法的使用在硬件资源和系统处理速度上的优缺点。有限冲激响应(FIR数字滤波器和无限冲激响应(IIR数字滤波器广泛应用于数字信号处理系统中。IIR数字滤波器方便简单,但它相位的非线性,要求采用全通网络进行相位校正,且稳定性难以保障。FIR滤波器具有很好的线性相位特性,使得它越来越受到广泛的重视。This article introduces CSD coding and production l
2、ine technique, will they use to VHDL language programming, design of a 16th order 8-bit input 17 output of linear phase FIR digital filters, structural simulation results accord with the requirement. Last two methods were compared, the use of the system hardware resources and processing speed on the
3、 advantages and disadvantages. Finite impulse response (FIR digital filters and infinite impulse response (IIR digital filters widely used in digital signal processing system. IIR digital filter convenience simple, but it phase of the nonlinear requirements adopts full ventilation network phase cali
4、bration, and stability difficulty safeguards. FIR filters have very good linear phase characteristic, making it more and more extensive attention.关键词:FIR数字滤波器;线性相位;CSD编码;流水线技术1.引言数字滤波在图像处理、语音识别和模式识别等数字信号处理中占有重要地位。与模拟滤波器相比,数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应(FIR滤波器可以保证严格的线性
5、相位。同时由于其实现结构主要是非递归的,因此FIR 滤波器可以稳定工作。FIR 滤波器被广泛用于各类数字信号处理系统中实现卷积、相关、自适应滤波、正交插值等处理,对于非实时系统和低速采样系统,FIR 滤波器的运算可在CPU 或DSP 处理器上采用软件实现。但对于无线通讯、雷达以及工业控制,甚至语音信号处理等实时应用,由于FIR 运算计算量过大,采用DSP 软件可能无法实现,因此采用可编程器件便是最好的方法。目前FIR 滤波器大致有以下几种实现方法:(1使用单片通用数字滤波器集成电路。单片通用数字滤波器使用简单方便,但由于字长和阶数的规格较少,不能完全满足实际需要。虽可采用多片扩展来满足,但会增
6、加体积和功耗,因而在实际中受到一定限制。(2采用DSP 器件实现。由于有专门的函数可供调用,因此使用DSP 器件设计FIR滤波器相对较简单,其应用也最为广泛。其唯一缺点是程序顺序执行,尽管DSP 器件性能不断提高,但在某些实时性要求极高的场合中受到限制。(3采用可编程逻辑器件实现。随着可编程逻辑器件的容量和速度的不断增加,实现单片系统集成已经成为可能。利用可编程逻辑器件实现FIR 滤波器,由于实现的是硬件并行算法,因此特别适用于某些实时性要求高的场合。FIR数字滤波器以其良好的稳定性和线性相位特性在电子通信系统中被广泛应用。用硬件路实现数字滤波器可采用单片机系统、专用DSP、通用DSP和FPG
7、A 等方法。虽然单片机具有良好的接口性能,但是它采用冯·诺依曼结构,系统复杂,乘法运算速度慢,不适合在含有大量运算的滤波器中使用。专用DSP使用不灵活。通用DSP虽然能够灵活编程,但它采用顺序执行程序的方式进行数字滤波,也不适合用于实时控制系统中现场可编程门阵列(field-programmable gate array,FPGA使用方便,具有可编程性和并行性,开发效率高,工作可靠性好,能够满足实际信号处理中灵活性和实时性的特点。2.FIR 滤波器基本原理滤波,顾名思义是对输入信号通过一定的处理得到输出信号,这个处理通常是提取信号中某频率范围内的信号成分,把这种处理的过程称为滤波。而
8、能实现滤波处理的运算电路或设备就称为滤波器。数字滤波器是完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术设计滤波器的功能越来越受到人们的注意和广泛的应用。FPGA 有着规整的内部逻辑块阵列和丰富的连线资源,特别适合细精度和高并行度结构特点的数字信号处理任务,如FIR、FFT 等。本文详细讨论利用FPGA 实现FIR 滤波器的设计过程,并且对设计中的关键技术分布式算法进行详细描述。设FIR滤波器的单位冲击响应h(n为一个N点序列,n在0,N-1
9、内,则滤波器的系统差分方程表达式为, 图1为FIR数字滤波器的横截型结构: 图2 线性相位结构(M为偶数 在图像处理、自适应处理、数据传输等过程中往往要求系统具线性相位,FIR滤波器完全可以做到这一点。如果FIR滤波器的单位冲击响应h(n关于n=(N-1 /2对称,即h(n=h(N-1,则这种滤波器具有严格的线性相位。当N为偶数时,图1可简化成图2的形式。比较两图发现,对称结构与横截型结构相比,所用的加法器总数是一样的,但对称结构所用的乘法器的数量仅为横截型结构的一半。因此在硬件描述语言的编程中若采用对称结构会节省硬件资源,提高系统速度。3. CSD编码技术CSD(Canonic Signed
10、 Digit编码是一种用-1,0,1来表示数的三元数值编码系统,是具有最少非零元素的一种表示法,用CSD编码表示数字的形式具有唯一性。在2C编码中非零元素出现的概率为50%,而在CSD编码中非零元素出现的概率为P=,当N很大时,P趋向于33%。一般在硬件中乘法是用移位实现的,乘以2相当于左移一位,乘以2n相当于左移n位,乘以2n 的组合就相当于把每次移位后的结果相加。对滤波器的输出做如下变换: 由上式可以看出,如果用CSD编码取代传统的2C编码,能有效地减少hn的非零分量个数,从而降低乘法器中加法单元与减法单元的数目,精简硬件资源利用,在大规模MAC和高速滤波器中效果更加明显。以乘法运算y=1
11、5x为例,用2C编码实现乘法器时,需要四个加法器,而用CSD编码时,仅需两个加法器。如图3、图4所示: 在实际硬件电路中可以采用如下原则生成最佳CSD编码:(1从最低有效位开始,用10.01取代所有大于2的1序列,并用1101取代1011;(2从最高有效位开始,用011代替101。4. 流水线技术流水线(Pipelining技术源于工业生产上的流水作业方式,用于EDA中是将操作分解成若干个可以顺序执行又相互独立的子操作,每个子操作用小规模的电路结构实现,可以在较高频率的时钟信号下完成每一级子操作的功能并在下一个时钟信号出现时将本级子操作的输出锁存到下一级子操作的输入,直到最后一级输出。现以两级
12、流水线为例说明流水线技术的优点。设未采用流水线时操作的延时为2T,现把它分解为两个相等延时为T的子操作,如图5所示。不使用流水线时需要在间隔2T 后才能有下一输入,而使用流水线在间隔T之后就能有下一个输入,这样资源被优化利用,系统运行速度上限明显提高。应用流水线技术是以投入更多的寄存器为代价的。5. 滤波器设计总体设计思路基于抽取滤波器的工作原理,本文采用FLEX10K 实现了一个具有线性相位的16 阶FIR抽取滤波器,利用原理图和VHDL 共同完成源文件设计。1.FIR 滤波器的设计指标采样频率:5KHz截止频率:2KHz类型:低通输入数据宽度: 8 位阶数: 16 阶系数数据宽度: 8 位
13、2.参数提取使用MATLAB6.1 软件中Filter Design Toolbox 工具箱中的FDA Tool,选择低通滤波器,Kaiser 窗设计方法,Fs=5KHz,Fc=2KHz,阶数为16 位,线性相位。根据数字系统输出与输入的关系,并根据模块化的设计思想,把系统分为六个模块,包括控制模块,数据寄存模块,加法模块,计数模块,数据选择模块以及乘加模块。其核心部分是控制模块,通过对控制模块编程,分别在相应的周期内实现A/D 读入,转换以及数据的读出,再经数据寄存器来储存数据,经加法模块后来实现系数相同的两个采样值相加,以节省储存空间。加完后的采样值通过计数部分的地址选择信号与乘加部分随机
14、储存器部分的对应系数相乘后输出,乘加模块里包括有反馈环节以实现与前面乘加的结果进行累加,待完成8 次累加后,把数据送到输出端并再送往D/A 转换器,这时实现了把数字信号转化成模拟信号的工作。然后把输出接到示波器上,在输入端通过高频信号发生器输入一个模拟信号,如果信号的最高频率小于滤波器的截止频率,则示波器上显示信号能顺利通过,反之若信号的最高频率大于截止频率,则不能通过。编程时考虑到应用模块化的设计思想,对各个模块分别进行编译仿真调试,保正每个部分的功能实现后再进行综合,这样有利于实现程序的最优化设计,如果有哪一部分出了问题可以单独进行修改仿真调试,避免了大规模设计中从头开始查找的繁琐问题。(
15、一滤波器系数的导出使用MATLAB中的FDATool,用窗函数法设计一16阶FIR低通滤波器。设计中采用kaiser窗,采样率为5MHz,截止频率为1.5MHz。导出的滤波器系数是用浮点数表示的,为了VHDL编程的方便采用缩放法转换为9bit的定点数,再进行量化后得到系数如下表所示: (二VHDL语言编程在使用定点数设计滤波器时要注意保护系统不能动态溢出,第L阶FIR的动态范围级数,总位宽就是输入位宽与级数G之和。在本设计中G<9,输入数据为8位,所以内部寄存器r不能低于17位,才能保证不溢出。设计中使用对称结构,采用CSD编码和流水线技术,VHDL主要程序如下:t0<=r(0+r(15;t1<=r(1+r(14;t7<=r(7+r(8;t8<=8*t0+2*t0;t15<=128*t7+4*t7;y<=t8+t9+t10+t11+t12+t13+t14+t15;综合成功后进行仿真。输入脉冲10后,仿真结果如图6所示: 经计算验证,设计的滤波器符合要求。将不同的技术运用到FPGA设计中会对系统的吞吐量产生不同的影响,下表是将程序下载到Altera公司的EPF10K20RC240-4芯片上的具体情况: 由上表可以看出,采用CSD编码代替传统的2C编码能有效的节省硬件资源。采用流水线原则会增大系统规模,但是系统的速度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中原农业保险股份有限公司招聘67人模拟笔试试题及答案解析
- 2025广东第二师范学院第三批教师招聘6人模拟笔试试题及答案解析
- 2025江西吉安遂川县城控人力资源管理有限公司招聘专业森林消防队员3人笔试备考重点题库及答案解析
- 2025年生殖系统护理题库及答案
- 江西诚正工程咨询有限公司2025年第三批外聘工程技术人员招聘备考考试题库及答案解析
- 2025福建厦门大学教育研究院行政秘书招聘1人【单位劳务派遣人员招聘】备考考试题库及答案解析
- 2025陕西渭南市人民政府法律顾问选聘笔试备考重点题库及答案解析
- 2025年发展研究院招聘公共绩效与备考题库化研究中心项目主管岗位备考题库带答案详解
- 2025年南平市顺昌县人民法院公开招聘辅助工作人员的备考题库附答案详解
- 2025年北京市中国地震局地质研究所公开招聘13人备考题库及答案详解1套
- 上海财经大学2026年辅导员及其他非教学科研岗位人员招聘备考题库带答案详解
- 2026湖北恩施州建始县教育局所属事业单位专项招聘高中教师28人备考笔试试题及答案解析
- 心肺康复课件
- 2025人民法院出版社社会招聘8人(公共基础知识)测试题附答案解析
- 上海市奉贤区2026届高三一模英语试题
- 设施设备综合安全管理制度以及安全设施、设备维护、保养和检修、维修制
- 2025届高考全国二卷第5题说题课件
- 2025年山东省夏季普通高中学业水平合格考试物理试题(解析版)
- 竖窑控制系统手册
- 煤矿投资可行性研究分析报告
- DOE实验设计实例分析(附理论培训教程)课件
评论
0/150
提交评论