DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1640|回复: 1
打印 上一主题 下一主题

[待整理] 一种基于插值算法符号同步的硬件设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 10:15:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一种基于插值算法符号同步的硬件设计

摘要:提出了一种数字接收机中符号同步的硬件设计方案。该方案属于异步采样恢复法,其插值滤波器的设计采用了理想插值算法加窗处理,较传统的拉格朗日插值有更好的频域特性。该设计方案已用VerilogHDL实现,并通过了综合及时序验证。    关键词:符号同步 定时错误检测 插值 窗函数
在数字通信系统中,为了限制被传输的数字信号的频谱,需要对其进行滚降升余弦滤波,形成基带波形,并对载波进行调制,以实现频带传输。在接收端,需要对经过相干解调、匹配滤波形进行重新采样得到相应的数字信号。根据奈奎斯特抽样值无失真准则[1],A/D转换器若在最佳采样时刻进行采样,得到的采样值恰好是发送端所要传递的数据。但在实际情况下,由于信道传输延时以及收发两地时钟偏移,使采样无法在最佳时刻进行,这样采集到的数据与正确的数据之间存在着偏差,需要有同步措施来调整采样时钟或对采样值进行插修正。


图1


    目前数字接收机中的符号同步大多采用自同步法。其主要有两种[2],一种是由定时错误检测(TED)算法加环路滤波器估算采样时钟和最佳采样时刻之间的相位差,然后通过数控振荡器NCO调整采样时钟,称为同步采样恢复;另一种也使用相同的方法估算时钟相差,但它并不调整采样时钟相位,而是通过插值算法对采样值进行修正,称为异步采样恢复。由于后者不需要改变时钟相位,因此具有更好的稳定性,故得到广泛的应用。
异步采样恢复的符号同步设计结构如图1所示。该方法的关键在于插值算法的准确性。针对这一点,本文提出了一种符号同步的硬件设计方案,其插值滤波器的设计采用了理想插值算法加窗处理,与目前所采用的另一种拉格朗日插值滤波器相比,具有更好的频域特性。
1 时钟相差的估算
对于最佳采样时刻和采样时钟相位差的估算,本文采用定时错误检测(TED)加环路滤波器实现。其中定时错误检测环节采用NDA-ELD算法[2],该算法是由最大似然估计法所推导的,它要求A/D转换器以两倍的符号频率对输入波形进行采样。公式如下:

这里T是符号周期,Ts是采样间隔,Ts=T/2。e(k)表示采到第k个符号时所得到的定时误差信息。εк表示采到第k个符号时所估算出的最佳采样时刻和采样时钟之间的相位差,其范围是[-1,1],即时钟偏差最多可为1个采样间隔。y(kTs+εкTs)则是根据εк而对匹配滤波器的输出y(kTs)进行的差值修正。将e(k)通过一环路滤波器和相位溢出控制器便可得到εк+1,从而实现PID控制。相位溢出控制器主要是对εк+1进行限幅,将其控制在[-1,1]之内。由此可得到时钟相差估算的设计结构,如图2。
该算法对于一些幅度或相位调制的信号,如MQAM、BPSK、QPSK等,具有较好的同步性能。在开启时,它能自动跟踪开启的最大处,即最佳采样时刻。当存在噪声干扰时,可通过环路滤波器将其滤除,使之对时钟相差估算产生较小的影响。环路滤波器系数K1、K2的选择要视具体情况而定,取得过大,同步时间较短,但抖动方差较大;反之,则需要较长的同步时间。本设计是对64QAM信号进行符号同步,经过Matlab的仿真测试,结果表明K1、K2分别取1/512、1/256较为合适。

2 采样值插值修正

通过以上处理环节可估算出采样时钟和最佳采样时刻之间的相位差,在插值修正环节就可根据该相差进行采样值修正处理。由内插公式可知,如果采用理想插值,理论上可根据采样值得到任意时刻的信号值[3],即:


但理想插值滤波器需要无穷个信号采样值,这在实际应用中是无法实现的。一般情况下可对理想插值滤波器加窗处理,将其截短。
窗函数的选择要视具体情况而定。最简单的窗函数是矩形窗,即对理想插值滤波器直接截短。其优点是设计简单,具有较窄的过渡带,且对理想插值滤波器频率响应具有最好的均方逼近[3]。但它对无限长理想冲激响应直接截取,因此存在着较为明显的吉布斯现象。此外,其最小阻带衰减为21dB,这在实际应用中也是不够的。因此直接截取方式在现实中很少采用。对理想冲激响应进行窗处理的一个较成功的办法是将窗函数的两端平滑地减小至零,以减小旁瓣高度,减轻吉布斯现象[4]。在这一思想下,目前常用的窗函数有Han ning、Hamming、Blackman、Kaiser等。本设计采用了Kaiser窗,它是一种近似最佳的窗函数。经过Matlab仿真测试,将Kaiser窗长度定为10Ts,形状参数β取为2.5248(对应的阻带最小衰减为33dB),可得到较小的插值平均误差。由此得到如下公式:


这里h(t)为插值滤波器的冲激响应,它是理想内插函数的Kaiser窗载短形式,长度为10Ts。即:

这里I0(·)表示第一类零阶修正Bessel函数。由此可得到其频率响应H(ω),它是所需理想频率响应与窗函数傅里叶变换卷积所得。H(ω)对数幅度特性如图3所示(取Ts=1)。
可见,Kaiser窗函数插值滤波器具有较好的频域特性。在通带,它能将衰减稳定在0dB;在阻带,最小衰减为33dB,且迅速增大。这些均优于目前所用的另一种拉格朗日插值滤波器,其频谱特性见文献[4]。利用该滤波器便可对采样值进行插值修正。由公式(3)可得到如图4所示的设计结构。


为了使硬件更容易实现,可将εn离散化,即将其取值空间定为{-1,-0.75,-0.5,-0.25,0,0.25,0.5,0.75,1},以取代其在[-1,1]上的连续取值。图4中,h‘(εn+m)=h(εnTs+mTs),其值取决于εn控制9选1选择器,根据不同的εn输出不同的
h‘(εn+m)的各自取值空间,即理想插值滤波器系数与对应的窗函数值相乘的结果。该结构中应用了移位寄存器,主要是为了避免εn改变时,所造成的算法误差。这样在输入一个y(kTs)后,经过4个采样周期的延迟,就可得到相应的输出y(kTs+εnTs),从而完成插值修正。


图4


    本文提出了一种基于插值算法符号同步的硬件设计方案。在时钟相差估算环节采用了NDA-ELD算法进行定时错误检测;插值滤波器的设计则采用了理想插值算法加窗处理,与拉格朗日插值滤波器相比,具有更好的频域特性。该同步方案属于非数据辅助的同步法。这里所谓的同步,是对采样值进行插值修正,而不需要对时钟本身进行相位调整。因此它较适用于对系统时钟稳定性要求较高的场合,如全数字接收机等。
文中提到的设计已用VerilogHDL实现,并用Design Compiler对其进行了门级综合,并用VCS进行了时序验证,所用的工艺为0.25μm。设计门数约8000门,采样时钟可达17.5MHz,平均插值误差11%左右。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-23 14:53 , 耗时 0.088204 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表