基于FPGA硬件实现数字Costas环的设计

可编程逻辑

1340人已加入

描述

扩频通信系统是将基带信号的频谱扩展到很宽的频带上,然后进行传输,通过增大频带宽度来提高信噪比的一种系统。由于扩频系统具有抗干扰能力强、保密性高、截获概率低、多址复用和任意选址等优点,在移动通信等诸多领域越来越受到重视。

在扩频通信系统中,载波同步是扩频接收机正常解调的前提,是扩频通信中的一项关键性技术。常用的载波同步技术有平方环、Costas环和通用载波恢复环等。其中Costas环是跟踪低信噪比的抑制载波信号的最佳装置,也是现实中应用最多的一种。过去扩频信号载波同步常采用模拟Costas环,但是模拟环常存在I,Q通道间幅相不平衡、必须初始校准等问题。采用全数字实现的环路能够有效地避免这些问题。 本文介绍一种全数字Costas环,他能够很好地完成由BPSK调制的扩频信号的载波同步和跟踪,从而完成对调制信息的解扩解调。该电路具有可靠性高、体积小、功耗低、调试方便等优点。通过编程、综合和仿真,最后在FPGA上硬件实现本模块。测试结果表明,本模块的各项指标均达到设计要求。

2数字Costas环的基本原理

Costas环主要由数字下变频器、解扩单元、积分-清零器(I-D)、数字鉴相器、数字环路滤波器(LPF)以及数字控制振荡器(DDS)等模块组成。

变频器

当输入信号中扩频码(PN码)和来自码同步环的扩频码精确同步的情况下,输入信号通过解扩单元就可以去除扩频码,解扩后I,Q两路输出分别为:

变频器

当输入信号中扩频码(PN码)和来自码同步环的扩频码精确同步的情况下,输入信号通过解扩单元就可以去除扩频码,解扩后I,Q两路输出分别为:

变频器

最后通过低通滤波器滤去二倍频,最终I,Q两路输出分别为:

变频器

可见,两路乘法器的输出均包含有调制信号,两者相乘可消除调制信号的影响,再经环路滤波器滤波后可得DDS控制电压:

变频器

由于DDS的控制电压已经去除了基带信号的成分,只受到相位误差φ的控制(k为常数),所以可以对DDS进行准确的调整,实现对载波的精确同步和跟踪。

3数字Costas环各子模块设计

在作者所参与的项目中,系统时钟fclk=48.96 MHz,载波频率为(12.24 M±1.5 k)Hz,数据速率fd=16 kb/s,A/D采样位数为8位。

3.1 DDS模块

输人时钟:fclk=48.96 MHz;输出正弦:fo=12.24 MHz;DDS的位数:N=32 b。

变频器

从资源消耗和精度的综合考虑,采用了8位的查找表(IP核)来生成正弦余弦波,所以从累加器输出的相位信号必须截取高8位作为查找相位数据输入到查找表,输出正弦余弦信号也为8位。其具体实现结构如图2所示。

变频器

3.2 解扩单元

由于在直扩通信系统中,只有在PN码进入精确跟踪之后,码同步环路把精确PN码钟送入该环路的解扩单元完成扩频码片数据的解扩功能,载波同步环路才能开始工作。该模块采用异或门来完成解扩(解扩方法与接收信号的扩频方式有关)。

3.3积分清零器

设置积分清零器的目的是为了去掉数字混频后的高次谐波和实现扩频增益。积分清零器实际上是由累积器和寄存器组成,积分清零数需要根据积分结果和扩频增益而定,积分结果和积分时间跟信息速率有紧密的关系,并要求清零时钟沿和采样时钟沿保持一致。

本设计中累加时钟采用系统时钟,清零时钟采用信息速率时钟。所以积分次数Dr=fclk/fd=3 060次,满足增益要求。为了防止数据溢出,在进行累加前必须对输入信号扩位,根据累加次数可以计算出输出需要扩展12位。

3.4数字鉴相器

数字鉴相器主要完成同相(I)支路信号的检测。由于整个Costas环采用补码运算,过零检测就是判决积分清零器运算结果的符号位,并使得I支路的积分清零脉冲输出过零点形成检测脉冲。在运用中,我们采用判决I支路输出信号的最高位的正、负符号位,从而形成了过零检测脉冲。然后,该脉冲跟Q支路的输出数据进行异或门鉴相,鉴相后的误差信号送入环路滤波器。

3.5数字环路滤波器

数字环路滤波器在环路中对输入噪声起抑制作用,并且对环路的校正速度还起到调节作用,因此对环路的性能起着关键作用,是需要进行参数调整的主要模块。在本接收机中采用一阶理想数字环路滤波器。该滤波器在其直流增益为无穷大而频偏为常数的情况下可以实现零稳态相位误差和频率误差。其结构如图3所示。

变频器

在本设计中,取阻尼系数0.707,环路带宽为BL=800 Hz,AD位数n=8,变频器 ,积分清零器输出与输入位数之差B=28-16=12,D为清零率等于Dr,系统时钟为48.96 MHz,DDS相位累加器字长N=32位,调整间隔取T等于一个符号周期为1/16K,可得环路增益K、滤波器固有频率ωn、滤波器参数C1和C2,详细推导见文献[1]。

变频器

变频器

在FPGA实现中,为了避免过多使用乘法器占用FPGA资源和简化硬件电路设计,C1和C2可用小数乘法来实现,这里用移位的方法来近似实现。即通过右移其相应指数的位数(取绝对值)来实现。

本设计中要求达到跟踪1.5 kHz的频偏,经过参数调整,实际选取C1=2-6,C2=2-10时,则分别右移6位和10位,频偏在快捕带外同步带内,环路经过调整后锁定;当选取C1=2-5,C2=2-9时,则分别右移5位和9位,频偏处于快捕带内,环路直接锁定。

4数字Costas环在FPGA上的实现

本设计采用Xilinx公司的Spartan3系列XC3S4000FPGA,用Verilog语言编程,开发环境为Xilinx ISE 7.1i,仿真工具采用ModelSim 6.1a,综合工具采用Synplify Pro8.0。经过测试,该环路能够锁定的最大频偏能够达到2 kHz,实现载波同步。图4为在ModelSim上仿真结果,由环路滤波器输出曲线可知,环路锁定(环路滤波器输出稳定)时间大约为3 ms,满足接收机设计指标要求。在Synplify平台上综合后的顶层RTL图如图5所示。

变频器

变频器

5 结语

在扩频通信系统中,数字Costas环结构简单、性能优秀,能够快速高效的实现载波同步从而实现调制信息的接扩解调。在整个系统中最关键的是环路滤波器的设计,对整个环路的性能起着重要作用。

本文中的Costas环已经在以FPGA为核心的硬件系统中运行,能够精确实现载波的同步和跟踪,且占用系统资源较少,动态范围较大,测试结果达到预期的设计指标要求。本电路已成功地应用于某直扩通信接收机中,效果良好。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分