CN101719819B - 并行无数据辅助时钟恢复方法及其系统 - Google Patents

并行无数据辅助时钟恢复方法及其系统 Download PDF

Info

Publication number
CN101719819B
CN101719819B CN 200910241629 CN200910241629A CN101719819B CN 101719819 B CN101719819 B CN 101719819B CN 200910241629 CN200910241629 CN 200910241629 CN 200910241629 A CN200910241629 A CN 200910241629A CN 101719819 B CN101719819 B CN 101719819B
Authority
CN
China
Prior art keywords
data
interpolation
parallel
fifo
output
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.)
Active
Application number
CN 200910241629
Other languages
English (en)
Other versions
CN101719819A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN 200910241629 priority Critical patent/CN101719819B/zh
Publication of CN101719819A publication Critical patent/CN101719819A/zh
Application granted granted Critical
Publication of CN101719819B publication Critical patent/CN101719819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明涉及一种并行无数据辅助时钟恢复方法及其系统,该方法包括步骤:将接收到的数据存储到RAM或FIFO中;在数据存储到RAM的同时,执行并行循环Gardner算法,从所述RAM中读取数据,进行时钟恢复;执行并行Gardner算法,从所述FIFO中读取数据,进行时钟恢复;输出最终时钟恢复数据。本发明的方法及其系统适用于无线突发通信系统中,能够满足高速大数据量的处理要求,并在突发通信模式下快速完成时钟恢复,可克服现有技术的不足。

Description

