CN108832908A - 基于fpga的多路高速滤波器实现方法 - Google Patents

基于fpga的多路高速滤波器实现方法 Download PDF

Info

Publication number
CN108832908A
CN108832908A CN201810501673.3A CN201810501673A CN108832908A CN 108832908 A CN108832908 A CN 108832908A CN 201810501673 A CN201810501673 A CN 201810501673A CN 108832908 A CN108832908 A CN 108832908A
Authority
CN
China
Prior art keywords
signal
road
fpga
delay
parts
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810501673.3A
Other languages
English (en)
Inventor
庞豪
杨金金
赵蓓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Jiu Jin Technology Co Ltd
Original Assignee
Chengdu Jiu Jin Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Jiu Jin Technology Co Ltd filed Critical Chengdu Jiu Jin Technology Co Ltd
Priority to CN201810501673.3A priority Critical patent/CN108832908A/zh
Publication of CN108832908A publication Critical patent/CN108832908A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H2017/0072Theoretical filter design
    • H03H2017/0081Theoretical filter design of FIR filters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Abstract

本发明特别涉及一种基于FPGA的多路高速滤波器实现方法,包括如下步骤:(A)将输入信号s(n)串并转换为M路信号s0,s1,…,sM‑1;(B)将串并转换后的M路信号分为M份,每一份有M路信号;(C)将所有M份M2路信号延时P个单元并将延时数据输出,其中P=N/M,N为滤波器系数个数;(D)每一份M路信号,将抽出的延时数据与对应的滤波器系数相乘并累加;(E)将M份共M个结果数据按顺序输出即可获得当前时刻的输出信号。将一个串行FIR滤波器设计为多路进行,将前级输入的M路信号划分为具有均匀采样延时的M个部分,对每一部分进行乘累加操作后输出,然后将M个部分的M路输出合并就可以获得多路高速滤波器的输出,该方式下输入与输出均可实现实时的连续性,非常方便。

Description

