>
首页 » 技术文章 » 一种基于二次扩频的帧同步提取的FPGA实现

一种基于二次扩频的帧同步提取的FPGA实现

作者:■ 西安电子科技大学综合业务网国家重点实验室 陈惠珍 田红心 易克初  时间:2005-04-26 20:43  来源:本站原创

摘 要:本文介绍了一种利用扩频技术实现帧同步的方案,重点介绍了用补码配对相减匹配滤波法实现同步提取的原理及其FPGA设计实现,并在同步提取的基础上简要叙述了帧同步信号的抵消。
关键词:相关峰;帧同步;补码配对相减匹配滤波法

引言
在时分复用通信系统中,实现帧同步的传统方法是在复用帧中插入一个帧同步时隙,帧同步码是一组特殊码型的码组,接收端利用帧同步码的相关性实现帧同步。帧同步码是具有良好自相关性和互相关性的独特码,当和本地码完全同步时的相关峰最大,其他任何时候的相关峰很小。帧同步码在复帧中占用时隙较短,帧效率较高,帧同步实现简单,适用于功率受限的系统,缺点是帧头易被干扰。
在一些抗干扰通信系统中,要求帧头具有较强的抗干扰性能。在一些文献中,在复用帧中插入特定的一次扩频码作为帧同步时隙,一次扩频码的长度不可能太长,否则,不仅降低了帧效率,而且将给同步提取带来很大的困难。鉴于一次扩频码的局限性,本文介绍一种基于二次扩频技术的帧同步算法,并用FPGA实现了该算法。

基于二次扩频的帧同步提取
基本原理
时分复用通信系统收发端复帧构成及同步提取如框图1所示。所谓二次扩频,就是在一次扩频码的基础上,用另一个扩频码再扩频一次。两次扩频的码字在长度上可以相同,也可以不同。本文介绍的基于二次扩频的帧同步算法中帧头并不占用复帧时隙,而是复接在一帧数据的前L段数据上,二次扩频码的长度,即L要足够长,以便在用户信息和噪声比帧头信息幅度高很多的情况下仍然可以实现同步。帧头淹没在其它信号里,这样不仅抗干扰能力强,而且帧效率得到了很大的提高。
复接的同步信号先经长度为L1的PN1扩频,再经长度为L2的PN2扩频,因此二次扩频码的长度为。假设二次扩频码表示为,噪声为,经A/D采样后的数据为,复合数据,经调 制后发射。接收时经正交采样、低通滤波后,即可进行二级解扩,找出相关峰。直扩通信系统的扩频码同步一般都是通过求截取到的数据和本地扩频码的互相关性来进行的,扩频码长度为L,那么接收数据和PN码之间的循环互相关函数为:


(1)
由于 和与PN是互不相关的,因此,(1)式的前半部分相关值很小。当后半部分与本地的PN码完全对应,即时,将会有一个很高的相关峰,其大小取决于扩频码的长度 。

帧同步Matlab仿真结果
假设每一帧有M路数据,每帧数据长度为N。二级扩频码数据叠加在每一帧数据的前L个复接数据上,扩频码的幅度较弱,可小于用户平均功率20dB。然后,存储1~2帧数据后,解扩进行相关运算,找出相关峰值作为同步头,用于下一帧数据的分接。
帧同步方案的Matlab仿真结果如图2所示。这里设用户采样数据为一些随机数,幅度为1000。为叙述方便,假定N=16136,,,则二次扩频数据为128×64=8192;假设二次扩频数据幅度为100,这8192个数据复接在用户采样数据的前8192个数据上,噪声是带限高斯白噪声,二次扩频数据可提供36 dB的增益,36-20=16 dB,这样理论上可以找到相关峰值。从仿真图可以看出在同步信息很低的情况下,还是可以提取到明显的同步峰值,噪声的影响只是增加了旁瓣的值,对峰值的影响很小。