并行无数据辅助时钟恢复方法及其系统
技术领域
本发明涉及数字信息传输技术领域,尤其涉及一种并行无数据辅助时钟恢复方法及其系统。 
背景技术
随着科学技术的发展,无线通信的传输速率也越来越高。例如,随着遥感卫星传感器分辨率的提高,图像数据量越来越大,下一代卫星的最高传输速率将达到1Gbps以上。综合考虑成本及功耗等因素,采用并行处理算法以提高数据的处理能力已经成为常用的技术手段。Gardner算法是在BPSK/QPSK调制方式下常用的无数据辅助时钟恢复算法,在QPSK调制方式下该算法对载波频偏不敏感,使得载波恢复可以位于时钟恢复之后,在速率较低的符号速率下进行,因而得到了广泛的应用。Gardner算法的原理框图如图1所示,其具体步骤为: 
步骤1:置初值,插值估值整数部分m0=0,插值估值分数部分μ0=0。 
步骤2:进行插值运算 
r ( m n T s + μ n T s ) = Σ i = I 1 I 2 r [ ( m n - i ) T s ] h I [ ( i + μ n ) T s ] - - - ( 1 )
这里Ts为采样速率,hI(t)为插值函数,一般选择Cubic插值函数。 
步骤3:m倍抽取,保证使用最佳采样点及零点进行时钟误差检测。 
步骤4:计算时钟误差,计算公式为 
e n = Re { z ( nT + T / 2 + ϵ ^ n T ) [ z * ( nT + T + ϵ ^ n T ) - z * ( nT + ϵ ^ n T ) ] } - - - ( 2 )
这里 
Figure G2009102416294D00013
与 
Figure G2009102416294D00014
为最佳采样点, 为零点,en为时钟误差。 
步骤5:环路滤波,环路滤波器原理图如图2所示,其转移函数为 
H ( z ) = g p + g i 1 - z - 1 - - - ( 3 )
这里gp,gi为常数,输出为w(mn)。 
步骤6:计算内插控制参数 
μn+1=[μn+w(mn)]mod1                     (5) 
这里 
Figure G2009102416294D00023
表示对x作下取整运算; 
传统的Gardner算法是针对连续通信模式单路串行数据提出的,由于受到器件及成本等因素的限制,很难满足高速大数据量的处理要求。此外,传统Gardner算法需要较长的保护间隔,无法保证在突发通信系统中有效接收数据开始之前收敛。 
发明内容
本发明的目的是提供一种并行无数据辅助时钟恢复方法及其系统,该方法及系统适用于无线突发通信系统中,能够满足高速大数据量的处理要求,并在突发通信模式下快速完成时钟恢复,可克服现有技术的不足。 
为实现上述目的,本发明采用如下技术方案。 
本发明提供了一种并行无数据辅助时钟恢复方法,该方法包括步骤: 
S1.将接收到的数据存储到RAM或FIFO中; 
S2.在数据存储到RAM的同时,执行并行循环Gardner算法,从所述RAM中读取数据,进行时钟恢复; 
S3.执行并行Gardner算法,从所述FIFO中读取数据,进行时钟恢复; 
S4.输出最终时钟恢复数据。 
其中,在步骤S1中,将前NR个符号数据存储到所述RAM中,从第NR+1个符号数据开始,将剩余符号数据存储到所述FIFO中。
其中,所述并行Gardner算法环路滤波器及内插参数的初始值由所述并行循环Gardner算法设定。 
其中,步骤S2进一步包括:S21.初始化并行循环Gardner算法的各参数,设定读取次数;S22.从所述RAM中读取数据;S23.内插输入控制;S24.插值运算;S25.内插输出控制及丢点处理;S26.m倍抽取,输出只包含零点及最佳采样点的数据;S27.计算时钟误差;S28.环路滤波;S29.内插控制;S210.若达到设定的读取次数,结束时钟恢复,否则,返回步骤S22。 
其中,所述设定的读取次数为奇数。 
其中,在步骤S22中,从所述RAM中正反相间读取数据,每次读取NP个符号数据作为一个数据组输出,同时标识发生正反转换的数据组,并记录正向或反向最后一个数据在所述标识的数据组中的位置。 
其中,在步骤S23中,内插输入控制的方法为:接收从所述RAM中读取的数据,更新数据缓存区,然后输出NP路数据,每路数据包括NI个符号,NI为参与插值运算的数据数。 
其中,在步骤S24中,进行NP路并行插值运算,输出NP个插值后数据。 
其中,在步骤S25中,内插输出控制的方法为:将NP个插值后的有效数据写入执行内插输出控制的单元的FIFO中,若所述执行内插输出控制的单元的FIFO中写入的有效数据长度大于等于NP,则并行输出NP个数据,否则不输出数据,所述丢点处理在正反转换处完成。 
其中,在步骤S27中,采用并行算法同时计算多路误差,输出多路误差的和。 
其中,在步骤S29中,根据上一个数据组插值后数据是否跳点、 以及本数据组是否发生正反转换来计算内插控制参数,并标识每一路插值计算数据是否有效。 
其中,步骤S3进一步包括步骤:S31.初始化并行Gardner算法的各参数;S32.从所述FIFO中读取数据;S33.内插输入控制;S34.插值运算;S35.内插输出控制;S36.m倍抽取,输出只包含零点及最佳采样点的数据;S37.计算时钟误差;S38.环路滤波;S39.内插控制;S310.若FIFO为空,则时钟恢复结束,否则,返回步骤S32。 
其中,在步骤S32中,从所述FIFO中按顺序读取数据,每次读取NP个符号数据作为一个数据组输出,直至所述FIFO为空。 
其中,在步骤S33中,内插输入控制的方法为:接收从所述FIFO中读取的数据,更新数据缓存区,然后输出NP路数据,每路数据包括NI个符号,NI为参与插值运算的数据数。 
其中,在步骤S34中,进行NP路并行插值运算,输出NP个插值后数据。 
其中,在步骤S35中,内插输出控制的方法为:将所述NP个插值后有效数据写入执行内插输出控制的单元的FIFO中,若所述执行内插输出控制的单元的FIFO中写入的有效数据长度大于等于NP,则并行输出NP个数据,否则不输出数据。 
其中,在步骤S37中,采用并行算法同时计算多路误差,输出多路误差的和。 
其中,在步骤S39中,根据上一个数据组插值后数据是否跳点计算内插控制参数,并标识每一路插值计算数据是否为有效。 
本发明还提供了一种并行数据辅助时钟恢复系统,该系统包括:记录控制模块,用于将接收到的数据存储到RAM或FIFO中;并行循环Gardner算法模块,用于在数据存储到RAM的同时,执行并行循环Gardner算法,从所述RAM中读取数据,进行时钟恢复;并行Gardner算法模块,用于执行并行Gardner算法,从所述FIFO中读取 数据,进行时钟恢复;输出控制模块,用于输出最终时钟恢复数据。 
本发明在传统Gardner算法理论基础之上,采用并行处理技术,提高了处理速度,可满足高速大数据量的处理要求;此外,采用了修正后的并行循环Gardner算法,进而保证在突发通信模式下可快速完成时钟恢复。 
附图说明
图1为传统Gardner算法原理框图; 
图2为传统Gardner及本发明中的环路滤波器原理图; 
图3为依照本发明一种实施方式的并行无数据辅助时钟恢复方法及其系统原理框图; 
图4为依照本发明一种实施方式的并行无数据辅助时钟恢复方法流程图; 
图5为依照本发明一种实施方式的并行无数据辅助时钟恢复方法中并行循环Gardner算法原理框图; 
图6为依照本发明一种实施方式的并行无数据辅助时钟恢复方法中并行循环Gardner算法流程图; 
图7为依照本发明一种实施方式的并行无数据辅助时钟恢复方法中并行循环Gardner算法丢点处理示意图; 
图8为依照本发明一种实施方式的并行无数据辅助时钟恢复方法中并行Gardner算法原理框图; 
图9为依照本发明一种实施方式的并行无数据辅助时钟恢复方法中并行Gardner算法流程图。 
具体实施方式
本发明提出的并行无数据辅助时钟恢复方法及其系统,结合附图和实施例说明如下。 
如图3所示为本发明提供的一种基于并行数据辅助时钟恢复方法及其系统原理框图。由于高速突发通信的数据量大,无法将数据全部存储,因此存储过程分为两步:记录控制模块100先将最初接收的NR个过采样符号数据存储到RAM中;然后从第NR+1个数据开始,将剩余符号数据存储到FIFO中,直至突发数据结束;在数据存储到RAM的同时并行循环Gardner算法模块200执行并行循环Gardner算法,从RAM中正反相间读取数据,以用少量数据完成时钟恢复,输出时钟恢复后的单倍符号速率数据到输出控制模块400,并设置并行Gardner算法模块300环路滤波器及内插参数的初始值;并行Gardner算法模块300在并行循环Gardner算法模块200工作结束之后开始执行,从FIFO中按照顺序读取数据,进行时钟恢复,输出时钟恢复后的单倍符号速率数据到输出控制模块400;输出控制模块400输出最终时钟恢复数据。其中,FIFO的大小应当足够大,以保证在并行Gardner算法执行前数据不溢出。 
具体的,如图4所示,依照本发明一种实施方式的适用于无线突发信道的并行无数据辅助时钟恢复方法包括步骤: 
S1.将接收到的数据存储到RAM或FIFO中; 
其中,最初接收的NR个过采样符号数据存储到RAM中;从第NR+1个数据开始,剩余符号数据存储到FIFO中,直至突发数据结束。 
S2.在数据存储到RAM的同时,执行并行循环Gardner算法,从RAM中读取数据,进行时钟恢复; 
S3.执行并行Gardner算法,从FIFO中读取数据,进行时钟恢复; 
S4.输出最终时钟恢复数据。 
本发明采用先存储后处理的方法,以保证有效数据不丢失,其中,对于存储到RAM中的数据,采用并行循环Gardner算法进行处理;对于存储到FIFO中的数据,采用并行Gardner算法进行处理。并行Gardner算法环路滤波器及内插参数的初始值由并行循环Gardner算法设定。 
其中,如图5所示为并行循环Gardner模块200所执行的并行循环Gardner算法原理框图。并行循环Gardner模块200从RAM中正反相间读取数据,将时钟恢复后的单倍符号速率数据输出到输出控制模块400,并设置并行Gardner算法模块300环路滤波器及内插参数的初始值。该算法每次从RAM中读取NP个符号数据,然后进行NP路并行计算。如图6所示,该算法即步骤S2进一步包括:S21.初始化并行循环Gardner算法的各参数,设定读取次数;S22.从RAM中读取数据;S23.内插输入控制;S24.插值运算;S25.内插输出控制及丢点处理;S26.m倍抽取,输出只包含零点及最佳采样点的数据;S27.计算时钟误差;S28.环路滤波;S29.内插控制;S210.若达到设定的读取次数L,结束时钟恢复,否则,返回步骤S22。 
其中,在步骤S22中,从RAM中正反相间读取数据,每次读取NP个符号数据作为一个数据组输出,同时标识发生正反转换的数据组,即若该数据组中包含正向最大地址数据或反向零地址数据,则标识该组数据,并记录正向或反向最后一个数据在数据组中的位置,正反相间反复读取数据共L次,L为设定的读取次数,为保证数据正向输出,L设定为奇数。 
步骤S23的作用是为NP路并行插值器输入正确的数据。其中,并行循环Gardner算法模块200中执行内插输入控制的单元是长度为NP+NI-1的数据缓存区,该单元接收从RAM中读取的NP路数据,更新数据缓存区,然后输出NP路数据,每路数据包括NI个符号,NI为参与插值运算的数据数。 
在步骤S24中,并行循环Gardner算法模块200中执行插值运算的并行插值器进行NP路并行插值运算,NP路并行插值器的插值函数相同,输出NP个插值后数据。 
在步骤S25中,并行循环Gardner算法模块200中执行内插输出控制的单元采用长度为2NP的FIFO结构,内插输出控制的方法为:将1~NP路插值后的有效数据依次写入该单元的FIFO中,若该单元的 FIFO中写入的有效数据长度大于等于NP,则并行输出NP个数据,否则不输出数据。丢点处理在数据正反转换处完成,其目的是丢弃插值后的若干个数据,保证只利用零点及最佳采样点进行时钟误差检测,同时保证环路滤波器的稳定性。图7所示为丢点处理示意图,图中实心圆黑点表示采样点,空心圆点表示保留的插值点,空心方形点表示丢弃的插值点,E点为正向最后一个采样点,A点为利用正向最后4个采样数据所得的插值点,B点为利用反向数据所保留的第一个插值点,E点在反向时重复一次。图中所示为采样时钟略高于4倍符号速率,NI=4的情形,由于正反重复,采样数据是左右对称的。插值后的数据点可以分为四类,分别属于最佳采样点集S,最佳采样点到零点之间的过渡点集T1,零点集Z及零点到最佳采样点之间的过渡点集T2。图7(a)~(d)分别表示点A属于集合S、T1、Z及T2的情况,丢点处理后,B分别属于T1、Z、T2及S。其规律是,在正反转换处,当A∈S时,丢弃4个插值点,B∈T1;当A∈T1时,丢弃6个插值点,B∈Z;当A∈Z时,丢弃4个插值点,B∈T2;当A∈T2时,丢弃6个插值点,B∈S。 
在步骤S26中,执行m倍抽取保证输出零点及最佳采样点以进行时钟误差检测。 
在步骤S27中,并行循环Gardner算法模块200中执行计算时钟误差的单元采用并行算法同时计算多路误差,最终输出误差为多路误差的和。 
在步骤S28中,优选地采用式 H ( z ) = g p + g i 1 - z - 1 进行环路滤波。 
在步骤S29中,并行循环Gardner算法模块200中执行内插控制的单元根据上一个数据组插值后数据是否跳点,以及本数据组是否发生正反转换等标志计算内插控制参数,并设置每一路插值计算数据是否有效的标志。 
并行Gardner模块300执行步骤S3的原理框图如图8所示,该 算法每次从FIFO中顺序读取NP个数据,进行NP路并行计算。该算法环路滤波器及内插控制的初始值从并行循环Gardner算法模块200中获取。如图9所示,该方法即步骤S3进一步包括步骤:S31.初始化并行Gardner算法的各参数;S32.从FIFO中读取数据;S33.内插输入控制;S34.插值运算;S35.内插输出控制;S36.m倍抽取,输出只包含零点及最佳采样点的数据;S37.计算时钟误差;S38.环路滤波;S39.内插控制;S310.若FIFO为空,则时钟恢复结束,否则,返回步骤S32。 
其中,在步骤S32中,从FIFO中顺序读取数据,每次读取NP个符号数据作为一个数据组并行输出,直至FIFO为空。 
在步骤S33中,并行Gardner算法模块300中执行内插输入控制的单元是长度为NP+NI-1的数据缓存区,该单元接收从FIFO中读取的数据,更新数据缓存区,然后输出NP路数据,每路数据NI个符号,NI为参与插值运算的数据数,其作用是为NP路并行插值器输入正确的数据。 
在步骤S34中,并行Gardner算法模块300中执行插值运算的并行插值器进行NP路并行插值运算,输出NP个插值后数据,NP路并行插值器的插值函数相同。 
在步骤S35中,并行Gardner算法模块300中执行内插输出控制的单元采用长度为2NP的FIFO结构,将1~NP路插值后的有效数据依次写入该单元的FIFO中,若该单元的FIFO中写入的有效数据长度大于等于NP,则并行输出NP个数据,否则不输出数据。 
在步骤S36中,执行m倍抽取保证输出零点及最佳采样点以进行时钟误差检测。 
在步骤S37中,并行Gardner算法模块300中执行计算时钟误差的单元采用并行算法同时计算多路误差,输出多路误差的和。 
在步骤S38中,优选地采用式 H ( z ) = g p + g i 1 - z - 1 进行环路滤波。 
在步骤S29中,并行Gardner算法模块300中执行内插控制的单元根据上一个数据组插值后数据是否跳点计算内插控制参数,并设置每一路插值计算数据是否有效的标志。 
实施例 
本实施例的无线突发通信系统中,发送端选择QPSK调制方式,发送的突发数据长度为2.5M个符号,开始的30个符号为保护间隔,可以丢弃。在接收端,进行近似4倍过采样,每个采样数据用8bits表示,fs/f=4.008,fs为采样速率,f为符号速率。在记录控制模块控制下,前2048个符号数据写入RAM,RAM需要存储I、Q两路信号,大小为4096字节,从第2049个符号开始,写入FIFO,直到数据结束。FIFO的大小足够大,以保证在并行Gardner算法执行前数据不溢出。 
在向RAM写入数据的同时,并行循环Gardner算法开始执行,设定正反相间反复读取L=5次数据,最终保证数据正向输出。选择NP=8路并行计算,即每次从RAM中I、Q两路各读取8个数据,插值运算中NI=4,选择Cubic插值函数,具体步骤如下: 
S101.置初值,设置并行循环Gardner算法中插值估值整数部分m0,j=0,插值估值分数部分μ0,j=0,j=1,2,...,NP,标记正反转换标志Repeat_flag=0,正反转换位置Repeat_Position=0,跳点标志Jump_flag=0,重复次数L’=0。 
S102.从RAM中每次读取NP=8个符号数据作为一个数据组并行处理。若该数据组中数据包含正向最大地址数据,或者反向0地址数据,设置该组正反转换标志Repeat_flag=1,同时记录下正向或反向最后一个数据在组中的位置Repeat_Position,1≤Repeat_Position≤Np。 
S103.内插输入控制,为NP路并行插值器输入正确的数据。其输入为从RAM中读取的NP个数据,输出是NP路并行插值器的输入数据,每路数据为NI个符号。内插输入控制单元是长度为NP+NI-1= 11的数据缓存区,若输入数据为din(iTs),i=1,2,…,Np,则内插输入控制首先进行数据更新 
d ICI ( i T s ) = d ICI ( ( N p + i ) T s ) , i = 1,2 , · · · , N I - 1 d ICI ( i T s ) = d in ( ( i - N I + 1 ) T s ) , i = N I , N I + 1 , · · · , N p + N I - 1 - - - ( 6 )
即将其缓存区中的后NI-1个数据依次移到最前端,从第NI个数据开始依次为从RAM中读取的数据。其输出为NP路并行插值器的输入数据。 
rj(iTs)=dICI[(i+j-1)Ts],i=1,2,…,NI,j=1,2,…,Np(7) 
其中rj(iTs)表示第j路插值器的第i个数据。 
S104.进行插值运算 
r j ( m n , j T s + μ n , j T s ) = Σ i = I 1 I 2 r j [ ( m n , j - i ) T s ] h I [ ( i + μ n , j ) T s ] - - - ( 8 )
NP路并行插值器的插值函数相同,在本实施例中插值后数据是4倍符号速率。 
S105.内插输出控制及丢点处理,将1~NP路插值后有效数据依次写入内插输出控制FIFO中。若第j路插值器数据有效信号Enable_Out(j)=1,则该路数据进入FIFO,否则跳过此点不予处理。若该组数据Repeat_flag=1,根据Repeat_Position位置点为零点,最佳采样点或过渡点,按照图7所示方法进行丢点处理。如果所丢的Nd个点中有Ne个无效数据点,即Ne个Enable_Out(j)=0的点,则Nd=Nd+Ne。此丢点过程涉及多组数据,与并行路数NP有关。当内插输出控制FIFO中的有效数据长度大于等于NP,则输出NP个数据到下一单元,否则不输出数据。 
S106.m倍抽取,在本实施例中为2倍抽取,保留奇数点。输入为NP=8路并行数据,输出为4路并行数据,只包含零点及最佳采样点,输出数据分别为零点zn(1),zn(3),最佳采样点zn(2),zn(4)。 
S107.计算时钟误差; 
采用式 e n = Re { z ( nT + T / 2 + ϵ ^ n T ) [ z * ( nT + T + ϵ ^ n T ) - z * ( nT + ϵ ^ n T ) ] } 计算时钟误差,具体为 
e n , 1 = Re { z n ( 1 ) [ z n * ( 2 ) - z n - 1 * ( 4 ) ] } e n , 2 = Re { z n ( 3 ) [ z n * ( 4 ) - z n * ( 2 ) ] } e n = e n , 1 + e n , 2 - - - ( 9 )
这里zn-1(4)为上组数据的最后一个最佳采样点,en为输出的时钟误差。 
S108.环路滤波,环路滤波器原理图如图2所示,其转移函数同(3)式,即为: 
H ( z ) = g p + g i 1 - z - 1 ,
其中gp=1/28,gi=1/215为常数,滤波输出为w(mn)。 
S109.计算内插控制参数,其进一步包括步骤: 
S109.1若上组数据并行计算没有发生跳点,即Jump_flag=0,则 
Figure G2009102416294D00124
否则,若Jump_flag=1,则 
Figure G2009102416294D00125
S109.2如果从第J个数据开始,μ0+1,j≥1,J≤j≤Np,则 
Enable _ Out ( j ) = 1,1 &le; j < J Enable _ Out ( J ) = 0 Enable _ Out ( j ) = 1 , J < j &le; N p - - - ( 12 )
&mu; n + 1 , J = 0 &mu; n + 1 , j = [ &mu; n + 1 , j - 1 ] mod 1 , J < j &le; N p - - - ( 13 )
S109.3若该组标记Repeat_flag=1,则 
S109.3.1若Repeat_Position<Np,则 
μn+1,j=1-μn+1,Repeat_Position              (14)+w(mn)·(j-Reapeat_Position-1),Reapeat_Position<j≤Np
对于j>Reapeat_Position,重复S109.2。 
S109.3.2若Repeat_Position=NP,则 
&mu; n , N p = 1 - &mu; n , N p - - - ( 15 )
即重新设置用于下一组数据运算的 
S109.4若存在Enable_Out(j)=0,1≤j≤Np,则置Jump_flag=1,否则Jump_flag=0。 
S110.当重复次数达到设定读取次数L时,结束,否则返回到步骤S102。 
并行循环Gardner算法将时钟恢复后数据输出到输出控制模块,算法结束后,启动并行Gardner算法,并将参数 
Figure G2009102416294D00133
及环路滤波器输出值传递给并行Gardner算法模块。并行Gardner算法选择NP=8路并行计算,即每次从FIFO中I、Q两路各读取8个数据,插值运算NI=4,选择Cubic插值函数,具体步骤如下: 
S201.置初值,并行Gardner算法的插值估值整数部分m0,j=0,插值估值分数部分μ0,j,环路滤波器初始值由并行循环Gardner算法设定,j=1,2,…,Np。 
S202.从FIFO中每次读取NP=8个符号数据作为一组并行处理。 
S203.内插输入控制,作用是为NP路并行插值器输入正确的数据。其输入为从FIFO中读取的NP个数据,输出是NP路并行插值器的输入数据,每路数据为NI个符号。内插输入控制是长度为Np+NI-1=11的数据缓存区,若输入数据为din(iTs),i=1,2,…,Np,则内插输入控制首先利用(6)式进行数据更新,即将其缓存区中的后NI-1个数据依次移到最前端,从NI个数据开始依次为从FIFO中读取的数据。 其输出为NP路并行插值器的输入数据,公式同(7)式。 
S204.进行插值运算,用(8)式进行插值运算,NP路并行插值器的插值函数相同,在本实施例中插值后数据是4倍符号速率。 
S205.内插输出控制,将1~NP路插值后有效数据依次写入内插输出控制FIFO中。若第j路插值器数据有效信号Enable_Out(j)=1,则该路数据进入FIFO,否则跳过此点不予处理。当内插输出控制FIFO中的有效数据长度大于等于NP,则输出NP个数据到下一模块,否则不输出数据。 
S206.m倍抽取,在本实施例中为2倍抽取,保留奇数点。输入为NP=8路并行数据,输出为4路并行数据,只包含零点及最佳采样点,输出数据分别为零点zn(1),zn(3),最佳采样点zn(2),zn(4)。 
S207.计算时钟误差,利用(9)式计算时钟误差。 
S208.环路滤波,环路滤波器原理图如图2所示,其转移函数同(3)式,其中gp=1/28,gi=1/215为常数,输出为w(mn)。 
S209.计算内插控制参数 
S209.1若上组数据并行计算没有发生跳点,即Jump_flag=0,则利用(10)式计算mn+1,j及μn+1,j,j=1,2,…,Np,否则,若Jump_flag=1,则利用(11)式计算。 
S209.2如果从第J个数据开始,μn+1,j≥1,J≤j≤Np,则用(12)式确定Enable_Out(j),1≤j≤Np,用(13)式更新μn+1,j,J≤j≤Np。 
S209.3若存在Enable_Out(j)=0,1≤j≤Np,则置Jump_flag=1,否则Jump_flag=0。 
S210.当FIFO中数据为空,结束,否则返回到步骤S202。 
输出控制模块控制输出并行循环Gardner算法或并行Gardner算法时钟恢复后单倍符号速率数据。 
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下, 还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。 

