数字Costas环在FPGA中的实现

数字Costas环在FPGA中的实现
摘要:Costas环是一种闭环自动调整系统,常用于抑制载波的相位调制系统中提取参考载波信号。文中介绍了Costas环的基本原理, 提出了一种用CIC滤波器代替环路滤波器的方法,并根据该原理用matlab的simulink工具箱对costas环进行了建模和仿真,最后Quartus + ModelSim环境中用Verilog语言实现了该算法,并下载到软件无线电硬件电路中验证了该算法的正确性.仿真和实验结果表明,该Costas环路具有十分优良的性能。
关键词: Costas环VCO压控振荡器CIC滤波
中图分类号:                  文献标识码:                    文章编号:
Implementation of Digital Costas Loop on FPGA Platform
FENG Xiao-yuYAN Wen-feiLIU Bi-gang
Abstract: Costas loop is a closed self-adjusting system, usually used to extract reference carrier in suppressed carrier phasemodulated systems.In this paper, The basic principle is i
ntroduced,Presents a CIC filter to replace the loop filter ,and base on this principle,the Costas loop is modeled and simulated by the simulink toolbox of matlab,Finally, in Quartus + ModelSim environment, using Verilog language to implement the algorithm, and downloaded to the software radio hardware circuits to validate the correctness of the algorithm.Simulation and experimental results show that high performance can be achieved using this kind of all-digita Costas loop.
Key words:Costas loopVCOCIC filter
引言
在利用相干解调的数字通信系统中,载波同步是正确解调的前提,也是实际通信中的一项关键技术[1-2],没有载波同步就不可能正确的恢复出数字信号。常用的载波同步方法有平方环和Costas环等,由于Costas环有跟踪低信噪比的抑制载波信号的特性而在实际系统中得到广泛的应用,目前国内外对costas环尤其是改进后的costas环进行了一系列的研究,尚耀波等建立了costas环的Z域模型,通过软件编程实现,称之为软件costas环[3];李波等
根据costas环的结构,在FPGA芯片中完成了硬件实现[4]。然而,这些研究大部分都是基于传统的costas环结构,同时也没有考虑到程序在实际应用中的资源占用情况。本文在仔细分析Costas环的构成原理后,根据实际硬件的片上资源调整了滤波器的结构,提出一种用CIC滤波来取代传统的环路滤波器。最后,本文结合项目的应用,首先在simulink平台上实现了该算法,然后移植到Verilog上,用实际的FPGA芯片对此算法进行了验证
1  Costas环原理
1.1传统Costas环的结构
科斯塔斯环又称同相正交环Costas环,Costas环由Costas1956年提出,其环路工作频率为载波频率,远远低于平方环的工作频率,实现成本较低。其原理框图如图1(a)fmc公司
 
(a) Costas原理框图                        (b) 改进后Costas原理框图
图1  改进Costas原理框图           
Costas环环路中,误差信号V7通过两路低通滤波输出相乘得到。压控振荡器(VCO)输出信号直接供给一路相乘器,供给另一路的则是压控振荡器输出经90o移相后的信号。两路相乘后经过低通滤波和环路可以得到仅与载波相位偏差信号有关的信号V7.用此信号来控制VCO就可以调整VCO输出和载波信号保持一致的相位。
现在从理论上对Costas环的工作过程加以说明。设输入调制信号为,则
            1-1
              1-2
经低通滤波器后的输出分别为:
 
v5v6在相乘器中相乘,得,
                        1-3
1-3)中θ是压控振荡器输出信号与输入信号载波之间的相位误差,当θ较小时,
                                  1-4
