基于FPGA的IIR滤波器设计


    
    基FPGAIIR滤波器设计

    摘 数字信号处理科学工程技术许领域中广泛应FIR数字滤波器相IIR数字滤波器较低阶数获较高选择性课题采种基FPGAIIR数字滤波器设计方案首先分析IIR数字滤波器原理设计方法然通MAX+PLUSⅡ设计台采顶模块化设计思想整IIR数字滤波器分:时序控制延时补码加累加四功模块分模块采VHDL进行描述进行仿真综合仿真结果表明课题设计IIR数字滤波器运算速度较快系数改变灵活较参考价值
    关键词:电子设计动化IIR数字滤波器现场编程门阵列硬件描述语言


    The design for IIR digital filter based on FPGA

    Abstract Digital signal processing is widely used in lots of fields such as in science and project technique Compared with FIR digital filter IIR digital filter can get high selectivity with low factorial A kind of IIR digital filter design method was introduced in the paper which is based on FPGA By used the design plant of MAX+PLUSⅡ we adopt blocking method named Topdown and divide the entire IIR digital filter into four blocks which are Clock control Time delay Multiplyaddition and Progression After described with VHDL we do emulate and synthesis to each block The result shows that the introduced IIR digital filter runs fast and the coefficient changes agility It has high worth for consulting
    Key words Electronic Design Automation IIR Digital Filter Field Programmable Gate Array very High Speed Integrated Circuit Hardware Description Language (VHDL)
    目 录

    序言...........................................................1

    第1章 IIR数字滤波器硬件实现方法...........................2
    11 IIR数字滤波器概念....................................................2
    111 IIR数字滤波器原理................................................2
    112 IIR数字滤波器基结构............................................2
    113 IIR数字滤波器设计方法............................................3
    12 IIR数字滤波器硬件实现方案..........................................4

    第2章 EDA技术编程逻辑器件.................................8
    21 电子设计动化EDA技术................................................8
    22 编程逻辑器件.......................................................8
    221 编程逻辑器件简介.................................................8
    222 FPGA器件进行开发优点.........................................9
    223 FPGA设计开发流程.................................................9
    23 硬件描述语言VHDL数字系统设计方法..................................10
    231 硬件描述语言VHDL简介..............................................10
    232 利VHDL设计数字系统..............................................10

    第3章 IIR数字滤波器设计仿真结果分析.....................11
    31 IIR数字滤波器模块设计仿真结果分析.............................11
    311 时序控制模块设计仿真结果分析..................................11
    312 延时模块设计仿真结果分析......................................12
    313 补码加模块设计仿真结果分析..................................12
    314 累加模块设计仿真结果分析......................................14
    315 顶层模块设计......................................................14
    32 IIR数字滤波器仿真结果分析.......................................15
    321 IIR数字滤波器系统设计...........................................15
    322 IIR数字滤波器系统仿真结果分析.................................16
    323 高阶IIR数字滤波器实现...........................................17

    结束语........................................................19
    参考文献......................................................20
    致 谢........................................................21
    附录1 模块VHDL程序.........................................22
    附录2 英文翻译...............................................29




    基FPGAIIR滤波器设计

    序 言

    着EDA技术发展应领域扩深入EDA技术电子信息通信动控制计算机应等领域重性日益突出技术现代电子产品体积减性增强集成化程度提高时编程力提高EDA进行电子设计时设计员顶设计方法整系统进行方案设计功划分采硬件描述语言(DHL)完成系统行级设计通综合器适配器生成终目标器件VHDL语言EDA设计中常种IEEE标准语言具覆盖面广描述力强读性支持规模设计逻辑单元利等优点受越越电子工程师青睐[1]
    次设计采EDA技术中模块化设计思想IIR数字滤波器中关键电路进行设计容包括:时序控制模块延时模块补码加模块累加模块IIR数字滤波器顶层设计分模块采VHDL进行描述进行仿真综合取较设计效果实验结果表明课题设计IIR数字滤波器具运算速度快系数改变灵活方便等特点




    第1章 IIR数字滤波器硬件实现方法

    11 IIR数字滤波器概念

    数字滤波器完成信号滤波处理功限精度算法实现离散时间线性非时变系统[2]输入组数字量通运算输出组数字量数字滤波器具稳定性精度高灵活性等突出优点着数字技术发展数字技术设计滤波器功越越受注意广泛应

    111 IIR数字滤波器原理
    数字滤波器系统函数表示[2]:
    (111)
    直接出表示输入输出关系常系数线性差分方程:
    (112)
    式中滤波系数均零时该滤波器FIR数字滤波器均零时IIR数字滤波器FIR数字滤波器相IIR数字滤波器较低阶数获高选择性存储单元少成低信号延迟IIR数字滤波器助模拟滤波器设计成果设计工作量相较文IIR数字滤波器进行相关讨

    112 IIR数字滤波器基结构
    IIR数字滤波器直接型级联型联型三种基结构[2]IIR数字滤波器阶差分方程(112)式知设2网络结构图11示
    x(n)
    a0
    b1
    a2
    b0
    a1
    y(n)
    z1
    z1

    图11 直接型结构

    113 IIR数字滤波器设计方法
    IIR数字滤波器设计方法通常模拟转换法零极点累试法优化设计法[2]
    1 IIR数字滤波器模拟转换设计法
    利模拟滤波器成熟理设计方法设计IIR数字滤波器常方法设计程:技术求设计模拟滤波器滤波器传输函数定转换关系转换成数字滤波器系统函数传输函数s面转移z面方法种工程常脉响应变法双线性变换法
    2 IIR数字滤波器零极点累试法
    述介绍模拟转换设计法实际数字滤波器种间接设计方法幅度特性受选模拟滤波器特性限制例巴特沃斯低通幅度特性单调降切雪夫低通特性带带外波动等求意幅度特性滤波器适合采种方法述介绍数字域直接设计IIR数字滤波器设计方法特点适合设计意幅度特性滤波器
    IIR数字滤波器直接设计法中零极点累试法较常设单位脉响应零极点表达式[2]:
    (113)
    (113)式系统特性取决系统零极点分布通分析知道系统极点位置影响系统幅度特性峰值位置尖锐程度零点位置影响系统幅度特性谷值位置凹程度通零极点分析作图法定性画出幅度特性面结方法提供种直接设计滤波器方法种设计方法根幅度特性先确定零极点位置确定零极点写出系统函数画出幅度特性希进行较满足求通移动零极点位置增加(减少)零极点进行修正
    3优化设计法
    IIR 数字滤波器模拟转换设计法零极点累试法外种直接频域者时域中进行设计联立方程需计算机作辅助运算方法谓优化设计法

    12 IIR数字滤波器硬件实现方案
    滤波器实现包括两类:DSPTMS320系列芯片实现ISP器件实现(包括FPGACPLD)中利DSPTMS320系列芯片实现滤波时速度较慢利ISP器件实现时运算速度DSP器件快倍FPGA实现包括带核实现方法编程实现方法核实现方法然结构缜密般情况权限会受注册购买限制基FPGA编程实现方法成滤波器实现首选[3]
    简介绍IIR数字滤波器设计方案基FPGA实现方法[4]
    1方案:直接相累加式
    二阶IIR数字滤波器传递函数:
    (121)
    滤波器信号流图见图11第n时刻时输入样 n时刻IIR滤波器输出:

    (122)
    硬件法器硬件加法器实现法加法式(122)出种设计方法5法器6加法器FPGA设计说种方法缺点较耗费资源
    2方案二:基ROM查表法VHDL结构化设计
    采ROM查表方法避免硬件法器
    二阶IIR般表示形式:
    (123)
    中输入序列输出序列系数假设输入序列位2补码定点表示<1表示:
    (124)
    式中:表示第位标0符号位定义5bit变量函数:
    (125)

    (126)
    函数仅32种取值设计32*b位ROM构成图13描述基ROM实现结构
    数输入串行移入SR1SR2抽头处计算出值便行加载SR3中然串行移入SR4抽头处ROM输入址组成
    方法设计优点避免占运算量法运算节省FPGA硬件资源缺点FIR滤波器利ROM方法设计相够灵活系数发生变化时更改ROM数十分便特阶数较时ROM数较程序外运算量修改数更便

    图12 ROM查表法实现框图

    3方案三:基ROM查表法改进型设计
    方法结合直接相累加式ROM查表法优点设计灵活设计周期短节省资源二阶IIR般表示形式:
    (126)
    里输入序列输出序列系数设输入序列位2补码定点表示<1表示:
    (127)
    式中:表示第位标0符号位定义5bit变量函数:
    (128)
    理:
    (129)

    (1210)
    令推出:
    (1211)
    式(1211)中出五路8位*1位法器8时钟周期实现述算式加法直接调软件库实现方案实现结构图13示
    X(n)
    X(n1)
    X(n2)
    X(n1)
    X(n2)
    输入


    b0k
    b1k
    a0k
    a2k
    a1k
    输出Y(n)
    累 加 器







    图13 改进型实现框图

    图13中作FPGA接口AD器件转换数输入寄存器寄存器数系数高位相送入累加器相加左移位实现2运算时钟寄存器数系数次高位相送入累加器数相加左移位接6时钟进行类似操作第8时钟累加器数输出累加器清零时寄存器数送入寄存器寄存器数送入寄存器理接着进行次运算
    述三种方法相较言方案三实现较方便简洁节省FPGA硬件资源时设计灵活设计周期缩短设计方案三基础作改进实现IIR数字滤波器




    第2章 EDA技术编程逻辑器件

    2 1 电子设计动化EDA技术

    EDAElectronic Design Automation缩写意电子设计动化利计算机动完成电子系统设计回顾30年电子设计技术发展历程EDA技术分三阶段[4]
    七十年代CAD(Computer Aide Design)阶段阶段分研制单独软件工具电路模拟逻辑模拟版图编辑PCB布局布线等通计算机设计员量繁琐重复计算绘图工作中解脱出
    八十年代CAE阶段阶段集成电路电子系统方法学设计工具集成方面取众成果CAD相纯粹图形绘制功外增加电路功设计结构设计通电气连接网络表两者结合起实现工程设计
    九十年代EDA阶段CADCAE技术取巨成功整设计程中动化智化程度高种EDA软件界面千差万学实困难直接影响设计环节间衔接基足开始追求贯穿整设计程动化电子系统设计动化

    2 2编程逻辑器件

    221编程逻辑器件简介
    编程阵列逻辑器件PAL(Programmable Array Logic)通阵列逻辑器件GAL(Generic Array Logic)属简单PLD着技术发展简单PLD集成度性方面局限性暴露出寄存器IO引脚时钟资源数目限没部互连包括复杂编程逻辑器件CPLD(Complex PLD)现场编程门阵列器件FPGA(Field Programmable Gate Array)复杂PLD迅速发展起着高密度高速度低功耗结构体系更灵活适范围更广阔方发展
    FPGA具备阵列型PLD特点结构类似掩膜编程门阵列具更高集成度更强逻辑实现功设计变更加灵活易实现相 CPLD配置数存储片外EPROM者计算机设计员控制加载程现场修改器件逻辑功谓现场编程FPGA更普遍应

    222FPGA器件进行开发优点
    FPGA器件设计数字电路仅简化设计程降低整系统体积成增加系统性FPGA器件设计数字系统电路优点
    1增功密集度
    功密集度指定空间集成逻辑功数量编程逻辑芯片组件门数高片FPGA代十片百片中规模数字集成电路芯片FPGA实现数字系统时芯片数量少减少印刷板面积数目终导致系统规模减
    2缩短设计周期
    FPGA器件集成度高时印刷线路板电路布局布线简单FPGA器件编程性灵活性决定设计系统需时间传统方法缩短
    3工作速度快
    FPGACPLD器件工作速度快般达百兆赫兹远远DSP器件FPGA器件实现系统需电路级数少整系统工作速度会提高

    223 FPGA设计开发流程
    设计开始需利EDA工具文图形编辑器设计者设计意图文方式(VHDL程序)图形方式(原理图状态图等)表达出完成设计描述通编译器进行排错编译变成特定文格式步综合做准备编译形成标准VHDL文件综合前描述容进行功仿真称前仿真时仿真根VHDL语义进行具体电路没关系仿真程涉具体器件硬件特性延迟特性设计第三步综合软件设计硬件实现性挂钩软件化硬电路关键步骤综合生成VHDL网表文件利网表文件进行综合仿真综合通必须利FPGA布局布线适配器综合网表文件针某具体目标器件进行逻辑映射操作程做实现程布局布线应进行时序仿真时序仿真中应布局布线时延文件反标设计中仿真包含门时延包含线时延信息前面种仿真相种仿真包含时延信息全面准确较反映芯片实际工作情况
    果程没发现问题满足原设计求适配器产生配置载文件通编程器载电缆载入目标芯片中

    23 硬件描述语言VHDL数字系统设计方法

    231 硬件描述语言VHDL简介
    硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language VHDL)种设计硬件电子系统计算机语言包括系统行级寄存器传输级逻辑门级设计层次支持结构数流行三种描述形式混合描述VHDL覆盖种硬件描述语言功描述数字系统结构行功接口非常适编程逻辑芯片应设计HDL相VHDL具更强行描述力决定成系统设计领域佳硬件描述语言

    232利VHDL设计数字系统
    利VHDL语言设计数字系统硬件电路传统设计方法相具优点
    1采顶(TOPDOWN)设计方法顶指系统总体求出发顶层进行功方框图划分结构设计设计仿真调试程高层次完成方面利提高设计效率
    2降低硬件电路设计难度VHDL语言设计硬件电路时免编写逻辑表达式真值表程设计难度降缩短设计周期
    3设计文件VHDL语言编写源程序传统硬件电路设计中形成文件电路原理图采VHDL语言设计系统硬件电路时设计文件VHDL语言编写源程序
    4方便ASIC移植VHDL语言效率果设计综合FPGACPLD话设计产品快速度市产品产量达相数量时采VHDL进行设计容易转换成专集成电路实现
    次设计采利VHDL语言数字系统设计方法


    第3章IIR数字滤波器设计仿真结果分析

    31 模块设计仿真结果分析
    课题实现方案三基础结合参考文献[46]IIR滤波器硬件系统分四模块:时序控制延时补码加累加模块模块实现仿真作简分析

    311 时序控制模块设计仿真结果分析
    时序控制模块产生模块时序控制信号模块符号图31(a)示输入信号CLK时钟信号RES复位信号CLK_REGCLK_REGBT输出信号

    图31(a) 时序控制模块图

    图31(b) 时序控制模块仿真图
    时序控制模块仿真图32(b)示中counter程序部计数信号clk升延时counter6时钟周期开始进行计数clk_regbt隔6时钟输出低电clk_reg隔6时钟输出高电输出两时钟信号正控制延时模块补码加模块累加模块模块运行符合设计求时序控制模块程序见附录1
    312 延时模块设计仿真结果分析
    延时模块符号图32(a)示作clk时钟作差分方程xy值延迟时钟实现次延时运算输入xnyn时次延时输出分x(n1)y(n1)中yout反馈输入信号xn输入信号程序见附录二

    图32(a) 延时模块图

    图32(b) 延时模块仿真图
    延时模块仿真图图32(b)示图34出输入xnyout时时钟信号升作产生延时第时钟x0x1x2y0y1值分10010第二时钟x0x1x2y0y1值分21021第三时钟x0x1x2y0y1值分32132第四时钟......见该模块仿真值正确延时模块程序见附录1

    313 补码加模块设计仿真结果分析
    补码加模块实现输入序列系数分相相加程实现算法避免法器设计中加单元(MAC)法器采阵列法器提高运算速度MaxplusⅡLPM库中法运算符号数阵列法时需先两补码数转换符号数相积转换补码积输出[5]二阶节完成次运算需6时钟周期需采独立MAC实现两级流水线结构数两二阶节输出需6时钟周期模块符号图33(a)示

    图33(a) 补码加模块图


    图33(b) 补码加模块仿真图
    补码加模块仿真图图35示clk_regbtclk_reg输入时钟时序控制模块提供系数x0x1x2y0y1输入信号yout输出信号图33(b)中75x0x1x2y0y1值15系数相相加结果完成补码加功补码加模块程序见附录1

    314 累加模块设计仿真结果分析
    补码加模块输出信号送入累加器寄存累加器中步计算中间结果相加步计算结果输出引脚输出信号终结果 该模块实现youtputyout+youtput(n1)算法模块符号图34(a)示

    图34(a) 累加模块图


    图34(b) 累加模块仿真图
    累加模块仿真图图34(b)中res复位信号clk时钟信号yout输入信号补码加模块输出信号yout提供图中出输入信号yout输出youtput实现累加功符合设计求累加模块程序见附录1

    315 顶层模块设计
    顶层模块设计采原理图输入方法原理图输入方式非常直观便信号观察电路调节

    图35 顶层模块图
    课题设计顶层文件名iirgdf设计生成逻辑符号图35示顶层模块设计程序见附录1

    32 IIR数字滤波器仿真结果分析

    321 IIR数字滤波器系统设计
    IIR数字滤波器顶层原理图图36示
    便理解整系统设计现系统运行程进行说明:


    图36 IIR数字滤波器顶层原理图
    系统先开始处初始状态清零信号1时整系统进行清零清零信号0前提时序控制模块时钟clk升作产生两信号CLK_REGCLK_REGBT中CLK_REG信号作延时模块补码加模块累加模块输入时钟CLK_REGBT隔6时钟产生高电作三模块复位信号延时模块接收CLK_REG高电信号时清零输出端接收低电时CLK_REGBT升作输入信号进行延时实现次延时运算延时信号输出送补码加模块补码加模块接收延时信号时接收读者输入系数信号CLK_REGBT升作实现系数延时信号补码加运算步骤需6时钟完成正时序控制模块输出信号CLK_REGBT相致补码加模块输出部分送入延时模块实现信号反馈部分送入累加模块累加模块中进行结果累加输出终结果

    322 IIR数字滤波器系统仿真结果分析
    模块编译通模块进行综合针输入信号输入系数IIR数字滤波器进行仿真仿真波形图37示仿真值计算值进行较表321中示

    (a)

    (b)



    (c)
    图37 IIR数字滤波器仿真图
    表321 滤波输出数
    输入数
    Xn{012345}a0a1a2b0b11
    计算值
    0
    1
    4
    11
    24
    47
    80
    仿真值
    0
    1
    4
    11
    25
    43
    69
    输入数
    Xn{010101}a0a1a2b0b11
    计算值
    0
    1
    2
    5
    8
    15
    24
    仿真值
    0
    1
    2
    5
    9
    15
    23
    输入数
    Xn{010101}a02a1a2b0b11
    计算值
    0
    2
    3
    8
    14
    22
    34
    仿真值
    0
    2
    4
    9
    17
    27
    41
    表321见仿真值结果正确真值间存定误差仿真值越时误差越限精度算法引起误差累加器累加误差变越越解决问题通增加二进制位数提高系统运算精度[5]

    323 高阶IIR数字滤波器实现
    实现高阶IIR数字滤波器果采直接型结构实现需法器延迟单元相较分子分母系数相差较需较二进制位数实现相应精度求果采二阶节级联实现方面基节零点极点方便单独进行调整方面降低二进制数位数求实现四阶IIR数字滤波
    器例通两二阶IIR数字滤波器级联方式实现较简洁图38出四阶IIR数字滤波器实现原理图[5]具体工作原理二阶IIR数字滤波器类似节细述

    图38 四阶IIR数字滤波器顶层原理
    然更高阶IIR数字滤波器实现方法四阶滤波器实现方法类似需二阶IIR数字滤波器进行级联实现

    结 束 语

    期三月毕业设计结束期间历查资料分析课题学软件设计程序调试总结验教训书写毕业文程
    课题采种基FPGAIIR数字滤波器设计方案首先分析IIR数字滤波器原理设计方法然通MAX+PLUSⅡ设计台采模块化层次化设计思想整IIR数字滤波器分四功模块:时序控制模块延时模块补码加模块累加模块分模块采语言VHDL进行描述进行仿真综合仿真结果表明课题设计IIR数字滤波器运算速度较快限精度算法问题致仿真结果存定误差针问题通增加二进制位数提高系统运算精度毕业设计结束没时间继续完善课题实现IIR数字滤波器性方面滤波器性提高




    参考文献

    [1] 刘凌胡永生译.数字信号处理FPGA实现[M].北京:清华学出版社.2003.
    [2] 丁玉美高西全.数字信号处理[M].西安:西安电子科技学出版社.2004.
    [3] 潘松黄继业.EDA技术实教程[M].北京:科学出版社.2000.
    [4] 潘松王国栋.VHDL实教程[M].成:电子科技学出版社.2001.
    [5] 倪东.基FPGA四阶IIR数字滤波器[J].电子技术应2003.
    [6] 王卫兵.高阶IIR数字滤波器FPGA描述[J].电子元器件200516期:pp34.
    [7] 黄.VHDL入门·解惑·典实例·验总结[M].北京:北京航空航天出版社.2005.
    [8] 北京理工学ASIC研究.VHDL语言100例详解[M].北京:清华学出版社.1999.
    [9] Joseph B Evans Efficient F1R Filter Architectures Suitable for FPGA Implementation[M]. IEEE Trans Circuits and SystemJuly 1994.
    [10]Javier Valls Marcos M Peiro Trini Sansaloni Eduardo Boemo A Study About FPGABasedDigital Filters[J] IEEE SIPS pp191201October 1998.


    致 谢

    文导师朱幼莲教授精心指导严格求完成选题文完成凝聚着朱幼莲老师辛劳汗水三月毕业设计期间微关怀IIR数字滤波器理知识滤波器实现方法朱老师孜孜倦教诲朱老师帮助次毕业设计意利完成朱老师渊博知识严谨科学治学态度工作作风学工作起着模范激励作朱幼莲老师表示深深敬意衷心感谢
    外毕业设计期间许老师学朋友帮助表示衷心感谢

    附录1 模块VHDL程序
    时序控制模块程序
    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_arithall
    use ieeestd_logic_unsignedall
    entity control is
    port( clkresin std_logic
    clk_regclk_regbtout std_logic )
    end
    architecture bhv of control is
    signal countercount_btinteger
    signal clk_enstd_logic
    begin
    clk_regbtclk_reg process(clkres)
    begin
    if(res'1')then counter<0 count_bt<0
    elsif(clk'event and clk'1')then
    if( counter<6)then
    clk_en<'1'
    counter count_bt else counter<0 count_bt<0clk_en<'0'
    end if
    end if
    end process
    end bhv
    延时模块程序
    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_unsignedall
    use ieeestd_logic_arithall
    entity delay is
    port (clkin std_logic
    resin std_logic
    xnin std_logic_vector(4 downto 0)
    youtin std_logic_vector(8 downto 0)
    x0x1x2out std_logic_vector(4 downto 0)
    y0y1out std_logic_vector(8 downto 0))
    end delay
    architecture bhv of delay is
    signal reg_x0reg_x1reg_x2std_logic_vector(4 downto 0)
    signal reg_y0reg_y1std_logic_vector(8 downto 0)
    begin
    process(resclk)
    begin
    if (res'1') then reg_x0<00000reg_x1<00000reg_x2<00000
    reg_y0<000000000reg_y1<000000000
    elsif (clk'event and clk'1') then reg_x2reg_x0end if
    x0end process
    end bhv


    补码加模块程序
    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_arithall
    use ieeestd_logic_unsignedall
    entity smultadd1 is
    port (clk_regbtclk_regin std_logic
    a0a1a2b0b1x0x1x2in std_logic_vector(4 downto 0)
    y0y1in std_logic_vector(8 downto 0)
    youtout std_logic_vector(8 downto 0))
    end smultadd1
    architecture bhv of smultadd1 is
    signal tantbntp2nstd_logic
    signal cntstd_logic_vector(2 downto 0)
    signal tatbtaatbbstd_logic_vector(3 downto 0)
    signal tmpatmpbstd_logic_vector(4 downto 0)
    signal tptpptpppstd_logic_vector(7 downto 0)
    signal ytmppstd_logic_vector(8 downto 0)
    begin
    tmpaa1 when cnt1 else
    a2 when cnt2 else
    b0 when cnt3 else
    b1 when cnt4 else (others>'0')
    tmpbx1 when cnt1 else
    x2 when cnt2 else
    y0 when cnt3 else
    y1 when cnt4 else (others>'0')
    tatbtantaatbbtp2ntptppp<(others>'0') when (tmpb00000) else tp2n&tpp
    process(clk_regclk_regbt)
    begin
    if clk_reg'1' then cnt<000
    ytmp<(others>'0')
    elsif (clk_regbt'event and clk_regbt'1') then
    if cnt<5 then cntytmpelsif(cnt5) then
    if ytmp(8)'1' then
    tpppyout(7 downto 0)yout(8)else tpppyout(7 downto 0)yout(8)end if
    end if
    end if
    end process
    end bhv
    累加模块程序
    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_unsignedall
    use ieeestd_logic_arithall

    entity addyn is
    port (clkin std_logic
    resin std_logic
    youtin std_logic_vector(8 downto 0)
    youtputout std_logic_vector(8 downto 0)
    )
    end addyn

    architecture bhv of addyn is
    signal y_outy_oustd_logic_vector(8 downto 0)
    begin
    process(resclk)
    begin
    if res'1' then youtput<000000000
    elsif (clk'event and clk'1') then
    y_ou y_out youtput end if
    end process
    end bhv
    顶层模块程序
    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_unsignedall
    use ieeestd_logic_arithall
    entity iir is
    port (clkin std_logic
    resin std_logic
    a0a1a2b0b1in std_logic_vector(4 downto 0)
    xnin std_logic_vector(4 downto 0)
    youtputout std_logic_vector(8 downto 0)
    )
    end iir
    architecture struc of iir is
    component control
    port( clkresin std_logic
    clk_regclk_regbtout std_logic )
    end component
    component delay
    port (clkin std_logic
    resin std_logic
    youtin std_logic_vector(8 downto 0)
    xnin std_logic_vector(4 downto 0)
    x0x1x2out std_logic_vector(4 downto 0)
    y0y1out std_logic_vector(8 downto 0)
    )
    end component
    component smultadd1
    port (clk_regclk_regbtin std_logic
    a0a1a2b0b1x0x1x2in std_logic_vector(4 downto 0)
    y0y1in std_logic_vector(8 downto 0)
    youtout std_logic_vector(8 downto 0)
    )
    end component
    component addyn
    port (clkin std_logic
    resin std_logic
    youtin std_logic_vector(8 downto 0)
    youtputout std_logic_vector(8 downto 0)
    )
    end component
    signal f0f1f2std_logic_vector(4 downto 0)
    signal f3f4egstd_logic_vector(8 downto 0)
    signal clk_regclk_regbtstd_logic
    begin
    U1 control port map(clkresclk_regclk_regbt)
    U2 delay port map(clk_regresexnf0f1f2f3f4 )
    U3 smultadd1 port map(clk_regclk_regbta0a1a2b0b1f0f1f2f3f4e )
    U4 addyn port map (clk_regreseyoutput)
    end struc

    附录2 英文翻译

    全波段IIR数字微分器设计
    XiZhang and Toshinori Yoshikawa
    电机工程部
    Nagaoka 学技术
    NagaokaNiigata9402188 japan

    摘:基复杂chebyshev理解文提出效全波段IIR数字微分器方案方案理Remez复变换运算法特征值问题公式基础通解决特征值问题找绝特征值组滤波器系数容易然通系列定初值猜测重复出发复杂Chebyshev似方案运算法效仅够达Remez变换法中固速度单添写步骤例子中呈现点系统方法相较设计方案达结果传统方案达结果

    1 介绍
    数字微分重信号处理问题数字微分器已[1]~[11]中广泛运数字微分器相兴趣促成种设计技术发展设计目满足定规格说明求数字微分器容易实现线性相位[4][6][9][11]已做许FIR微分器设计方面工作形成鲜明做少关IIR微分器工作线性规基础设计方法[7]中予出
    文中提出基复杂chebyshev理解效全波段IIR数字微分器方案方案理Remez复变换运算法[10]特征值问题公式基础通解决特征值问题找绝特征值组滤波器系数容易然通系列定初值猜测重复出发复杂chebyshev似值方案运算法效仅达Remez交换法中固速度单添写步骤例子中呈现点传统方法相较设计方案达结果传统方案达结果

    2 IIR数字滤波器
    理想数字微分器频率响应
    (1)
    实际设计中通常加持续延迟果关系解决方案然需数字微分器频率响应式表示
    (2)
    式中群延迟波段中止频率全波段微分器必须数字滤波器设置系数中k整数
    IIR数字滤波器中传输函数分子次数分母次数定义
    (3)
    式中固定系数频率响应通常频率复杂函数:
    (4)
    复杂Chebyshev似值问题包括找出滤波器系数Chebyshev底标准
    (5)
    误差函数
    (6)
    选择中恒定相误差益波段[6][7]中额外函数
    3 IIR数字滤波微分器设计
    节中描述Remez复变换运算法特征值基础全波段IIR数字微分器目(6)式中误差函数基础找出系列滤波器系数
    (7)
    式中减少误差时额外函数趋意味着(7)式中时必须0
    31 初值选择
    然目标减误差取图1中L频率点设频率点值0
    (8)
    奇数时图1示相间隔选取频率点时记录偶数时时图1(b)示中等间隔选取频率点式(8)换式(4):
    (9)
    (9)式化实部虚部:
    (10)
    式中
    (11)
    式中果奇数时果偶数明显式(10)式(11)全部方程奇数偶数通原始解线性方程方法联列式(10)(11)解
    32 公式表示
    利初始滤波器系数计算误差函数利误差函数中获响应equiripple列项中应Remez复变换法获equiripple响应首先中寻找频率极值
    (12)
    式中奇数时偶数时图1示极值频率设然计算时误差函数中相位式子限定
    (13)
    式中量级误差减少式(13)取代式(4)式(13)化实部虚部
    (14)
    式中
    (15)
    式中奇数时奇数偶数式(14)式(15)中包含选择支矩阵形式重写式(14)式(15)
    (16)
    式中τ矩阵中:
    (17)
    (18)

    (19)
    (20)
    果式(16)应般化特征值例特征值应特征量减必须解决述式[10]中特征值问题找绝特征值特征量提供组滤波器系数特征量应绝特征值感兴趣种计算够效没调般方法幂迭代法通已滤波器系数计算出误差函数中找出极值频率知响应equiripple式(12)示选取极值频率计算出时相位式(16)中特征值问题够次解决组新滤波器系数述程序需重复知道达equiripple响应设计运算法详细叙述
    33 运算法设计
    程序{IIR数字微分器运算法设计}
    开始
    1. 读取值
    2. 取图1示频率点
    3. 解方程式(10)式(11)初始值
    4. 计算找出式(12)示极值频率求出相位重复
    5. 设
    6. 式(17)(18)(19)(20)计算找出式(16)中绝特征值组滤波器系数
    7 计算找出极值频率式(12)示相位直满足列特定常数条件(般)
    结束
    4设计原
    节中介绍数字实例证提方案实效现设计方案滤波器性作较滤波器规格[7]中例3相初始频率点图1(a)中选取然达第方案图1(a)示选取组初始极值频率六次重复equiripple解决方案图2中示量级响应鉴[7]中误差量级响应相应误差群延迟图4图3图5中分示出[7]中结果星形式表示作较图中出提出方案具更群延迟IIR微分器具极零点图6中示出出滤波器果稳定性保证果稳定性[3]中已证明更群延迟需指定发现种IIR微分器群延迟设置更时滤波器变果稳定性
    5.结
    文中基复杂chebyshev理解提出效全波段IIR数字微分器方案方案理Remez复变换运算法特征值问题公式基础通解决特征值问题找绝特征值组滤波器系数容易然通系列定初值猜测重复出发复杂Chebyshev似方案运算法效仅够达Remez变换法中固速度单添写步骤例子中呈现点系统方法相较设计方案达结果传统方案达结果

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 5 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于MATLAB的IIR数字滤波器的设计与仿真毕业设计

     本科毕业设计论文 题 目 基于MATLAB的IIR数字滤波器的设计与仿真 专业名称 电子信息工程 学生姓名 ...

    5年前   
    1521    0

    基于LabVIEW的IIR-数字滤波器的设计

    智能化测控技术课程设计第二章 基于Labview虚拟滤波器的设计2.1 labview简介 LabVIEW 是NI(National INSTRUMENT,美国国家仪器)公司推出的一种基于...

    3年前   
    719    0

    iir滤波器论文

    基于MATLAB的IIR的滤波器的设计 摘 要 随着信息化的推进,数字信号处理的地位和作用变得越来越重要。因为信息化的基础是数字化,而数字化的核心技术就是数字信号处理。而数字滤波器在...

    5年前   
    976    0

    基于FPGA的温度检测系统设计

    XX学院信息工程学院数字系统与Verilog设计报告题 目: 基于FPGA的温度检测系统设计 姓 名: 学 号: ...

    3年前   
    606    0

    基于FPGA的数字跑表

    基于FPGA的数字跑表学院:物电学院姓名: 学号:班级:班日期:2011年X月X日目录一、实例的主要内容 3二、实验目标: 41初步掌握Verilog HDL语言的设计方法 42、完成一个数字...

    3年前   
    627    0

    基于FPGA的键盘扫描程序的设计毕业设计

    X X 学 院 CHANGSHA UNIVERSITY本科生毕业设计设计(论文)题目: 基于FPGA的键盘扫描程序的设计 ...

    4年前   
    856    0

    基于FPGA的电梯控制系统设计毕业设计论文

    毕 业 设 计 [论 文]题 目: 基于FPGA的电梯控制系统设计 学 院: 电气与信息工程学院 ...

    3年前   
    1265    0

    基于FPGA的多路彩灯控制器的设计课程设计

     FPGA课程设计报告 学院: 信息工程学院班 级: 信息级班姓 名: 学 号: 完成时间: 2015年X月X日 评阅意见: 题目...

    3年前   
    525    0

    PARWANCPU状态机设计基于FPGA的数字系统设计

     基于FPGA的数字系统设计 大作业 学号: 姓名: 班级: 题目一:设计Pa...

    11个月前   
    300    0

    基于FPGA的计数器设计电子技术课程设计

    XX学院电子技术课程设计 题 目 _基于FPGA的计数器设计___ __________...

    1年前   
    314    0

    基于MATLAB的低通滤波器设计课程设计

     通信系统综合设计与实践题目基于MATLAB的低通滤波器设计 院(系)名称信院通信系 专业名称通信工程 学生姓名 学生学号 指导教师 2013年 5 月 2...

    1年前   
    321    0

    FPGA课程设计基于RAM的十口8位计数器

    FPGA课程设计报告题 目: 基于RAM的十口8位计数器 院 系: 通信与信息工程学院...

    3年前   
    449    0

    基于FPGA的FSK数字调制解调器设计

    等级:课 程 设 计课程名称专业课程设计课题名称基于FPGA的FSK数字调制解调器设计专 业电子信息工程班 级学 号姓 名指导老师2016年X月X日电气信息学院专业设计...

    1年前   
    326    0

    通信工程基于FPGA的图像数据处理FIFO核设计论文

     基于FPGA的图像数据处理 FIFO核设计 院 系:信息科学与工程学院 专 业 班:通信1201 姓 名: 学 号: 指导教师:...

    5年前   
    1081    0

    基于Blackman窗的FIR数字低通滤波器设计

    课 程 设 计课程设计名称:基于Blackman窗的FIR数字低通滤波器设计专业班级 : 电信 学生姓名 : ...

    2年前   
    409    0

    基于运算放大器的带通滤波器的设计与物理实现

    基于运算放大器的带通滤波器的设计与物理实现院 系:机电与自动化学院专 业 班:自动化班姓 名:学 号:指导教师: 2013年X月基于运算放大器的带通滤波器的设...

    2年前   
    517    0

    基于FPGA的语音录制与回放系统

    本语音录制与回放系统的基本工作原理是将模拟语音信号通过模数转换器(A/D)转换成数字信号,再通过FPGA(控制器)将数字信号存储到存储器中; 回放时, 由 FPGA控制将数据从存储器中读出, 然...

    5年前   
    1181    0

    用双线性变换法设计原型低通为巴特沃兹型的数字IIR高通滤波器

     电子信息工程 专业课程设计任务书学生姓名xx专业班级电信学号xxxx题 目用双线性变换法设计原型低通为巴特沃兹型的数字IIR高通滤波器课题性质其它课题来源自拟课题指导教师xxx同组姓...

    4年前   
    532    0

    用脉冲响应不变法和双线性变换法设计IIR数字滤波器分析

    电气与电子信息工程学院数字信号处理课程设计报告 设计题目: IIR数字滤波器的设计 专业班级: 信工 ...

    2年前   
    352    0

    外文文献翻译基于单片机的数字滤波器设计

     毕 业 设 计(论文) 外 文 文 献 翻 译 文献、资料中文题目:数字滤波器设计 文献、资料英文题目:digital filter design 文献...

    5年前   
    1610    0

    文档贡献者

    文***品

    贡献于2021-01-23

    下载需要 5 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档