当前位置:首页 > EDA > 电子设计自动化
[导读]摘要 FIR滤波器的设计分为滤波器系数计算和滤波器结构的具体两个部分。为说明使用FPGA实现FIR的灵活性,文中列举了一个多阶串行FIR滤波器实例,并给出主要的源代码和相关模块的时序和功能说明,最后使用Matlab和Quar

摘要 FIR滤波器的设计分为滤波器系数计算和滤波器结构的具体两个部分。为说明使用FPGA实现FIR的灵活性,文中列举了一个多阶串行FIR滤波器实例,并给出主要的源代码和相关模块的时序和功能说明,最后使用Matlab和Quartusii联合仿真验证了FPGA硬滤波器工程的正确性。
关键词 FPGA;FIR数字滤波器;Matlab;仿真

    数字滤波器是用于过滤时间离散信号的数字系统,通过对抽样数据进行数学处理达到频域滤波的目的。根据单位冲激响应函数的时域特性可分为两类:无限冲激响应(Infinite Impulse Response,IIR)滤波器和有限冲激响应(Finite Inpulse Response,FIR)滤波器。与IIR滤波器相比,FIR滤波器的实现是非递归的,较稳定;且FIR滤波器可获得严格的线性相位特性。因此,应用领域较广。
    FIR滤波器具有成熟的结构,使用Matlab强大的功能使得本来繁重的计算工作变得轻松。在具体应用时,要根据工程当中信号的特点:采样速率、信号带宽等具体使用Matlab得到FIR滤波器系数。滤波器的结构实现可以使用PC软件、单片机、微处理器、FPGA、通用DSP芯片。其需根据信号特性选择。文中主要使用FPGA实现高速时钟下的串行FIR滤波器结构,达到速度和逻辑资源情况下的最佳均衡。

1 FIR的特点
   