基于FPGA的多路高速滤波器实现方法
技术领域
本发明涉及数字信号处理技术领域,特别涉及一种基于FPGA的多路高速滤波器实现方法。
背景技术
FIR(Finite Impulse Response)滤波器即有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
随着技术的发展,芯片采样率越来越高,一般都上GHz,而FPGA的系数时钟速率相对比较低,一般都不会超过400MHz。当信号采样率远大于FPGA运行时钟频率时,由于芯片限制无法再采用传统的方式对输入信号进行单路滤波。因此,要在FPGA中实现运算速率较高的FIR滤波器,只能采用并行结构以降低FPGA的工作频率。
发明内容
本发明的目的在于提供一种基于FPGA的多路高速滤波器实现方法,能够实现高采样率下的实时滤波。
为实现以上目的,本发明采用的技术方案为:一种基于FPGA的多路高速滤波器实现方法,包括如下步骤:(A)将输入信号s(n)串并转换为M路信号s0,s1,…,sM-1,其中M=fS-ADC/fS-FPGA,fS-ADC为输入信号采样率,fS-FPGA为FPGA的工作频率;(B)将串并转换后的M路信号分为M份,每一份有M路信号:第1份M路信号,为原始M路信号的复制,顺序为s0/s1/…/sM-1;第2份M路信号,将信号s0延时并与s1/…/sM-1交换位置,顺序为……;第M份M路信号,将信号s0/s1/…/sM-2延时并与sM-1交换位置,顺序为其中,指对第m路信号进行延时;(C)将所有M份M2路信号延时P个单元并将延时数据输出,其中P=N/M,N为滤波器系数个数;(D)每一份M路信号,将抽出的延时数据与对应的滤波器系数相乘并累加;(E)将M份共M个结果数据按顺序输出即可获得当前时刻的输出信号。
与现有技术相比,本发明存在以下技术效果:这里通过ADC芯片的高采样率和FPGA的低运算时钟之间的关系将一个串行FIR滤波器设计为多路进行,将前级输入的M路信号划分为具有均匀采样延时的M个部分,通过对每一部分进行乘累加操作后输出,然后将M个部分的M路输出合并就可以获得多路高速滤波器的输出,这种方式下输入与输出均可实现实时的连续性,非常方便。
附图说明
图1是直接性FIR滤波器结构图;
图2是转置型FIR滤波器结构图;
图3是FPGA中高速信号多路输入方式示意图;
图4a-4d为多路并行滤波、输出示意图;
图5a-5d分别是图4a-4d在FPGA中的数据流程图。
具体实施方式
下面结合图1至图5,对本发明做进一步详细叙述。
一种基于FPGA的多路高速滤波器实现方法,包括如下步骤:(A)将输入信号s(n)串并转换为M路信号s0,s1,…,sM-1,其中M=fS-ADC/fS-FPGA,fS-ADC为输入信号采样率,fS-FPGA为FPGA的工作频率;(B)将串并转换后的M路信号分为M份,每一份有M路信号:
第1份M路信号,为原始M路信号的复制,顺序为s0/s1/…/sM-1
第2份M路信号,将信号s0延时并与s1/…/sM-1交换位置,顺序为
……
第M份M路信号,将信号s0/s1/…/sM-2延时并与sM-1交换位置,顺序为
其中,指对第m路信号进行延时;(C)将所有M份M2路信号延时P个单元并将延时数据输出,其中P=N/M,N为滤波器系数个数;(D)每一份M路信号,将抽出的延时数据与对应的滤波器系数相乘并累加;(E)将M份共M个结果数据按顺序输出即可获得当前时刻的输出信号。这里通过ADC芯片的高采样率和FPGA的低运算时钟之间的关系将一个串行FIR滤波器设计为多路进行,将前级输入的M路信号划分为具有均匀采样延时的M个部分,通过对每一部分进行乘累加操作后输出,然后将M个部分的M路输出合并就可以获得多路高速滤波器的输出,这种方式下输入与输出均可实现实时的连续性,非常方便。
优选地,所述的步骤C中,若滤波器系数个数N不满足M的整数倍时,将滤波器系数通过补0实现滤波器系数个数为M的整数倍。步骤C中,P的取值为正整数,而M是固定的,因此滤波器系数个数N不一定正好满足公式P=N/M,此时就需要通过补0的方式,来保证P的取值为正整数。
具体地,下面以四路信号为例来详细的阐述下实现方法:所述的输入信号采样率fS-ADC=1GHz,FPGA的工作频率fS-FPGA=250MHz,滤波器系数个数为8,步骤A-E变为:(A1)将输入信号s(n)串并转换为4路信号s0,s1,s2,s3;(B1)将串并转换后的4路信号分为4份,每一份有4路信号:
第1份4路信号,为原始4路信号的复制,顺序为s0/s1/s2/s3
第2份4路信号,将信号s0延时并与s1/s2/s3交换位置,顺序为
第3分4路信号,将信号s0/s1延时并与s2/s3交换位置,顺序为
第4份4路信号,将信号s0/s1/s2延时并与s3交换位置,顺序为
其中,指对第m路信号进行延时;(C1)将所有4份16路信号延时2个单元并将延时数据输出;(D1)每一份4路信号,将抽出的延时数据与对应的滤波器系数相乘并累加;(E)将4份共4个结果数据按顺序输出即可获得当前时刻的输出信号。这里的滤波器系数个数正好为8个,如果为7个,就需要进行补0。
下面从原理上进行详细阐述,以解释上述步骤实现的理由。
假设原始序列为s(n),冲击响应序列为h(n),则滤波器结果为s(n)与h(n)的卷积,即:
由于h(n)为有限长冲击响应,且长度为N即:
h(m)=0;当m<0或者m>N-1时
因此:
FIR滤波器的核心运算是卷积,图1所示的为直接型FIR滤波器结构图,图2为转置型FIR滤波器的结构。两种滤波器结构都是利用串行结构来实现的,串行结构的滤波器,其数据吞吐量受FPGA时钟的限制,无法做到太高,不利于滤波器的高速数字信号处理实现。本发明是在图2转置型FIR滤波器的结构的基础上进行滤波器的并行设计,以满足高速运算的需求。
以1G采样率信号输入,FPGA运算时钟(即FPGA的工作频率)为250M为例,很显然,输入的1G信号经过串并转换变为4路250M输入。数据按交叉排列的方式进行流水输入,如图3所示。
假设原始输入的信号由s(n)表示,n=0,1,2,…,经过串并转换为4路后的信号分别为:
s(4*k)、s(4*k+1)、s(4*k+2)、s(4*k+3),k=0,1,2……
可以将滤波器表达:
利用m=N-1-m,则替换后的m取值范围仍然为0到N-1
由于r[n+(N-1)]和r[n]只存在一个固定的延时关系,因此为简化起见采用r(n)代替r[n+(N-1)],另外,将上述表达式分为4路交叉形式,见如下表达式:
上式中,k=0,1,2,…。假设N=4*P,N为原型滤波器的系数个数,若不为4的整数倍可以通过补零的方式使得N为4的整数倍。因此m取值范围为{4p+0,4p+1,4p+2,4p+3},其中p=0,1…P-1。
将上述表达式分解如下所示:
其中,r(4k+0)、r(4k+1)、r(4k+2)、r(4k+3)为一次4路并行滤波后的输出值。为了便于描述,这里不妨假设N=8,因此每次需要8个乘积进行累加,如图4a-4d所示,将累加后的结果合并输出即可得到滤波后的输出。
其在FPGA内部具体实现时,将输入序列命名为s0,s1,s2,s3,输出序列命名为r0,r1,r2,r3,根据上面图4a-4d可以将FPGA内部数据流程画出,即图5a-5d。
上面是以4路信号输入,8个滤波器系数为例进行演示,实际上对于任意整数路输入,以及任意个滤波器系数,上述分析方法同样适用。该专利的提出,非常适合FPGA进行实时实现,极大扩展了在高采样率下的实时滤波应用。