Claims (4)

1.一种并行无数据辅助时钟恢复方法,该方法包括步骤:
S1.将接收到的数据存储到RAM或FIFO中;
S2.在数据存储到RAM的同时,执行并行循环Gardner算法,从所述RAM中读取数据,进行时钟恢复;
S3.执行并行Gardner算法,从所述FIFO中读取数据,进行时钟恢复;
S4.输出最终时钟恢复数据;
在步骤S1中,将前NR个符号数据存储到所述RAM中,从第NR+1个符号数据开始,将剩余符号数据存储到所述FIFO中;
步骤S2进一步包括:
S21.初始化并行循环Gardner算法的各参数,设定读取次数;
S22.从所述RAM中读取数据;
S23.内插输入控制;
S24.插值运算;
S25.内插输出控制及丢点处理;
S26.m倍抽取,输出只包含零点及最佳采样点的数据;
S27.计算时钟误差;
S28.环路滤波;
S29.内插控制;
S210.若达到设定的读取次数,结束时钟恢复,否则,返回步骤S22;
在步骤S22中,从所述RAM中正反相间读取数据,每次读取NP个符号数据作为一个数据组输出,同时标识发生正反转换的数据组,并记录正向或反向最后一个数据在所述标识的数据组中的位置;
在步骤S23中,内插输入控制的方法为:接收从所述RAM中读取的数据,更新数据缓存区,然后输出NP路数据,每路数据包括NI个符号,NI为参与插值运算的数据数;
在步骤S24中,进行NP路并行插值运算,输出NP个插值后数据;
在步骤S25中,内插输出控制的方法为:将NP个插值后的有效数据写入执行内插输出控制的单元的FIFO中,若所述执行内插输出控制的单元的FIFO中写入的有效数据长度大于等于NP,则并行输出NP个数据,否则不输出数据,所述丢点处理在正反转换处完成;
在步骤S27中,采用并行算法同时计算多路误差,输出多路误差的和;
在步骤S29中,根据上一个数据组插值后数据是否跳点、以及本数据组是否发生正反转换来计算内插控制参数,并标识每一路插值计算数据是否有效;
步骤S3进一步包括步骤:
S31.初始化并行Gardner算法的各参数;
S32.从所述FIFO中读取数据;
S33.内插输入控制;
S34.插值运算;
S35.内插输出控制;
S36.m倍抽取,输出只包含零点及最佳采样点的数据;
S37.计算时钟误差;
S38.环路滤波;
S39.内插控制;
S310.若FIFO为空,则时钟恢复结束,否则,返回步骤S32;
在步骤S32中,从所述FIFO中按顺序读取数据,每次读取NP个符号数据作为一个数据组输出,直至所述FIFO为空;
在步骤S33中,内插输入控制的方法为:接收从所述FIFO中读取的数据,更新数据缓存区,然后输出NP路数据,每路数据包括NI个符号,NI为参与插值运算的数据数;
在步骤S34中,进行NP路并行插值运算,输出NP个插值后数据;
在步骤S35中,内插输出控制的方法为:将所述NP个插值后有效数据写入执行内插输出控制的单元的FIFO中,若所述执行内插输出控制的单元的FIFO中写入的有效数据长度大于等于NP,则并行输出NP个数据,否则不输出数据;
在步骤S37中,采用并行算法同时计算多路误差,输出多路误差的和;
在步骤S39中,根据上一个数据组插值后数据是否跳点计算内插控制参数,并标识每一路插值计算数据是否为有效。
2.如权利要求1所述的并行无数据辅助时钟恢复方法,其特征在于,所述并行Gardner算法环路滤波器及内插参数的初始值由所述并行循环Gardner算法设定。
3.如权利要求1所述的并行无数据辅助时钟恢复方法,其特征在于,所述设定的读取次数为奇数。
4.一种并行数据辅助时钟恢复系统,该系统包括:
记录控制模块,用于将接收到的数据存储到RAM或FIFO中:将前NR个符号数据存储到所述RAM中,从第NR+1个符号数据开始,将剩余符号数据存储到所述FIFO中;
并行循环Gardner算法模块,用于在数据存储到RAM的同时,执行并行循环Gardner算法,从所述RAM中读取数据,进行时钟恢复;
并行Gardner算法模块,用于执行并行Gardner算法,从所述FIFO中读取数据,进行时钟恢复;
输出控制模块,用于输出最终时钟恢复数据;
所述并行循环Gardner算法模块按照以下步骤进行时钟恢复:
S21.初始化并行循环Gardner算法的各参数,设定读取次数;
S22.从所述RAM中读取数据;
S23.内插输入控制;
S24.插值运算;
S25.内插输出控制及丢点处理;
S26.m倍抽取,输出只包含零点及最佳采样点的数据;
S27.计算时钟误差;
S28.环路滤波;
S29.内插控制;
S210.若达到设定的读取次数,结束时钟恢复,否则,返回步骤S22;
在步骤S22中,从所述RAM中正反相间读取数据,每次读取NP个符号数据作为一个数据组输出,同时标识发生正反转换的数据组,并记录正向或反向最后一个数据在所述标识的数据组中的位置;
在步骤S23中,内插输入控制的方法为:接收从所述RAM中读取的数据,更新数据缓存区,然后输出NP路数据,每路数据包括NI个符号,NI为参与插值运算的数据数;
在步骤S24中,进行NP路并行插值运算,输出NP个插值后数据;
在步骤S25中,内插输出控制的方法为:将NP个插值后的有效数据写入执行内插输出控制的单元的FIFO中,若所述执行内插输出控制的单元的FIFO中写入的有效数据长度大于等于NP,则并行输出NP个数据,否则不输出数据,所述丢点处理在正反转换处完成;
在步骤S27中,采用并行算法同时计算多路误差,输出多路误差的和;
在步骤S29中,根据上一个数据组插值后数据是否跳点、以及本数据组是否发生正反转换来计算内插控制参数,并标识每一路插值计算数据是否有效;
所述并行Gardner算法模块按照以下步骤进行时钟恢复:
S31.初始化并行Gardner算法的各参数;
S32.从所述FIFO中读取数据;
S33.内插输入控制;
S34.插值运算;
S35.内插输出控制;
S36.m倍抽取,输出只包含零点及最佳采样点的数据;
S37.计算时钟误差;
S38.环路滤波;
S39.内插控制;
S310.若FIFO为空,则时钟恢复结束,否则,返回步骤S32;
在步骤S32中,从所述FIFO中按顺序读取数据,每次读取NP个符号数据作为一个数据组输出,直至所述FIFO为空;
在步骤S33中,内插输入控制的方法为:接收从所述FIFO中读取的数据,更新数据缓存区,然后输出NP路数据,每路数据包括NI个符号,NI为参与插值运算的数据数;
在步骤S34中,进行NP路并行插值运算,输出NP个插值后数据;
在步骤S35中,内插输出控制的方法为:将所述NP个插值后有效数据写入执行内插输出控制的单元的FIFO中,若所述执行内插输出控制的单元的FIFO中写入的有效数据长度大于等于NP,则并行输出NP个数据,否则不输出数据;
在步骤S37中,采用并行算法同时计算多路误差,输出多路误差的和;
在步骤S39中,根据上一个数据组插值后数据是否跳点计算内插控制参数,并标识每一路插值计算数据是否为有效。
CN 200910241629 2009-11-27 2009-11-27 并行无数据辅助时钟恢复方法及其系统 Active CN101719819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910241629 CN101719819B (zh) 2009-11-27 2009-11-27 并行无数据辅助时钟恢复方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910241629 CN101719819B (zh) 2009-11-27 2009-11-27 并行无数据辅助时钟恢复方法及其系统

