基于FPGA的通用位同步器设计方案(二)

出处:电子爱好者博客 发布于:2013-10-12 10:08:51

  2.2 模块详细设计

  2.2.1 内插滤波器设计

  内插滤波器是完成算法的,它根据内插参数实时计算判决点的内插值,即:

  

  式中:mk 为内插滤波器基点索引,决定输入序列中哪些采样点参与运算,它由插值时刻kTi 确定;μk 为误差间隔,决定了内插滤波器的冲激响应系数[1].kTi 和μk 的信息由内部控制器反馈回来。

  本设计的内插滤波器采用基于4 点分段抛物线多项式的Farrow结构实现。将式(1)变换为拉格朗日多项式,即令:

  

  根据式(2)和(3),内插滤波器程序实现结构如图4所示。

  从图4可以看到,该结构由1个移位器、5个触发器、8个相加器、2个乘法器组成,比直接型FIR节省10个乘法器、4个相加器的资源。其中,除以2的运算采用数据移位实现,避免使用除法器。输入的8位数据x,计算后得到10位的内插值y 输出。由于内部所有寄存器经计算后,均采用位数,有效地减少了Logic Elements资源的占用。

  

  2.2.2 定时误差检测设计

  定时误差检测程序采用独立于载波相位偏差的GA-TED算法。该算法每个符号周期只需要两个插值,每个码元周期输出一个误差信号μτ (n) ,即:

  

  其中,y(n) 表示第n 个码元选通时刻的内插值,前后两个内插值的插值代表误差方向;y(n - 1 2) 表示第 n 个和第n - 1 个码元的中间时刻内插值,代表误差大小。

  FPGA实现时,为避免乘法运算,采用y(n) 和y(n - 1)的符号来代替实际值[8],即采用式(5)计算误差信息:

  

  根据式(5)进行程序设计,误差的正负方向判断采用case 语句,当y(n) 和y(n - 1) 的符号位分别为“0”和“1”时,y(n - 1 2)的符号位不变;当符号位分别为“1”和“0”时,y(n - 1 2) 的符号位取反;当符号位为“0”“0”或“1”“1”时,令输出的μτ (n) = 0.TED程序在1 Ti 的时钟控制下进行运算,终得到29位误差数据,并以1 T 的速率即码元速率输出至环路滤波器电路。

  2.2.3 环路滤波器设计

  本文对Gardner算法中的环路滤波器进行了改进,根据通用位同步器的要求,采用二阶数字滤波器,并且开放滤波器参数(C1,C2 ) 和使能(c_en)端口,当码元速率变化时,通过外部控制器来改变参数,实现滤波器的通用性。滤波器结构如图5所示。

  

  从图5可以看到,滤波器的输出为:

  

  式中:Ko Kd 为环路增益;ζ 为阻尼系数,取ζ =0.707;T 为采样时间间隔,即相位调整间隔;ωn 为无阻尼振荡频率。

  为减少资源占用,环路滤波器中的乘法运算均采用移位方式实现,处理后的误差信息送给内部控制器。

  2.2.4 内部控制器设计

  内部控制器根据定时误差信息,调整插值频率1 Ti和误差间隔μk ,并输出位同步脉冲BS,它包含NCO(Numerically Controlled Oscillator)和误差间隔计算两部分。该程序提供接口(频率字fw 和使能端fw_en),外部控制器可以通过该接口输入参数。

  本设计中NCO 采用与文献[10]类似的DDS(DirectDigital Synthesis)结构,其频率控制字Fw 可由外部控制器设置,其结构如图6所示。

  图6中,M 为频率控制字位数,N 为相位累加器和相位寄存器的位数。这里取M = N = 23,采用递减型的NCO,归一化后相位累加器的累加值为:

  

  式中:Fw 为频率控制字;W (mk ) 为环路滤波器输出的误差信号,二者由环路滤波器提供,决定了NCO的溢出周期。其中,当:

  

  

  NCO 溢出信号即为提取出的位同步信号的2 倍频(2BS),经2分频后可以得到位同步脉冲(BS)输出,2BS同时作为内插滤波器和误差间隔计算的使能信号。

  误差间隔μk 在NCO 溢出后的下一个Ts 时刻进行计算,环路锁定时:

  

  将其截断为8位数据送给内插滤波器。

  本设计同时对代码进行了优化,数据有效位的截取、内插滤波器的结构优化、乘法采用移位计算代替等措施,有效地节省了硬件资源,优化前和优化后的资源占用情况对比见表1.

  

  3 仿真和分析

  3.1 Matlab仿真

  本文采用Matlab对算法进行理论仿真,输入采样值x(m) 为[-1,1]之间的随机码,采样频率上限为20 MHz,令码元速率分别为2 Kb/s,600 Kb/s,10 Mb/s,环路滤波器、内部控制器参数随码元速率变化。取内插滤波器的插值输出y(kTi) 做散射图分析,验证对不同速率的基带信号,内插值是否接近判决值,如图7所示。

  从图7可以看出,在基带速率和采样率满足奈奎斯特定理的条件下,该仿真输出的内插值均集中在理想值-1和1周围,虽然有一定的模糊,且频率越高,模糊程度越大,但码元判决阈值在0值点,所以判决值无需严格为±1,该图表明对于较宽速率范围内的基带信号,输出的插值均能够较好地用于码元判决,即算法正确。

  3.2 FPGA仿真

  在Quartus下对本设计进行仿真。基带信号采用M 序列,由FPGA生成,令基带码速率分别为2 Kb/s,600 Kb/s,1 Mb/s,同时分频器、NCO 及环路滤波器参数也做相应设置,仿真结果如图8所示。

  

  

  在图8中,x为基带码元序列,y为内插值输出,clk_t为基带码元时钟,clk_bs为提取出的位同步信号。从图中可以看到,clk_bs经过定时环路调整,其上升沿逐渐向clk_t的下降沿(即判决点)靠近,且随着基带码元速率的变化,clk_bs也会随之变化,但其中心频率与clk_t相同,相位与判决点相差不超过半个码元周期,可以进行码元判决,这表明本设计对2 Kb/s~1 Mb/s内的基带信号,均可实现位同步。

  4 结语

  本文提出了一种基于FPGA的通用位同步器的设计方案。该设计方案中的同步器在传统Gardner算法的基础上进行了改进,其中,内插滤波器采用Farrow结构,定时误差检测采用GA-TED算法,环路滤波器和内部控制器参数可由外部控制器设置,因而实现了较宽速率范围内基带码元的位同步。仿真结果表明,该方案占用FPGA资源较少,并且在实际应用中具有可靠有效性。(作者聂伟,林竹)

关键词:FPGA

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!