Claims (3)

1.一种基于FPGA的多路高速滤波器实现方法,包括如下步骤:
(A)将输入信号s(n)串并转换为M路信号s0,s1,…,sM-1,其中M=fS-ADC/fS-FPGA,fS-ADC为输入信号采样率,fS-FPGA为FPGA的工作频率;
(B)将串并转换后的M路信号分为M份,每一份有M路信号:
第1份M路信号,为原始M路信号的复制,顺序为s0/s1/…/sM-1
第2份M路信号,将信号s0延时并与s1/…/sM-1交换位置,顺序为
……
第M份M路信号,将信号s0/s1/…/sM-2延时并与sM-1交换位置,顺序为
其中,指对第m路信号进行延时;
(C)将所有M份M2路信号延时P个单元并将延时数据输出,其中P=N/M,N为滤波器系数个数;
(D)每一份M路信号,将抽出的延时数据与对应的滤波器系数相乘并累加;
(E)将M份共M个结果数据按顺序输出即可获得当前时刻的输出信号。
2.如权利要求1所述的基于FPGA的多路高速滤波器实现方法,其特征在于:所述的步骤C中,若滤波器系数个数N不满足M的整数倍时,将滤波器系数通过补0实现滤波器系数个数为M的整数倍。
3.如权利要求1所述的基于FPGA的多路高速滤波器实现方法,其特征在于:所述的输入信号采样率fS-ADC=1GHz,FPGA的工作频率fS-FPGA=250MHz,滤波器系数个数为8,步骤A-E变为:
(A1)将输入信号s(n)串并转换为4路信号s0,s1,s2,s3
(B1)将串并转换后的4路信号分为4份,每一份有4路信号:
第1份4路信号,为原始4路信号的复制,顺序为s0/s1/s2/s3
第2份4路信号,将信号s0延时并与s1/s2/s3交换位置,顺序为
第3分4路信号,将信号s0/s1延时并与s2/s3交换位置,顺序为
第4份4路信号,将信号s0/s1/s2延时并与s3交换位置,顺序为
其中,指对第m路信号进行延时;
(C1)将所有4份16路信号延时2个单元并将延时数据输出;
(D1)每一份4路信号,将抽出的延时数据与对应的滤波器系数相乘并累加;
(E)将4份共4个结果数据按顺序输出即可获得当前时刻的输出信号。
CN201810501673.3A 2018-05-23 2018-05-23 基于fpga的多路高速滤波器实现方法 Pending CN108832908A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810501673.3A CN108832908A (zh) 2018-05-23 2018-05-23 基于fpga的多路高速滤波器实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810501673.3A CN108832908A (zh) 2018-05-23 2018-05-23 基于fpga的多路高速滤波器实现方法

Publications (1)

Publication Number Publication Date
CN108832908A true CN108832908A (zh) 2018-11-16

Family

ID=64147211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810501673.3A Pending CN108832908A (zh) 2018-05-23 2018-05-23 基于fpga的多路高速滤波器实现方法

Country Status (1)

