基于Gardner位定时同步算法
- 格式:doc
- 大小:1.09 MB
- 文档页数:12
改进环路结构的Gardner定时恢复算法李维; 江虹; 伍春; 邓皓文【期刊名称】《《计算机应用》》【年(卷),期】2019(039)010【总页数】5页(P3013-3017)【关键词】位同步环路结构; 改进型Gardner算法; 加权平均; 同步建立时间; 同步性能【作者】李维; 江虹; 伍春; 邓皓文【作者单位】西南科技大学信息工程学院四川绵阳621010; 西南科技大学国防科技学院四川绵阳621010【正文语种】中文【中图分类】TN911.70 引言定时恢复是数字解调技术中的关键环节,对解调系统的性能有着重要的影响[1-2]。
早期的Gardner定时同步算法能够较好地解决接收端接收到的信号与本地时钟信号不一致的问题,但存在同步建立时间长、稳定性较差等缺陷,其环路性能难以满足当前高速解调系统的需要[3-4]。
随着数字解调技术的快速发展,同步建立时间短、环路稳定性高的定时恢复算法成为一项迫切需求[5]。
为此,文献[6]利用相邻码元符号相同时,对误差检测器检测出的误差进行取反,得出了一种改进的Gardner算法,记为改进的Gardner定时恢复算法1(modified Gardner timing recovery Algorithm 1,mGA1);文献[7]对mGA1算法进行了改进(记为mGA2算法),降低了算法复杂度。
上述两种方法在一定程度上提高了符号同步的性能,但仍然存在算法复杂度高、硬件资源消耗大、环路稳定性较差等问题。
为克服上述方法的不足,文献[8]提出了一种类似锁频锁相(Frequency and Phase Lock Loop, FPLL)的改进Gardner定时恢复算法(记为mGA3算法),其同步性能与mGA1算法和mGA2算法相比有了进一步的提升;但该算法在同步过程中,符号收敛速度较慢,定时抖动较大。
为提高数据处理速度,文献[9]在原有串行定时同步的基础上,对Gardner算法进行了改进,提出了一种并行Gardner定时同步算法,在一定程度上提高了数据处理的速度;但环路分数间隔收敛时抖动较大,不稳定,且占用较多的乘法器、加法器资源。
基于FPGA的Gardner位定时同步的综合实验设计作者:刘桂华龙惠民徐锋来源:《数字技术与应用》2017年第07期摘要:本文将 FPGA技术引入教学,基于内插方式的Gardner定时恢复算法的数字接收机关键技术理论分析基础上,实现了该算法的数字通信系统的位同步设计的FPGA(Field Programmable Gata Array)综合设计,并在FPGA 实验平台实现硬件验证。
实践表明,该项目达到电子综合设计的教学要求,能有效提高学生的系统综合、系统分析的实践能力的培养。
关键词:电子综合设计;Gardner位定时同步;FPGA中图分类号:TN874 文献标识码:A 文章编号:1007-9416(2017)07-0167-02电子综合设计一般采用软件仿真的方法使同学加深对概念和原理的理解。
但是本次设计将FPGA技术引入教学,改善了以前较为复杂数字通信实验仅仅仿真验证,真正能将学生对电路原理的理解得以快速在FPGA平台上进行实现,既达到了理论与实践相结合,又达到快速验证设计方案的目的。
笔者结合数字通信的基本原理[1-2],设计了基于Gardner位定时同步算法及其FPGA实现的综合设计项目。
1 系统设计方案在软件无线电接收机中,要正确的恢复发送端的信号,需要对码元的中间时刻进行周期性的采样判决,必须知道每个码元的起止时刻,才能采样恢复出发送端的信号[3]。
由于接收到的信号传输过程中受到噪声、多径效应等影响,与本地时钟信号不同步,这就需要位同步算法,恢复出与接收码元同频同相的时钟信号。
位同步性能的好坏直接影响整个通信系统的性能。
本次设计是基于内插方式的Gardner定时恢复算法。
Gardner定时恢复算法就是利用内插滤波器恢复出信号的最大值再进行重采样。
一种典型的Gardner定时恢复算法结构框图如图1所示。
定时恢复算法主要由定时误差检测器、环路滤波器、数控振荡器和插值滤波器组成。
模拟输入信号x(t)在满足奈奎斯特基本采样定律条件下,经过本地固定时钟周期采样后变为离散信号x(mTs),经过插值滤波器插值后,由定时误差检测器检测输入信号与本地时钟的相位误差τ(n),再由环路滤波器滤除噪声及高频成分e(n),由数控振荡器得出整数采样时刻mk和插值位置uk,从而定时输出y(kTi)。
gardner算法算法matlab仿真请教(附程序)
实际上你也可以2倍上采样后,再下采样,你取奇数点和偶数点,结果是不同的”这句话提醒了我!1.程序中的gardner位定时算法是正确的;
2.采样时,不同的起始点采样,u值的最后收敛值是不同的,但都在0~1范围内。
3.当每个符号采样4个点时,程序中我编写的代码aI=rcosflt(real(psk2),1,4,'sqrt',0.5),表示对一个符号从起始点到最末点的时间段时每隔T/4时间采样一次,4个采样点时刻依次为0,T/4,2T/4,3T/4;这样,gardner算法收敛后,mk为2T/4时,uk=0,计算出的插值为2T/4处的值(眼图张开最大时的值),mk为T/4,uk=1,计算出的插值仍为2T/4处的值(眼图张开最大时的值)。
因此,出现算法收敛后uk在0与1来回振荡的现象;
4. 当进行上采样,再进行下采样,取不同的下采样序号,根据gardner算法原理,只会出一固定的值,因此不会出现振荡现象。
5.“”另外原来的程序也是有问题的,如h1=rcosfir(0.5,[-8,8],4,1,'sqrt');实际上应为:h1=rcosfir(0.5,[-8,8],8,1,'sqrt');“ 的说法是正确的;
6. “psk2 = upsample(psk2,4); % 就插这么一句,下面还是你的程序”只加这么一句是不可以的,后续可以再进行下采样,则可以得到正确的结果。
一种16倍采样的Gardner定时同步方法韩孟来;倪永婧【摘要】DVB-S2X(The second generation Digital Video Broadcasting by Satellite Extensions)标准给出了高至256阶的APSK(Amplitude Phase Shift Keying)调制方式,对解调端的符号定时同步、帧同步和载波恢复都提出了更高的要求.结合DVB-S2 X技术手册的建议,在经典的基于4倍符号速率采样的Gardner 定时同步的基础上,提出了一种在定时同步环路前端加预滤波器并将原来的单路插值扩展到4路插值的基于16倍采样的同步方法.介绍了该方法的思想和结构并进行了仿真实验,结果表明该方法相比于经典Gardner方法有更好的误码性能,在高阶调制的情况下表现尤为突出.【期刊名称】《电讯技术》【年(卷),期】2019(059)002【总页数】6页(P223-228)【关键词】DVB-S2X;定时同步;Gardner算法;预滤波;16倍采样【作者】韩孟来;倪永婧【作者单位】中国电子科技集团公司第五十四研究所,石家庄050081;河北科技大学信息科学与工程学院,石家庄050081【正文语种】中文【中图分类】TN9111 引言现代数字接收普遍采用最佳接收机的原理,在接收端采用匹配滤波器使得在最佳采样时刻信号拥有最佳的信噪比,因此保证接收机能够在最佳采样时刻进行采样至关重要。
在实际的通信系统中信道的延时无法确定,我们需要根据接收到的信号估计出系统延时,恢复最佳采样时刻的时钟。
关于定时同步已经有大量的研究,可以将其分为数据辅助和非数据辅助两大类,前者包括Mueller&Muller方法[1]、过零检测(Zero Crossing Detection,ZCD)方法[2],后者包括Gardner方法[3]、平方估计[4]等方法。
数据辅助的方法也称为判决反馈方法,其依赖于判决反馈值的准确性,因此判决反馈的方法需要在载波同步完成之后才能进行,在实际中非数据辅助的方法使用更多。
基于System Generator的Gardner算法的建模与实现赵旭东;於辉;刘荣毅【摘要】为了在数字无线通信中实现位同步,设计一种基于Gardner算法的位同步系统.该系统由定时误差检测,环路滤波器,内插滤波器以及控制器模块组成,运用Xilinx公司高级系统级FPGA开发工具System Generator实现对各个模块的建模和实现.结果表明Gardner算法只需每个符号周期内采样2次,就能算出定时误差,并且对载波相位不敏感,这就使得Gardner算法的结构简单、运算量小,从而能够得到广泛应用.【期刊名称】《电子设计工程》【年(卷),期】2010(018)006【总页数】3页(P104-106)【关键词】Gardner;位同步;System Generator;FPGA【作者】赵旭东;於辉;刘荣毅【作者单位】桂林电子科技大学,信息与通信学院,广西,桂林,541004;桂林电子科技大学,信息与通信学院,广西,桂林,541004;桂林电子科技大学,信息与通信学院,广西,桂林,541004【正文语种】中文【中图分类】TN911.7同步是通信系统中一个重要的实际问题。
通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步系统。
在数字通信中,消息是由一串连续的信号码元传递的。
这些码元通常都有相同的持续时间。
接收端接收这个码元序列时,一般均需知道每个码元的起止时刻,从而对码元进行判决。
在接收端产生与接收码元的重复频率和相位一致的定时脉冲序列的过程称为码元同步或位同步、位定时,而称这个定时脉冲序列为码元同步脉冲或位同步脉冲[1]。
Gardner算法是位同步算法的一种,应用广泛,实现方法很多,传统方法是用DSP或Quartus,这里给出一种新的实现方式,即用System Generator实现。
System Generator for DSP是业内领先的高级系统级FPGA开发工具,借助FPGA设计高性能DSP系统,其强大的提取功能可利用最先进的FPGA来开发高度并行的系统,并和Simulink实现无缝链接,快速建模并自动生成代码。
1.课题背景在数字通信中,消息是由一串连续的信号码元传递的。
这些码元通常都有相同的持续时间。
接收端接收这个码元序列时,一般均需知道每个码元的起止时刻,从而对码元进行判决。
例如,用取样判决器对信号进行取样判决时,一般均应对准每个码元最大值的位置。
因此,接收端必须要产生一个码元定时脉冲序列,并且定时脉冲的重复频率和相位(位置)要与接收码元一致。
即:接收端定时脉冲的重复频率和发送端码元速率相同;脉冲位置(即取样判决时刻)对准最佳取样判决位置。
我们把在接收端产生与接收码元的重复频率和相位一致的定时脉冲序列的过程称为码元同步或位同步、位定时,而称这个定时脉冲序列为码元同步脉冲或位同步脉冲。
2.课题相关理论概述Ganrder法是一种不需要先进行载波同步的定时误差估计算法。
这种方法是一种非判决指向方法,其基本思想是:提取出相邻码元最佳采样点的幅度和极性变化信息,再加上相邻码元过渡点是否为零这一信息,就可以从采样信号中提取出定时误差。
在系统设计中Gardner锁相环位于Costas载波同步锁相环之后,主要由四部分组成:内插器、时钟误差提取模块、环路滤波器以及控制器模块。
相互正交的I,Q两路信号的采样点通过运算每个符号期间都会产生一个定时错误样点。
通过定时误差检测把定时错误序列通过环路滤波器后送给数控振荡器,由数控振荡器产生参数控制插值滤波器,最后插值滤波器进行采样时刻调整,从而完成整个符号同步过程。
如何由接收到的采样点产生定时错误序列,这是Gardner算法的关键所在,在后面的章节,我们将详细讨论Gardner环的原理。
环路的基本工作流程这里就不做叙述了,有兴趣的同学可以查看相关的参考文献,内容基本雷同,下面对几个主要模块进行介绍。
时钟误差提取模块Gardner算法中的每个符号需要两个采样点,一个为符号的最佳观察点,一个为两个最佳观察点之间的采样点。
该算法使用与捕获与跟踪两种模式。
误差提取模块每个符号周期计算一次,理论计算公式为:环路滤波器控制器模块从功能方面看内插估值控制模块的主要完成的任务是计算小数间隔,以及产生再采样时钟Ti。
1.1位同步算法在软件无线电接收机中,要正确的恢复出发送端所携带的信号,接收端必须知道每个码元的起止时刻,以便在每个码元的中间时刻进行周期性的采样判决恢复出二进制信号[43]。
信号在传播过程中的延时一般是未知的,而且由于传输过程中噪声、多径效应等影响,造成接收到的信号与本地时钟信号不同步,这就需要位同步算法,恢复出与接收码元同频同相的时钟信号。
正确的同步时钟是接收端正确判断的基础,也是影响系统误码率的重要因素;没有准确的位同步算法,就不可能进行可靠的数据传输,位同步性能的好坏直接影响整个通信系统的性能[44]。
实现位同步算法的种类很多,按照处理方式的不同可分为模拟方式、半数字方式和全数字方式如图3-10所示。
a)b)c)图3-10 位同步算法模型Fig.3-10 Bit Synchronous Algorithm Model图3-10(a)模型为全模拟位同步实现技术,通过在模拟域计算出输入信号的位同步定时控制信号去控制本地时钟,对信号进行同步采样。
图3-10(b)模型为半模拟同步模型,该模型的主要思想是通过将采样后的信号经过一系列的数字化处理,提取出输入信号与本地时钟的偏差值,通过这个偏差来改变本地时钟的相位达到位同步。
(a)(b)两种方式都需要适时改变本地时钟的相位,不利于高速数字信号的实现且集成化程度较低。
图3-10(c)为全数字方式的位同步是目前比较常用方法,全数字方式的位同步算法十分适用于软件无线电的实现。
该方法通过一个固定的本地时钟对输入的模拟信号进行采样,将采样后的信号经过全数字化的处理实现同步;采用此种方法,实现简单,且便于数字化实现,对本地时钟的要求大大降低。
本次设计主要分析了基于内插方式的Gardner 定时恢复算法。
1.1.1 Gardner 定时恢复算法原理Gardner 定时恢复算法是基于内插的位同步方式,全数字方式的位同步算法模型中,固定的本地采样时钟不能保证能在信号的极值点处实现采样,所以需要通过改变重采样时钟或输入信号来实现极值处采样[45-46]。
Gardner 定时恢复算法就是通过改变输入信号的方式实现,利用内插滤波器恢复出信号的最大值再进行重采样,算法原理如图3-11所示。
采样时钟T i图3-11 Gardner 定时恢复算法原理Fig.3-11 Gardner Timing Recovery Theory输入信号为离散信号x(mT s ),采样率为T s ,符号周期为T ,重采样时钟为T i ,这里的重采样时钟周期T i =n*T(n 为一小整数)。
Gardner 定时恢复算法的基本思想就是,输入信号x(mT s )经过一个D/A 器件和一个模拟滤波器h(t),将数字信号恢复为模拟信号y(t)进行重采样,得到同步的输出信号y(kT i )。
插值滤波器模型中包含了虚拟的D/A 变换和模拟滤波器,但是只要具备下面三个条件,则内插完全可以通过数字方式实现。
① 输入采样序列x(mTs)② 内插滤波器脉冲响应h(t)③ 输入采样时间Ts 和输出采样时间Ti也就是说,图中的D/A 以及模拟滤波器都可以通过设计数字内插滤波器的方式实现。
这里T s 和T i 为固定的两个变量,T s /T i 不一定为整数,为表示出它们之间的变换过程,通过换算得到T i 和T s 的关系如公式(3-4)所示s k k si s i T u m T T k T kT )()(+== (3-4) m k 为比值的整数部分,可看做一个基本指针,表示了本地重采样时钟T i 对采样率为T s 的输入信号的整数倍重采样时刻,而u k 为比值的分数部分,指示了滤波器对输入信号的插值时刻。
一种典型的Gardner 定时恢复算法结构框图如图3-12所示。
图3-12 Gardner 定时恢复算法模型Fig.3-12 Gardner Timing Recovery Model符号速率为T 的模拟输入信号x(t)经过本地固定时钟周期T s 采样后变为离散信号x(mT s )(T s 与T 满足奈奎斯特基本采样定律)。
经过插值滤波器得出的值送入定时误差检测器得出输入信号与本地时钟的相位误差τ(n),再通过一个环路滤波器滤除其中的噪声及高频成分,将得到的值e(n)送入数控振荡器计算出整数采样时刻m k 和插值滤波器插值点位置u k 从而得到定时输出y(kT i )。
从图3-12中可以看出一个完整的定时恢复算法主要由定时误差检测器、环路滤波器、数控振荡器和插值滤波器组成。
其中环路滤波器与前一章中载波同步算法的环路滤波器设计方法相同。
这里主要介绍其他模块的设计方法。
1.1.2 定时误差检测器定时误差检测器采用一种非数据辅助的误差检测算法(Gardner 定时误差检测算法),内插后的信号每个符号内需要两个重采样点,一个点对应信号的最佳采样点;另一个为最佳采样点中间时刻的内插值。
定时误差计算公式为:)]1()([)2/1()(--⋅-=n y n yn y n τ (3-5)式中,τ(n)为定时误差检测值;y(n)为信号的采样值;n 为第n 个符号,输出信号的周期为T i 。
由(3-5)式可以看出,Gardner 算法只需要每个符号周期内的两个采样值,因此取T i =T/2即可满足算法要求。
定时误差检测算法示意图如图3-13所示。
采样点y(n)y(n-1/2)采样点中间采样点y(n-1/2)y(n)a)b)c)图3-13 定时误差检测Fig.3-13 Timing Error Detecter该算法具有明显的物理含义。
在没有定时误差时,如果有符号转换,则平均的中间采样点应该为零。
反之,中间采样点的值不为零,其大小取决于定时误差的大小,或者说中间采样点的值表示了定时误差的大小,但它不能表示定时误差的方向(超前或滞后)。
为了表示定时误差的方向,算法考虑中间采样点两边判决点的差值。
如果有符号转换,则该差值的符号就表示了定时误差的方向。
这样两者的乘积就完全确定了定时误差的大小和方向。
如果没有符号转换,则两边采样点的差为零,此时不能获取定时信息。
图3-13(a)中表示了当本地采样时钟与插值滤波器输出值同步时,定时误差检测器的采样值;同步时,两个极值采样点均为最大值,中间采样点的值为0,这时环路滤波器的输出值为0表示本地时钟已经与信号同步。
(b)图中,表示本地时钟超前的情况,本地时钟超前,则在中间采样点的值为正,表示本地时钟比信号超前,需要内插滤波器向后插值。
(c)图中,表示本地时钟比信号滞后,滞后的结果是中间时刻采样点的值为负,需要内插滤波器向前进行插值处理。
1.1.3 NCO 模块设计对于数控振荡器NCO 的设计,由于NCO 只是用于计算插值点的有效位置,也就不需要采用在ROM 表中预存输出波形的采样值。
可以根据输入信号来实时产生输出信号脉冲和差值点。
NCO 计算原理如下图所示tN C O 寄存器深度图3-14 NCO 原理图Fig.3-14 NCO Schematic DiagramNCO 用于对以T s 为采样时钟的输入信号进行抽样。
因而NCO 的工作时钟与输入信号的工作时钟一致也为T s ,而生成的重采样周期应该与输入信号的符号率同步为T i 。
每次NCO 寄存器溢出一次则表示要执行一次重采样操作。
每次NCO 寄存器过零点的时刻(m k +1)T s 便是内插滤波器进行一次运算的时刻(总是位于内插估计点位置的后一个T s 整点采样时刻)。
NCO 寄存器深度为1,假设当前样点m k T s 时刻NCO 寄存器的值为η(m k ),环路滤波器输出的控制字为W(m k ),表示每次递减的步进为W(m k ),用差分公式可表示为]1mod[)]()([)1(k k k m W m m -=+ηη当η(m k )<W(m k )时,就表示下一个符号周期即将到来,NCO 也将产生一次过零点,寄存器的值模1后的值设为下一个符号周期NCO 的初始值。
从图3-14经过几何分析不难得出:)1(1)1()(+--=k k k k m u m u ηη 从而得到分数倍插值位置u k 为:)()()()1(1)(k k k k k k m W m m m m u ηηηη=++-=通过精确的除法运算,就可以实时的得到分数间隔值u k ,这样,内插滤波器的控制参数也就通过NCO 完全提取出来。
1.1.4 插值滤波器设计Gardner 定时恢复算法中的插值滤波器主要作用就是通过输入信号x(mT s )与采样点m k 与分数插值点u k 来实时生成与本地时钟相位相同的信号。
插值滤波器输入信号x(mT s )与输出信号y(kT i )的关系可表示为:])[(])[(])[()(21s k I I I i s k s k k i T u i h T i m x T u m y kT y +-=+=∑= (3-6)式中,I 1、I 2决定插值滤波器的抽头系数,h I 为插值滤波器的冲激响应。
m k 、u k 由数控振荡器(NCO)提供,m k 决定内插器的整数倍插值位置,它以重采样时钟触发方式体现。
u k 控制小数倍插值位置直接送给插值滤波器,控制插值点的位置。
输出的定时恢复信号的性能主要与插值滤波器的设计方式有很大的关系,下面就来具体分析插值滤波器的实现方法。
插值滤波器的实质是对信号经过低通滤波器后再重采样的过程。
考虑理想插值情况,根据Shannon 定理,采用理想插值可以由带限的输入信号x(t)的抽样值x(mT s )精确得到x(t)在任意时刻的值,即∑-=+∞-∞=k s s s T mT t c mT x t x ]/)([sin )()(π (3-7) 其中ss s T t T t T t c /)/sin()/(sin πππ=(3-8) 它的频域表达式为 ⎪⎩⎪⎨⎧><=s s s T f T f T f H 21,021,)( (3-9) 因而,内插后的序列x(kT i )可表示为: ∑-=+∞-∞=k s s i s i T mT kT c mT x kT x ]/)[(sin )()( (3-10) 由于理想的内插滤波器是非因果系统,它需要无穷多个信号样值点,物理上具有不可实现性。
因而,将理想插值滤波器的脉冲响应进行截断,并根据最优化准则逼近最佳性能。
内插滤波器可以通过不同的截断函数得出无穷多种内插函数,但都必须遵守线性相位的条件,即参与插值的采样点数为偶数。
常用的内插滤波器包括:两点线性内插滤波器、立方内插滤波器、分段抛物线内插滤波器。
这里主要讨论立方插值滤波器的原理和实现结构立方插值滤波器是多项式的插值滤波器的一种,它是基于4点样值的拉格朗日函数∑--=-=2112)()(N N i i i N N x C t y (3-11) 这里j i j N i j N j i t t t t C --∏=≠-=21,,这里N=4,那么N1=N/2=2,N2=N/2-1=-1从而得出立方插值滤波器的时域表达式为:⎪⎪⎪⎩⎪⎪⎪⎨⎧-≤≤-+-+-≤≤+--≤≤-++---≤≤-+++=其他,02,16/)/(11)/(6/)/(0,12/)/()/(2/)/(0,12/)/()/(2/)/(2,16/)/(11)/(6/)/()(23232323s s s s s s s s s s s s s s s s s s T t T T t T t T t T t T t T t T t t T T t T t T t T t T T t T t T t t h (3-12) 归一化令t=(i+u)T s ,则可得h(t)的系数C i (u)为: ;3121616)2)(1()(;121212)2)(1)(1()(;21212)2)(1()(;61616)1)(1()(23123023132u u u u u u u C u u u u u u u C u u u u u u u C u u u u u u C -+-=---=+--=--++=++-=--+=-=-+=-- (3-13)对多项式滤波器的实现结构,可采用Farrow 结构实现[47]。