1-4)中的v7大小与相位误差θ成正比,它就相当于一个鉴相器的输出。用v7去调整压控振荡器输出信号的相位,最后使稳定相位误差减小到很小的数值。这样压控振荡器的输出就是所需提取的载波。
1.2本设计Costas环的结构
考虑到FPGA资源的消耗的问题,本设计在实际过程中采用了CIC低通滤波器的结构,并且用CIC滤波器代替了环路滤波器,改进后的结构图如图1(b)所示,仿真结果表明,在
提取载波效果相同的基础上,改进后的Coatas环大大节省了资源。
苦恼人的笑Costas环的Simulink实现
Simulink仿真在Matlab 6.5环境下通过。仿真模型如图2所示。调制模块采用Bernoulli Binary Generator模块产生的32knrz码与Sine Wave模块产生的128k的载波相乘,然后与压控振荡器VCO恢复的本地载波进行相乘,VCO输出信号90度移相是通过希尔伯特变换[5]来完成的。
图2  Costas环载波恢复和解调模型
闫安书法调制后的信号与VCO恢复的相互正交的两路本地载波进行相乘后,分为IQ两路,经过低通滤波器成为基带信号的解调输出,考虑到采样频率过高会造成FPGA芯片资源消耗严重,所以此处低通滤波器用CIC滤波器加低通滤波器的结构代替。Costas环设计的重点是环路滤波和VCO参数的调整。
(1)环路滤波
本设计环路滤波部分用CIC滤波取代CIC滤波器可以对数据流进行降速处理,本设计IQ两路采用抽取后滤波,降低4倍的采样速率(见图3中的Downsample模块)。
图2中的CIC内部结构图如图3所示,后面的FPGA仿真也验证了此方法的优点和正确性。
图3  CIC滤波器结构图
月亮的尾巴
(2)VCO
本Costas环调频信号用Voltage-Controlled Oscillator产生中心频率和输出信号幅度和载波信号保持一致压控灵敏度根据实际情况计算调节
                                        2-1
                                  2-2
本设计中为信号的中心频率,为调整步进,mclk取4.096Mn取22位
                      灰度图(2-3
压控灵敏度取0.9765625
(3)仿真结果
图4为运行simulink模型后的波形。图4(a)是图2中示波器scope的波形,为低通滤波后的
IQ两路信号与VCO输入电压。图4(b)是图2中示波器scope1的波形,为调制载波与恢复载波。
         
(a)  低通滤波后的IQ两路信号与VCO输入电压              (b)  调制载波与恢复载波
图4  Costas环simulink仿真结果
由图4(a)仿真波形可以看出, VCO输入电压在过一段时间后波形稳定,低通滤波后的IQ两路信号恒包络并且一路趋于为零,表示环路得到锁定。
图4(b)仿真波形可以看出,环路恢复出的载波与调制载波频率相同,表示环路已经成功的恢复出了载波信号。
Costas环的FPGA实现   
本系统由Verilog语言进行设计,硬件选择Cyclone Ⅱ系列的EP2C5Q208C8芯片,布局布线。综合工具选择Quartus 8.1,波形仿真工具ModelSim SE 6.1f,系统由正交分量相乘模块,CIC滤波模块,低通滤波模块,误差相乘模块和DDS模块组成[6]FPGA实现后的顶层RTL结构图如图5所示。
                    图5  FPGA实现后的顶层RTL结构图
(1)DDS模块
DDS模块调用Quartus自带的IP core NCO(数控振荡器)nco在波形仿真中要注意拷贝core中的dds_cos_c.hexdds_cos_f.hexdds_sin_c.hexdds_sin_f.hex4个文件到simulation\modelsim文件夹下,此4个文件用来产生正弦波,如果仿真过程中vco没波形,要注意检查此问题,并且在改变nco的设置时,同样要检查这4个文件是否同时更新。
(2)环路锁定的判定
图6(a)为环路锁定后的波形,图6(b)为环路锁定后的波形放大图。图中costas_out为环路恢复出的正弦波,dds_in为压控振荡器的输入电压,I_lpf为I路信号经过低通滤波器后信号,Q_lpf为Q路信号经过低通滤波器后信号。
 
(a)  环路锁定后的波形                            (b)  环路锁定后的波形放大图
图6  Costas环modelsim仿真结果
由图6可以看出,此环路已经很好的锁定。
结论   
a、BPSK信号是由32K的NRZ码调制到128K载波产生,costas程序能够在频差+200Hz内(频偏为0.15%)恢复载波。
b、用CIC滤波来取代传统的环路滤波器,很大程度上节省了系统的资源。
c、本环路设计已在软件无线电实验箱中得到应用,在一片FPGA(EP2C5Q208C8)上编程实现,摆脱了传统的硬件电路设计,其算法可移植性强,符合未来通信设计的发展方向
参考文献
[1] 樊昌兴,张甫翊,徐炳祥,吴成柯通信原理[M].国防工业出版社2001
[2] 曹志刚,钱亚生现代通信原理清华大学出版社[M],1992
[3] 尚耀波郭英一种软件科斯塔斯环的模型建立与实现空间电子技术,2009,4:35-38
[4] 李波李玉柏等.在FPGA中用costas环实现载波同步和数字下变频信息通信,2006,2:22-25

本文发布于:2024-09-22 15:29:44,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/8468.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:载波   信号   环路   实现   输出
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议