一种一体化补偿数字滤波器设计方法与流程

文档序号:15624087发布日期:2018-10-09 22:32阅读:269来源:国知局

本发明公开了一体化补偿数字滤波器设计方法,在宽带卫星通信、深空通信、移动通信等通信系统中均有广泛应用,属于通信调制解调技术领域。



背景技术:

近十几年来,我国的航天事业处于繁荣发展阶段。载人航天器、导航卫星、中继卫星、对地观测卫星、通信卫星、深空探测器及微小卫星等各种航天器日益增多,全面发展。上述航天器均有低速率全向测控信道和高速率业务数据信道等2种信道,分别实现测控和高速数传功能。测控和业务系统相对独立,重复建设经济效益差。业务数据对测控数据的需求各不相同,协调工作复杂。

在轨卫星的种类和数量持续增加,数传速率继续提高,航天任务趋向多元化。卫星使用需求急剧增大,需要同时管理的在轨卫星数量逐年增加。现存的工作模式将不能满足业务需求。测控数传一体化设计,可以简化星上设备、提高电磁兼容能力、减少功率消耗、节约频率资源,又整合了地面站资源、降低了管理复杂度。一体化信道有利于天地空一体化测控通信网的建设,有利于参与国际合作,适应未来测控和通信技术的发展方向。

在面向这种测控数传一体化物理层体制的设计时接收机采用pcm-bpsk非扩频体制,针对数传需求提供高速传输通道。接收机符号同步采用闭环跟踪的方式,实现采样定时偏差数据动态调整,跟踪能力强,且可以提供高精度的位定时偏差相位信息用于完成测控相关功能。

常规的符号同步前端信号处理需要一下几个步骤:采样数据经过变频到基带后需要进行低通滤波滤除镜像分量;针对采样率与信息速率不匹配的场景进行变速率滤波(抽取和内插),可以分多级实现,也可以单级滤波器实现,需要考虑变速率因子i/q(内插/抽取)的取值进行不同设计;完成匹配滤波相关功能,通常可以和前级变速率滤波器中的某一级(变速率滤波器为多级滤波器)合并使用;常规符号同步插值滤波器会根据已知的离散采样点的值计算未知点上的值,它的计算思路与曲线拟合类似,在插值点上保持不变,常用的为基于多项式的内插滤波器。

前向的开环符号同步方法由于不具备精确的位定时信息,不适用于测控通信。目前数字接收机的闭环符号自同步算法主要有两种,一是由定时错误检测(ted)算法加环路滤波器估算采样时钟和最佳采样时刻之间的相位差,然后通过数控振荡器nco调整采样时钟,称为同步采样恢复;另一种也使用相同的方法估算时钟相差,但它并不调整采样时钟相位,而是通过插值算法对采样值进行修正,称为异步采样恢复。

针对目前常用的符号同步中的定时数据恢复方法,文献“一种基于内插法符号同步电路的设计”采用立方插值和o&m定时误差检测相结合的算法实现符号定时同步,首先对接收数据进行插值滤波和抽取,产生插值信号;定时误差检测单元计算出定时误差;经过速率变换、环路滤波器、和重采样后,形成nco的控制字;nco产生内插时刻信号和符号时钟。文献“基于fpga的8psk解调器设计”采用一种基于插值的反馈式符号同步方法,在不改变采样率的条件下,通过对采样数据进行插值在输出端得到每个数据符号的最佳判决数据。该方法插值滤波器为多项式滤波器,采用多项式拟合方式进行计算。文献“全数字高速oqpsk信号解调技术分析”采用的符号同步环路采用基于内插滤波的定时恢复算法,主要包括定时误差检测器、环路滤波器、内插滤波器和内插控制器等。输入数据以1/ts的速率进行采样,得到采样点x(mts)采样点经过插值滤波后进行定时偏差估计产生误差信号e(k),经环路滤波器滤除噪声后进行累加,累加溢出将触发移位操作或降采样的超前或滞后采样操作对定时位置进行调整,从而逐渐调整到y(kti)的最佳采样输出。上面三种算法本质上都需要引入独立结构的多项式插值滤波器,只不过多项式插值滤波器采用不同的结构,而该结构的滤波器无法与前端滤波器从设计上统一考虑,均为传统接收机分布处理方式,实现架构较为复杂,不利于一体化通用化设计,实现过程繁琐。

