CN107769755A - 一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器 - Google Patents

一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器 Download PDF

Info

Publication number
CN107769755A
CN107769755A CN201711003289.2A CN201711003289A CN107769755A CN 107769755 A CN107769755 A CN 107769755A CN 201711003289 A CN201711003289 A CN 201711003289A CN 107769755 A CN107769755 A CN 107769755A
Authority
CN
China
Prior art keywords
data
fir
value
decimation
filter
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.)
Granted
Application number
CN201711003289.2A
Other languages
English (en)
Other versions
CN107769755B (zh
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.)
Institute of Electronics of CAS
Original Assignee
Institute of Electronics of CAS
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 Institute of Electronics of CAS filed Critical Institute of Electronics of CAS
Priority to CN201711003289.2A priority Critical patent/CN107769755B/zh
Publication of CN107769755A publication Critical patent/CN107769755A/zh
Application granted granted Critical
Publication of CN107769755B publication Critical patent/CN107769755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/0063R, L, C, simulating networks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Image Processing (AREA)

Abstract

本发明实施例公开了一种并行FIR抽取滤波器的数据处理方法,所述并行FIR抽取滤波器的抽取因子可变,所述并行FIR抽取滤波器包括P个FIR子滤波器,P取正整数,该并行FIR抽取滤波器的数据处理方法包括:缓存当前时刻获取的M路并行输入数据,M为大于P的整数;将缓存的所有数据进行组合后获得多个数据组;根据当前的抽取因子从所述多个数据组中抽取P个数据组;将所述P个数据组分别输出至所述P个FIR子滤波器中,以执行数据处理操作。本发明实施例还公开了一种并行FIR抽取滤波器。

Description

一种并行FIR抽取滤波器的设计方法和并行FIR抽取滤波器
技术领域
本发明涉及通信技术领域,尤其涉及一种并行FIR抽取滤波器的数据处理方法和并行FIR抽取滤波器。
背景技术
有限脉冲响应(Finite Impulse Response,FIR)数字滤波器是数字信号处理系统中最重要的器件,在多个领域都得到了广泛的应用,如无线通信、遥感卫星接收机以及射电望远镜的接收设备等。近年来,随着现代数字信号处理技术的不断发展,所需处理的信号种类越来越多,形势越来越复杂,对数字信号处理系统的处理速度的要求也不断提高。为了进一步提高数字信号处理的速度,并行处理技术在数字信号处理中得到了越来越广泛的应用。
在某些应用中,如高速的遥感卫星,由于其有多种工作模式,因此接收到的信号带宽有多种,需要对信号进行不同比例的抽取以降低对后端处理速度的压力,这就要求接收设备的高速并行FIR滤波器具有适合多种不同抽取因子的功能,同时从实用性考虑还需占用较少的硬件资源。
传统的可变抽取因子滤波器是采用积分梳状(Cascade Integrator Comb,CIC)滤波器来实现,图1传统的可变抽取因子滤波器的结构示意图,如图1所示,传统的可变抽取因子滤波器的结构是将CIC滤波器、补偿抽取滤波器和可编程的FIR低通滤波器级联后形成,第一级CIC滤波器将处理后数据传递给第二级的FIR补偿滤波器,第二级的FIR补偿滤波器再将处理后的数据传递给第三级的可编程FIR低通滤波器,第三级的可编程FIR低通滤波器输出最终的处理结果,从而实现高速窄带信号的抽取滤波,但是CIC滤波器适用于高速窄带信号滤波,对于高速宽带信号该方法并不适用。
发明内容
为解决上述技术问题,本发明实施例期望提供一种并行FIR抽取滤波器的数据处理方法和并行FIR抽取滤波器,该并行FIR抽取滤波器的抽取因子可变且适用于高速宽带信号滤波。
本发明的技术方案是这样实现的:
本发明实施例提供了一种并行有限脉冲响应FIR抽取滤波器的数据处理方法,其特征在于,所述并行FIR抽取滤波器的抽取因子可变,所述并行FIR抽取滤波器包括P个FIR子滤波器,P取正整数,所述方法包括:
缓存当前时刻获取的M路并行输入数据,M为大于P的整数;
将缓存的所有数据进行组合后获得多个数据组;
根据当前的抽取因子从所述多个数据组中抽取P个数据组;
将所述P个数据组分别输出至所述P个FIR子滤波器中,以执行数据处理操作。
上述方案中,所述根据当前的抽取因子从所述多个数据组中抽取P个数据组,包括:
根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识,所述选择标识用于标识所述多个数据组中的一个数据组;
根据确定的P个选择标识从所述多个数据组中抽取P个数据组。
上述方案中,所述P个FIR子滤波器中第j个FIR子滤波器对应的选择标识为kj,j取1至P的整数;
所述根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识,包括:根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识的初始值;
所述根据确定的P个选择标识从所述多个数据组中抽取P个数据组,包括:
当k1小于抽取阈值时,在当前时刻从所述多个数据组中抽取kj对应的数据组;将kj对应的数据组作为所述第j个FIR子滤波器对应的数据组;更新选择标识kj的值;
当k1大于或者等于抽取阈值时,在当前时刻暂停抽取数据组;更新选择标识kj的值。
上述方案中,所述第j个FIR子滤波器对应的数据组选择标识kj的初始值为(j-1)×D,D为当前的抽取因子;所述抽取阈值为M;
所述当k1小于抽取阈值时更新选择标识kj的值,包括:利用当前时刻的选择标识kj的值加上第一更新值后得到下一时刻的选择标识kj的值,所述第一更新值为P×D-M;
所述当k1大于或者等于抽取阈值时更新选择标识kj的值,包括:利用当前时刻的选择标识kj的值减去第二更新值后得到下一时刻的选择标识kj的值,所述第二更新值为M。
上述方案中,所述P值是根据所述并行FIR抽取滤波器的最小抽取因子和M值确定的。
上述方案中,所述P值为Dmin为所述并行FIR抽取滤波器的最小抽取因子。
上述方案中,所述多个数据组中每一个数据组包括L个数据,L为所述FIR子滤波器的抽头个数,L取正整数。
上述方案中,所述将缓存的所有数据进行组合后获得多个数据组,包括:
将缓存的所有数据中的第i个至第i+L-1个连续的数据组合后形成第i个数据组,i取小于或者等于B-L+1的整数,B为缓存的所有数据的个数,B取大于L的整数;
获得多个数据组;所述多个数据组包括:第1个数据组至第B-L+1个数据组。
上述方案中,所述B值为M+(P-1)×Dmax+L,Dmax为所述并行FIR抽取滤波器的最大抽取因子。
本发明实施例中还提供了一种并行FIR抽取滤波器,其特征在于,所述并行FIR抽取滤波器的抽取因子可变,所述并行FIR抽取滤波器包括:处理器和P个FIR子滤波器,P取正整数,其中,
所述处理器用于执行以下步骤:缓存当前时刻获取的M路并行输入数据,M为大于P的整数;将缓存的所有数据进行组合后获得多个数据组;根据当前的抽取因子从所述多个数据组中抽取P个数据组;将所述P个数据组分别输出至所述P个FIR子滤波器中,以执行数据处理操作。
上述方案中,所述处理器具体用于执行以下步骤:根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识,所述选择标识用于标识所述多个数据组中的一个数据组;根据确定的P个选择标识从所述多个数据组中抽取P个数据组。
上述方案中,所述P个FIR子滤波器中第j个FIR子滤波器对应的选择标识为kj,j取1至P的整数;
所述处理器具体用于执行以下步骤:根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识的初始值;
当k1小于抽取阈值时,在当前时刻从所述多个数据组中抽取kj对应的数据组;将kj对应的数据组作为所述第j个FIR子滤波器对应的数据组;更新选择标识kj的值;
当k1大于或者等于抽取阈值时,在当前时刻暂停抽取数据组;更新选择标识kj的值。
上述方案中,所述第j个FIR子滤波器对应的数据组选择标识kj的初始值为(j-1)×D,D为当前的抽取因子;所述抽取阈值为M;
所述处理器具体用于执行以下步骤:当k1小于M时,利用当前时刻的选择标识kj的值加上第一更新值后得到下一时刻的选择标识kj的值,所述第一更新值为P×D-M;当k1大于或者等于M时,利用当前时刻的选择标识kj的值减去第二更新值后得到下一时刻的选择标识kj的值,所述第二更新值为M。
上述方案中,所述P值是根据所述并行FIR抽取滤波器的最小抽取因子和M值确定的。
上述方案中,所述P值为Dmin为所述并行FIR抽取滤波器的最小抽取因子。
上述方案中,所述多个数据组中每一个数据组包括L个数据,L为所述FIR子滤波器的抽头个数,L取正整数。
上述方案中,所述处理器具体用于执行以下步骤:
将缓存的所有数据中的第i个至第i+L-1个连续的数据组合后形成第i个数据组,i取小于或者等于B-L+1的整数,B为缓存的所有数据的个数,B取大于L的整数;
获得多个数据组;所述多个数据组包括:第1个数据组至第B-L+1个数据组。
上述方案中,所述B值为M+(P-1)×Dmax+L,Dmax为所述并行FIR抽取滤波器的最大抽取因子。
本发明实施例提供的一种并行FIR抽取滤波器的数据处理方法和并行FIR抽取滤波器,并行FIR抽取滤波器的抽取因子可变,并行FIR抽取滤波器包括P个FIR子滤波器,P取正整数,该并行FIR抽取滤波器的数据处理方法包括:缓存当前时刻获取的M路并行输入数据,M为大于P的整数;将缓存的所有数据进行组合后获得多个数据组;根据当前的抽取因子从多个数据组中抽取P个数据组;将P个数据组分别输出至P个FIR子滤波器中,以执行数据处理操作。采用上述技术方案,通过对输入数据组合以获得多个数据组,并根据当前选择的抽取因子进行数据组的抽取,得到P个FIR子滤波器对应的数据组,以此来适应不同抽取因子的数据处理,并通过减少FIR子滤波器的个数来节约硬件资源。如此,使该并行FIR抽取滤波器实现了的抽取因子可变且适用于高速宽带信号滤波。
附图说明
图1传统的可变抽取因子滤波器的结构示意图;
图2为本发明实施例中并行FIR抽取滤波器的数据处理方法的第一实施例的流程示意图;
图3为本发明实施例中缓存数据的结构示意图;
图4为本发明实施例中并行FIR抽取滤波器的数据处理方法的第二实施例的流程示意图;
图5为本发明实施例中数据组抽取原理的示意图;
图6为本发明实施例中FIR子滤波器的工作原理的示意图;
图7为本发明实施例中并行FIR抽取滤波器的第一种组成结构示意图;
图8为本发明实施例中并行FIR抽取滤波器的第二种组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在实际应用中FIR滤波器的时域离散方程可以表示为:
其中,x(n)为输入数据,h(m)为FIR滤波器的冲激响应,y(n)为输出信号,L为FIR滤波器的抽头个数。将(1)式分解开来,FIR滤波器的时域离散方程可表示为:
从(2)式可以看出,M路并行的FIR滤波器可以用M个相同的FIR子滤波器来实现,每一路FIR子滤波器的输出为并行滤波结果,对滤波结果进行抽取即为最终输出结果。本发明为了节约硬件计算资源将抽取操作放于子滤波器之前,即先对输入数据进行抽取再进入子滤波器,这样子滤波器的个数可以降低为P个(P<=M)。由于各个时刻每路FIR子滤波器的输入数据不同,因此,需要从输入数据中为每一路FIR子滤波器抽取对应的输入数据。
在本发明实施例中,提出了一种并行FIR抽取滤波器的数据处理方法,该方法可以为每一路FIR子滤波器从总的输入数据中抽取出对应的输入数据,并将抽取的输入数据发送至对应的FIR子滤波器中进行处理。
图2为本发明实施例中并行FIR抽取滤波器的数据处理方法的第一实施例的流程示意图,如图2所示,该方法包括:
步骤201:缓存当前时刻获取的M路并行输入数据。
本发明实施例中,并行FIR抽取滤波器的抽取因子可变,并行FIR抽取滤波器包括P个FIR子滤波器,P取正整数,M为大于P的整数。其中,P个FIR子滤波器是用于执行P路输入数据的数据处理操作,FIR子滤波器可以为现有技术中任何一种FIR滤波器。
需要说明的是,在利用现有的M路并行FIR抽取滤波器实现M路并行输入数据处理时,当抽取因子D唯一且M/D为整数(如:M/D=A),则只需要第1、1+D、…、1+(A-1)D路的FIR子滤波器参与数据处理,其余支路可以不参与数据处理。当抽取因子不唯一(即有多个不同的抽取因子)或M/D不为整数,此时不能简单的保留某几个运算支路来实现抽取。因此,本发明实施例首先根据最小抽取因子确定FIR子滤波器个数P,再根据不同的抽取因子对并行FIR抽取滤波器的输入数据进行抽取,以此来适应不同的抽取因子,通过减少了FIR子滤波器个数来节约硬件运算资源的占用。
可以看出,现有的M路并行FIR抽取滤波器中包含M个FIR子滤波器,而本发明实施例中只需要P(P小于M)个FIR子滤波器便可实现不同抽取因子的数据处理,并减小了硬件资源的占用。
在实际实施时,P值是根据并行FIR抽取滤波器的最小抽取因子和M值确定的。
需要说明的是,确定并行FIR抽取滤波器中包含的FIR子滤波器的个数P时,需要参与并行运算的P个FIR子滤波器的数据处理速度能满足输入数据的吞吐率,因此P值应由最小抽取因子来确定。示例性的,对M除以最小抽取因子Dmin的商向上取整得到P值。
在实际实施时,利用下一时刻获取的M路并行输入数据更新缓存的数据。
步骤202:将缓存的所有数据进行组合后获得多个数据组。
一种实施方法是,多个数据组中每一个数据组包括L个数据,L为FIR子滤波器的抽头个数,L取正整数。
具体的,将缓存的所有数据中的第i个至第i+L-1个连续的数据组合后形成第i个数据组,i取小于或者等于B-L+1的整数,B为缓存的所有数据的个数,B取大于L的整数;
通过上述组合方法组合出多个数据组;多个数据组包括:第1个数据组至第B-L+1个数据组。
示例性的,通常缓存数据的深度B可取为B=M+(P-1)×Dmax+L,Dmax为并行FIR抽取滤波器的最大抽取因子。
图3为本发明实施例中缓存数据的结构示意图,如图3所示,对于8路并行输入的FIR抽取滤波器,其中包括缓存数据深度为64的缓存区域,这里缓存区域相当于一个移位寄存器,每个时刻8路并行的输入数据从最左侧进入(即缓存区域的最左侧一列保存最新输入的8个数据),同时所有数据向右平移1个位置,最右侧一列保存最早时刻输入的8个数据。
图3中缓存数据的深度B为64,具体包括:d0,d1,…,d63,将每L个连续的数据组合后形成一个数据组DATA,共得到64-L+1个数据组,具体包括:d0~dL-1=DATA0,d1~dL=DATA1,…,d64-L~d64-1=DATA(64-L),在这64-L+1个数据组中抽取P个数据组分别输出给P个FIR子滤波器中。
步骤203:根据当前的抽取因子从多个数据组中抽取P个数据组。
一种实施方式是,根据当前抽取因子确定P个FIR子滤波器对应的P个选择标识,选择标识用于标识多个数据组中的一个数据组;根据确定的P个选择标识从多个数据组中抽取P个数据组。
示例性的,根据当前抽取因子确定P个FIR子滤波器对应的P个选择标识的初始值;当k1小于抽取阈值时,在当前时刻从多个数据组中抽取kj对应的数据组;将kj对应的数据组作为第j个FIR子滤波器对应的数据组;更新选择标识kj的值;当k1大于或者等于抽取阈值时,在当前时刻暂停抽取数据组;更新选择标识kj的值。
在实际实施时,第j个FIR子滤波器对应的数据组选择标识kj的初始值为(j-1)×D,D为当前的抽取因子;抽取阈值为M;当k1小于M时,利用当前时刻的选择标识kj的值加上第一更新值后得到下一时刻的选择标识kj的值,第一更新值为P×D-M;当k1大于或者等于M时,利用当前时刻的选择标识kj的值减去第二更新值后得到下一时刻的选择标识kj的值,第二更新值为M。
在实际实施时,设置P个选择标识k1,k2,…,kP,每个选择标识对应一个数据组,即当k1=0时第1个FIR子滤波器对应的数据组为DATA0;当k1=1时第2个FIR子滤波器对应的数据组为DATA1;k2,…,kP与数据组的对应关系亦是如此。根据当前的抽取因子从多个数据组中抽取P个数据组具体可以包括:
当k0<M时,抽取选择标识k1,k2,…,kP各组对应的数据组,并通过以下迭代公式更新k1,k2,…,kP的值,迭代公式如下:
k1=k1+P×D-M
k2=k2+P×D-M
kP=kP+P×D-M
当k0≥M时,暂停数据组的抽取,并通过以下迭代公式更新k1,k2,…,kP的值,迭代公式如下:
k1=k1-M
k2=k2-M
kP=kP-M
上式中等号左边kj值为下一时刻的选择标识,等号右边kj为当前时刻的选择标识,kj的初始值为(P-1)×D,即k1=0,k1=D,…,kP=(P-1)×D。
步骤204:将P个数据组分别输出至P个FIR子滤波器中,以执行数据处理操作。
在实际实施时,P个FIR子滤波器可以为P个相同的FIR子滤波器,每一个FIR子滤波器对各自输入数据进行运算后得到最终的处理结果。
本发明实施例中,并行FIR抽取滤波器的抽取因子可变,并行FIR抽取滤波器包括P个FIR子滤波器,P取正整数,该并行FIR抽取滤波器的数据处理方法包括:缓存当前时刻获取的M路并行输入数据,M为大于P的整数;将缓存的所有数据进行组合后获得多个数据组;根据当前的抽取因子从多个数据组中抽取P个数据组;将P个数据组分别输出至P个FIR子滤波器中,以执行数据处理操作。采用上述技术方案,通过对输入数据组合以获得多个数据组,并根据当前选择的抽取因子进行数据组的抽取,得到P个FIR子滤波器对应的数据组,以此来适应不同抽取因子的数据处理,并减少了并行FIR抽取滤波器中的FIR子滤波器的个数。如此,可以使并行FIR抽取滤波器适应不同的抽取因子,减少硬件资源的占用,并适用于高速宽带信号的滤波。
第二实施例
为了能更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。在第二实施例中示例性的给出了,一种有3种抽取因子的并行FIR抽取滤波器的数据处理方法,其中,并行FIR抽取滤波器包括8路并行输入,抽取因子分别为2、3、5,FIR子滤波器的抽头个数为21个(即L=21)。
图4为本发明实施例中并行FIR抽取滤波器的数据处理方法的第二实施例的流程示意图,该方法包括:
步骤401:确定并行FIR抽取滤波器的并行运算支路数P。
需要说明的是,并行FIR抽取滤波器中包含P个FIR子滤波器,由于一路并行运算支路中包含一个FIR子滤波器,用于对该支路中的数据进行处理,因此,本步骤中提到的并行运算支路数P也为本发明实施例中并行FIR抽取滤波器中包含的FIR子滤波器个数。
示例性的,根据最小抽取因子Dmin和并行FIR抽取滤波器并行输入路数M确定并行运算支路数P,即
步骤402:缓存当前时刻获取的8路并行输入数据。
示例性的,将当前时刻获得的8路并行输入数据按照图3所示的缓存方式进行缓存,并根据最大抽取因子确定缓存数据深度B=M+(P-1)×Dmax+L=8+(4-1)×5+21=44,即当前时刻缓存的数据包括:d0,d1,…,d43
步骤403:对缓存的所有数据进行组合后获得多个数据组。
一种实施方式是,将缓存的所有数据中的第i个至第i+L-1个连续的数据组合后形成第i个数据组,i取小于或者等于B-L+1的整数。示例性的,将缓存的44个数据d0,d1,…,d43中每21个连续的数据组合成1个数据组DATA,共获得24个数据组,其中,DATA0=d0~d20,DATA1=d1~d21,…,DATA23=d23~d43
示例性的,多个数据组的存储方式与8路并行输入数据的存储原理可以相同,即每个时刻将所有数据组向右平移1个位置后将最新获得的8个数据组存储到存数区域的最左侧,最右侧一列保存最早时刻组成的8个数据组。由于每一时刻会利用最新获取的8路并行输入数据更新缓存的数据,因次,在也会利用最新获取的8个数据组更新多个数据组,并将最早时刻的8数据组从多个数据组中移除。
步骤404:确定P个并行运算支路中每一个FIR子滤波器的选择标识kj的初始值。
示例性的,选择标识kj的初始值可以是(j-1)×D。
当D=2时,4个FIR子滤波器的选择标识分别为:k1=0,k2=2,k3=4,k4=6;
当D=3时,4个FIR子滤波器的选择标识分别为:k1=0,k2=3,k3=6,k4=9;
当D=5时,4个FIR子滤波器的选择标识分别为:k1=0,k2=5,k3=10,k4=15。
这里,k1=0,指示当前时刻输出至第1个FIR子滤波器的数据组为DATA0,k2=2,指示当前时刻输出至第2个FIR子滤波器的数据组为DATA2,以此类推,确定当前时刻输出至各个FIR子滤波器对应数据组。
图5为本发明实施例中数据组抽取原理的示意图,如图5所示,将获得的24个数据组进行8路并行缓存,图中时刻0、时刻1、时刻2和时刻3为不同时刻下缓存区域的结构示意图。
其中,每一时刻第一列(最右侧一列)存储数据组DATA0至DATA7,第二列(中间一列)存储数据组DATA8至DATA15,第三列(最左侧一列)存储数据组DATA16至DATA23。为了保证数据组抽取的规律性,只有当第一列包含待抽取的数据组(如:图中时刻0阴影部分为待抽取的数据组,每一个待抽取的数据组对应一个FIR子滤波器)时才执行抽取操作,当某一时刻第一列不包含待抽取的数据组时暂停抽取,只进行数据组的平移,直至第一列中重新出现待抽取的数据组。
具体的,时刻0中第一列包含待抽取的数据组(DATA0、DATA3和DATA6)时,将待抽取的数据输出至对应的FIR子滤波器中,抽取完成后将数据组整体向右平移以获得时刻1的数据组,平移后将时刻0中第一列的数据移出存储区域,第三列存储最新获得的8个数据组。时刻1与时刻0的抽取原理相同。
时刻2原本待抽取的数据组为灰色区域覆盖的4个区域中的数据组,但由于第一列中不包含待抽取的数据组,因此时刻2不能抽取,需等待一个时钟周期将数据组整体向右平移后在时刻3抽取,时刻3与时刻0的抽取原理相同。
如图5所示,当D=3时各个时刻抽取的数据组情况如下:
时刻0:DATA0、DATA3、DATA6、DATA9;
时刻1:DATA4、DATA7、DATA10、DATA13;
时刻2:不抽取数据;
时刻3:DATA0、DATA3、DATA6、DATA9;
以此类推。
步骤405:判断第1个FIR子滤波器的选择标识k1的初始值是否小于抽取阈值;如果是,执行步骤406;如果否,执行步骤409。
在实际实施时,依据上述对图5的分析可知,选择标识用于标识多个数据组中的一个数据组,根据当前时刻的P个选择标识可以确定P个数据组,而第1个FIR子滤波器的选择标识用于判断当前时刻是否抽取数据组。
示例性的,抽取阈值M=8时,k1用来判断图5所示的各个时刻第一列中是否包含待抽取的数据,如果包含,则抽取对应的数据组;如果不包含,则不抽取。
步骤406:根据当前时刻确定的P个选择标识从多个数据组中抽取P个数据组。
步骤407:将抽取的P个数据组分别输出至P个FIR子滤波器中,以执行数据处理操作。
图6为本发明实施例中FIR子滤波器的工作原理的示意图,在实际实施时,P个并行运算支路中包含相同的FIR子滤波器,每一个FIR子滤波器的工作原理如图6所示,FIR子滤波器中包含:(L-1)/2-1个加法器,(L-1)/2个乘法器,1个加法器树66。由于FIR子滤波器的系数具有对称性,所以可以先对具有相同系数的输入数据进行加法运算,然后将加法运算结果与对应系数相乘,最后利用加法器数对所有乘积进行累加后输出处理结果。具体的,加法器61将x(n)与x(n-L+1)的和通过乘法器63与系数h(0)相乘,加法器62将x(n-1)与x(n-L+2)的和通过乘法器64与系数h(1)相乘,当L为奇数时系数h[(L+1)/2]对应一个数据,乘法器65将x(n-(L+1)/2)与系数h[(L+1)/2]相乘,加法器数66将(L+1)/2个乘法器的运算结果进行累加后输出该FIR子滤波器的处理结果。
步骤408:更新下一时刻的P个选择标识,并返回至步骤405;
示例性的,M=8时,k1小于8时数据的抽取方式及选择标识的更新方法如下:
当k1<8时,抽取k1、k2、k3、k4标识的数据组,并利用当前时刻kj值更新下一时刻的kj值,具体更新公式如下:
k1=k1+4×D-8
k2=k2+4×D-8
k3=k3+4×D-8
k4=k4+4×D-8
步骤409:暂停数据组的抽取,更新下一时刻的P个选择标识,并返回步骤405。
示例性的,M=8时,k1大于或者等于8时数据的抽取方式及选择标识的更新方法如下:
当k1≥8时,暂停数据组的抽取,并利用当前时刻kj值更新下一时刻的kj值,具体更新公式如下:
k1=k1-8
k2=k2-8
k3=k3-8
k4=k4-8
第三实施例
针对本发明实施例的方法,本发明实施例还提供了一种并行FIR抽取滤波器,该并行FIR抽取滤波器的抽取因子可变,图7为本发明实施例中并行FIR抽取滤波器的第一种组成结构示意图,如图7所示,并行FIR抽取滤波器70包括:处理器701和P个FIR子滤波器702,P取正整数,其中,
处理器701用于执行以下步骤:缓存当前时刻获取的M路并行输入数据,M为大于P的整数;将缓存的所有数据进行组合后获得多个数据组;根据当前的抽取因子从多个数据组中抽取P个数据组;将P个数据组分别输出至P个FIR子滤波器中,以执行数据处理操作。
在实际实施时,处理器701具体用于执行以下步骤:根据当前抽取因子确定P个FIR子滤波器对应的P个选择标识,选择标识用于标识多个数据组中的一个数据组;根据确定的P个选择标识从多个数据组中抽取P个数据组。
在实际实施时,P个FIR子滤波器702中第j个FIR子滤波器对应的选择标识为kj,j取1至P的整数;
处理器701具体用于执行以下步骤:根据当前抽取因子确定P个FIR子滤波器对应的P个选择标识的初始值;
当k1小于抽取阈值时,在当前时刻从多个数据组中抽取kj对应的数据组;将kj对应的数据组作为第j个FIR子滤波器对应的数据组;更新选择标识kj的值;
当k1大于或者等于抽取阈值时,在当前时刻暂停抽取数据组;更新选择标识kj的值。
上述方案中,第j个FIR子滤波器对应的数据组选择标识kj的初始值为(j-1)×D,D为当前的抽取因子;抽取阈值为M;
处理器701具体用于执行以下步骤:当k1小于M时,利用当前时刻的选择标识kj的值加上第一更新值后得到下一时刻的选择标识kj的值,第一更新值为P×D-M;当k1大于或者等于M时,利用当前时刻的选择标识kj的值减去第二更新值后得到下一时刻的选择标识kj的值,第二更新值为M。
在实际实施时,P值是根据并行FIR抽取滤波器的最小抽取因子和M值确定的。
在实际实施时,P值为Dmin为并行FIR抽取滤波器的最小抽取因子。
在实际实施时,多个数据组中每一个数据组包括L个数据,L为FIR子滤波器的抽头个数,L取正整数。
在实际实施时,处理器701具体用于执行以下步骤:
将缓存的所有数据中的第i个至第i+L-1个连续的数据组合后形成第i个数据组,i取小于或者等于B-L+1的整数,B为缓存的所有数据的个数,B取大于L的整数;
获得多个数据组;多个数据组包括:第1个数据组至第B-L+1个数据组。
在实际实施时,B值为M+(P-1)×Dmax+L,Dmax为并行FIR抽取滤波器的最大抽取因子。
在实际应用中,处理器701可以为中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等,FIR子滤波器可以为现有技术中任何一种FIR滤波器。
可以理解的是,本发明实施例中提供的抽取因子可变的并行FIR抽取滤波器,只需要增加数据存储的空间,并通过对数据合理的抽取便可适应不同抽取因子的数据处理,且减少硬件资源占用,由于FIR滤波器适用于高速大带宽信号的滤波,解决了现有可变抽取因子滤波器不适用于高速窄带信号滤波的问题。
第四实施例
为了能更加体现本发明的目的,在本发明第三实施例的基础上,进行进一步的举例说明。图8为本发明实施例中并行FIR抽取滤波器的第二种组成结构示意图,如图8所示,该并行FIR抽取滤波器包括:数据缓存单元81、数据组合单元82、抽取单元83和滤波单元84;其中,
数据缓存单元81,用于缓存当前时刻获取的M路并行输入数据,本实施例中M取8;
数据组合单元82,用于将缓存的所有数据进行组合后获得多个数据组;
抽取单元83,用于根据当前的抽取因子从多个数据组中抽取P个数据组,并将P个数据组输出至对应的并行运算支路中的FIR子滤波器中;
滤波单元84,用于接收滤波单元抽取的P个数据组,并对接收到的数据组中的数据进行数据处理,输出处理结果。
示例性的,抽取单元83可以包括:第1抽取子单元831、第2抽取子单元832、第3抽取子单元833和第4抽取子单元834,滤波单元84可以包括:第1路FIR子滤波器841、第2路FIR子滤波器842、第3路FIR子滤波器843和第4路FIR子滤波器844。
第1抽取子单元831根据当前的抽取因子从数据组合单元82中抽取第一并行运算支路对应的数据组,该数据组包括:x(n),x(n-1),x(n-2),…,x(n+1-L);并将数据组输出至第1路FIR子滤波器841中,第1路FIR子滤波器841对处理数据并输出处理结果y(n)。
第2抽取子单元832根据当前的抽取因子从数据组合单元82中抽取第二并行运算支路对应的数据组,该数据组包括:x(n+D),x(n+D-1),x(n+D-2),…,x(n+D+1-L);并将数据组输出至第2路FIR子滤波器842中,第2路FIR子滤波器842对处理数据并输出处理结果y(n+1)。
第3抽取子单元833根据当前的抽取因子从数据组合单元82中抽取第三并行运算支路对应的数据组,该数据组包括:x(n+2D),x(n+2D-1),x(n+2D-2),…,x(n+2D+1-L);并将数据组输出至第3路FIR子滤波器843中,第3路FIR子滤波器843对处理数据并输出处理结果y(n+2)。
第4抽取子单元834根据当前的抽取因子从数据组合单元82中抽取第四并行运算支路对应的数据组,该数据组包括:x(n+3D),x(n+3D-1),x(n+3D-2),…,x(n+3D+1-L);并将数据组输出至第4路FIR子滤波器844中,第4路FIR子滤波器844对处理数据并输出处理结果y(n+3)。
在实际应用中,上述数据缓存单元81可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,Random-Access Memory);或者非易失性存储器(non-volatilememory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合。
上述数据组合单元82和抽取单元83可以为CPU、MPU、DSP或FPGA等,可以理解地,对于不同的设备,用于实现上述数据缓存单元81、数据组合单元82和抽取单元83的功能的器件还可以为其它,本发明实施例不作具体限定。而上述滤波单元84中的每一路FIR子滤波器可以为现有技术中任何一种FIR滤波器。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (18)

1.一种并行有限脉冲响应FIR抽取滤波器的数据处理方法,其特征在于,所述并行FIR抽取滤波器的抽取因子可变,所述并行FIR抽取滤波器包括P个FIR子滤波器,P取正整数,所述方法包括:
缓存当前时刻获取的M路并行输入数据,M为大于P的整数;
将缓存的所有数据进行组合后获得多个数据组;
根据当前的抽取因子从所述多个数据组中抽取P个数据组;
将所述P个数据组分别输出至所述P个FIR子滤波器中,以执行数据处理操作。
2.根据权利要求1所述的方法,其特征在于,所述根据当前的抽取因子从所述多个数据组中抽取P个数据组,包括:
根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识,所述选择标识用于标识所述多个数据组中的一个数据组;
根据确定的P个选择标识从所述多个数据组中抽取P个数据组。
3.根据权利要求2所述的方法,其特征在于,所述P个FIR子滤波器中第j个FIR子滤波器对应的选择标识为kj,j取1至P的整数;
所述根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识,包括:根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识的初始值;
所述根据确定的P个选择标识从所述多个数据组中抽取P个数据组,包括:
当k1小于抽取阈值时,在当前时刻从所述多个数据组中抽取kj对应的数据组;将kj对应的数据组作为所述第j个FIR子滤波器对应的数据组;更新选择标识kj的值;
当k1大于或者等于抽取阈值时,在当前时刻暂停抽取数据组;更新选择标识kj的值。
4.根据权利要求3所述的方法,其特征在于,所述第j个FIR子滤波器对应的数据组选择标识kj的初始值为(j-1)×D,D为当前的抽取因子;所述抽取阈值为M;
所述当k1小于抽取阈值时更新选择标识kj的值,包括:利用当前时刻的选择标识kj的值加上第一更新值后得到下一时刻的选择标识kj的值,所述第一更新值为P×D-M;
所述当k1大于或者等于抽取阈值时更新选择标识kj的值,包括:利用当前时刻的选择标识kj的值减去第二更新值后得到下一时刻的选择标识kj的值,所述第二更新值为M。
5.根据权利要求1所述的方法,其特征在于,所述P值是根据所述并行FIR抽取滤波器的最小抽取因子和M值确定的。
6.根据权利要求5所述的方法,其特征在于,所述P值为Dmin为所述并行FIR抽取滤波器的最小抽取因子。
7.根据权利要求1所述的方法,其特征在于,所述多个数据组中每一个数据组包括L个数据,L为所述FIR子滤波器的抽头个数,L取正整数。
8.根据权利要求7所述的方法,其特征在于,所述将缓存的所有数据进行组合后获得多个数据组,包括:
将缓存的所有数据中的第i个至第i+L-1个连续的数据组合后形成第i个数据组,i取小于或者等于B-L+1的整数,B为缓存的所有数据的个数,B取大于L的整数;
获得多个数据组;所述多个数据组包括:第1个数据组至第B-L+1个数据组。
9.根据权利要求8所述的方法,其特征在于,所述B值为M+(P-1)×Dmax+L,Dmax为所述并行FIR抽取滤波器的最大抽取因子。
10.一种并行FIR抽取滤波器,其特征在于,所述并行FIR抽取滤波器的抽取因子可变,所述并行FIR抽取滤波器包括:处理器和P个FIR子滤波器,P取正整数,其中,
所述处理器用于执行以下步骤:缓存当前时刻获取的M路并行输入数据,M为大于P的整数;将缓存的所有数据进行组合后获得多个数据组;根据当前的抽取因子从所述多个数据组中抽取P个数据组;将所述P个数据组分别输出至所述P个FIR子滤波器中,以执行数据处理操作。
11.根据权利要求10所述的并行FIR抽取滤波器,其特征在于,所述处理器具体用于执行以下步骤:根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识,所述选择标识用于标识所述多个数据组中的一个数据组;根据确定的P个选择标识从所述多个数据组中抽取P个数据组。
12.根据权利要求11所述的并行FIR抽取滤波器,其特征在于,所述P个FIR子滤波器中第j个FIR子滤波器对应的选择标识为kj,j取1至P的整数;
所述处理器具体用于执行以下步骤:根据当前抽取因子确定所述P个FIR子滤波器对应的P个选择标识的初始值;
当k1小于抽取阈值时,在当前时刻从所述多个数据组中抽取kj对应的数据组;将kj对应的数据组作为所述第j个FIR子滤波器对应的数据组;更新选择标识kj的值;
当k1大于或者等于抽取阈值时,在当前时刻暂停抽取数据组;更新选择标识kj的值。
13.根据权利要求12所述的并行FIR抽取滤波器,其特征在于,所述第j个FIR子滤波器对应的数据组选择标识kj的初始值为(j-1)×D,D为当前的抽取因子;所述抽取阈值为M;
所述处理器具体用于执行以下步骤:当k1小于M时,利用当前时刻的选择标识kj的值加上第一更新值后得到下一时刻的选择标识kj的值,所述第一更新值为P×D-M;当k1大于或者等于M时,利用当前时刻的选择标识kj的值减去第二更新值后得到下一时刻的选择标识kj的值,所述第二更新值为M。
14.根据权利要求10所述的并行FIR抽取滤波器,其特征在于,所述P值是根据所述并行FIR抽取滤波器的最小抽取因子和M值确定的。
15.根据权利要求14所述的并行FIR抽取滤波器,其特征在于,所述P值为Dmin为所述并行FIR抽取滤波器的最小抽取因子。
16.根据权利要求10所述的并行FIR抽取滤波器,其特征在于,所述多个数据组中每一个数据组包括L个数据,L为所述FIR子滤波器的抽头个数,L取正整数。
17.根据权利要求16所述的并行FIR抽取滤波器,其特征在于,所述处理器具体用于执行以下步骤:
将缓存的所有数据中的第i个至第i+L-1个连续的数据组合后形成第i个数据组,i取小于或者等于B-L+1的整数,B为缓存的所有数据的个数,B取大于L的整数;
获得多个数据组;所述多个数据组包括:第1个数据组至第B-L+1个数据组。
18.根据权利要求17所述的并行FIR抽取滤波器,其特征在于,所述B值为M+(P-1)×Dmax+L,Dmax为所述并行FIR抽取滤波器的最大抽取因子。
CN201711003289.2A 2017-10-24 2017-10-24 一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器 Active CN107769755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711003289.2A CN107769755B (zh) 2017-10-24 2017-10-24 一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711003289.2A CN107769755B (zh) 2017-10-24 2017-10-24 一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器

Publications (2)

Publication Number Publication Date
CN107769755A true CN107769755A (zh) 2018-03-06
CN107769755B CN107769755B (zh) 2020-11-27

Family

ID=61271172

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711003289.2A Active CN107769755B (zh) 2017-10-24 2017-10-24 一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器

Country Status (1)

Country Link
CN (1) CN107769755B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108832908A (zh) * 2018-05-23 2018-11-16 成都玖锦科技有限公司 基于fpga的多路高速滤波器实现方法
CN109951173A (zh) * 2019-03-06 2019-06-28 西安迪菲电子科技有限公司 一种多路并行输入并行处理的fir滤波方法及滤波器
CN110113029A (zh) * 2019-05-07 2019-08-09 中国科学院电子学研究所 一种fir抽取滤波器的数据处理方法
CN110488228A (zh) * 2019-07-11 2019-11-22 中国科学院电子学研究所 线性调频信号生成方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197800A (zh) * 2006-12-07 2008-06-11 索尼株式会社 信息处理设备以及信息处理方法
US20080240325A1 (en) * 2005-10-03 2008-10-02 Clariphy Communications, Inc. High-Speed Receiver Architecture
CN101571588A (zh) * 2009-06-15 2009-11-04 哈尔滨工程大学 脉冲压缩信号匹配的宽频带数字接收装置
CN103905368A (zh) * 2014-03-14 2014-07-02 中国工程物理研究院电子工程研究所 一种适合于fpga实现的高速通信并行数字调制方法
CN106936406A (zh) * 2017-03-10 2017-07-07 南京大学 一种5并行快速有限冲击响应滤波器的实现

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080240325A1 (en) * 2005-10-03 2008-10-02 Clariphy Communications, Inc. High-Speed Receiver Architecture
CN101197800A (zh) * 2006-12-07 2008-06-11 索尼株式会社 信息处理设备以及信息处理方法
CN101571588A (zh) * 2009-06-15 2009-11-04 哈尔滨工程大学 脉冲压缩信号匹配的宽频带数字接收装置
CN103905368A (zh) * 2014-03-14 2014-07-02 中国工程物理研究院电子工程研究所 一种适合于fpga实现的高速通信并行数字调制方法
CN106936406A (zh) * 2017-03-10 2017-07-07 南京大学 一种5并行快速有限冲击响应滤波器的实现

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108832908A (zh) * 2018-05-23 2018-11-16 成都玖锦科技有限公司 基于fpga的多路高速滤波器实现方法
CN109951173A (zh) * 2019-03-06 2019-06-28 西安迪菲电子科技有限公司 一种多路并行输入并行处理的fir滤波方法及滤波器
CN109951173B (zh) * 2019-03-06 2023-03-21 西安迪菲电子科技有限公司 一种多路并行输入并行处理的fir滤波方法及滤波器
CN110113029A (zh) * 2019-05-07 2019-08-09 中国科学院电子学研究所 一种fir抽取滤波器的数据处理方法
CN110113029B (zh) * 2019-05-07 2021-02-23 中国科学院电子学研究所 一种fir抽取滤波器的数据处理方法
CN110488228A (zh) * 2019-07-11 2019-11-22 中国科学院电子学研究所 线性调频信号生成方法、装置及存储介质
CN110488228B (zh) * 2019-07-11 2021-12-07 中国科学院电子学研究所 线性调频信号生成方法、装置及存储介质

Also Published As

Publication number Publication date
CN107769755B (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN107769755B (zh) 一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器
CN107451659A (zh) 用于位宽分区的神经网络加速器及其实现方法
CN104967428B (zh) 用于fpga的高速高阶fir滤波器的频域实现方法
CN106708468B (zh) 一种除法运算装置
CN108958705B (zh) 一种支持混合数据类型的浮点融合乘加器及其应用方法
CN105281708B (zh) 一种基于分段并行处理的高速fir滤波实现方法
CN104579240A (zh) 一种基于fpga的可配置系数的滤波器、电子设备及滤波方法
EP2319177B1 (fr) Dispositif de filtrage a stucture hierarchique et dispositif de filtrage reconfigurable
CN110208755A (zh) 一种基于fpga的动态雷达回波数字下变频系统及方法
CN113556101B (zh) Iir滤波器及其数据处理方法
CN100550622C (zh) 带有下采样功能的数字信号滤波装置及方法
CN110705037A (zh) 优化fir滤波器的方法、装置、设备和存储介质
Kuzhaloli et al. FIR filter design for advanced audio/video processing applications
CN102789376B (zh) 浮点数加法电路及其实现方法
CN115293978A (zh) 卷积运算电路和方法、图像处理设备
CN110247642B (zh) 一种fir滤波方法及滤波器
CN104734668B (zh) 一种插值滤波器
CN114448390A (zh) 一种Biquad数字滤波器装置及实现方法
Bhalke et al. FPGA implementation of efficient FIR Filter with quantized fixedpoint coefficients
CN113708741A (zh) 一种系数可配置数字滤波器的设计方法及装置
CN103490855B (zh) 传输信息的方法和装置
US8543628B2 (en) Method and system of digital signal processing
CN110233606A (zh) 多速率变换滤波方法及装置
CN112596087B (zh) 用于卫星导航的fir数字滤波方法、导航芯片及接收机
EP3073369B1 (en) Combined adder and pre-adder for high-radix multiplier circuit

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
GR01 Patent grant
GR01 Patent grant