一款基于FPGA的CDMA调制/解调模块设计
调制模块选择了具有恒包络特性的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调制已经不能满足频带利用率和系统的有效性等要求,故基本采用多进制调相系统。此外,绝对调相系统会产生倒相现象,因此应该考虑采用相对相位调相系统,基于该思路的水声无线通信一定会有更好的应用前景。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)