高阶QAM定时同步的MATLAB仿真及其FPGA实现

时间:2013-05-22来源:网络

3 定点仿真到FPGA设计实现

定点仿真是在浮点仿真的基础上,通过限定各个变量的精度,分析有限字长对系统性能的影响,权衡资源消耗和系统性能,从而得出各个信号合适的位宽,为FPGA实现做好准备。

图4是定时同步硬件实现的系统框图。clk是I、Q两路输入信号的同步时钟,也是主系统时钟,此处为102.4 MHz(系统采样率)。reset是全局同步复位信号,当其为有效电平时,步长w初始化为Ts/Ti,这里为0.5;分数间隔u可以初始化为任何值,这里取0;其余寄存器都初始化为0。I_in和Q_in是定时同步的两路输入信号,从整个接收机的角度来看是DDC模块的输出。I_out和Q_out是定时同步的输出数据,送给接收机的均衡模块。clkout是输出数据的同步时钟。control模块就是1.4节中的插值控制器,当数控振荡器溢出,插值控制信号nco为1,同时按式(3)更新分数间隔u;当数控振荡器不溢出,则信号nco为0,分数间隔u保持原值。这两个信号(nco和u)与I、Q两路输入信号一起送给interpolator模块(插值滤波器),需要强调的是,nco信号也作为后面两个模块的控制信号,用以控制数据流动的节拍。两路数据经过match_filter模块(匹配滤波器)后进入err_step模块,该模块包括定时误差提取和环路滤波器两个部分,用以得到步长w的更新值然后反馈给control模块进行下一轮的计算,并且对其输入数据进行两倍抽取得到定时同步的输出信号。

图5是Quartus功能仿真波形图,可以看出环路收敛前nco信号存在一定的抖动,导致输出时钟clkout并不是规则的时钟信号,同样存在抖动。环路内部的数据流动都是在nco信号的控制节拍下进行的。

将Quartus 功能仿真后的波形数据读取到MATLAB的工作空间中,可以得到分数间隔收敛曲线(图6)和收敛后输出星座图(图7),通过比较发现,Quartus功能仿真结果与MATLAB浮点仿真结果基本一致。

对于高阶高码率QAM调制系统,设计并实现了一种定时同步结构,该结构能够提前独立于载波同步单独完成。MATLAB仿真和Quartus功能仿真结果表明,系统具有良好的性能。最后,通过时序分析,硬件系统的最高运行频率可以达到200 MHz,完全满足采样率102.4 MHz的要求。

1 2

关键词: MATLAB FPGA QAM 定时同步

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版