当前位置:首页 > 电源 > 数字电源
[导读]摘要:基于FIR数字滤波器的原理和层次化、模块化设计思想,结合Altera公司的CycloneII系列FPGA芯片,提出了FIR数字滤波器的实现硬件方案,给出了采用Matlab、QuartusⅡ设计及实现32阶低通FIR滤波器的方法步骤,仿真及

摘要:基于FIR数字滤波器的原理和层次化、模块化设计思想,结合Altera公司的CycloneII系列FPGA芯片,提出了FIR数字滤波器的实现硬件方案,给出了采用Matlab、QuartusⅡ设计及实现32阶低通FIR滤波器的方法步骤,仿真及实际测试结果验证了设计方案的正确性,与传统的数字滤波器相比,本文设计的FIR数字滤波器具有更好的实时性、灵活性和实用性。
关键词:FIR数字滤波器;FPGA;Verilog HDL;Matlab


1 引 言
    FIR数字滤波器以其良好的线性特性被广泛应用于现代电子通信系统中,是数字信号处理的重要内容之一。在实际信号处理中,往往要求系统兼具实时性和灵活性,而已有的一些软件或硬件实现方案(如DSP)则难以同时达到这两方面的要求。使用具有并行处理特性的FPGA来实现FIR滤波器,既有很强的实时性,又兼顾了灵活性,为数字信号处理提供了一种很好的解决方案。FIR滤波器系数计算较为繁琐,在设计时借助Matlab工具箱,选择合适的窗函数,可以方便地计算滤波器系数,并分析其幅频、相频特性。
    本文在用FPGA设计FIR滤波器时,采用了层次化、模块化的设计思想,将整个滤波器划分为若干功能模块,运用Verilog HDL语言和原理图两种设计输入方式,各个模块先独立设计,验证无误后再互联综合,完成了FIR数字滤波器的系统设计及仿真测试。


2 FIR滤波器基本原理及结构
    FIR数字滤波器的冲击响应h(n)为实序列时,频率响应:

   

    若要求线性相位,则需:

   
    因而h(n)如果满足对称或反对称的条件,就具有线性相位特性,即:

   
    数字滤波器结构有很多种,偶对称FIR滤波器的直接型结构如图1所示。

                     

    其中x(n),y(n)分别为输入输出时间序列。容易得到32阶偶对称FIR滤波器的输入输出关系,如式(4)所示:

   
    根据以上分析,可以把对称结构的FIR数字滤波器分成“移位相加单元、乘法器、输出相加及截位输出”四块,如图2所示。

           

    对于长度为2M的滤波器,其运算次数只有M量级,减少了乘法次数,也提高了运算速度。在用FPGA实现时可以节约不少资源。


3 用Matlab设计FIR数宇滤波器
    具有对称结构的直接型FIR滤波器结构如图1所示,用加窗的设计方法,经比较后窗函数选用海明窗。根据实际指标要求在Matlab的“Filter Design”工具里设置各参数,然后算得系数h(n),如图3所示,得到的系数是用十进制表示的,需要将其转换成系统要求精度(如18位)的定点二进制小数。把所有系数乘以218后再四舍五入即可,最终数据如表1所示。

         

4 滤波器的FPGA实现及仿真测试
    按照图l、图2和滤波器系数表1,用Verilog HDL分别实现滤波器的各个模块,仿真无误后生成单元模块图,然后在QuartusⅡ里调用该模块,互联后综合得到系统电路图,各功能模块的设计方法如下。
4.1 移位及首尾相加单元
    把输入数据存储到移位寄存器,利用FIR滤波器的对称性,把移位后的数据首尾相加即可。加法器输出端要加个寄存器模块,以去除毛刺。另外为防止相加后数据溢出,要把数据位数扩宽到14+1位。其中D_in[13..O]是二进制补码输入,D out XX[14..O]是移位相加后数据输出。Vexrilog HDL程序关键语句为:

   
    移位相加单元模块图如图4所示。

            [!--empirenews.page--]

    移位相加单元时序仿真:仿真结果如图5所示,输入一个阶跃信号(8191),从图5中可以看出,输出数据从D_out_a到D_out_p依次有一个时钟周期的时延,并且总的时延和滤波器阶数(32)相等,最后输出数据是16 382=8 191*2,和理论计算值相同。

               

