基于FPGA的CDMA调制/解调模块设计
扫描二维码
随时随地手机看文章
任何信息需要借助声、光、电信 号进行传递,由于光信号和电信号在海水中的衰减比较严重,而声波是人类迄今为止已知的惟一能在水中远距离传播的能量形势,因此,近些年海洋中的水声通信系统的研究以及开发成了热点。水声通信是指利用水声信道进行通信双方数据传输的通信系统,水声通信系统构成与传统的无线电通信系统构成具有极大的相似性,但是水声通信系统是将电信号转换成声信号,携载信息的声信号在水中进行传播完成系统的数据传输。
1 水声通信系统的总体结构
基于CDMA的水声通信调制/解调系统的设计框图如图1所示,整个设计系统主要实现了信号的CDMA调制/解调、控制DAC 以及ADC 进行数字采集,模数转换和数模转换由专用的集成芯片来实现。功率放大 器的功能是实现对调制信号的放大,信号放大与调理是功率放大的逆过程;发射水声换能器实现将经过放大器产生的电磁能转化为声能,接收水声换能器是将接收到的声信号转化为电信号。
图1 水声通信系统基本模型
设计的水声通信系统电路原理框图如图2 所示。系统的主控制芯片是Altera 公司的Cyclone Ⅲ系列的EP3C10E144C8N,内部主要包括通信模块、扩频模块、BPSK调制模块及相应的解调模块;外围电路包括整个系统的供电电路、实现A/D 转换的ADS7800芯片、实现D/A 转换的TY5639 芯片、为整个系统提供时钟信号的的晶振电路、实现TTL电平与CMOS电平兼容的电平转换芯片74HC245A、用于烧写目标程序的JTAG接口,另外还包括数据传输的电路等。
图2 水声通信系统的电路设计框图
该系统的工作过程:首先是上位机模拟发射端,将要发送的数字信号经串行口发送给FPGA芯片,通信模块接收数字信息后依次传送给扩频模块BPSK 调制模块,至此将接收到的数字信息进行调制后产生的信号经D/A转换器转换成模拟电信号,然后该电信号经水声换能器转换成声信号发送出去,携载了发送方发送信息的声信号在水下环境进行传播。其次是接收端,接收端同样有一个水声换能器负责将接收到的声信号转换成电信号,经A/D 转换器后,所得数据信号经同步后进行BPSK解调,最后将解调出来的数字信号经通信模块传给串行口,从而发送给接收端,一次水声通信过程完成。
2 系统的FPGA实现
CDMA又称码分多址,是以扩频通信为基础的一种调制和多址方式,扩频通信技术是一种信息传输方式,要求信号所占有的频带宽度远大于所传信息所必需的最小带宽;频带的展宽是通过编码及调制的方法实现的,并与所传信息数据无关;在接收端则用相同的扩频码进行相关解调来解扩及恢复所传信息数据。其理论依据是信息论中的香农公式:
C = B log2 (1 + S/N ) (1)
式中:C 为信道可能传输的 最大信息速率,表示信道容量;B 表示信道带宽;S 表示信号的平均功率;N 表示噪声功率。
从式(1)中可以看出:在信噪比很小的情况下,可以使用增加带宽的办法来提高系统的抗干扰性能,以保证信道容量不变。换句话说,在信道容量相同的条件下,宽带系统比窄带系统的抗干扰性能要好,所以当信噪比太小而且不能保证通信质量时,可以采用增加带宽的方法来改善通信质量。
图3,图4为直扩系统的工作原理图,由信号源输出的信息码与伪随机码产生器产生的伪随机码进行模2加或相乘,产生以速率与伪随机码速率相同的扩频序列,然后再用载波去调制扩频序列,就得到已扩频调制的射频信号。接收端解扩的过程与扩频过程相同 ,用本地的伪随机序列对接收信号进行相关解扩后进行解调。
图3 发射单元原理图
图4 接收单元原理图[!--empirenews.page--]
2.1 发射单元设计
发射单元主要包括伪随机序列码模块(PN 码发生器),扩频模块,BPSK调制模块。
2.1.1 PN码发生器
PN码发生器采用m序列发生器的原理,m序列式最长线性移位寄存器,是由移位寄存器加反馈后形成的。一个线性反馈移存器能产生m 序列的充分必要条件为:期特征多项式为本原多项式。本设计设计了一个7 级周期为127 的发生器,所选用的本原多项式为f (x) = 1 + x + x2 + x6,使用VHDL语言编写。
2.1.2 扩频模块
将PN码发生器生成的m序列与输入的数字信号进行异或,完成扩频功能。扩频模块的RTL图如图5所示。
图5 扩频模块RTL图
2.1.3 BPSK调制模块
调制模块选择了具有恒包络特性的BPSK调制,它是通过基带信号控制载波的相位,使得载波相位发生跳变的一种调制方式。当码元为‘1’时,调制后相位变为180°,当码元为‘0',时,调制后相位变为0°,为此设计了BPSK 调制模块,设计例化了两个ROM,通过Matlab 生成。mif文件用来存放0°和180°的数据,另外还有地址选择器,数据选择器。
整个发射端的仿真图如图6所示,clk为系统时钟,clk_bpsk 为进行BPSK 调制的时钟,datain 为输入数据,m_out 为生成的m 序列,spre_out 为扩频后 的波形,bpsk_out为BPSK调制后的输出。从结果可以明显地看出输出信号有两次相位变化,一次是从0°~180°的跳变,另一次是从180°~0°的跳变,可以看到数据被正确的调制。
图6 发射单元仿真图
2.2 接收单元设计
为了验证设计系统的可行性,系统里设计了BPSK解调和解扩模块,并将发射端调制好的数据直接作为接收端的输入数据。BPSK 解调模块里同样例化了一个ROM,存储了相位为0°的数据,将通过载波同步后的数据与ROM的输出数据进行相乘,然后进行抽样判决,判决结果如图7所示,图中spre_out为发射端扩频完的数据,sam_out 为进行抽样判决后并延时了70 个clk_bpsk,目的是为了将数据恰好在数据始终的上升沿,p_out表示开始进行解调输出,从图中可以看出判决延时后的数据恰好与扩频后的数据完全相同,只是延时了一段时间表示解调时间。
图7 BPSK解调模块结果图
假设解扩模块里已进行PN 码的同步,此处只 是进行了一定时间的延时,使其恰好与发射端PN 码相同,然后与BPSK 解调后的数据进行异或,得到输出数据,结果如8 所示,sp_end 为解扩完的数据,p_end 为标志位表示开始进行解扩,datain 为输入的原始数据,从图中可以看出解扩的数据域最初的原始输入数据相同,只是有一段时间的延时,可看出系统进行了正确的解调。
图8 解调仿真图
3 结语
本文设计了一个基于FPGA 的直接序列扩频系统的水声通信调制/解调系统,目的在于使水声无线通信中具有更强的抗干扰性和保密性,系统中包含了信号的扩频及BPSK 调制以及相应的解调模块,并且在Modelsim 仿真软件上验证成功。虽然BPSK 调制相对于2FSK,2ASK 具有带宽窄、频率高、抗干扰性强等优点,广泛的应用于中高速通信中。但是在更高速的通信系统中,BPSK调制已经不能满足频带利用率和系统的有效性等要求,故基本采用多进制调相系统。此外,绝对调相系统会产生倒相现象,因此应该考虑采用相对相位调相系统,基于该思路的水声无线通信一定会有更好的应用前景。