文献实时校正时间误差的farrow结构滤波器设计”实现一种基于farrow结构分数时延(fractionaldelay,fd)滤波器对并行采样中时间非均匀误差的实时校正。采用优化设计的方法,求解farrow结构fd滤波器的各子滤波嚣系数.在尽可能资源消耗少的情况下,使设计偏差较小.保证后续时延误差估计和校正的精度,并在xilinx的fpga中实现时间误差的校正。该结构同样相对接收机前端滤波独立,无法一体化设计。

文献“一种连续可变速率的数字成型滤波处理方法”提供了一种连续可变速率的数字成型滤波处理方法,该方法的步骤包括:由数字nco产生1倍数据时钟信号a1和n倍数据时钟信号an;按照所述数据时钟信号a1对输入信号进行接收;利用数据时钟信号an对接收信号进行n倍补零插值;采用数字成型滤波器插值后信号进行滤波处理;对成型滤波后的信号进行变采样率的插值滤波处理。该方法分别采用固定系数的成型滤波器和可变系数的插值滤波器进行成型滤波和插值滤波处理,可以实现不同速率信号的成型滤波和插值滤波,可应用于数据速率连续可变的数字调制器。该方法在处理低速应用时,可以得到高倍的数据时钟信号an,但是针对本方法应用背景,数据速率已经为处理时钟速率而需要进一步内插提高速率的情况,则无法应用。

文献“一种分数倍内插成型滤波器及其实现方法”提出了一种分数倍内插成型滤波器及其实现方法。该分数倍内插成型滤波器包括数据同步模块、分段滤波模块、重采样模块、数控振荡器控制模块。数控振荡器控制模块根据基带调制速率输入产生慢溢出标志送给数据同步模块产生慢同步数据输出,慢同步数据输出经过分段滤波模块产生滤波器组输出,滤波器组输出和快溢出标志和分数时延滤波器时延经过重采样模块产生成型滤波数据。该方法没有借助定时偏差得到的残留偏差动态调整采样时刻的数据,同时滤波结构依然为多项式滤波器结构。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提供一种一体化补偿数字滤波器设计方法,采用的思路是利用“更精确”信息(提高采样率)完成定时偏差估计,用该估计值补偿nco的定时相位控制字,从而保证测控的精度要求。在实现上,借助变速率滤波的内插因子,完成提高采样率后数据的精确补偿,如果内插因子较小而测控精度要求较高,可以进一步提高内插倍数;如果测控精度要求低,则采用较低内插因子即可。

本发明的技术方案是:一种一体化补偿数字滤波器设计方法,其特征在于:包括

(1)设计滤波器系数,兼顾完成对下变频高频分量的抑制,对发端成型滤波器的匹配以及对变速率处理的抗混叠滤波;

(2)对滤波器系数重组后进行存储,其中所述重组方式尽可能适应不同速率,同时易于并行计算的实现;

(3)计算参与运算的有效数据长度以及进行采样数据恢复的数据个数,完成相应的滤波器复用运算;

(4)利用位定时得到的残留偏差信息完成补偿,该补偿包括对参与滤波运算的系数的补偿和输入数据的补偿两部分;

(5)根据调整后的系数和数据,采用并行加流水混合的实现方式完成最后滤波结果的计算。

所述步骤(1)中设计滤波器系数的具体方法为:

11)设计根升余弦滤波器,3db带宽选择为系统符号速率的一半;

12)该滤波器阶数为z,z为偶数,则系数个数为:l=z+1;将最后一个系数重复一次,得到最终的系数个数l_all=l+1=z+2。

