[发明专利]基于FPGA的巴特沃斯低通滤波方法及滤波器有效
申请号: | 202310113232.7 | 申请日: | 2023-02-15 |
公开(公告)号: | CN115865046B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 徐徐;汪许苗树;杨世飞;孙磊;邹小勇;刘宗斌 | 申请(专利权)人: | 南京凯奥思数据技术有限公司 |
主分类号: | H03H17/02 | 分类号: | H03H17/02 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 黄帅;胡琳萍 |
地址: | 210000 江苏省南京市雨花*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 巴特沃斯低通 滤波 方法 滤波器 | ||
本发明公开一种基于FPGA的巴特沃斯低通滤波方法及滤波器,该方法包括:原始数据前后端各沿拓若干个点;第一次滤波;对滤波的结果进行翻转;第二次滤波;再次翻转,得到的数据即为原始数据经巴特沃斯低通滤波后的数据;对数组翻转时,在FPGA内采用倒写顺读的方式,即:从内存末尾位置开始,向着内存首地址方向写入,最后从内存首地址开始顺序读出。本发明在FPGA内采用倒写顺读的方式操作内存,不耗费任何额外资源与时钟周期,在FPGA内进行二次滤波,可以实现零相位偏差;通过PING‑PONG加上特定位置触发的方式,合理操作内存空间,对首尾波形进行沿拓,可以消除边际失真。
技术领域
本发明属于滤波技术领域,具体涉及一种基于FPGA的巴特沃斯低通滤波方法及滤波器。
背景技术
数字信号处理中,通常需要低通滤波去消除或大幅度降低所需要频带以外的噪音,当前抗混叠低通滤波功能通常由模数转换器(AD)纯硬件方式实现。在实际使用中,模数转换器(AD)中的数字滤波器虽然可以轻易做到60dB以上,但通常截止频率以及过渡带波形由硬件完全固定死,因此缺乏灵活性。FPGA芯片内部不但有大量的可编程门阵列(LUT),内嵌式DSP,还包含DRAM或BRAM甚至外挂DDR3或DDR4,可以方便快捷地设计出各种灵活高效的并行算法去实现数字信号处理中的各项技术需求。基于FPGA设计的低通滤波器可以灵活的实现各种各样的滤波,既可以相应的降低AD硬件成本,也可以和纯硬件的AD滤波相辅相成。
巴特沃斯作为一款常见滤波器,其频带内具有最大平坦度,可最大程度保证信号的完整性,但由于其算法的特殊性,在FPGA实现算法的过程中,通常会伴随边际点失真和相位偏差等等问题。特别是边际点失真的问题,通常会采取舍弃头尾的方式或加一个初始值的方式,但这两种方式在实际运用中都不可靠,舍弃头尾会丢失大量的真实数据,而加初始值的方式则很难适应于所有的输入信号,所以巴特沃斯低通滤波在现阶段的FPGA工程设计中并无很好的应用。
因此,需要提供一种可以解决边际波形失真和相位偏移问题的基于FPGA的巴特沃斯低通滤波器。
发明内容
本发明的目的在于,提供一种基于FPGA的巴特沃斯低通滤波方法及滤波器,解决边际波形失真及相位偏移的问题。
为了实现上述目的,本发明的技术方案为:
一种基于FPGA的巴特沃斯低通滤波方法,该方法包括以下步骤:
1)原始数据x前后端各沿拓若干个点,得到X数组;
2)第一次滤波:{y,Y} = filter(b,a,x,X)
3)对y数组翻转,得到y1;对Y数组翻转,得到Y1;
4)第二次滤波:{z,Z} = filter(b,a,y1,Y1)
5)对z数组翻转,得到z1,z1即为原始数据x经巴特沃斯低通滤波后的数据;
其中,b和a为巴特沃斯系数,X为原始数据x前后端各沿拓的数据,Y为X经过第一次滤波后的数据,y为x经过第一次滤波后的数据,Z为Y1经过第二次滤波后的数据,z为y1经过第二次滤波后的数据;
对数组翻转时,在FPGA内采用倒写顺读的方式,即:从内存末尾位置开始,向着内存首地址方向写入,最后从内存首地址开始顺序读出。
进一步的,该方法还包括步骤:
6)舍弃前后端各沿拓的若干个点:忽略Z数组。
进一步的,通过PING-PONG操作控制两块不同的内存地址空间,进行首尾波形沿拓,即利用上一时刻波形的末尾和下一时刻波形开头的若干个点补足此时刻波形的点数,之后再舍弃这些沿拓的点。
进一步的,沿拓具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京凯奥思数据技术有限公司,未经南京凯奥思数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310113232.7/2.html,转载请声明来源钻瓜专利网。