基于fpga的fir数字滤波器的实现_第1页
基于fpga的fir数字滤波器的实现_第2页
基于fpga的fir数字滤波器的实现_第3页
基于fpga的fir数字滤波器的实现_第4页
基于fpga的fir数字滤波器的实现_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计 课题:基于FPGA数字滤波器的设计,姓名 :景振兴学院:电气与电子工程学院专业:电本0801,1 设计的基础理论,FIR滤波器有直接型、级联型和频率抽样型三种基本结构,其中直接型是最常见的结构。由于本次设计采用的是直接型数字滤波器结构,所以只对直接型结构作讨论。图2 直接型结构 这种结构也称为抽头延迟线结构,或称横向滤波器结构。从图2可以看出,沿着这条链每一抽头的信号被适当的系数(脉冲响应)加权,然后将所得乘积相加就得到输出y(n)。 转置定理定义为,如果将网络中所有的支路方向倒转,并将输入x(n)和输出y(n)相互交换,则其系统函数H(z)不变。将转置定理应用于图2,就可以得出FIR的转置直接型,如图3。 图3 转置直接型结构,2 设计的基础理论,几种窗函数及窗函数选择原则 设计FIR滤波器常用的窗函数有:矩形窗函数、三角(Bartlett)窗函数、汉宁(Hanning)窗函数、海明(Hamming)窗函数、布拉克曼(Blackman)窗函数和凯塞(Kaiser)窗函数。具体指标可参看表1。窗函数的选择原则是: (1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。 (2)旁瓣幅度下降速度要快,以利增加阻带衰减。 (3)主瓣的宽度要窄,以获得较陡的过渡带。 通常上述几点很难同时满足。当选用主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加;当选用最小的旁瓣幅度时,虽然能得到匀滑的幅度响应和较小的阻带波动,但是过渡带加宽。因此,实际选用的窗函数往往是它们的折中。在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。,3 总体方案的确定,数字滤波器无论是采用硬件实现还是软件实现的方案,首先应确定出数字滤波器的运算结构图。同一个系统函数或差分方程可以采用不同的结构来实现,而结构的不同又会影响系统的精度、稳定性、运算速度和采用运算单元的多少等许多重要的性能指标。本论文采用窗函数法设计了一个低通滤波器,并用OBC编码方式LUT的DA算法完成该低通FIR滤波器的硬件设计。 3.1 方案确定 1.FIR滤波器的设计指标 采样频率:5MHz截止频率:1.5MHz 类型:低通输入数据宽度:8位 阶数:16阶系数数据宽度:8位,4 外围硬件设备,硬件连接流程,信号发生器,A/D转换器,FIR数字滤波器,D/A转换器,示波器,4.1 A/D转换电路,此转换电路是 MAXIM公司的MAXl83,12位逐次逼近式,转换时间为3s。MAXl83设置为双极性工作模式,模拟信号的输入范围是5 V。,4.2 D/A转换电路,这里我们使用的是maxim生产的mx7245,该电路输出模拟量是电压量,并具有12位的数据输入端。在该电路中,MX7245被配置成双极性工作模式,模拟电压信号的输出范围5 V。我们输入确定的时序,数模转换器把接收端收到的数字量yout110转成模拟信号输出。在输出端连接一个由电阻和电容构成的一个低通滤波器,这样可以使输出的波形显得平滑没有太大波动。,4.3 FIR数字滤波器,所需的FPGA(本设计采用的器件为AIXERA公司生产的FLEXlOK系列EPF10K20RC2403,此器件密度大可完成我们得要求),振荡器、若干的控制开关、十针的插座、不同大小的电阻。RD、ADCS、WR、LDAC、DACS这些引脚就是用于控制AD转换器电路和DA转换器电路的输出引脚。其中,引脚RD、ADCS分别与AD转换器的引脚RD、CS相连,而引脚WR、LDAC、DACS分别与DA转换电路的引脚WR、LDAC、CS相连。,5 总体方案的确定,5.1 FIR滤波器的模块划分 FIR滤波器的数字硬件系统主要由输入模块、乘累加模块、锁存模块和控制模块组成。各模块执行的功能说明如下:(1)控制模块 控制模块产生其他模块的控制信号,实现对输入模块、乘累加模块、锁存模块的控制,使各模块按照一定的时序依次执行各自的功能,从而完成滤波。它主要由控制器单元和计数器单元组成。(2)输入模块 输入模块的主要功能是完成对输入数据的处理,为后续电路作准备。它主要由并串转换单元、移位寄存器单元和数据的预相加单元组成。(3)乘累加模块 乘累加模块的主要功能是实现数据的相乘和累加。它主要由编码单元、查找表单元、可控加减法器单元和移位累加单元组成。(4)锁存模块 锁存模块的主要功能是将乘累加模块的输出结果锁存后输出。为了完善设计,还应该再加一个查找表生成模块,用来根据外界输入的系数自动修改查找表单元,而不是像本设计中那样,为了改变滤波器的功能,人为的修改查找表单元。,5.2 系统的运行过程说明,1. 系统先开始在控制器的控制下一直处在S0状态,寄存器组、计数器、锁存期都处在初始状态。当外界第一个采样值的并行数据准备好后,发出一个start信号,采样值输入,系统开始工作,在第一个时钟周期,控制器控制系统转换到S1状态,各个位串行加法器的寄存器还是在clear信号的作用下都处在清零状态,但是控制器在时钟的上升沿发出一个plsr_load信号给并/串转换电路,开始转换并将第一个采样值的最低位发送出去延迟单元和位串行加法器。然后,位串行加法器的输出值通过解码器对LUT1和LUT2进行寻址,得到的值再进入加法器。经过一二级加法器运算,由于加法器有一定的延时,所以最后稳定的输出结果被寄存器组延迟到第二个时钟周期才输出。2 当第二个时钟的上升沿到来时,计数器开始计数,计数值为1,同时控制器控制系统自动转换到S2状态。同时,寄存器组的值向右移一位,符号扩展成9位后,进入第二级加法器,重复以上的过程,得到的稳定值延迟到第三个时钟周期才输出。3 到第三个时钟的上升沿到来,计数器计数值为2,不满足向下一个状态转换的条件,系统仍然处在S2状态,就这样重复,一直到计数器的值记到7后延迟一个时钟周期后输出信号Z到控制器,控制器得到信号Z后控制系统进入S3状态。在S3状态,控制器发出一个add_sub_s1信号,与采样值的最高位相异或,控制第一二级加减法器做加法或减法。同时,控制器发出latch_result信号给锁存器,将最后稳定的第二级加减法器的输出锁存。4 最后,控制器在下一个时钟周期控制系统进入S1状态,对下一个采样值重复以上各个过程。,6 FIR滤波器各模块功能的设计,6.1输入模块 在输入模块中,data7.0为采样值并行输入,clk为时钟信号,plsr_load为并行输入同步加载控制信号,S7.0为输出信号,是采样值预相加的输出结果。模块符号图如下:图12 输入模块图,FIR滤波器各模块功能的设计,6.2 乘累加模块 在乘累加模块中,S7.0为输入数据,CLK为时钟信号,add_sub_s1和add_sub_s2为控制信号,DOUT7.0为输出结果。模块框图如下:图13 乘累加模块图,FIR滤波器各模块功能的设计,6.3 锁存模块 锁存模块的主要功能是对输出的最后结果进行锁存。这是由于加法器的输出很不稳定,影响了最后结果的输出,所以要将结果进行锁存。模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论