有限长单位冲激响应(FIR)滤波器的特点:(1)系统的单位冲激响应h(n)在有限个n值处不为零。(2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处。(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中也包含有反馈的递归部分。
    设FIR滤波器的单位冲激响应h(n)为一个N点序列,0≤n≤N-1,则滤波器的系统函数为
   
    即有N-1阶极点在z=0处,有N-1个零点位于有限z平面的任何位置。

2 使用MatIab Fdatool设计FIR滤波器
    FDATool(Fliter Design & Analysis Tool)是Matlab信号处理工具箱专用的滤波器设计分析工具,操作简单、灵活,可采用多种方法设计FIR和IIR滤波器。在Matlab命令窗口输入FDATool后回车就会弹出FDATool界面。
    带通滤波器设计已知滤波器的阶数n=1 024,beta=3.4。首先在Fiher Ttype中选择Bandpass;在Design Method选项中选择FIRWindow,接着在Window选项中选取Blackman—Harris;指定Filter Order项中的Specify Order为1 024;采样频率Fs=8 000 Hz,截止频率Fc1=900 Hz,Fc2=1 200 Hz。设置完以后点击窗口下方的Design Filter,在窗口上方就会看到所设计滤波器的幅频响应,通过菜单选项Analysis还可看到滤波器的相频响应、组延迟、脉冲响应、阶跃响应、零极点配置等,如图1所示。


    这样选择File菜单当中的Export导出滤波器系数到文件中。因为得到系数是浮点数,为适合在FPGA中使用,要编写一个M文件对系数进行整型量化处理并在此文件当中生成FPGA能够使用的.mif表格文件。

3 FPGA设计和仿真验证
   
当已知滤波器系数,信号速率为8 kHz,周期125μs。根据FIR滤波器的结构可知,只要在125μs之内完成1 024次乘加运算,那么就可达到对8 kHz速率的语音信号的有效滤波。文中使用QuartusII9.1开发平台,FPGA芯片选用EP3C5E144C8,主时钟25 MHz,周期40 ns进行1 024次运算,耗时40.96 μs<<125μs。
    首先新建在QuartusII中新建一个工程FIR1024,然后使用原理图和VHDL混合的方式设计出以下FPGA程序。把fircoef.mif表格文件代入到系数ROM存储器中。
    输入管脚:CLK主时钟25 MHz;DIN[15..0]语音数据输入;AFCLK数据速率时钟8 kHz;信号数据1 024点缓存RAM和滤波器系数ROM。


    时序控制单元是设计的核心部分。AFCLK作为整个FIR滤波器系统的启动信号,此模块检测到AFCLK上升沿到来时会进行以下几个步骤的处理:(1)首先启动WEN写使能信号把当前DIN写入缓存中,写地址WRADDER累加一次。(2)然后启动读地址计数器RDADDER开始进行1 024次计数,同时把信号缓存和系数ROM中的数据送到乘加器中做1 024乘加运算,RST的作用是在第一个有效数据到来时进行累加器清零,RST_EN的作用是在完成1 024次运算时,准确地把结果锁存到输出端口,如图6所示。


    因为语音信号数据位宽是16位,经过1 024次乘加,和滤波器系数是32位整型量化处理的所有最终结果要做必要的量化处理,以得到正确的结果。


    经过编译综合后,发现占用逻辑单元158,仅占EP3C5逻辑单元的3%,RAM单元约占12%,9位乘法器4个,如图7所示,效果理想。

4 FPGA数字滤波器功能仿真验证
    QuartusII不支持Testbench,采用*.vwf文件进行仿真需要手工输入激励,人工检查输出结果,此程序反馈,且效率较低。由于Quartus II的工程文件都是文本文件,所有的数据都以文件形式存储,所以可以编写文本过滤程序,将文本文件中的有用数据提取出来,然后进行后期处理,既提高了灵活性,又提高了效率。
    QuartusII支持*.vwf、*.vec等激励输入,由于*.vec的文本操作性优于*.vwf文件,所以文中选择*.vec文件作为激励输入。使用Matlab产生8 000 Hz速率800 Hz,1000 Hz,1 300 Hz共3种频率的混合信号的仿真样本序列,带入到QuartusII中进行仿真,产生的仿真文件再导出到Matlab中进行显示,结果如图8所示。


    由图中可以看出,经过FPGA滤波过后,800 Hz和1 300 Hz的信号都被滤波器滤除,仅有1 000 Hz信号保留。

5 结束语
   
通过设计实例,介绍了高速串行多阶FIR滤波器的设计思路和流程。仿真结果说明,FPGA在FIR数字滤波器实现方面相比通用和专用DSP芯片具有更灵活的使用方法,可以做到速度和逻辑资源占用方面的均衡。

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

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

Bourns® TLVR1005T 和 TLVR1105T 系列采用双绕组结构和低感值设计,可提供快速瞬态响应,并可依据 CPU、FPGA 和 ASIC 负载要求进行延展

关键字: 数据驱动 电感器 FPGA

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能

武汉2024年5月15日 /美通社/ -- 北京时间4月26日-5月4日,2024 VEX 机器人世界锦标赛于美国得克萨斯州达拉斯市举办。本届 VEX 世锦赛为期九天,设有 VIQRC 小学组/初中组、V5RC 初中组/...

关键字: 机器人 BSP RC POWERED

上海2024年5月15日 /美通社/ -- 由生成式人工智能(AI)驱动的临床阶段生物医药科技公司英矽智能宣布,与复星医药(600196.SH;02196.HK)合作开发的潜在"全球首创"候选药物IS...

关键字: ISM BSP PC 人工智能

上海2024年5月13日 /美通社/ -- 5月8日,浦东新区国资委组织陆家嘴集团等9家区属企业与立邦中国召开合作交流会,旨在贯彻落实浦东新区区委、区政府工作要求,进一步放大进博会溢出带动效应,持续扩大区属企业与进博会重...

关键字: BSP 数字化 自动化立体仓库 智慧园区
关闭
关闭