所述步骤(2)的具体方法为:

21)假定变速率因子为p/q,如果该系统需要支持多种符号速率且几种速率之间为2的幂次倍数关系,则选择最低的速率档,即内插倍数最小的一组内插因子pmin,该组内插因子即作为滤波器系数存储的地址长度,对应地址为(0,....,pmin-1);

22)计算得到系统的采样速率f_sample在系统时钟f_clk下的间隔m=fclk/fsambol;进而得到用于滤波计算的流水线处理周期m'≤m;一个时钟周期需要的乘法器资源个数n_mul=l_all/m',即需要的滤波器系数的个数最少为n_mul;

23)计算得到参与运算的数据个数d=l_all/pmin,计算一个地址存储的数据位宽w=d×w0;其中,w0为一个滤波器系数的量化位宽;采用均分n段的方式,存储在不同的存储器中,即d=[d_p1,d_p2,…,d_pn],其中d_pn是每一个存储器存储的数据长度,采用均分的方式,每一段的数据个数为:d_p=d/n,d_p的长度大于n_mul;

24)将整个l_all长度的滤波器系数进行重组,形成p_min行d列的重组后数据;将该数据均匀拆分为n段,每段均为p_min行,d_p列的系数矩阵,分别存储在n个存储器中。

所述步骤(3)的具体方法为:

31)根据参与当前使能位置数据恢复运算所需要的有效数据个数d和相邻需要数据恢复的定时位置的间隔m,计算出需要并行处理的滤波器个数n_f≥d/m;

32)为输入使能添加n_f个不同的编号,从1到n_f循环,不同编号下的使能独立拥有自己的数据地址、系数地址以及控制信号。

所述步骤(4)的具体方法为:

41)将每一个时钟周期再细分为pmin个位置,即0~pmin-1,假定有效数据即处于最后一个位置pmin-1;

42)根据不同使能下输入的不同残留偏差信息phase_in分别补偿每一个时钟周期的滤波计算,调整参与滤波运算的滤波器系数;

43)根据不同使能下输入的不同残留偏差信息phase_in分别补偿每一个时钟周期的计算,调整参与滤波运算的输入数据。

所述步骤(5)的具体方法为:

51)对每一个使能编号下的时钟周期进行计数,直到下一次相同使能编号到来清0;

52)在当前需要计算的使能下的数据到来之后的l_all/2-1周期位置,根据前面动态调整得到的数据读起始地址rd_begin_addr,读取调整后的需要参与当前时钟周期运算的数据;

同一个时钟周期下参与运算的数据个数为乘法器个数n_mul=l_all/m';其中m'为用于滤波计算的时钟周期;则该周期下需要至少n_mul个输入数据,第一个周期读取地址rd_addr取值为:

rd_begin_addr~rd_begin_addr+(n_mul-1)

第二个周期时钟周期读取地址rd_addr取值为:

rd_begin_addr+n_mul~rd_begin_addr+(2×n_mul-1)

依此类推,直到第m'个周期后读到:

rd_begin_addr+(m'-1)×n_mul~rd_begin_addr+(m'×n_mul-1);

53)根据前面动态调整得到的系数存储器的读地址coe_addr,读取调整后的需要参与当前使能运算的滤波器系数;读取出的系数为所有参与该使能运算的所有系数,进行拆分取出,系数和上面读取出的数据在每个时钟周期下一一对应;

54)每个使能下数据滤波计算独立控制,完成整个滤波操作;

55)计算整个处理时延,得到输入使能延迟固定处理时延之后的输出使能。

所述步骤42)中调整参与滤波运算的滤波器系数,具体调整方法如下:

如果收到的残留偏差信息为:phase_in=0,则认为当前使能位置准确,不需要调整滤波器系数位置,中心位置仍对准每一个时钟周期下的pmin-1位置,其中phase_in为归一化的残留偏差信息,具体取值为0~pmin-1;则滤波器系数存储的地址coe_addr=p_min-1;

