葛立扬,王 曌
(南京邮电大学 自动化学院,江苏 南京 210046)
根据MC-CDMA调制解调的基本原理,在本方案设计中将其调制过程划分为符号复制、频域扩频、载波调制三个功能模块,解调过程划分为载波解调、解扩和频域合并三个功能模块。考虑到代码的整齐和运算速度的要求,在设计中采用了流水线操作方式。
根据需求,本文设计方案的子载波数为32,扩频码由长度为32的OVSF码发生器产生,通过设置OVSF码发生器的参数,可以选择32种不同的码字中的一种进行扩频来区分不同用户的数据。各个模块之间的时序关系通过ens等控制信号实现,前端模块运算完成才触发后端模块,从而实现流水线操作。
MC-CDMA调制所有程序模块之间的关系和信号流程。其中MC-CDMA模块为顶层模块,第二行的三个函数为一级子模块,第三行的函数为二级模块。进入MCCDMA调制器的数据符号首先经过N次复制,本文系统中N=32,Copy32子程序模块即用于实现多载波调制中的符号复制功能。复制之后的数据送入频域扩频模块sPreading,经由长度为32的OVsF码序列进行扩频处理后送入IFFT32运算模块实现频域到时域的变换,完成MC-CDMA调制。
在扩频通信系统中,其原理都是使用扩频序列来扩展用户的原始信号。在接收端,为了恢复原始信号,使用与发射端一样的同步扩频序列与收到的信号进行相关。MC-CDMA就是利用扩频序列的互相关性进行多用户通信的,扩频序列在MC-CDMA系统中起着重要的作用。
本文中FFT/IFFT设计参考Altera公司FFTIP核的数据手册[2],通过对IP核进行实际测试可知,有效数据要延迟于START信号4个时钟周期输入。而在本系统中,来自前端模块的控制信号和有效数据是同步输入FFT/IFFT变换模块的,所以需要对输入数据寄存4个周期。输入数据缓冲模块用来对输入数据进行寄存。时序控制单元用于保证模块中的时序对齐。FFT/IFFT运算单元是基于Altera公司的Altera Megacore IP核实现的。FFT/IFFT IP核的各个主要参数设置如表1所示。变换长度为32,采用并行流水线FO结构,为了节省slices资源的消耗,最大限度地选择使用片内的块RAM资源。表1给出了综合得到的FFT&IFFT模块的资源消耗情况,从综合报告中可知,其最大执行速度可以达到268 MHz。
表1 FFT&IFFT模块的资源消耗情况
基于以上所提出的2发3收MIMOMC-CDMA基带系统发射机和接收机的设计方法,分别实现发射机和接收机的RTL代码编写工作并进行功能验证之后,将发射机与接收机进行了联合凋试,验证了本文设计实现的2发3收MIMOMC-CDMA基带系统的基本功能。
2发3收MIMO系统的信道处理过程类似于硬件仿真MIMO信道模块,来自发射机2个发射端的信号xl,x2与信道矩阵相作用之后加入高斯白噪声,得到3个数据:r1、r2、r3,送往接收机的 3个接收天线端。接收机检测算法是在假设2发3收MIMO信道矩阵的6个参数h11~h33己经被正确估计出来的基础上进行的。系统联合调试中的信道参数来自32个子载波的2发3收MIMOMC-CDMA的MATLAB仿真系统,首先得到仿真信道在每个载波上的参数,此时的信道参数为复数浮点数据;之后在MATLAB环境中编写一个将任意复数转化为可设定点结构与位宽的十六进制数据的程序,将这些复数信道参数转化为Verilog编码能够识别的十六进制数,本文实现中将这些信道参数转化为位宽为16的十六进制数,其中实部、虚部分别以高8位和低8位表示。在这8位中,1位为符号位,另外7位为预设的信道参数的值,其中2位为整数位,5位为小数位。
为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驭动设计的主时钟,以达到最低的时钟抖动和延迟,本文中时钟管理单元的实现亦遵从这一原则。本文设计的系统时钟产生结构模块共使用3个Altera公司的OCMIP核来产生品振时钟的6种分频,输入时钟在第一个DCMIP核模块中经过一个IBIJFG后用来驱动第二个和第三个OCMIP核模块。
仿真条件设定为:单位比特信噪比EbNo=4,系统带宽 B=20 MHz,OVSF扩频码字号K=31,采用ch=2时的信道参数组模拟信道,长信源随机信号的长度为L=T×len=2 000×15=30 000,单用户,AWGN信道。其中ErrorN为接收机统计所得的误码个数。图1是采用QPsK调制方式时系统联合调试的功能仿真结果,信宿模块统计得到的误码比特数 ErrorN为 602,BER==602/30 000=0.020 067,接近EbNo=4时的仿真结果0.020 05。
随着调制阶数的增加,系统的性能会有所下降,高阶调制对系统硬件的要求会更高。图2为使用Altera Quartus II 6.0仿真平台的综合工具得到的系统所占用的芯片资源情况。仿真所用的芯片与DE2开发板上的芯片一致,均为Altera公司Altera CycloneII。因为对运算过程中涉及的乘法和复乘运算进行了简化,并尽可能有效利用片内的定值模块,极大地减少了资源消耗量。
本文首先提出了2发3收MIMO MC-CDMA基带系统的系统联合调试方案框架,使用硬件仿真MIMO信道模块来实现发射机和接收机的连接,设计了跨6个时钟域的系统时钟管理单元来实现各个模块之间的时钟同步,并详细介绍了时钟管理单元的设计实现方法与功能仿真结果。对FPGA基带系统进行联合调试,并与MATLAB仿真结果相比较,验证了发射机和接收机的功能,并将整个基带系统的RTL代码成功下载到DE2开发板的芯片上,调试成功。
[1]刘宝琴.可编程逻辑器件及其应用[B].北京:清华大学出版社,1995.
[2]Cyclone III device handbook:cyclone III device family overview.American.Altera Corp,2008.