随着微电子制造工艺的发展,可编程逻辑器件取得了长足的进步。可以完成超大规模的复杂组合逻辑与时序逻辑的现场可编程逻辑器件(FPGA),在电子系统的设计中得到越来越广泛的应用。
以Quartus II软件为开发工具,利用FPGA实现了一个基带直接序列扩频通信系统,其包括发送模块和接收模块两部分。
1 直序扩频通信系统的基本原理
直接序列扩展频谱系统(Direct Sequece Spread Spectrum Communication Systems,DS-SS),简称直扩系统,是用待传输的信息信号与高速率的伪随机码波形相乘,去调制射频信号的某个参量,来扩展传输信号的带宽。原理如图1所示。
在发信机端,待传输的数据信号与伪随机码波形相乘形成的复合码对载波进行调制,然后由天线发射。在收信机端,要产生一个和发信机中的伪随机码同步的本地参考伪随机码,对接收信号进行解扩。解扩后的信号送到解调器解调,恢复出传送的信息。
2 直序扩频通信系统发送模块的设计与实现
发射子系统主要包括信息码的输入模块、扩频伪随机码的产生模块及扩频模块。
2.1 信息码输入模块
该模块提供系统仿真及调试用的输入数据源,数据固化在ROM中。设置为200字长、1位宽。设计ROM的地址控制模块,以给定的时钟驱动一个计数器来循环产生地址信息,使得ROM中存储的待发射信息循环不断的输出。
利用Verilog语言设计地址控制模块,利用QuartusⅡ提供的LPM定制ROM模块,用原理图设计生成顶层实体,可得如图2所示的电路及图3所示仿真结果。
从结果可以看出,在时钟控制下,地址输入端循环产生地址信息使ROM中的数据循环输出。
2.2 PN码发生器的数字化设计
系统的PN码发生器采用m序列发生器,本设计中m序列发生器选用6级移位寄存器,即n=6,其对应的特征多项式为f(x)=x6+x+1,由第1和第6级引回反馈,序列发生器结构如图4所示。
6级m序列发生器可产生周期为63的PN码序列,因为寄存器起始序列若全零,输出序列也将为全零。这样会造成PN码发生器进入死锁状态。因此要使PN码发生器正常工作,产生预期的PN序列,必须保证在起始时寄存器中至少有一个为1。设计发射端的PN码寄存器初始状态取“111111”。
利用VHDL程序实现PN码发生器,可以采用结构化描述方式,也可采用寄存器传输描述方式,两种方式的仿真结果相同。设计采用寄存器传输描述方式,便于设计中修改寄存器的初始状态。仿真结果如图5所示。
2.3 扩频调制的实现
在实际应用中,为达到数据符号扩频的目的,通常的做法是用一扩频码序列与待发射的信号相乘,并且扩频序列具有比数据比特窄得多的时宽,从而使扩频序列具有比数据序列高得多的频带。
2.4 发射子系统的综合仿真
结合前几个模块,整个发射子系统部分将存储在ROM中的信息以取出后与来自PN码发生器的伪码序列进行模2加,完成信号的频谱扩展。系统电路图和仿真结果分别如图6和图7所示。仿真结果中,clk为全局时钟,clk4为读数时钟,clk204为PN码发生器时钟,data为输入数据,kuopinout为扩频输出数据。从结果可以看出,实现了扩频调制的功能。
从仿真波形图可以看出,设计的发送端按要求完成了m序列的产生及扩频调制等功能.
3 接收模块的设计与实现
相对于发射子系统,接收子系统是个复杂的数字信号处理过程,它主要完成数字基带信号的同步捕获和解扩。
3.1 本地PN码发生器的设计
本地PN码发生器与发射子系统中的PN码发生器结构完全相同。也采用m序列发生器,这里不再叙述。
3.2 同步捕获模块的FPGA设计与实现
扩频通信系统解扩的关键技术是扩频信号的同步,其性能的好坏直接影响到系统的性能和可靠性,而同步的关键又在PN码捕获方法。
扩频码的同步捕获是要解决在工程上实用的问题,包含两方面的内容:简单的同步捕获设备和短的同步捕获时间。尽管设备简单是任何一个系统都追求的指标,但扩频通信系统中这个指标更显得重要。在不增加或少增加设备量的情况下,如何缩短扩频码的同步捕获时间是扩频码同步捕获的主要研究内容。
扩频码同步捕获一般有以下几个步骤:(1)确定要搜索的扩频码相位的区域。(2)调整本地参考扩频码的相位。(3)求解扩频码的相关函数值。(4)对所求相关值进行判决。
在综合考虑以上因素的基础上设计了数字基带匹配滤波器的捕获电路。匹配滤波器捕获的最大优点是捕获时间短,可以快速完成扩频信号的解扩和解调。在理想情况下,数字匹配滤波器(DMF)捕获系统最多只需要一个扩频序列周期的时间,就可检测出同步相位,实现扩频序列的捕获。
在匹配滤波器中,用PN码序列与通道的待解扩数据进行相关运算,并计算出相关运算的和,由于PN码的重要特性就是它的自相关系数高,而互相关系数低,所以只要相关的两路信号的PN码一致,就可以获得相关积分的峰值。这意味着解扩的成功。用于PN码同步捕捉的匹配滤波器一般采用延迟线匹配滤波器,在捕捉过程中,接收信号与本地伪码序列连续地进行相关处理,任何时刻的相关结果都与一个门限相比较,如果超过了门限,则表明此时刻本地PN码序列的相位与接收码序列相位是同步,同步过程即告完成,同时还完成了扩频信号的解扩。由于PN码的自相关特性,在一个码周期内总会出现一个相关峰,在仅T=NTC时间内,序列所有可能的相位都被搜索了一遍,具有较高的相位搜索速度,因此它的捕捉时间很短。然而当扩频码周期较长时,采用常规方法就需要较多抽头的FIR滤波器,这样的滤波器实现起来比较困难,而且占用资源较大,其硬件复杂度会随着扩频码的长度成倍增长。因此,将匹配滤波器在FPGA中以一种简单有效的方法来实现是关键。
基于上述思想,用FPGA来实现的数字匹配滤波器由两组延迟移位寄存器、乘法器、算术累加器和一组系数寄存器构成,结构示意图如图8所示。
在图8中,序列移位寄存器主要用于存放高速时钟采集的输入扩频数据,并经过固定的延时单元后将数据送入乘法器中与预存的PN码做相关运算。移位寄存器组构成匹配滤波器阵列,目的在于完成扩频信号与本地伪码的匹配。
数字基带匹配滤波器的仿真结果如图9所示。
3.3 解扩模块的FPGA实现
对于直扩系统,只有在完成扩频序列的同步后,才能用同步的PN码序列对接收的扩频信号进行相关解扩,对于基频信号来说,解扩的方法与扩频相同,通常的做法就是用本地同步的PN码序列与接收到的扩频信号相乘,即可把扩频的宽带信号恢复成窄带信号,以解调出传送的信息数据。
3.4 基带系统综合仿真
结合以上模块进行基带综合功能仿真,仿真图如图10和图11所示。
发射子系统中,发送PN码产生器为63位序列,用它对信息码进行扩频。接收子系统中,本地PN码发生器也为63位序列,频率和码字与发送端都相同,但相位不同。同步捕获采用匹配滤波器法,将本地PN码与接收信号中的PN码进行相关匹配,实现同步捕获后,启动本地PN码进行同步相位移动,送入解扩模块中进行解扩。
系统仿真结果如图11所示。
从结果可以看出,在捕获到PN码的情况下,系统可以实现正确的解扩功能。
4 结束语
研究了直序扩频的基本原理,设计并实现了基于FPGA的直序扩频系统,给出系统的设计电路和仿真结果,通过结果验证了设计的正确性和可行性。
上一篇:辐射对FPGA应用的影响及解决方案
下一篇:Altera率先实现28-nm FPGA与PLX技术公司PCIe Gen3交换机的互操作
推荐阅读最新更新时间:2024-05-02 21:47