如果收到的残留偏差信息满足:1≤phase_in≤p_min-1,则表明表示实际最佳采样点位于左侧第phase_in个位置,此位置在计算中应该对齐滤波器最中间系数,此时存储在系数存储器的读地址coe_addr=phase_in-1;

所述步骤43)中调整参与滤波运算的输入数据,具体调整方法如下:

如果收到的残留偏差信息为:phase_in=0,则认为当前使能位置准确,不需要调整参与运算的数据,则数据的起始读取地址rd_begin_addr与补偿之前相同,即:

其中l_all仍为总的滤波器系数,wr_addr为当前需要定时恢复的数据使能对应的写地址;如果当前写地wr_addr<(l_all/2-1),则需要加上地址循环长度l_ram;

如果收到的残留偏差信息满足:1≤phase_in≤p_min-1,则表明实际最佳采样点位于左侧第phase_in个位置,此位置在计算时,数据的起始读取地址rd_begin_addr相对补偿之前减小一个地址,即:

本发明与现有技术相比的优点在于:

(1)本发明将接收机前端的下变频低通滤波器、匹配滤波器、变速率抗混叠滤波器及符号同步插值滤波器功能融合,不需要再根据系统参数单独对每一个滤波器独立设计,而是按照一体化设计思路,一个滤波器完成所有上述滤波器功能,简化了实现结构,增强了系统通用性,降低了设计复杂度。

(2)本发明应用于闭环反馈定时恢复方法,该方法借助于变速率滤波器的内插因子(或者变速率内插倍数较小时,可以进一步提高内插因子)提高采样率后滤波,得到更高精度的数据(提高采样率),从而获得更小的定时偏差信息,用该信息实时调整nco相位信息,以完成高精度测控的应用需求。

(3)该方法不需要单独引入基于多项式的内插滤波器,也不是采用曲线拟合的方法完成数据重构,通过对数据的补偿从而获得更高精度(更小定时偏差)的数据,再进行“选点”的操作完成。不需要引入额外的多项式运算即可完成。

附图说明

图1采用本发明的接收机前端结构示意图;

图2本发明结构示意图;

图3本发明滤波器系数存储示意图;

图4本发明滤波器滤波运算示意图;

图5本发明滤波器校准示意图;

具体实施方式

如图1-5所示,本发明那个的具体实施步骤如下:

1、首先完成对滤波器系数的设计和存储,具体考虑以下几个方面:

11)设计根升余弦滤波器,成型因子的选择要保持跟发射机成型滤波的选择一致,3db带宽选择为符号速率的一半,完成滤波器系数的生成。该滤波器阶数为z,z为偶数,则系数个数为:l=z+1;将最后一个系数重复一次,得到最终的系数个数l_all为:l_all=l+1=z+2。

12)假定变速率因子为p/q,如果该系统需要支持多种符号速率且几种速率之间为2的幂次倍数关系,则选择最低的速率档,也即内插倍数最小的一组内插因子pmin,该组内插因子即作为滤波器系数存储的地址长度,对应地址为(0,....,pmin-1);

13)根据系统的采样速率f_sample在系统时钟f_clk下的间隔为m=fclk/fsambol;则用于滤波计算的流水线处理周期m'≤m;一个时钟周期需要的乘法器资源个数为n_mul=l_all/m',故需要的滤波器系数的个数最少为n_mul;

14)计算得到参与运算的数据个数d=l_all/pmin,计算一个地址存储的数据位宽w=d×w0;其中,w0为一个滤波器系数的量化位宽;采用均分n段的方式,存储在不同的存储器中,即d=[d_p1,d_p2,…,d_pn],其中d_pn是每一个存储器存储的数据长度,这里一般采用均分的方式,每一段的数据个数为:d_p=d/n,d_p的长度应大于n_mul;

