用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

DS/FH混合扩频接收机解扩及同步技术的FPGA实现

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:59:06
【本文由PB创新网为您整理】
摘要:研究采用编码扩频的DS/FH混合扩频接收机的核心模块——同步及解扩部分的FPGA实现结构。将多种专用芯片的功能集成在一片大规模FPGA芯片上,实现了接收机的高度集成化、小型化。伪码的串并混合捕获算法及跳频同步算法等均采用硬件完成,提高了捕获速度。实验结果证明该方案是正确可行的。

    关键词:DS/FH接收机 解扩 同步 FPGA实现

DS/FH混合扩频通信系统中,需要数据不变频器、相关累加器及码发生器等完成下变频、相关解扩等运算。通常采用专用芯片来完成这些功能,导致系统体积增大,不便于小型化。现代的EDA(电子设计自动化)工具已突破了早期仅期进行PCB版图设计或电路功能模拟、纯软件范围的局限,以最终实现可靠的硬件系统为目标,配置了系统自动设计的全部工具,如各种常用的硬件描述语言平台VHDL、Verilog HDL、AHDL等;配置了多种能兼容和混合使用的逻辑描述输入工具,如硬件描述语言文本输入法(其中包括布尔方程描述方式、原理图描述方式、状态图描述方式等)以及原理图输入法、波形输入法等;同时还配置了高性能的逻辑综合、优化和仿真模拟工具。FPGA是在PAL、GAL等逻辑器件的基本上发展起来的。与PAL、GAL等相比较,FPGA的规模大,更适合于时序、组合等逻辑电路应用场合,它可以替代几十甚至上百块通用IC芯片。FPGA具有可编程性和设计方案容易改动等特点,芯片内部硬件连接关系的描述可以存放在下载芯片中,因而在可编程门阵列芯片及外围电路保持不动的情况下,更换下载芯片,就能实现新的功能。FPGA芯片及其开发系统问世不久,就受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。本文主要讨论一种基于编码扩频的DS/FH混合扩频接收机解扩及同步过程的实现结构,采用ALTERA公司的APEX20K200RC240-1器件及其开发平台Quartus II实现混合扩频接收机的核心——解扩及同步模块。
javascript:window.open(this.src);" style="cursor:pointer;"/>
1 混合扩频接收机解扩模块的FPGA设计

解扩模块是混合扩频接收机的核心。该模块实现对接收信号的解扩处理,主要包括数字下变频器、数控制荡器(NCO)、码发生器、相关累加器和伪码移相电路等,通常各模块采用专用芯片。利用FPGA将这些功能集成在一块芯片中,大大缩小了接收机的体积,便于实现系统的小型化和集成化。下面分别介绍该模块各部分的FPGA实现结构。

1.1 数控振荡器(NCO)

数控振荡器是解扩模块中的重要组成部分,主要用于为码发生器提供精确的时钟信号,从而实现对接收信号的捕获和跟踪。码发生器由相位累加器和查找表构成。若使用字长为40位宽的累加器,对于某一频率控制字A,输出频率fout与输入频率控制字A的关系为:

fout=fclkA/2 40

其中,fclk为系统时钟。只要改变控制字A的大小,就可以控制输出频率fout。Fout变化的最小步长Δf由累加器的数据宽度决定。若数据宽度取40位,则:

Δf=fclk/2 40

利用上述原理,可以通过精确分频得到所需频率。原理图如图1所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    图1中频率控制字A由DSP写入。考虑到FPGA内部存储资源限制,取40位相位累加值result[39..0]的高八位作为查找表LUT(look~up table)的输入,查找表由ROM构成,存储各相位所对应采样值。当查找表输入端为某一相位phase时,则输出对应采样值。若输出数据宽度为6位,输出信号格式为余弦信号,则LUT输出为:

out[5..0]=31×cos(360×(phase+0.5)/256)°+32

若取ROM的并行6位out[5..0]作为输出,则输出信号为每周期采样256点的数字化余弦信号;如果取最高位out[5]作为输出,则输出为系统时钟的分频信号。

1.2 数字下变频器

数字下变频器将A/D采样得到的中频信号进行下变频处理,去除中断,得到基带信号。利用本地NCO产生与输入中频信号的频率相同的正弦和余弦信号,并与输入信号进行复乘法运算,然后对运算结果做低通滤波,即可完成对中频信号的下变频操作。正交采样模式下,两路A/D转换器提供正交输入IIN及QIN,数字下变频器的复乘法器输出IOUT、QOUT为:

Iout=IINcos(ωt)-Qinsin(ωt)

Qout=IINsin(ωt)+Qincos(ωt)

本振信号、复乘法器、低通滤波器均采用数字化设计。数字下变频器采用ALTERA公司的APEX20K200RC240-1器件。该器件典型门数为20万,有丰富的逻辑单元和RAM单元,开发平台Quartus II自带的宏模块,lpm_mult(乘法器宏模块)、lpm_rom(ROM宏模块)、lpm_add_sub(加法器宏模块)等,给设计带来了极大的方便。数字下变频器原理图如图2所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    图2中的数字表示相应模块的数据宽度。滤波模块是1个二阶的低通滤波器,滤除混频后的高频分量。在一些专用的数字下变频器件中STEL-2130中,滤波器的阶数是可编程的,可以根据需要设置不同的阶数,从而得到不同的滤波效果。考虑到FPGA的资源问题,设置滤波器的阶数为固定的二阶。滤波器输入x[n]与输出y[n]关系为:

y[n]=x[n]+x[n-1]

y[n-1]=x[n-2]+x[n-3]

该低通滤波器将相邻的两个输入数据相加后作为输出,即每两个输入数据对应一个输出数据,输入数据时钟节拍为输出数据时钟节拍的2倍。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    经过低能滤波后的数据经过滑动窗处理,滑动窗对输入数据进行选择输出,用来动态调整相关峰的大小。在捕获过程中观察相关峰值时,通过调整滑动窗口,可以获得不同幅度的相关峰值。选择控制端口DSP写控制字来决定,结构如图3所示。滑动窗控制逻辑关系为:

CASE sel[] IS

WHEN 0=> dataout[]=datain[7..0];

WHEN 1=> dataout[]=datain[8..1];

WHEN..2=> dataout[]=datain[9..2];

WHEN 3=> dataout[]=datain[10..3];

WHEN 4=> dataout[]=datain[11..4];

WHEN 5=> dataout[]=datain[12..5];

WHEN OTHERS => dataout[]=datain[12..5];

符号扩展是为了与后面的相关累加器数据宽度保持一致,符号位扩展时需与输入数据最高位的符号保持一致。
javascript:window.open(this.src);" style="cursor:pointer;"/>
   

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

相关文章

PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:16,609.38000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号