找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于FPGA直接序列扩频系统的设计

[复制链接]
admin 发表于 2013-3-21 20:37:26 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘要 针对一般无线通信系统抗干扰、抗噪声以及抗多径性能力差的缺点,提出了一种基于FPGA的直接序列扩频系统设计。该设计采用63位的pn码作为扩频调制的码序列,在发送端,对信息码进行扩频调制;在接收端,对收到的扩频调制信号进行解扩,增强了系统的抗干扰性和可靠性。同时在Altera公司的QuartusⅡ软件中,使用硬件描述语言VHDL和原理图相结合的方法进行了电路的设计实现。通过把电路下裁到Altera公司的CycloneIII的EP3C10E144C8N芯片中调试,验证了扩频系统的可行性。
关键词 扩频;pn码;FPGA

     由于扩频通信系统具有抗干扰性好、抗多径衰落能力强,可高精度测量、多址复用等优良特性,多年来得到了迅速发展和广泛应用。

1 直扩系统基本原理
     直接扩频通信就是在发射端利用高速率扩频序列去扩展信息数据的频谱,包括伪码调制和载波调制这两个过程。与一般常见的窄带通信方式不同,主要体现在信息数据经扩展频谱以后成为宽带信号,再经过相关处理恢复成窄带信号后解调出信息数据,因此它具有信号相关处理和伪随机编码调制两大特点。
    20121107052934360631171.jpg
   
     直接扩频通信系统组成原理如图1所示,在发端输入的信息先经信息调制成为数字信号,然后由扩频码发生器产生的扩频码序列调制数字信号以展宽信号的频谱。展宽后的信号再调制到射频发送出去。在接收端将收到的宽带射频信号,变频至中频,然后由本地产生的与发端相同的扩频码序列去相关解扩,再经信息解调、恢复成原始信息输出。

2 系统总体方案
     在发射系统中,首先产生8位的串行信息码data_in,然后与来自pn码发生器的扩频伪码序列进行模2加,完成信号的频谱扩展,得到扩频信号data_kuo。在接收端经过pn码同步捕获后,将扩频调制信号与本地同步扩频序列进行异或运算,得到解扩信号data_jie,比较data_ kuo与data_jie波形图,从而验证系统扩频解扩的效果与可行性。

3 系统模块化设计
3. 1 信息码输入模块的产生
     该模块功能是利用8位移位寄存器,在时钟信号的控制下移位输出8位信息码。clr为装载信号,当clr=0时,从拨码开关并行读入8位信息码,装入到内部8位寄存器中,当clr=1时,将输入的8位信息码在时钟信号的控制下实现串行移位输出。
     仿真结果如图2所示,扩频前的数据信息为11000110B。
    20121107052934376261172.jpg
   
3. 2 pn码发生器的数字化设计
     由前所述,本系统的pn码发生器采用m序列发生器,n级线性移位寄存器的反馈逻辑可用特征多项式f(x)=c0+c1x+c2x2+…+cnxn表示,m序列发生器选用6级移位寄存器,即n=6,查表得到的反馈系数为103,因此其对应的特征多项式为f(x)=x6+x+1,由第1级和第6级引回反馈,移位寄存器反馈原理图如图3所示。
    20121107052934407511173.jpg
   
     6级m序列发生器可产生周期为63的pn码序列,寄存器起始序列若为全零,输出序列也将为全零,这样会造成pn码发生器进入死锁状态。因此要使pn码发生器可以正常工作,产生预期的pn序列,必须保证在起始时寄存器中至少有一个为1。63位pn码仿真图如图4所示。
    20121107052934454381174.jpg
   
3.3 扩频调制及解调模块综合仿真
     在实际应用中,为达到数据符号扩频的目的,通常的做法就是用一扩频码序列与待发射的信号相乘,并且扩频序列具有比数据比特窄得多的时宽,从而使扩频序列具有比数据序列高得多的频带。
     系统总体设计的原理图如图5所示,在本次系统的设计中,发射端和接收端都工作在数据符号同步调制模式,也就是说,pn码序列与数据符号电平变化沿对齐,且每个符号重复一次;在接收端,也是通过一个数据符号时间内同步一个pn码序列,在捕获一个pn码序列的同时,实现了数据符号的同步。这样不但可以缩短捕获时间,而且还可以省去一般窄带数字通信中由锁相环构成的时钟同步系统,简化了系统设计。
    20121107052934548131175.jpg
   
     在本次设计中,一个数据符号是同步一个63位的pn码序列,pn就是pn码发生器模块产生的63位m序列,data_in是信息码输入模块产生的串行信息码,在此图中为11000110数据符号,data_kuo是本扩频模块的输出。在发送端,扩频的结果实际上是对两者进行时域相乘,或者是模二和,并且实现了一个数据符号同步一个63位的pn码序列,完成了符号同步调制模式,然后与来自pn码发生器的伪码序列进行模2加,完成信号的频谱扩展。在接收端,data_kuo与本地同步pn码模二和后,成信号的解扩,解扩输出信号为data_jie。
    20121107052934579381176.jpg
   
     扩频解扩综合仿真图如图6所示。其中data_in为串行输入的二进制数11000110,信息码输入的时钟信号为clk,pn码发生器的时钟信号为elk1,pn是产生的63位pn码序列,data_kuo为扩频后的码序列,data_jie解扩后的信号,实现了信号的解扩。

4 系统的FPGA实现
     系统选择Ahera公司生产的CycloneIII系列的FPGA(EP3C10E144C8N)。Ahera公司的这款CycloneIII FPGA比上一代FPGA的功耗低75%,共有144个引脚组成,这些I/O引脚支持6种单端信号标准、8种差分标准,含有10 kbit逻辑单元(LE),23个数字信号处理(DSP)乘法器,存储器达400 kbit,CycloneIII系列比前一代产品每逻辑单元成本降低20%,使设计人员能够更多地在成本敏感的应用中使用FPGA。
     将VHDL源程序通过JTAG口下载到FPGA中,配置好FPGA引脚后,用排针将FPGA的引脚引出,将FPGA的输出引脚分别与示波器的输入相连接,观察系统波形如图7所示。从图中可以看出FPGA输出波形图与仿真图吻合,从而验证了系统VHDL程序的正确性与可行性。另外,由于系统时钟频率较高,波形存在较为较为明显的过冲现象。
    20121107052934626251177.jpg
   

5 结束语
     提出了一种基于FPGA的直接序列扩频系统的设计,旨在使无线通信系统具有较强的抗干扰性和可靠性。在Altera公司的Quartus II软件平台上,利用了硬件描述语言VHDL和原理图相结合的方法进行了电路的设计实现,并将程序下载到FPGA中,利用示波器观察输出波形,通过输出波形结果观察本系统的扩频解扩性能。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 13:54 , Processed in 0.067347 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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