15)将整个l_all长度的滤波器系数进行重组,形成p_min行d列的重组后数据;将该数据均匀拆分为n段,每段均为p_min行,d_p列的系数矩阵,分别存储在n个存储器中。

2、完成对参与滤波运算的滤波器系数和数据的补偿,具体步骤为:

21)将整个滤波器阶数的中间位置对准当前需要参与运算的使能和数据,由于此时输入数据速率等于处理时钟速率,计算时须在此基础上进一步插值(插0),假定每一个时钟周期再细分为pmin个位置(0~pmin-1),而每个周期的有效数据即处于最后一个位置pmin-1。因此该滤波器系数的中心对准的就是当前使能的最后一个位置pmin-1。

22)根据不同使能下输入的不同残留偏差信息phase_in分别补偿每一个时钟周期的滤波计算,调整参与滤波运算的滤波器系数,具体调整方法如下:

如果收到的残留偏差信息为:phase_in=0,则认为当前使能位置准确,不需要调整滤波器系数位置,中心位置仍对准每一个时钟周期下的pmin-1位置,其中phase_in为归一化的残留偏差信息,具体取值为pmin,;则滤波器系数存储的地址coe_addr=p_min-1;

如果收到的残留偏差信息满足:1≤phase_in≤p_min-1,则表明表示实际最佳采样点位于左侧第phase_in个位置,此位置在计算中应该对齐滤波器最中间系数,此时存储在系数存储器的读地址coe_addr=phase_in-1;

23)根据不同使能下输入的不同残留偏差信息phase_in分别补偿每一个时钟周期的计算,调整参与滤波运算的输入数据,具体调整方法如下:

如果收到的残留偏差信息为:phase_in=0,则认为当前使能位置准确,不需要调整参与运算的数据,则数据的起始读取地址rd_begin_addr与补偿之前相同,即:

其中l_all仍为总的滤波器系数,wr_addr为当前需要定时恢复的数据使能对应的写地址;如果当前写地wr_addr<(l_all/2-1),则需要加上地址循环长度l_ram;

如果收到的残留偏差信息满足:1≤phase_in≤p_min-1,则表明实际最佳采样点位于左侧第phase_in个位置,此位置在计算时,数据的起始读取地址rd_begin_addr相对补偿之前减小一个地址,即:

24)在当前需要计算的使能下的数据到来之后的l_all/2-1周期位置,根据前面动态调整得到的数据读起始地址rd_begin_addr,读取调整后的需要参与当前时钟周期运算的数据;

同一个时钟周期下参与运算的数据个数为乘法器个数n_mul=l_all/m';其中m'为用于滤波计算的时钟周期;则该周期下需要至少n_mul个输入数据,第一个周期读取地址rd_addr取值为:

rd_begin_addr~rd_begin_addr+(n_mul-1)

第二个周期时钟周期读取地址rd_addr取值为:

rd_begin_addr+n_mul~rd_begin_addr+(2×n_mul-1)

依此类推,直到第m'个周期后读到:

rd_begin_addr+(m'-1)×n_mul~rd_begin_addr+(m'×n_mul-1)

3、完成对滤波运算过程的控制:

31)根据前面动态调整得到的系数存储器的读地址coe_addr,读取调整后的需要参与当前使能运算的滤波器系数;读取出的系数为所有参与该使能运算的所有系数,进行拆分取出,系数和上面读取出的数据在每个时钟周期下一一对应;

32)根据参与当前使能位置数据恢复运算所需要的有效数据个数d和相邻需要数据恢复的定时位置的间隔m,计算出需要并行处理的滤波器个数n_f≥d/m;

33)为输入使能添加n_f个不同的编号,从1到n_f循环,不同编号下的使能独立拥有自己的数据地址、系数地址以及控制信号。

34)每个使能下数据滤波计算独立控制,完成整个滤波操作;

35)计算整个处理时延,得到输入使能延迟固定处理时延之后的输出使能。

2.实施案例