4.2 与滤波器系数相乘
    数据首尾相加输出后与滤波器系数h(n)相乘,由于FIR滤波器的结构是对称的,因而只需16个乘法器即可。乘法器直接调用QuartusⅡ里面的参数化元件库,系数的位宽设为18。关键Verilog语句如下:

   

   
    以上为一个乘法器设置方法,16个乘法器的整体模块图如图6所示。

              

    为了便于仿真测试,乘法器单元一开始只设置了4个输入。其中h(0)=100,h(1)=200,h(2)=300,h(3)=400,a,b,c,d为4个输入数据,与h(n)相乘后对应输出分别为R_a,R_b,R_c和R_d。这样设计不失一般性,仿真无误后再扩充到16个即可。仿真结果如图7所示。          

4.3 乘法器输出结果相加
    16路数据相加后位数被扩为33+4=37,另外要在其输出端加一寄存器,以消除毛刺。此模块原理图如图8所示。

                      

    相加输出模块仿真:实际用到的是16输入的加法器,为便于仿真测试.输入先设为4路,仿真结果如图9所示。

           

4.4 截位输出[!--empirenews.page--]
    截位是滤波器设计的关键,此处的处理方法是:14位的输入数据(14 b的ADC),18位二进制补码表示的滤波器系数,除去符号位,相乘后小数位是13+17=30,加法运算不改变小数位数。另外系统测试电路板用的是USB总线,USB控制器的数据位宽是16,因而把输出数据截到16位,然后送给FIFO,从而传到计算机。截位用VerilogHDL实现的语句是:
    assign FIR_out={D_temp[36],D_temp[29:15]};
    此模块的原理图如图10所示,其中FIR_out[15..O]是滤波器的最终输出。

                   

    在QuarltusⅡ7.0里调用仿真无误的模块,组成整个系统,最后仿真无误后进行系统的实际数据测试。


5 实际测试
    测试电路是一基于FPGA和USB的数据采集及处理系统。其原理框图如图1l所示。

                   

    测试时把一被干扰的模拟信号输入ADC,采样得到的数据经过FPGA和USB传输到计算机上,然后用Mat—lab显示出其时域和频域图形。
5.1 未滤波时信号波形
    输入信号频率是3 kHz,含频率为34 kHz的干扰信号(用两个信号源合成),下载的FPGA控制程序不含数字滤波器模块,采样得到的数据经USB传到计算机,然后用Matlab显示出的波形如图12所示,可以看出干扰信号的相对功率约为一20 dB。

            

5. 2 滤波后信号波形
    把滤波器程序下载到FPGA,输入信号不变。滤波后波形如图13所示。
                   

 

前后对比可以发现,滤波后信号明显变好,34 kHz的干扰被抑制到约一55 dB,验证了设计的正确性。
6 结 语
    本文给出了用CycloneⅡ系列FPGA实现FIR低通滤波器的设计实例。然后将滤波前后的AD实际采样数据用Madab显示出来并做比较,测试结果证明所设计的FIR数字滤波器功能正确,性能良好。并且该数字滤波器有很高的灵活性,滤波器系数在一个表格内,修改其参数即可分别实现低通、高通、带通等类型。文中所讨论的设计方法和实现技术对数字信号处理系统的设计与实现具有重要的实用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司参加了由私募股权和风险投资公司Baird Capital举...

关键字: FPGA 智能汽车 eFPGA

全新 FPGA 能为嵌入式视觉、医疗、工业互联、机器人与视频应用提供高数量 I/O、功率效率以及卓越的安全功能

关键字: FPGA 嵌入式视觉 机器人

Altera致力于为客户提供端到端的FPGA、易于使用的AI、软件和弹性供应链。

关键字: FPGA AI

在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。

关键字: FPGA AI 半导体

半导体产品老化是一个自然现象,在电子应用中,基于环境、自然等因素,半导体在经过一段时间连续工作之后,其功能会逐渐丧失,这被称为功能失效。半导体功能失效主要包括:腐蚀、载流子注入、电迁移等。其中,电迁移引发的失效机理最为突...

关键字: 半导体 电迁移 FPGA
关闭
关闭