Publications (2)

Publication Number Publication Date
CN101719819A CN101719819A (zh) 2010-06-02
CN101719819B true CN101719819B (zh) 2013-02-27

Family

ID=42434340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910241629 Active CN101719819B (zh) 2009-11-27 2009-11-27 并行无数据辅助时钟恢复方法及其系统

Country Status (1)

Country Link
CN (1) CN101719819B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812594A (zh) * 2014-02-26 2014-05-21 清华大学 一种无数据辅助的并行时钟同步方法及系统
CN105791187B (zh) * 2014-12-24 2019-04-30 深圳市中兴微电子技术有限公司 时钟恢复均衡装置与方法
CN110855317A (zh) * 2019-08-15 2020-02-28 熊军 一种非均匀扩频的同步方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994000929A1 (de) * 1992-06-25 1994-01-06 Siemens Aktiengesellschaft Taktphasendetektor
CN101227266A (zh) * 2008-01-30 2008-07-23 华为技术有限公司 一种时钟恢复的方法及装置
CN101562517A (zh) * 2009-05-22 2009-10-21 清华大学 无线突发通信全数字接收机无数据辅助同步方法及其系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994000929A1 (de) * 1992-06-25 1994-01-06 Siemens Aktiengesellschaft Taktphasendetektor
CN101227266A (zh) * 2008-01-30 2008-07-23 华为技术有限公司 一种时钟恢复的方法及装置
CN101562517A (zh) * 2009-05-22 2009-10-21 清华大学 无线突发通信全数字接收机无数据辅助同步方法及其系统

