发明内容
针对上述问题,本发明提出一种通用的速率下变换、上变换装置及方法。
为达到上述目的,本发明的技术方案是这样实现的:
一种通用的速率下变换装置,包括分数倍速率变换滤波器单元,Farrow滤波器单元,FIR滤波器单元和成型滤波器单元,其中,
分数倍滤波器单元用于将输入数据的采样率下采样变换到Farrow滤波器单元支持的数据采样率范围,并将滤波后的数据发送给所述Farrow滤波器单元;
Farrow滤波器单元接收分数倍滤波器单元的输出数据,并生成与最终需要输出数据的采样率的成M倍的关系的输出数据;
FIR滤波器单元接收Farrow滤波器单元输出的数据,并对所述数据进行抽取;
成型滤波器单元接收FIR滤波器单元的输出数据,并用于进行速率下变换使信号成型。
进一步的,所述FIR滤波器为半带滤波器,用于实现2倍抽取。
一种通用的速率下变换方法,分数倍滤波器单元将输入数据的采样率下采样变换到Farrow滤波器单元支持的数据采样率范围,并将滤波后的数据发送给Farrow滤波器单元;Farrow滤波器单元处理后的输出数据的采样率被下采样到最终需要输出的数据采样率的M倍的关系;FIR滤波器单元接收Farrow滤波器单元输出的数据,并对所述数据进行抽取;成型滤波器单元接收FIR滤波器单元的输出数据,并进行速率下变换使信号成型。
进一步的,所述M为正整数。
进一步的,所述M为2倍的关系,则成型滤波器抽取倍数配置为1;当所述M为4倍的关系,则成型滤波器抽取倍数可以配置成2。
一种通用的速率上变换装置,包括成型滤波器单元,第一FIR滤波器单元,Farrow滤波器单元和第二FIR滤波器单元,其中,
成型滤波器单元对输入数据进行内插,并输出数据送入第一FIR滤波器单元;
第一FIR滤波器单元接收成型滤波器单元输出的数据,进行内插滤波,并输出数据送入Farrow滤波器单元;
Farrow滤波器单元接收第一FIR滤波器单元输出的数据,进行任意分数倍速率变换并滤波,得到与最终需要输出数据的采样率满足1/N倍关系的输出数据;
第二FIR滤波器单元接收Farrow滤波器单元的输出数据,完成内插滤波后输出。
进一步的,所述第一FIR滤波器为半带滤波器,实现2倍抽取。
进一步的,所述第二FIR滤波器单元为整数倍速率变换滤波器单元。
一种通用的速率上变换方法,包括:成型滤波器单元对输入数据进行内插,并输出数据送入第一FIR滤波器单元;第一FIR滤波器单元接收成型滤波器单元输出的数据,进行内插滤波,并输出数据送入Farrow滤波器单元;Farrow滤波器单元接收第一FIR滤波器单元输出的数据,进行任意分数倍速率变换并滤波,得到与最终需要输出数据的采样率满足1/N倍关系的输出数据;第二FIR滤波器单元接收Farrow滤波器单元的输出数据,完成内插滤波后输出。
进一步的,所述N为正整数。
由上述技术方案可知,本发明的实施例具有如下有益效果:通过灵活配置实现对多种不同采样率变换的支持,适应任意制式,任意混模应用的通用架构,简化硬件电路的设计,增强电路的适应性和处理能力。
具体实施例
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
如图1所示,是本发明通用的速率下变换装置原理示意图,包含4级速率变换滤波器功能单元,第一级为分数倍速率变换滤波器单元,第二级为Farrow滤波器单元,第三级为FIR滤波器单元,第四级为成型滤波器单元。
第一级分数倍速率变换滤波器单元:其中,分数倍滤波器单元的输入数据为各种可能的采样率数据fs_di,输出数据为满足后级Farrow滤波器单元性能要求的采样率范围的数据。分数倍滤波器单元将输入数据的采样率下采样变换到Farrow滤波器单元支持的数据采样率范围。假设Farrow滤波器单元支持的输入采样率范围是[Fs1,Fs2],则分数倍滤波器单元速率变换倍数的范围为[fs_di/Fs1,fs_di/Fs2]。为了设计简单,这里分数倍滤波器单元抽取倍数优选的考虑配置为如1倍、1.5倍、2倍、2.5倍、3倍、3.5等简单分数倍。其中Farrow滤波器单元支持的采样率范围由滤波器性能决定,而性能不同则设计滤波器的代价不同,所以从性能和资源的角度出发,设计者会对Farrow滤波器单元的输入采样率进行限制。
第二级为Farrow滤波器单元:Farrow滤波器单元接收分数倍滤波器单元处理后的数据,完成下一级分数倍速率变换,Farrow滤波器单元完成的分数倍速率变换相比较第一级分数倍滤波器单元则更任意,可以配置成任意分数。经Farrow滤波器单元处理后的输出数据的采样率已经被下采样到最终需要输出的数据采样率的M倍的关系。为了设计简单,M为正整数,优选的为2倍或4倍的关系。
第三级FIR滤波器单元:Farrow滤波器单元输出数据送给FIR滤波器单元,FIR滤波器单元输出数据送给成型滤波器单元。FIR滤波器单元为实现Farrow滤波器单元性能补偿的一级滤波器,它能够有效减小Farrow滤波器单元的设计压力,采用性能稍低的Farrow滤波器单元。优选的采用简单的FIR滤波器单元实现即可,譬如采用半带滤波器即可满足要求。Farrow滤波器单元输出数据送给半带滤波器,半带滤波器实现2倍抽取。
第四级为成型滤波器单元:FIR滤波器单元输出数据送给成型滤波器单元,成型滤波器单元完成速率下变换使信号成型。优选的当FIR滤波器单元为半带滤波器,且前述经Farrow滤波器单元处理后的输出数据的采样率已经被下采样到最终需要输出的数据采样率的2倍的关系,则成型滤波器单元抽取倍数可以配置成1;当前述为4倍的关系,则成型滤波器单元抽取倍数可以配置成2。
四级级联滤波器的频率响应满足系统要求,其中各级滤波器系数可配置。
如图2所示,是本发明通用的速率上变换装置原理示意图,包括4级速率变换滤波器功能单元,第一级为成型滤波器单元,第二级为第一FIR滤波器单元,第三级为Farrow滤波器单元,第四级为第二FIR滤波器单元。
其中,成型滤波器单元的输入数据为各种可能的采样率数据fs_ui,对输入数据进行内插,成型滤波器单元输出数据送入第一FIR滤波器单元,第一FIR滤波器单元为实现Farrow滤波器单元性能补偿的一级滤波器,它能够有效减小Farrow滤波器单元的设计压力,采用性能稍低的Farrow滤波器单元。第一FIR滤波器单元输出数据送入Farrow滤波器单元,Farrow滤波器单元实现任意分数倍速率变换并滤波,Farrow滤波器单元输出数据的采样率和最终需要输出的数据采样率满足1/N倍关系,即Farrow滤波器单元得到与最终需要输出数据的采样率满足1/N倍关系的输出数据。Farrow输出数据送入第二FIR滤波器单元,完成N倍内插滤波后输出。
优选的,成型滤波器单元的内插倍数可以配置成1或2。
其中N优选的为正整数,这样可以使第二FIR滤波器单元仅需要实现整数倍速率变换,而将复杂的分数倍变换由Farrow滤波器单元承担。N由电路最高能够运行的工作时钟频率决定,即N倍的farrow输出采样率不超过电路最高工作时钟频率。
优选的,采用简单的第一FIR滤波器单元实现即可,譬如采用半带滤波器即可满足要求。
在本发明中,优选的该第二FIR滤波器单元为整数倍速率变换,这个整数可以简化为实现2的指数次幂,如2倍,4倍,8倍等。
四级级联滤波器的频率响应满足系统要求,其中各级滤波器系数可配置。
同时本发明还提供了一种通用的速率下变换方法,分数倍滤波器单元将输入数据的采样率下采样变换到Farrow滤波器单元支持的数据采样率范围,并将滤波后的数据发送给Farrow滤波器单元;Farrow滤波器单元处理后的输出数据的采样率被下采样到最终需要输出的数据采样率的M倍的关系;FIR滤波器单元接收Farrow滤波器单元输出的数据,并对所述数据进行抽取;成型滤波器单元接收FIR滤波器单元的输出数据,并进行速率下变换使信号成型。
同时,本发明还提供了一种通用的速率上变换方法,包括:成型滤波器单元对输入数据进行内插,并输出数据送入第一FIR滤波器单元;第一FIR滤波器单元接收成型滤波器单元输出的数据,进行内插滤波,并输出数据送入Farrow滤波器单元;Farrow滤波器单元接收第一FIR滤波器单元输出的数据,进行任意分数倍速率变换并滤波,得到与最终需要输出数据的采样率满足1/N倍关系的输出数据;第二FIR滤波器单元接收Farrow滤波器单元的输出数据,完成内插滤波后输出。
假设需要实现245.76Mbps采样速率到8Mbps采样速率的下变换,采用本发明的通用速率变换装置,则各级需要配置的速率变换倍数分别为:
首先设计滤波器,配置各级滤波器系数,从而确定各级滤波器的性能。其中系数是可配置的,该系数根据滤波器性能决定,滤波器系数的设计是现有技术,在本发明不赘述。假设配置的Farrow滤波器单元的系数决定了Farrow滤波器单元输入数据采样率在[0Mbps,102.4Mbps]区间时,能够满足系统性能要求。则各级滤波器抽取倍数可按如下配置:第一级分数倍滤波器单元,完成3倍抽取,第二级Farrow滤波器单元完成128/25倍抽取,第三级半带滤波器实现2倍抽取,第四级成型滤波器单元实现1倍抽取,即不做速率变换,仅完成成型滤波。上述配置仅为优选的示例。
假设需要实现4Mbps到245.76Mbps的上采样,采用本发明的通用速率变换装置,则各级需要配置的速率变换倍数分别为:
首先设计滤波器,配置各级滤波器系数,从而确定各级滤波器的性能,假设配置的Farrow滤波器单元的系数决定了Farrow滤波器单元输出数据采样率在[0Mbps,102.4Mbps]区间时,能够满足系统性能要求。则各级滤波器内插倍数配置为:第一级成型滤波器单元完成2倍内插,第二级半带滤波器完成2倍内插,第三级Farrow滤波器单元完成96/25倍内插,第四级整数倍滤波器完成4倍内插。上述配置仅为优选的示例。
当然,上述配置仅为优选的示例。只要满足输入输出采样率要求以及Farrow滤波器单元对输入/输出采样率的要求,也可以配置为其他参数。
下面详细描述通用速率变换方法和装置的详细实现方法:
首先看速率下变换中四级滤波器设计方法:
一:分数倍滤波器单元
分数倍滤波器单元实现较小分数倍(分子和分母都是较小正整数)的抽取滤波功能,分数倍滤波器单元可以设计为支持1倍、1.5倍、2倍、2.5倍、3倍、4倍等6种采样率变换倍数,假设输入采样率范围在0Mbps-409.6Mbps区间时,如下表所示:
速率区间 |
抽取倍数 |
[0:102.4] |
1(旁路) |
(102.4:153.6] |
1.5 |
(102.4:204.8] |
2 |
(204.8:256] |
2.5 |
(256:307.2] |
3 |
(307.2:409.6] |
4 |
这样经过分数倍速率变换后,输出采样率能够限制在小于102.4Mbps范围内。
分数倍滤波器单元的硬件电路设计方法本身不是本发明的重点,可以按照现有技术中常见的直接型或转置型结构实现,也可以通过设计对称的滤波器系数,利用多相滤波器的结构设计,在此不赘述。
二:Farrow滤波器单元
Farrow滤波器单元将不超过102.4Msps输入采样率的各个载波信号抽取到需要的输出采样速率的两倍或4倍。
Farrow滤波器单元可以根据系统要求进行设计,譬如设计滤波器的长度L=10,阶数M=4,系数个数5×5。滤波器频谱如图3所示,图中的右边的旁瓣利用后面的半带滤波器进行抑制。
Farrow滤波器单元系数可根据系统要求性能仿真给出,具体实现结构如图4所示,假设Farrow滤波器单元的抽取倍数为I/D,I>D,其中I为插值倍数,D为抽取倍数。则需包括L-1次乘法运算器,L个累加器和L个子滤波器Ci(z)。
1),L-1次乘法运算器工作在输入的高时钟域上,进行2*uk-D与相关数据的相乘运算。
2),L个累加器工作在输入的高时钟域上,累加器的清零控制由clr_flg信号控制,当clr_flg有效,如clr_flg=1时,累加器清零;否则,进行各级累加运算。
3),L个子滤波器工作在输出的低速时钟域上,子滤波器的输入由clr_flg信号控制,当clr_flg有效,如clr_flg=1时,子滤波器输入,进行乘加运算。
4),控制信号clr_flg和分数倍延时时间间隔系数uk的产生关系如图5所示。
如图5所示,farrow分为实现抽取和实现内插两种,抽取用符号’d’表示,内插用符号’i’表示,譬如其中出现ud表示是抽取情况下的uk,其值用udv表示,内插时用ui表示,其值用uiv表示,可用ukv统一表示udv和uiv。
在抽取时,输入数据在输入时钟域和时间间隔系数uk相乘后进入累加器,转换到输出时钟域进行子滤波器计算并求和得到输出信号。
其中Farrow滤波器单元比较重要的是时间间隔系数uk的实时计算。
对于一定倍数的抽取运算,uk又可分别写为,
其中mod表示取余运算,k为输入信号的时刻。利用硬件计算上式是困难的,但若将其D倍可以得到,
抽取时需要实时计算的信号包括抽取的时间常数udv和累加器的清零信号clr_flg。抽取计算时多个采样输入点进行累加以后输入给子滤波器计算出一个采样输出点。累加的输入采样点个数和D/I相关。
由于ud值分别扩大了D倍,因此必须进行增益控制,这里的处理思想是将D分为2的整数次幂和小数两部分,其中整数部分为,
图4中2^ND为四舍五入的截位运算,小数部分增益将在子滤波器系数量化中处理。M为子滤波器系数的量化位宽。
抽取结构累加电路输出会带来D/I倍的增益,与分数间隔的处理思想相同,也分为2的整数次幂和小数两部分,其中整数部分为,
图4中2^NP为累加器输出四舍五入的截位运算,小数部分增益也放在滤波器系数量化中处理,这样,抽取滤波器系数的量化公式为,
其中M的计算方法如下:小m为变量,取值范围0-M,M为m的最大值,一般也是M求取过程的迭代计算的初值:
假设系数采用18bit的有符号数来表示,选择一个合适的M值使得系数的最大值要小于131071且尽可能接近131071,可采用如下的计算流程:
1.设M的初值等于18;
2.根据公式计算定点系数cm(n);
3.比较系数最大值cmax与131071的大小;
4.若大于,则cmax=cmax÷2,M=M-1,并返回第3步,直到cmax<131071为止;若小于,则cmax=cmax×2,M=M+1,并返回第3步,直到cmax>131071为止;
5.若cmax初始大于131071,则M就为最终的输出截位位宽;若cmax初始小于131071,则M=M-1就为最终的输出截位位宽;
6.根据截位位宽M重新计算定点系数cm(n)。
三:半带滤波器
半带滤波器是比较常用的滤波器,实现固定的2倍抽取滤波功能,用来辅助Farrow滤波器单元滤除镜像。硬件设计电路较简单,不是本发明重点,可采用现有技术,不做展开描述。
四:成型滤波器单元
成型滤波器单元可以配置成不做速率变换或进行2倍抽取滤波,滤波器系数设计成可配。成型滤波器单元可以设计成通用的FIR滤波器单元,通过配置不同的系数,满足不同的系统性能要求。相关的设计方法介绍较多,不是本发明的重点,不做展开描述。
另外,速率上变换通用硬件装置实现结构详细描述如下:
一:成型滤波器单元
和速率下变换装置中成型滤波器单元实现方法类似,不同的是,这里的成型滤波器单元可以配置成不做速率变换或2倍内插滤波功能。滤波器的系数同样设计成可配,满足不同带宽信号的滤波性能要求。
二:半带滤波器
实现固定2倍内插滤波功能,滤波器系数可配,作为Farrow滤波器单元的辅助,与Farrow滤波器单元一起完成抽取滤波的抗混叠抑制。
三:Farrow滤波器单元
与速率下变换中Farrow滤波器单元不同的是,这里Farrow滤波器单元完成任意分数倍内插滤波。实现结构也稍有不同。如图6所示。一共包含L个子滤波器Ci(z),这些子滤波器工作在输入的低速时钟域上,子滤波器的输出结果与uiv的乘加等计算均在输出的高速时钟域上,分数倍延时时间间隔系数uiv和Buffer的读地址rd_addr的产生如图7所示。这里I为插值倍数,D为抽取倍数,这两个参数都是Farrow滤波器单元需要配置的速率变换倍数相关的,即Farrow滤波器单元速率变换倍数为I/D。
对于一定倍数的插值运算,uk又可分别写为,
其中mod表示取余运算,l为输出信号的时刻。利用硬件计算上式是困难的,但若将其扩大I倍可以得到,
插值时需要实时计算的信号包括插值的时间常数uiv和Buffer的读控制信号rd_flg。因为是插值计算,所以子滤波器的一个输出采样数据需要对应多个采样输出点,因为I/D不是整数,所以子滤波器的输出和输出采样点个数的对应不是固定的。分数倍时间常数uiv和Buff_clk的读控制信号计算流程如图7所示,图中的I为插值倍数,D为抽取倍数。
由于ui值分别扩大了I倍,因此必须进行增益控制,这里的处理思想是将I分为2的整数次幂和小数两部分,其中整数部分为,
错误!未找到引用源。中2^NI为四舍五入的截位运算,小数部分增益将在子滤波器系数量化中处理。
插值滤波器系数量化公式为
M为Farrow滤波器单元的输出截位位宽,它是与系数量化位宽相关的一个整数,它的计算方法如下:
假设系数采用18bit的有符号数来表示,选择一个合适的M值使得系数的最大值要小于131071且尽可能接近131071,可采用如下的计算流程:
1.设M的初值等于18;
2.根据公式计算定点系数cm(n);
3.比较系数最大值cmax与131071的大小;
4.若大于,则cmax=cmax÷2,M=M-1,并返回第3步,直到cmax<131071为止;若小于,则cmax=cmax×2,M=M+1,并返回第3步,直到cmax>131071为止;
5.若cmax初始大于131071,则M就为最终的输出截位位宽;若cmax初始小于131071,则M=M-1就为最终的输出截位位宽;
6.根据截位位宽M重新计算定点系数cm(n)。
NI也是Farrow滤波器单元定点化计算相关参数。
子滤波器的参数可以根据系统性能要求进行设计,如插值Farrow滤波器单元中子滤波器的个数可设计为5个(即L=5),子滤波器为9阶,10个系数。系数可配置。
其中,对于插值Farrow滤波器单元和抽取Farrow滤波器单元而言,
需要软件计算和配置的参数包括:
插值倍数I和抽取倍数D,计算udv/clr_flg和uiv/rd_flg
控制信号需要;
四:第二FIR滤波器单元
在本发明中,优选的该FIR滤波器单元的整数倍速率变换,这个整数可以简化为实现2的指数次幂,如2倍,4倍,8倍等。2的指数次幂的速率变换可以采用半带滤波器级联实现,可根据应用需要,设计需要级联的半带滤波器个数,如最大需要再实现4倍内插,可以设计2级半带滤波器级联。FIR滤波器单元或半带滤波器的系数可以设计成可配置,由软件配置满足性能需要的系数。
本发明通用速率变换装置及方法将成为速率变换处理中一个重要的技术贡献。使得中频处理等领域的混模信号处理变得简单可行,从而简化硬件设计,增强产品的通用性。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。