假定系统时钟f_clk=83.961mhz,系统符号速率f_symbol1=1.573632msps和f_symbol2=3.147264msps,采样倍数n=4,成型因子α=0.35。

采用本发明进行一体化补偿数字滤波器设计的具体步骤如下:

(1)借助matlab的fdatool工具完成滤波器系数的设计:

步骤一:首先滤波器模式采用根升余弦滤波器,成型系数设置为0.35。

步骤二:进行滤波器输入采样率的计算。根据系统的符号速率f_symbol1=1.573632msps和f_symbol2=3.147264msps,以及系统时钟f_clk=83.961mhz之间的关系,确定精确的变速率因子p/q的取值为32/427(针对f_symbol1)和64/427(针对f_symbol2)。选择较小的内插因子pmin=32。则内插后的进入滤波器的数据采样率为2686.752mhz。

步骤三:设置3db带宽fc为符号速率的一半,即0.786816mhz。

步骤四:滤波器总系数考虑为内插因子整数倍,阶数设置为4094阶,实际产生的滤波器系数长度为4095,最后一个系数扩展一次将最终的滤波器系数变为4096,从而满足内插因子整数倍的需求,方便后面计算处理。

步骤五:如果单独按照32行128列存储系数,则单个地址的系数位宽为128x12=1536bit,位宽过宽,处理资源占用过,采取分段处理。相邻使能间隔为f_clk/(f_symbol1*4)=13.34,选择8个时钟周期进行复用。考虑到内插倍数为32倍,4096个滤波器系数实际参与运算的实际为4096/32=128个,按照8个时钟周期复用,则一个时钟周期下需要并行计算128/8=16个数据。则一个地址存储的滤波器系数位宽至少应大于16*12=192。最终选择将系数按照4段存储,每段为32行384位宽。

(2)借助位定时的残留偏差进行补偿后完成滤波运算,以实现精确定时时刻的数据恢复,我们假定每一个时钟周期再细分为32个位置(0~31),而每个周期的有效数据即处于最后一个位置31。因此该滤波器系数的中心对准的就是当前使能的最后一个位置31。根据输入的位定时的残留偏差进行补偿的的具体步骤如下:

步骤一:首先完成滤波器系数的补偿控制。当前使能对应的残留偏差信息为phase_in,如果phase_in=0认为当前使能位置准确,不需要调整滤波器系数位置,中心位置仍对准每一个时钟周期下的31位置,因此滤波器系数存储的地址coe_addr=31;如果1≤phase_in≤31,则表明实际最佳采样点位于左侧第phase_in个位置,此位置在计算中应该对齐滤波器最中间系数,此时存储在系数存储器的读地址coe_addr应为:

coe_addr=phase_in-1

步骤二:完成参与运算的数据的补偿控制。如果phase_in=0认为当前使能位置准确,不需要调整滤波器系数位置,中心位置仍对准每一个时钟周期下的31位置,因此参与运算的数据的起始读取地址rd_begin_addr与补偿之前的地址相同:

l_ram是存储数据的ram的深度。

如果收到的残留偏差信息满足:1≤phase_in≤31

则表明表示实际最佳采样点位于左侧第phase_in个位置,此位置在计算时,由于起始新引入了数据参与计算,因此数据的起始读取地址rd_begin_addr相对补偿之前要减小一个地址:

(3)对每一个使能独立处理,由于一次滤波结果参与运算的有效数据为128个,而使能间隔由前面(1)中的步骤五可得为13.34,因此需要的使能编号至少大于128/13.34=9.6,取编号1~10进行复用;由于计算当前使能下的数据需要128个采样率为83.961mhz的数据参与运算,因此在当前使能到来后,需要至少等64个周期再进行运算。计算过程采用8个时钟周期复用,因此每个时钟周期控制读取16个系数和数据完成相乘,后续累加得到最终的滤波结果。

本发明未详细说明部分属本领域技术人员公知常识。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1