帧同步提取的FPGA实现
帧同步FPGA设计
在数据的复接部分,同步信号先经128倍扩频,再经64倍扩频而得到8192位的扩频码。因此在帧同步的提取部分则是该过程的反过程,即先进行64位PN码的匹配相关处理,再做128位PN码的匹配相关处理。
第一级相关处理是64位PN码的相关处理。先将输入的数据每64个数据存入64个移位寄存器里,然后与本地的64位PN码的镜像码进行滑动相关处理,每输入64个数据就有一个输出值。第一级处理后相关峰值不明显,再把输出值存入RAM中,这个RAM至少可以缓存16136+8192+64=24392个数据。然后通过控制RAM的读地址来控制RAM的输出数据,使第一级相关后的输出每隔64个取一个数据,取出的数据每128个为一个单元。为了实现第二级的相关处理,数据是滚动取出的。例如:1,65,129,……,8129,2,66,130,……,8130,3,67,131,……,8131……,每128位数据是i,i+64,i+2×64,…i+127×64,RAM的输出再经128位的移位寄存器后,与128位PN码进行相关处理。当输入的数据与8192位同步信息完全对应时,有最大峰值输出。相关处理的过程如图3所示。
FPGA设计优化
在同步相关提取的实现当中,很多方案用到了反向器和乘法器。其电路复杂,而且必然会占FPGA很大的内部资源。这里采用补码配对相减匹配滤波法,仅利用减法器和加法器,不仅使电路设计简单,而且节省了大量的FPGA内部资源。
假设64位PN码是:
1100110011 1111001111 0000001111 1111110000 1111001100 0011000000 0000
64位PN码的镜像码是:
0000 0000001100 0011001111 0000111111 1111000000 1111001111 1100110011
第一级处理是64位PN码的相关处理,对镜像之后的64位本地码先进行编号,按照顺序依次从1编到64。第一位数字0编为1,第二位数字0编为2,第三位数字编为3……。在镜像本地码中,第一个出现数字1的位置编号为11,第二个出现数字1的位置编号为12,依次做以下配对:(1,11),(2,12), (3,17) ,(4,18) , (5,21) , (6,22 ) , (7,23) , (8,24) ……共可以配成32对。
配对之后,对各个组合对应的输入移位样点数据做补码减法运算。例如在组合(1,11)中,当样点数据进入移位寄存器后,对应移位寄存器中的并行第一位输出作为被减数,第11位输出作为减数,其他组合类似。当样点数据中的同步头完全进入移位寄存器后,那么对应并行输出的第一位应该是正值,而第11位对应的是负值。两个输出做补码相减。正值减去一个负值,输出得到一个更大的数值。这时,只有增加运算的位数,才能得到正确的运算结果。
第二级处理是128位PN码的相关处理,RAM存储器输出作为128位PN码的相关处理的数据输入,原理同第一级相关处理,这里不再赘述。
在Quartus2.1软件平台下对帧同步提取的FPGA电路设计进行编译,一片Stratix EP1S25F672C2芯片内部逻辑资源约占用38%左右,I/O脚占用10%左右,布线资源占用30%左右,存储器占用40%左右,DSP块占用36%左右。
同步提取的FPGA仿真
用VHDL语言进行FPGA程序设计,利用Quartus2.1软件仿真的结果如图4、5所示。data是输入的数据,guan_64是第一级相关处理的输出,dataa是RAM的写入地址,q是RAM的读地址,yi_128是RAM的输出,peak_zong是第二级相关处理后正交回路I路的输出。
图6是I路和Q路叠加后,再经归一化门限判决后的输出。peak_I、peak_Q、peak_IQ分别是两级相关处理后I路、Q路、I与Q合路的输出,threshold是归一化门限,syn为同步判决输出。当peak_IQ大于threshold时,syn输出是高电平,否则,为低电平。

结语
通过对二次扩频码帧同步提取的Matlab仿真及FPGA设计实现,可以看出,用二级扩频码作为同步信息时,在同步信息远远低于数据信息的情况下,是完全可以提取出同步信息的,从而有效地实现了信息的隐蔽。提取同步后的数据还可进行同步消除,从而消除同步对数据的影响,有效地恢复出有用数据。补码配对相减匹配滤波法不仅大大优化了FPGA的内部布线,而且在很大程度上节约了FPGA的内部资源。■

参考文献
1 吕洪生,杨新德..实用卫星通信工程【M】.电子科技大学出版社.1994
2 褚振勇,翁木云.FPGA设计及应用.西安电子科技大学出版社,2002.
3 侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计.西安电子科技大学出版社,2000

相关推荐

一种用VHDL语言实现的帧同步算法

帧同步  搜索态  VHDL  2010-08-16

基于FPGA 的数字通信系统帧同步电路设计

一种基于二次扩频的帧同步提取的FPGA实现

在线研讨会
焦点