DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 115|回复: 0
打印 上一主题 下一主题

基于FPGA的数字解扩解调模块设计及实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 14:56:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1引 言扩频通信系统是将基带信号的频谱扩展到很宽的频带上,然后进行传输,通过增大频带宽度来提高信噪比的一种系统。由于扩频系统具有抗干扰能力强、保密性高、截获概率低、多址复用和任意选址等优点,在移动通信等诸多领域越来越受到重视。在扩频通信系统中,载波同步是扩频接收机正常解调的前提,是扩频通信中的一项关键性技术。常用的载波同步技术有平方环、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,在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为核心的硬件系统中运行,能够精确实现载波的同步和跟踪,且占用系统资源较少,动态范围较大,测试结果达到预期的设计指标要求。本电路已成功地应用于某直扩通信接收机中,效果良好。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-28 01:46 , 耗时 0.098801 秒, 19 个查询请求 , Gzip 开启.

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

桂公网安备 45031202000115号

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

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

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

QQ:28000622;Email:libyoufer@sina.com

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

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