Country Link
CN (1) CN108832908A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951173A (zh) * 2019-03-06 2019-06-28 西安迪菲电子科技有限公司 一种多路并行输入并行处理的fir滤波方法及滤波器
CN114584109A (zh) * 2022-03-15 2022-06-03 苏州赛迈测控技术有限公司 一种对高速串行接口传输的并行信号进行实时滤波的方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040170223A1 (en) * 2003-03-02 2004-09-02 Tzi-Dar Chiueh Reconfigurable fir filter
US7480603B1 (en) * 2006-08-16 2009-01-20 Altera Corporation Finite impulse response (FIR) filter compiler
CN101458329A (zh) * 2009-01-06 2009-06-17 清华大学 时域并行采样率变换方法
CN101547018A (zh) * 2008-03-28 2009-09-30 大唐移动通信设备有限公司 一种实现多天线系统抽取滤波的方法及装置
CN104579240A (zh) * 2013-10-21 2015-04-29 京微雅格(北京)科技有限公司 一种基于fpga的可配置系数的滤波器、电子设备及滤波方法
CN106452388A (zh) * 2016-09-29 2017-02-22 电子科技大学 一种基于并行运算的cic滤波器设计方法
US9767818B1 (en) * 2012-09-18 2017-09-19 Marvell International Ltd. Steerable beamformer
CN107332539A (zh) * 2017-06-30 2017-11-07 电子科技大学 一种高速并行多路分数延时滤波器实现方法
CN107707219A (zh) * 2017-10-26 2018-02-16 电子科技大学 一种基于fpga的高采样率fir滤波等效实现方法
CN107769755A (zh) * 2017-10-24 2018-03-06 中国科学院电子学研究所 一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040170223A1 (en) * 2003-03-02 2004-09-02 Tzi-Dar Chiueh Reconfigurable fir filter
US7480603B1 (en) * 2006-08-16 2009-01-20 Altera Corporation Finite impulse response (FIR) filter compiler
CN101547018A (zh) * 2008-03-28 2009-09-30 大唐移动通信设备有限公司 一种实现多天线系统抽取滤波的方法及装置
CN101458329A (zh) * 2009-01-06 2009-06-17 清华大学 时域并行采样率变换方法
US9767818B1 (en) * 2012-09-18 2017-09-19 Marvell International Ltd. Steerable beamformer
CN104579240A (zh) * 2013-10-21 2015-04-29 京微雅格(北京)科技有限公司 一种基于fpga的可配置系数的滤波器、电子设备及滤波方法
CN106452388A (zh) * 2016-09-29 2017-02-22 电子科技大学 一种基于并行运算的cic滤波器设计方法
CN107332539A (zh) * 2017-06-30 2017-11-07 电子科技大学 一种高速并行多路分数延时滤波器实现方法
CN107769755A (zh) * 2017-10-24 2018-03-06 中国科学院电子学研究所 一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器
CN107707219A (zh) * 2017-10-26 2018-02-16 电子科技大学 一种基于fpga的高采样率fir滤波等效实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
T PITCHAIAH: "FPGA implementation of low area and delay efficient Adaptive Filter using Distributed Arithmetic", 《 2014 INTERNATIONAL CONFERENCE ON ADVANCES IN ENGINEERING & TECHNOLOGY RESEARCH (ICAETR - 2014)》 *
张维良: "高速并行FIR 滤波器的FPGA 实现", 《系统工程与电子技术》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951173A (zh) * 2019-03-06 2019-06-28 西安迪菲电子科技有限公司 一种多路并行输入并行处理的fir滤波方法及滤波器
CN109951173B (zh) * 2019-03-06 2023-03-21 西安迪菲电子科技有限公司 一种多路并行输入并行处理的fir滤波方法及滤波器
CN114584109A (zh) * 2022-03-15 2022-06-03 苏州赛迈测控技术有限公司 一种对高速串行接口传输的并行信号进行实时滤波的方法

Similar Documents

Publication Publication Date Title
CN104993827B (zh) 模数转换器误差估计校正的装置及其方法
KR100248693B1 (ko) 통신채널식별시스템 및 방법과 수신기
CN102055435B (zh) 一种窄带数字滤波器
CN102882491B (zh) 一种稀疏无频偏线性相位fir陷波滤波器的设计方法
CN108832908A (zh) 基于fpga的多路高速滤波器实现方法
CN106506135A (zh) 一种吉比特速率的全数字时域并行定时同步系统及方法
CN1996975A (zh) 一种信号测量设备、系统及方法
CN108918965A (zh) 多通道信号相位、幅度高精度测量方法
CN105281708B (zh) 一种基于分段并行处理的高速fir滤波实现方法
CN111510110A (zh) 一种并行处理的插值匹配滤波方法及滤波器
CN105227158B (zh) 一种高精度信号实时滤波器
US4785411A (en) Cascade filter structure with time overlapped partial addition operations and programmable tap length
Li Design and realization of FIR digital filters based on MATLAB
CN105066990A (zh) 一种适用于捷联惯性导航的高精度数字滤波器
CN110166021A (zh) 一种实现任意降采样率转换的数字信号处理方法
CN106603036A (zh) 一种基于低阶内插滤波器的自适应时延估计方法
CN109976660A (zh) 基于线性插值的任意重采样算法和数据采样系统
CN106153029B (zh) 二频机抖激光陀螺抖动信号抵消装置
CN110365314A (zh) 具有稀疏系数的可分离二维fir滤波器的设计方法
CN105811919A (zh) 用于智能变电站数字化保护的低通滤波器设计方法
CN103607180A (zh) 光电互感器中多数字源采样率转换的快速滤波方法
Rohini et al. A crystal view on the design of FIR filter
CN107862381A (zh) 一种适用于多种卷积模式的fir滤波器实现
CN108631752A (zh) 成形滤波器及其成形方法
CN204131622U (zh) 一种抗震动的模拟分量视频信号解码电路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination