基于多相滤波器的任意延时方法技术

技术编号:19390741 阅读:49 留言:0更新日期:2018-11-10 02:42
本发明专利技术涉及数字信号处理技术领域,特别涉及一种基于多相滤波器的任意延时方法。包括如下步骤:(A)将延时分解为整数延时和小数延时,获得整数延时d和小数延时Δ;(B)将原型FIR滤波器分解为I相滤波器,每相的滤波器系数个数为K;(C)根据多相滤波器的I和小数延时Δ获取对应的子滤波器或虚拟子滤波器的系数Px(k);(D)将整数延时d和小数延时对应的滤波器系数Px(k)配置到相应的位置;(E)将输入信号通过d级级联寄存器或者FIFO后输出获得整数倍延时d·Ts;(F)将经过整数倍延时的信号再通过系数为Px(k)的滤波器后输出即可。该延时方法精度高、性能好,可满足阵列信号延时等应用的要求;同时该方法运算量小,便于软件及FPGA实现。

Arbitrary delay method based on polyphase filter

The invention relates to the technical field of digital signal processing, in particular to an arbitrary delay method based on a polyphase filter. It includes the following steps: (A) decomposing the delay into integer delay and fractional delay to obtain integer delay D and fractional delay_; (B) decomposing the prototype FIR filter into I-phase filter with the number of filter coefficients per phase K; (C) obtaining the coefficients of the corresponding sub-filter or virtual sub-filter according to the I and fractional delay_of the polyphase filter. Px (k); (D) configure the filter coefficients Px (k) corresponding to integer delay D and decimal delay to corresponding positions; (E) output the input signal through d-stage cascade registers or FIFO to obtain integer multiple delay D. Ts; (F) output the signal after integer multiple delay through the filter whose coefficient is Px (k). The delay method has high precision and good performance, and can meet the requirements of array signal delay and other applications. At the same time, the method has low computational complexity and is convenient for software and FPGA implementation.

【技术实现步骤摘要】
基于多相滤波器的任意延时方法
本专利技术涉及数字信号处理
,特别涉及一种基于多相滤波器的任意延时方法。
技术介绍
在数字信号处理领域,对信号的延时处理是比较常用也是非常重要的,延时处理在相控阵天线的波束成型、延时相关、多通道相参校准、数字接收器的时间调整等方面均有广泛的应用。在这些应用中,大部分应用对延时的精度具有较高的要求,而传统的整数延时是采用数字方式进行延时,但现有的A/D采样速率是有限的,不可能无限高,因此延时精度受到限制。参阅图1a、1b,为了提升延时精度,一般采用内插、滤波、延时、抽取的方式,通过增加信号的采样率来降低延时步进并保证输出采样率与输入采样率相一致,从而使得延时精度不再受限于原始采样时钟周期。其流程大致如下:1、将延时分解为粗延时d·Ts和细延时Δ·Ts;2、将信号进行d个采样点的粗延时;3、进行细延时:(1)将信号进行I倍内插提高采样率,缩小采样时间为(2)计算当前采样率下细延时Δ·Ts对应的整数倍个T′s,即Δ·Ts≈d′·T′s;(3)将内插后的信号进行整数倍d′采样点的延时;4、对延时后的信号进行I倍抽取,获取原采样率下延时后的信号。这种方法的优点是能够不受限于原始信号的采样率,其缺点也比较明显,即内插滤波的运算量大。
技术实现思路
本专利技术的目的在于提供一种基于多相滤波器的任意延时方法,可以实现高精度的任意小数延时。为实现以上目的,本专利技术采用的技术方案为:一种基于多相滤波器的任意延时方法,包括如下步骤:(A)将延时分解为整数延时和小数延时:T=d·TS+Δ·TS,获得整数延时d和小数延时Δ;(B)将原型FIR滤波器分解为I相滤波器,每相的滤波器系数个数为K,经过多相分解之后的滤波器系数通过以下映射方式获得:Pi(k)=h(k·I+i);i=0,1,...,I-1;k=0,1,...,K-1,其中h(k·I+i)为FIR滤波器系数;(C)记x=Δ·I,若x∈{0,1,...,I-1},则直接根据步骤B中的映射方式获得滤波器系数Px(k);否则,通过牛顿法拟合滤波器系数,获取x值对应的虚拟子滤波器的系数Px(k);(D)将整数延时d和小数延时对应的滤波器系数Px(k)配置到相应的位置;(E)将输入信号通过d级级联寄存器或者FIFO后输出获得整数倍延时d·TS;(F)将经过整数倍延时的信号再通过系数为Px(k)的滤波器后输出即可。与现有技术相比,本专利技术存在以下技术效果:本专利技术将延时分解为整数倍采样周期的延时和小数倍采样周期的延时,通过利用整数延时方法以及多相滤波器的分解、小数延时滤波器的牛顿法拟合,实现对输入信号进行任意延时,该延时方法精度高、性能好,可满足阵列信号延时等应用的要求;同时该方法运算量小,便于软件及FPGA实现。附图说明图1a、1b是现有技术中两种多相内插滤波器的结构示意图;图2是本专利技术的信号任意延时实现框图;图3是本专利技术整数延时的实现框图;图4是本专利技术小数延时的实现框图,其中不需要拟合滤波器系数;图5是本专利技术小数延时的实现框图,其中需要对滤波器系数进行拟合;图6是将原型滤波器分解为I个多相结构的子滤波器示意图;图7是在图6的基础上进行虚拟子滤波器系数拟合示意图。具体实施方式下面结合图2至图7,对本专利技术做进一步详细叙述。参阅图2,一种基于多相滤波器的任意延时方法,包括如下步骤:(A)将延时分解为整数延时和小数延时:T=d·TS+Δ·TS,获得整数延时d和小数延时Δ,其中TS为采样周期;设计原型FIR滤波器h(n),此为固定滤波器系数,可先采用matlab等工具设计好。(B)参见图6,将原型FIR滤波器分解为I相滤波器,每相的滤波器系数个数为K,经过多相分解之后的滤波器系数通过以下映射方式获得:Pi(k)=h(k·I+i);i=0,1,...,I-1;k=0,1,...,K-1,;其中h(k·I+i)为FIR滤波器系数,这里的I和K都是正整数。(C)记x=Δ·I,若x∈{0,1,...,I-1},说明小数延时正好对应分解后的某一相子滤波器的输出,则直接根据步骤B中的映射方式获得滤波器系数Px(k),如图4所示;否则,通过牛顿法拟合滤波器系数,获取x值对应的虚拟子滤波器的系数Px(k),如图5所示,此时的小数延时正好对应拟合的虚拟子滤波器的输出。(D)将整数延时d和小数延时对应的滤波器系数Px(k)配置到相应的位置;(E)将输入信号通过d级级联寄存器或者FIFO后输出获得整数倍延时d·TS;(F)将经过整数倍延时的信号再通过系数为Px(k)的滤波器后输出即可。本专利技术将延时分解为整数倍采样周期的延时和小数倍采样周期的延时,通过利用整数延时方法以及多相滤波器的分解、小数延时滤波器的牛顿法拟合,实现对输入信号进行任意延时,该延时方法精度高、性能好,可满足阵列信号延时等应用的要求;同时该方法运算量小,便于软件及FPGA实现。以上步骤中,步骤A-D是初始化的过程,可以在软件中完成,且只需要一次;对于信号的延时处理主要是通过整数延时以及一个滤波器完成的,即步骤E和步骤F。因此运算量比较小。虚拟子滤波器的系数Px(k)可以有多种方式来拟合,本专利技术中优选地,所述的步骤C中,按如下方式获取x值对应的虚拟子滤波器Px(k)的系数:(S1)计算滤波器系数的0~I-1阶差分:零阶:P0(k)、P1(k)、...、PI-1(k);一阶:ΔP0(k)=P1(k)-P0(k)、ΔP1(k)=P2(k)-P1(k)、...、ΔPI-2(k)=PI-1(k)-PI-2(k);二阶:Δ2P0(k)=ΔP1(k)-ΔP0(k)、Δ2P1(k)=ΔP2(k)-ΔP1(k)、...、Δ2PI-3(k)=ΔPI-2(k)-ΔPI-3(k);……I-1阶:ΔI-1P0(k)=ΔI-2P1(k)-ΔI-2P0(k);(S2)根据下列公式计算j:(S3)将步骤S1和S2中计算到的数据代入下式中计算得到Px(k):式中k=0,1,...,K-1。通过上述步骤计算得到的虚拟子滤波器Px(k)的系数非常精确,这就保证了延时的高精度。具体地,在设计原型滤波器时,一般原型FIR滤波器的系数个数M正好可以分解为两个整数相乘,这样就可以保证进行I相分解时,每相的滤波器个数相等。但也有可能存在不能分解的情况,即所述的步骤B中,若原型FIR滤波器的系数个数M不能够分解为两个整数I和K相乘,则需要对原型FIR滤波器系数补零来实现M′=I·K,其中M′为补零后的滤波器系数个数。整数延时比较简单,可以通过采用移位寄存器或者FIFO的方式,直接对原始信号按采样点进行搬移即可。整数延时下,信号延时量为d·TS,其中d为正整数。在实际实现中,如果d比较小,可以采用d级移位寄存器进行实现,如图3所示。如果d过大,可以采用存储器代替寄存器进行长时间延时。即采用FIFO实现,其步骤如下:(E1)将输入信号缓存到FIFO中,FIFO的存储深度大于整数延时d,否则会溢出;(E2)等待整数延时d后,再将数据从FIFO中读取出来并输出即完成延时。下面从原理上来详细阐述下以上流程。假设原型FIR滤波器的数字个数为M,将其分解为I相滤波器,每相的滤波器系数个数为K,则M=K·I。经过多相分解之后的滤波器系数可以通过以下映射方式获得:Pi(k)=h(k本文档来自技高网...

【技术保护点】
1.一种基于多相滤波器的任意延时方法,包括如下步骤:(A)将延时分解为整数延时和小数延时:T=d·Ts+Δ·Ts,获得整数延时d和小数延时Δ;(B)将原型FIR滤波器分解为I相滤波器,每相的滤波器系数个数为K,经过多相分解之后的滤波器系数通过以下映射方式获得:Pi(k)=h(k·I+i);i=0,1,...,I‑1;k=0,1,...,K‑1其中h(k·I+i)为FIR滤波器系数;(C)记x=Δ·I,若x∈{0,1,...,I‑1},则直接根据步骤B中的映射方式获得滤波器系数Px(k);否则,通过牛顿法拟合滤波器系数,获取x值对应的虚拟子滤波器的系数Px(k);(D)将整数延时d和小数延时对应的滤波器系数Px(k)配置到相应的位置;(E)将输入信号通过d级级联寄存器或者FIFO后输出获得整数倍延时d·Ts;(F)将经过整数倍延时的信号再通过系数为Px(k)的滤波器后输出即可。

【技术特征摘要】
1.一种基于多相滤波器的任意延时方法,包括如下步骤:(A)将延时分解为整数延时和小数延时:T=d·Ts+Δ·Ts,获得整数延时d和小数延时Δ;(B)将原型FIR滤波器分解为I相滤波器,每相的滤波器系数个数为K,经过多相分解之后的滤波器系数通过以下映射方式获得:Pi(k)=h(k·I+i);i=0,1,...,I-1;k=0,1,...,K-1其中h(k·I+i)为FIR滤波器系数;(C)记x=Δ·I,若x∈{0,1,...,I-1},则直接根据步骤B中的映射方式获得滤波器系数Px(k);否则,通过牛顿法拟合滤波器系数,获取x值对应的虚拟子滤波器的系数Px(k);(D)将整数延时d和小数延时对应的滤波器系数Px(k)配置到相应的位置;(E)将输入信号通过d级级联寄存器或者FIFO后输出获得整数倍延时d·Ts;(F)将经过整数倍延时的信号再通过系数为Px(k)的滤波器后输出即可。2.如权利要求1所述的基于多相滤波器的任意延时方法,其特征在于:所述的步骤C中,按如下方式获取x值对应的虚拟子滤波器Px(k)的系数:(S1)计算滤波器系数的0~I-1阶差分:零阶:P0(k)、P1(k)、...、...

【专利技术属性】
技术研发人员:庞豪赵蓓杨金金
申请(专利权)人:成都玖锦科技有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1