采样率变换器的多相表示结构FPGA实现
Nobel 关系式的意义在于:在抽取与滤波级连时,首先进行抽取运算,可以把滤波器的长度降低一个D因子; 内插与滤波级连时,首先进行滤波运算,可以使滤波器的的长度降低一个I因子。
3 采样率变换器的多相表示结构
通过对图1中的整数倍速抽取器系统进行多相分解(分解式1),然后依次进行T3及Nobel变换(抽取),可以得到抽取系统的多相结构。此结构中滤波器将在F2=F1/D的采样率下进行,也就是说,对于给定的芯片和滤波器结构,滤波器能达到最高时钟频率相同时,该结构能处理的带宽是图1的D倍,或者说对相同采样率的数据,该结构对滤波器最高时钟频率的要求降低为原来的1/D,因而是一种高效的实现方式。
类似地,对图2中的整数内插系统进行多相分解(分解式2),并依次进行T4及Nobel变换(零内插),以得到整数内插的多相结构,通过变换,将以F1=F2/I的采样率进行滤波运算。
分数倍采样率转换器的多相结构有多种实现方案。
(1)如果I与D不互质,可以利用已经得到的多相结构,然后与抽取或内插级连实现。如图3(b)中可以把前两部分用图5的多相结构实现或把后两部分用图6的多相结构实现,具体选择时可参考D与I的数值。
(2)如果I与D互质,则可以转化为更为高效的多相结构[1,4]。图7即是I、D互质时的一种高效结构。这一结构的推导利用了多相分解的分解式1和分解式2、T1~T5以及两数互质时的欧几里德公式(若I、D互质,则存在整数p、q,使得pI+qD=1)。这样的结构不是唯一的,通过多采样率系统的网络变换,还可以得到其他的结构。在此结构中,滤波器运算是在F4的采样率中进行的,且有F4=F1/D=F2/I,与最初的形式相比,滤波器的最高时钟频率相同时,处理带宽增大为原来的I×D倍。



该多相结构中的Rm,n(z4)可以由原始滤波器经过两次多相分解而求得。特殊地,如果有滤波器的级数N=DI,则 Rm,n(z4)=h[(n+1)I-(m+1)T3],为原始滤波器某一项的系数。
4 FPGA设计与验证
由于整数倍抽取和内插的实现过程可以包含在分数采样率变换器的实现过程中,因此下面只讨论I、D互质的有理数采样率变换器的实现。
根据图7的多相结构,对于I、D互质的分数抽样率转化系统,可以分解为四个模块:
(1)输入与延时链模块。这部分的时钟周期应该为T1。
(2)R0~RI-1的延时与抽取模块。注意:抽取器只是在第0,D,……,N×D个时钟周期让信号通过,其他时钟周期阻隔信号。若已知延时与抽取链的功能,则可用一个如图8(a)所示的多相选择开关来实现,而图8(b)给出了该电路的一种实现方案,其中TClk_T4 =DTclk_T1,T4为模块3的时钟周期。
(3)本系统最为关键的部分是第三部分。该部分是运算的主体部分,对整个系统的资源利用率和时钟性能有很大的影响。该模块需要实现的是I×D个FIR滤波器。对于给定的设计,这些滤波器的系数是常数,可由如下方法得到:
①根据低通滤波器的要求,用Matlab的FDAtool计算出滤波器的系数,并使其阶数N=M×I×D,M为正整数,可根据滤波器的需要选取。
②利用多相分解公式计算每个滤波器的系数。
③把所得到的数字进行定点化处理(比如系数同乘以2 048,取整,待计算出结果后右移11位)。
对于常系数的FIR滤波器,在FPGA实现时,有多种可以选择的方式以降低复杂性。在本设计中,采用简化的加法器图[3]来实现,避免了使用资源代价较大的通用乘法器,同时提高了系统的整体性能。例如,在测试系统的设计中,需要计算132×x(n)、28×x(n-1)、126×x(n-2)、13×x(n-3),用图9方案来实现时,将比用四个通用乘法器节省更多的LE资源,并且使最高的时钟频率得到了提高。表1给出了一个测试系统的资源与性能对比(使用了Altera公司的EP1C3T144C6芯片及Quartus II 5.1版本进行综合)。
(4)第四部分是与第二部分类似的模块。零内插器的特点是某个时钟周期有用信号通过,其余时钟周期通过零值,因而内插与延时相加模块也可用一个多相选择开关来实现。内插与延时相加模块实现电路图如图10所示。

低通滤波器相关文章:低通滤波器原理
电源滤波器相关文章:电源滤波器原理
评论