Also Published As

Publication number Publication date
CN101719819A (zh) 2010-06-02

Similar Documents

Publication Publication Date Title
CN101719819B (zh) 并行无数据辅助时钟恢复方法及其系统
CN103278203A (zh) 一种高频科氏质量流量计数字信号处理系统
CN102437852A (zh) 一种利用低速ADC实现2.5GSa/s数据采集电路及方法
CN101267292A (zh) 时钟和数据恢复电路以及包括其的通信设备
CN106842248A (zh) 一种提高北斗接收机定时定位速度的新方法
CN104132663A (zh) 一种基于fpga的导航计算机协处理器
CN109445753A (zh) 一种基于交互缓存技术的数据采集和主动同步组帧系统
CN104077492A (zh) 一种基于fpga的采样数据内插方法
CN101562517B (zh) 无线突发通信全数字接收机无数据辅助同步方法及其系统
CN111786865B (zh) 一种数据处理方法及设备
CN101276002A (zh) 高温单片相位可编程直接数字频率合成源
CN109388882A (zh) 一种适用于专用集成电路设计的交错匹配滤波方法
CN100525123C (zh) 一种接收机及接收无线信号的方法
CN101764622B (zh) 并行多码率卷积码译码方法及其实现装置
CN103257846A (zh) 一种用于压缩采样的伪随机序列产生装置
CN101834818B (zh) Gmsk调制装置及方法
CN103592489A (zh) 数字示波器深存储设计方法
CN207968462U (zh) 一种基于过采样的非同源时钟数据恢复系统
CN102594361A (zh) 音频异步采样率转换处理方法
CN106771351B (zh) 基于数字相频检测法的谐振式加速度计频率锁定电路
CN109361411B (zh) 一种用于简化同步电路的方法及装置
CN103812594A (zh) 一种无数据辅助的并行时钟同步方法及系统
CN101795254B (zh) 并行无数据辅助载波恢复方法及其系统
CN101154957B (zh) Turbo码交织器及交织地址传输方法
US7194021B2 (en) Digital matched filter

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant