CN105515548A - 基于fpga的多路抽取复用滤波器的方法及装置 - Google Patents

基于fpga的多路抽取复用滤波器的方法及装置 Download PDF

Info

Publication number
CN105515548A
CN105515548A CN201410559335.7A CN201410559335A CN105515548A CN 105515548 A CN105515548 A CN 105515548A CN 201410559335 A CN201410559335 A CN 201410559335A CN 105515548 A CN105515548 A CN 105515548A
Authority
CN
China
Prior art keywords
filter
phase
decimation
time delay
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
CN201410559335.7A
Other languages
English (en)
Other versions
CN105515548B (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.)
Putian Information Technology Co Ltd
Original Assignee
Putian Information 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 Putian Information Technology Co Ltd filed Critical Putian Information Technology Co Ltd
Priority to CN201410559335.7A priority Critical patent/CN105515548B/zh
Publication of CN105515548A publication Critical patent/CN105515548A/zh
Application granted granted Critical
Publication of CN105515548B publication Critical patent/CN105515548B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种基于FPGA的多路抽取复用滤波器的方法,该方法包括:根据数据采样率和抽取滤波器的抽取倍数,获得各相滤波器的时延;根据抽取滤波器系数的对称性,对所述抽取滤波器的公式进行变换;根据变换后的抽取滤波器公式及各相滤波器的时延,得到优化后的多路抽取滤波器。本发明还提供了一种基于FPGA的多路抽取复用滤波器的装置,该装置包括时延获取模块、变换模块及优化模块。本发明通过抽取滤波器各相系数的对称性对抽取滤波器的公式进行修改,从而使得修改后的抽取滤波器采用预加的方法,节省了乘法器资源,且该滤波器包括时延单元,则不需要储存,减少了储存单元的使用。

Description

基于FPGA的多路抽取复用滤波器的方法及装置
技术领域
本发明涉及无线通信技术领域,具体涉及基于FPGA的多路抽取复用滤波器的方法及装置。
背景技术
数字下变频技术(DigitalDownConverter-DDC)是无线通信系统的重要组成部分,也是计算量最大的部分之一,由积分梳状滤波器(CascadeIntegratorComb,简称CIC)、有限脉冲响应(FiniteImpulseResponce,简称FIR)等数字滤波器组成。抽取滤波器是数字滤波器中广泛使用的一种有效线性滤波器。由于抽取滤波器的输入和输出数据速率具有线性的倍数关系,这样抽取滤波器就具有了多数率信号处理的特性,是实现数字通信系统中接收机数字下变频的重要技术。
在数字抽取时,为了防止数据混叠,需要在抽取前加入抽取滤波器。抽取滤波器是基于FIR滤波器实现的,滤波器的输入为X(n),滤波器的输出为Y(n),滤波器阶数为2M,则抽取滤波器的计算公式为:
Y ( n ) = Σ i = 0 2 M - 1 X ( n - i ) × coef ( i )
如图1所示,为当前多路FIR滤波器的框图。其中,滤波器的多路输入输出是交织的,即输入为X0(n),X1(n)……,X0(n+1),X1(n+1)……;输出也是一致的。L为同时计算的路数,若同时计算8路(需要计算时钟为采样时钟的8倍),输入为X0(n),X1(n),……,X7(n),X0(n+1),X1(n+1),……,X7(n+1),……;框图中的L=8。但多路FIR滤波器并没有考虑抽取的特点,抽取滤波器不是所有点都要进行滤波器计算,只要进行需要抽取点的计算即可。这种直接多路FIR滤波器的结构有冗余的计算。
多相滤波器为滤波器常用的一种方式,多相滤波过程是,按照相位均匀划分把数字滤波器的系统函数H(z)分解成若干个具有不同相位的组,形成多个分支,在每个分支上实现滤波。设抽取滤波器阶数为2M(滤波器系数对称),抽取的倍数为N(N≥2,M为N的整数倍)。对于抽取滤波器,滤波后抽取,只计算需要抽取的数据,即每N个数字计算一次,采用多相滤波器的设计方法,滤波器公式修改为:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 2 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k )
将每一相展开为:
Y 0 ( n ) = Σ i = 0 2 M N - 1 X ( n - N * i ) × coef 0 ( i )
Y 1 ( n - 1 ) = Σ i = 0 2 M N - 1 X ( n - N * i - 1 ) × coef 1 ( i )
Y N - 1 ( n - N + 1 ) = Σ i = 0 2 M N - 1 X ( n - N * i - N + 1 ) × coef N - 1 ( i )
Y(n)=Y0(n)+Y1(n)+…+YN-1(n)
其中:
coef0(i)={coef(N-1),coef(2N-1),…,coef(2M-1)}
coef1(i)={coef(N-2),coef(2N-2),…,coef(2M-2)}
coefN-1(i)={coef(0),coef(0+N),…,coef(2M-N)}
由于滤波器的系数是对称的,即
coef(0)=coef(2M-1)
coef(1)=coef(2M-2)
coef(2M/2-1)=coef(2M/2)
这样可以看出插值滤波器中每一相的计算系数并不是对称的,不能预加后乘法的计算,这种方法乘法器应用是预加后乘法器应用的2倍。
发明内容
针对现有技术的缺陷,本发明提供一种基于FPGA的多路抽取复用滤波器的方法及装置,通过抽取滤波器各相系数的对称性对抽取滤波器的公式进行修改,从而使得修改后的抽取滤波器采用预加的方法,节省了乘法器资源。
第一方面,本发明提供了一种基于FPGA的多路抽取复用滤波器的方法,所述方法包括:
根据数据采样率和抽取滤波器的抽取倍数,获得各相滤波器的时延;
根据抽取滤波器系数的对称性,对所述抽取滤波器的公式进行变换;
根据变换后的抽取滤波器公式及各相滤波器的时延,得到优化后的抽取滤波器。
优选地,所述根据数据采样率和抽取滤波器的抽取倍数,获得各相滤波器的时延,包括:
根据输入数据采样率及抽取倍数,采用如下公式计算得到抽取滤波后的采样速率:
输入数据采样率/抽取倍数=抽取滤波后的采样速率;
根据现场可编程门阵列FPGA的时钟频率及所述抽取滤波后的采样速率,采用如下公式计算得到每相滤波器的路数:
每相滤波器的路数=时钟频率/抽取滤波后的采样速率;
根据所述每相滤波器的路数,确定各相滤波器的时延。
优选地,所述根据所述每相滤波器的路数,确定各相滤波器的时延,包括:
根据所述每相滤波器的路数L,及滤波器的阶数2M,得到:每相滤波器的前M/N-1个数据的延时为L+1;第M/N个数据的延时为L;其余数据的延时为L-1;
其中,N≥2,M为N的整数倍,且L为正整数。
优选地,所述根据抽取滤波器系数的对称性,对所述抽取滤波器的公式进行变换,包括:
根据滤波器的阶数2M及抽取倍数N,得到抽取滤波器的公式,如下:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 2 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k ) ;
根据滤波器系数的对称性,对所述抽取滤波器的公式进行变换,得到变换后的抽取滤波器公式:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 M / N - 1 ( X ( n - i * N - k ) + X ( n - ( 2 M - 1 - i * N ) + k ) ) × coef ( i * N + k )
其中,Y(n)表示滤波器的输出,X(n-i*N-k)、X(n-(2M-1-i*N)+k)均表示滤波器的输入,coef(i*N+k)表示滤波器的系数,2M为正整数,N≥2,M为N的整数倍,i,k均为大于等于0的整数。
优选地,所述根据变换后的抽取滤波器公式及各相滤波器的时延,得到优化后的抽取滤波器的步骤后,所述方法还包括:
将各相抽取滤波器的输出相加,得到优化后抽取滤波器的最终计算结果。
第二方面,本发明提供了一种基于FPGA的多路抽取复用滤波器的装置,所述装置包括:
时延获取模块,用于根据数据采样率和抽取滤波器的抽取倍数,获得各相滤波器的时延;
变换模块,用于根据抽取滤波器系数的对称性,对所述抽取滤波器的公式进行变换;
优化模块,用于根据变换后的抽取滤波器公式及各相滤波器的时延,得到优化后的抽取滤波器。
优选地,所述时延获取模块,具体用于:
根据输入数据采样率及抽取倍数,采用如下公式计算得到抽取滤波后的采样速率:
输入数据采样率/抽取倍数=抽取滤波后的采样速率;
根据现场可编程门阵列FPGA的时钟频率及所述抽取滤波后的采样速率,采用如下公式计算得到每相滤波器的路数:
每相滤波器的路数=时钟频率/抽取滤波后的采样速率;
根据所述每相滤波器的路数,确定各相滤波器的时延。
优选地,所述时延获取模块,还用于:
根据所述每相滤波器的路数L,及滤波器的阶数2M,得到:每相滤波器的前M/N-1个数据的延时为L+1;第M/N个数据的延时为L;其余数据的延时为L-1。
优选地,所述变换模块,具体用于:
根据滤波器的阶数2M及抽取倍数N,得到抽取滤波器的公式,如下:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 2 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k ) ;
根据滤波器系数的对称性,对所述抽取滤波器的公式进行变换,得到变换后的抽取滤波器公式:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 M / N - 1 ( X ( n - i * N - k ) + X ( n - ( 2 M - 1 - i * N ) + k ) ) × coef ( i * N + k )
其中,Y(n)表示滤波器的输出,X(n-i*N-k)、X(n-(2M-1-i*N)+k)均表示滤波器的输入,coef(i*N+k)表示滤波器的系数,2M为正整数,N为正整数,i,k均为大于等于0的整数。
优选地,所述装置还包括:
相加模块,用于将各相抽取滤波器的输出相加,得到优化后抽取滤波器的最终计算结果。
由上述技术方案可知,本发明提供一种基于FPGA的多路抽取复用滤波器的方法及装置,通过抽取滤波器各相系数的对称性对抽取滤波器的公式进行修改,从而使得修改后的抽取滤波器采用预加的方法,节省了乘法器资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1是现有FIR滤波器的机构示意图;
图2是本发明一实施例提供的基于FPGA的多路抽取复用滤波器的方法的流程示意图;
图3是本发明一实施例提供的优化后的抽取滤波器的结构示意图;
图4是本发明一实施例提供的优化后的抽取滤波器的加法结构示意图;
图5是本发明另一实施例提供的优化后的抽取滤波器的结构示意图;
图6是本发明一实施例提供的基于FPGA的多路抽取复用滤波器的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,图2示出了本发明一实施例提供的基于现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)的多路抽取复用滤波器的方法的流程图,该方法包括如下步骤:
201、根据数据采样率和抽取滤波器的抽取倍数,获得各相滤波器的时延。
202、根据抽取滤波器系数的对称性,对所述抽取滤波器的公式进行变换。
203、根据变换后的抽取滤波器公式及各相滤波器的时延,得到优化后的抽取滤波器。
本实施例中,步骤201具体实现过程如下:
(1)根据输入数据采样率及抽取倍数,采用如下公式计算得到抽取滤波后的采样速率:
输入数据采样率/抽取倍数=抽取滤波后的采样速率。
(2)根据现场可编程门阵列FPGA的时钟频率及所述抽取滤波后的采样速率,采用如下公式计算得到每相滤波器的路数:
每相滤波器的路数=时钟频率/抽取滤波后的采样速率。
(3)根据所述每相滤波器的路数,确定各相滤波器的时延。
具体来说,根据所述每相滤波器的路数L,及滤波器的阶数2M,得到:每相滤波器的前M/N-1个数据的延时为L+1;第M/N个数据的延时为L;其余数据的延时为L-1。
本实施例中,所述步骤202,具体实现过程如下:
设FPGA的计算时钟为采样时钟的L倍(采样时钟为抽取后的时钟速率),进行L路抽取滤波设计。抽取滤波器阶数为2M(滤波器系数对称),抽取的倍数为N(N≥2,M为N的整数倍)。根据滤波器的阶数2M及抽取倍数N,得到抽取滤波器的公式,如下:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 2 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k ) ;
采用多相滤波器的设计方法,滤波器公式修改为:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k ) + Σ m = 0 N - 1 Σ l = 0 2 M / N - 1 X ( n - l * N - m ) × coef ( l * N + m )
则公式修改为:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k ) + Σ m = 0 N - 1 Σ i = 0 M / N - 1 X ( n - ( 2 M - 1 - i * N ) + ( N - 1 - m ) ) × coef ( 2 M - 1 - i * N - ( N - 1 - m ) )
根据滤波器系数对称:
coef(2M-1-i*N-(N-1-m))=coef(i*N+(N-1-m))
设N-1-m,则公式修改为:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k ) + Σ k = 0 N - 1 Σ i = 0 M / N - 1 X ( n - ( 2 M - 1 - i * N ) + k ) × coef ( i * N + k )
整理为:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 M / N - 1 ( X ( n - i * N - k ) + X ( n - ( 2 M - 1 - i * N ) + k ) ) × coef ( i * N + k )
其中,Y(n)表示滤波器的输出,X(n-i*N-k)、X(n-(2M-1-i*N)+k)均表示滤波器的输入,coef(i*N+k)表示滤波器的系数,2M为正整数,N≥2,M为N的整数倍,i,k均为大于等于0的整数。
如此,采用预加结构,使乘法器的使用减半。同时,由上述公式可以看出,每一相预加结构有一个数据交叉交换过程。
每一相滤波器的延时和计算结构一致,只是输入数据和连接不同,则优化后的抽取滤波器的结构示意图如图3所示。图3中共N相,N为抽取倍数。对图3所示结构如说明如下:
●输入有以下特点:
■每一相的输入为多路数据交织输入,假设有L路数据(L=时钟频率/抽取滤波后的采样速率),每相的输入d0(i)(第0路)、d1(i)(第1路)、dL-1(i)(第L-1路)。
■同一路数据循环写入每一相中。假设共用N相(N为抽取的倍数),如d0路,第i个数据写入第0相中,第i+1个写入第1相中,第i+N-1个写入第N-1相中,以此循环。
●预加单元:此结构采用滤波器预加方法进行,减少乘法器。
●延时单元:进行多相滤波器设计,每一相计算量为2M/N个数的乘加运算,其中前M/N-1个数据延时为L+1;第M/N个数据延时为L;其余数据延时为L-1。
●滤波器系数:滤波器的系数循环配置到每一相中,第0相,滤波器的系数为coef(0),coef(N),coef(2N),……,coef(M-N);第1相,滤波器的系数为coef(1),coef(N+1),coef(2N+1),……,coef(M-N+1);第N-1相,滤波器的系数为coef(N-1),coef(2N-1),……coef(M-1)。
●预加单元连接:设共有N相(N为抽取的倍数),记为第0相~第N-1相,在第M/N的延时单元输入处,进行第i相和第N-1-i相的数据交换
●输出:每一相的输出记为Yout(0),Yout(1),……,Yout(N-1)
●后处理单元:抽取滤波器,把所有相输出相加。如图4所示。
如图4所示的结构,将各相抽取滤波器的输出相加,得到优化后抽取滤波器的最终计算结果。
下面,通过一个具体的实施例来说明基于FPGA的多路抽取复用滤波器的方法。设FIR滤波器的计算时钟为245.76M,输入数据采样率为184.32M,进行3倍抽取,滤波器的阶数为48阶(M=24)。
输入数据的采样率为184.32M,进行3倍抽取,则输出后的数据采样率为61.44M,245.76M/61.44M=4,可以同时进行4路滤波器设计(L=4)。3倍抽取,进行N=3的多相滤波器设计。
根据抽取的公式,写为:
Y ( n ) = Σ i = 0 23 ( X ( n - i ) + X ( n - 47 + i ) ) × coef ( i )
修改为:
Y ( n ) = Σ k = 0 2 Σ i = 0 7 ( X ( n - i * 3 - k ) + X ( n - 47 - i * 3 + k ) ) × coef ( i * 3 + k )
则根据上述公式,得到了如图5所示的优化后抽取滤波器的结构。由图可知:
●输入:每一相的输入为d0~d3路数据交织输入;同一路数据循环写入每一相中,如第d0路,第0相写入数据d0(0),d0(3),d0(6),……;第1相写入数据d0(1),d0(4),d0(7),……;第2相写入数据d0(2),d0(5),d0(8),……。
●预加单元:此结构采用滤波器预加方法进行。
●延时单元:对于每一相,前7个数据延时为5个计算时钟周期;第8个数据延时为4计算时钟周期;其余数据延时为3计算时钟周期。
●滤波器系数:滤波器的系数循环配置到每一相中,第0相,滤波器的系数为coef(0),coef(3),coef(6),……,coef(21);第1相,滤波器的系数为coef(1),coef(4),coef(7),……,coef(22);第2相,滤波器的系数为coef(2),coef(5),coef(8),……coef(23)。
●预加单元连接:设共有3相,在第8个延时单元输入处,进行第0相和第2相的数据交换,第1相不需要进行交换。
●输出:把3相计算输出相加,即得到抽取滤波器的计算结果。
现对计算过程进行说明,因为计算时钟为抽取后采样时钟的4倍(我们标注为clk0,clk1,clk2,clk3),即每个采样周期内可以完成4次乘加操作。
则对于第0相,完成如下运算:
Y ( n ) = Σ i = 0 7 X ( n - i * 3 - 2 ) + X ( n - 47 - i * 3 + 2 ) ) × coef ( i * 3 + 2 )
而其余2相相同,将3相结果相加,即得到抽取滤波器的计算结果。
另外,对于同一路而言,根据公式 Y ( n ) = Σ i = 0 23 ( X ( n - i ) + X ( n - 47 + i ) ) × coef ( i ) , 若第一个数据输出为n=0时的数据,第二数据输出为n=3的数据,非抽取的数据没有进行计算,也减少了计算量。同时整个滤波器的机构没有存储单元,只有一些较小的延时单元,减少FPGA的存储逻辑。
本实施例提供的基于FPGA的抽取滤波优化的方法,通过抽取滤波器各相系数的对称性对抽取滤波器的公式进行修改,从而使得修改后的抽取滤波器采用预加的方法,节省了乘法器资源。
如图6所示,图6示出了本发明提供的基于FPGA的多路抽取复用滤波器的装置的结构示意图,该装置包括时延获取模块601、变换模块602及优化模块603。
其中,时延获取模块601,用于根据数据采样率和抽取滤波器的抽取倍数,获得各相滤波器的时延。
变换模块602,用于根据抽取滤波器系数的对称性,对所述抽取滤波器的公式进行变换。
优化模块603,用于根据变换后的抽取滤波器公式及各相滤波器的时延,得到优化后的抽取滤波器。
其中,时延获取模块601,具体用于:
根据输入数据采样率及抽取倍数,采用如下公式计算得到抽取滤波后的采样速率:
输入数据采样率/抽取倍数=抽取滤波后的采样速率;
根据现场可编程门阵列FPGA的时钟频率及所述抽取滤波后的采样速率,采用如下公式计算得到每相滤波器的路数:
每相滤波器的路数=时钟频率/抽取滤波后的采样速率;
根据所述每相滤波器的路数,确定各相滤波器的时延。
其中,时延获取模块601,还用于:根据所述每相滤波器的路数L,及滤波器的阶数2M,得到:每相滤波器的前M/N-1个数据的延时为L+1;第M/N个数据的延时为L;其余数据的延时为L-1。
1其中,变换模块602,具体用于:
根据滤波器的阶数2M及抽取倍数N,得到抽取滤波器的公式,如下:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 2 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k ) ;
根据滤波器系数的对称性,对所述抽取滤波器的公式进行变换,得到变换后的抽取滤波器公式:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 M / N - 1 ( X ( n - i * N - k ) + X ( n - ( 2 M - 1 - i * N ) + k ) ) × coef ( i * N + k )
其中,Y(n)表示滤波器的输出,X(n-i*N-k)、X(n-(2M-1-i*N)+k)均表示滤波器的输入,coef(i*N+k)表示滤波器的系数,2M为正整数,N为正整数,i,k均为大于等于0的整数。
可选地,所述装置还包括相加模块,用于将各相抽取滤波器的输出相加,得到优化后抽取滤波器的最终计算结果。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于FPGA的多路抽取复用滤波器的方法,其特征在于,所述方法包括:
根据数据采样率和抽取滤波器的抽取倍数,获得各相滤波器的时延;
根据抽取滤波器系数的对称性,对所述抽取滤波器的公式进行变换;
根据变换后的抽取滤波器公式及各相滤波器的时延,得到优化后的多路抽取滤波器。
2.根据权利要求1所述的方法,其特征在于,所述根据数据采样率和抽取滤波器的抽取倍数,获得各相滤波器的时延,包括:
根据输入数据采样率及抽取倍数,采用如下公式计算得到抽取滤波后的采样速率:
输入数据采样率/抽取倍数=抽取滤波后的采样速率;
根据现场可编程门阵列FPGA的时钟频率及所述抽取滤波后的采样速率,采用如下公式计算得到每相滤波器的路数:
每相滤波器的路数=时钟频率/抽取滤波后的采样速率;
根据所述每相滤波器的路数,确定各相滤波器的时延。
3.根据权利要求2所述的方法,其特征在于,所述根据所述每相滤波器的路数,确定各相滤波器的时延,包括:
根据所述每相滤波器的路数L,及滤波器的阶数2M,得到:每相滤波器的前M/N-1个数据的延时为L+1;第M/N个数据的延时为L;其余数据的延时为L-1;
其中,N≥2,M为N的整数倍,且L为正整数。
4.根据权利要求1所述的方法,其特征在于,所述根据抽取滤波器系数的对称性,对所述抽取滤波器的公式进行变换,包括:
根据滤波器的阶数2M及抽取倍数N,得到抽取滤波器的公式,如下:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 2 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k ) ;
根据滤波器系数的对称性,对所述抽取滤波器的公式进行变换,得到变换后的抽取滤波器公式:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 M / N - 1 ( X ( n - i * N - k ) + X ( n - ( 2 M - 1 - i * N ) + k ) ) × coef ( i * N + k )
其中,Y(n)表示滤波器的输出,X(n-i*N-k)、X(n-(2M-1-i*N)+k)均表示滤波器的输入,coef(i*N+k)表示滤波器的系数,2M为正整数,N≥2,M为N的整数倍,i,k均为大于等于0的整数。
5.根据权利要求1所述的方法,其特征在于,所述根据变换后的抽取滤波器公式及各相滤波器的时延,得到优化后的抽取滤波器的步骤后,所述方法还包括:
将各相抽取滤波器的输出相加,得到优化后抽取滤波器的最终计算结果。
6.一种基于FPGA的多路抽取复用滤波器的装置,其特征在于,所述装置包括:
时延获取模块,用于根据数据采样率和抽取滤波器的抽取倍数,获得各相滤波器的时延;
变换模块,用于根据抽取滤波器系数的对称性,对所述抽取滤波器的公式进行变换;
优化模块,用于根据变换后的抽取滤波器公式及各相滤波器的时延,得到优化后的抽取滤波器。
7.根据权利要求6所述的装置,其特征在于,所述时延获取模块,具体用于:
根据输入数据采样率及抽取倍数,采用如下公式计算得到抽取滤波后的采样速率:
输入数据采样率/抽取倍数=抽取滤波后的采样速率;
根据现场可编程门阵列FPGA的时钟频率及所述抽取滤波后的采样速率,采用如下公式计算得到每相滤波器的路数:
每相滤波器的路数=时钟频率/抽取滤波后的采样速率;
根据所述每相滤波器的路数,确定各相滤波器的时延。
8.根据所述权利要求7所述的装置,其特征在于,所述时延获取模块,还用于:
根据所述每相滤波器的路数L,及滤波器的阶数2M,得到:每相滤波器的前M/N-1个数据的延时为L+1;第M/N个数据的延时为L;其余数据的延时为L-1。
9.根据权利要求6所述的方法,其特征在于,所述变换模块,具体用于:
根据滤波器的阶数2M及抽取倍数N,得到抽取滤波器的公式,如下:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 2 M / N - 1 X ( n - i * N - k ) × coef ( i * N + k ) ;
根据滤波器系数的对称性,对所述抽取滤波器的公式进行变换,得到变换后的抽取滤波器公式:
Y ( n ) = Σ k = 0 N - 1 Σ i = 0 M / N - 1 ( X ( n - i * N - k ) + X ( n - ( 2 M - 1 - i * N ) + k ) ) × coef ( i * N + k )
其中,Y(n)表示滤波器的输出,X(n-i*N-k)、X(n-(2M-1-i*N)+k)均表示滤波器的输入,coef(i*N+k)表示滤波器的系数,2M为正整数,N为正整数,i,k均为大于等于0的整数。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
相加模块,用于将各相抽取滤波器的输出相加,得到优化后抽取滤波器的最终计算结果。
CN201410559335.7A 2014-10-20 2014-10-20 基于fpga的多路抽取复用滤波器的方法及装置 Expired - Fee Related CN105515548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410559335.7A CN105515548B (zh) 2014-10-20 2014-10-20 基于fpga的多路抽取复用滤波器的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410559335.7A CN105515548B (zh) 2014-10-20 2014-10-20 基于fpga的多路抽取复用滤波器的方法及装置

Publications (2)

Publication Number Publication Date
CN105515548A true CN105515548A (zh) 2016-04-20
CN105515548B CN105515548B (zh) 2019-01-04

Family

ID=55723271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410559335.7A Expired - Fee Related CN105515548B (zh) 2014-10-20 2014-10-20 基于fpga的多路抽取复用滤波器的方法及装置

Country Status (1)

Country Link
CN (1) CN105515548B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115021768A (zh) * 2022-05-26 2022-09-06 中国电子科技集团公司第十研究所 基于多相滤波的四路并行抽样方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062421A1 (en) * 1999-04-14 2000-10-19 Nokia Networks Oy Digital filter and method for performing a multiplication based on a look-up table
CN102412808A (zh) * 2011-11-25 2012-04-11 南京中兴特种软件有限责任公司 一种基于fpga的高性能多路fir数字抽取滤波器及其读写方法
CN103095220A (zh) * 2013-01-25 2013-05-08 西安电子科技大学 基于快行fir滤波器的微型sar数字下变频器设计方法
CN203617974U (zh) * 2013-10-21 2014-05-28 京微雅格(北京)科技有限公司 一种基于fpga的可配置系数的滤波器及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062421A1 (en) * 1999-04-14 2000-10-19 Nokia Networks Oy Digital filter and method for performing a multiplication based on a look-up table
CN102412808A (zh) * 2011-11-25 2012-04-11 南京中兴特种软件有限责任公司 一种基于fpga的高性能多路fir数字抽取滤波器及其读写方法
CN103095220A (zh) * 2013-01-25 2013-05-08 西安电子科技大学 基于快行fir滤波器的微型sar数字下变频器设计方法
CN203617974U (zh) * 2013-10-21 2014-05-28 京微雅格(北京)科技有限公司 一种基于fpga的可配置系数的滤波器及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李昱辰: "一种适用于多速率FIR滤波器的算法改进", 《电视技术》 *
高珊等: "多通道抽取FIR滤波器的FPGA高效实现", 《火控雷达技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115021768A (zh) * 2022-05-26 2022-09-06 中国电子科技集团公司第十研究所 基于多相滤波的四路并行抽样方法、装置、设备及介质

Also Published As

Publication number Publication date
CN105515548B (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CA2861299C (en) Low delay real-to-complex conversion in overlapping filter banks for partially complex processing
CN101567701B (zh) 一种高效多路数字下变频器系统
CN105117196A (zh) 一种基于FPGA的并行结构Sinc插值方法
CN202218240U (zh) 一种变速率变路数数字分路装置
CN104202016A (zh) 一种基于查表法的任意倍可变的信号升采样实现方法及系统
CN102025377B (zh) 一种改进型级联积分梳妆插值滤波器
CN104077492A (zh) 一种基于fpga的采样数据内插方法
CN105281707A (zh) 一种动态可重构滤波器组低复杂度的实现方法
CN103457574A (zh) 可变抽取倍数的低消耗数字抽取滤波器组和数字抽取滤波方法
CN106059530B (zh) 一种频率响应与系数量化位数弱相关的半带滤波器
CN101877577A (zh) 有限冲激响应滤波器的实现方法和有限冲激响应滤波器
CN103901405B (zh) 实时块浮点频域四路脉冲压缩器及其脉冲压缩方法
CN106982045A (zh) 一种基于socp优化的eir‑cmfb结构的设计方法
CN104333348A (zh) 一种高阶数字滤波系统及方法
CN102624357A (zh) 一种分数延迟数字滤波器的实现结构
CN105066990A (zh) 一种适用于捷联惯性导航的高精度数字滤波器
CN105515548A (zh) 基于fpga的多路抽取复用滤波器的方法及装置
CN101840322B (zh) 滤波器运算单元复用的方法和滤波器的运算系统
CN101640522B (zh) 一种适用于抽取滤波器的数据抽取方法及装置
CN110957996A (zh) 一种基于abc算法的无乘法器frm滤波器组优化设计方法
Zhou et al. Fast design of 2D fully oversampled DFT modulated filter bank using Toeplitz-block Toeplitz matrix inversion
CN103078606B (zh) 多通道的cic内插滤波器系统及其实现方法
CN104539261A (zh) 一种任意采样率转换的内插滤波处理方法
CN103997355A (zh) 一种插值滤波方法及插值滤波器
CN106936405A (zh) 基于fpga实现单路数字fir滤波器的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190104

Termination date: 20211020

CF01 Termination of patent right due to non-payment of annual fee