直接序列扩频(DSSS)通信系统载波同步与码同步仿真项目
项目介绍
本项目是一个基于MATLAB开发的直接序列扩频(DSSS)通信演示系统。其核心目标是模拟直扩信号在复杂信道环境下的传输过程,并重点展示接收端如何通过精密的同步算法提取有用信号。仿真涵盖了从信源生成、PN码扩频、载波调制到信道干扰模拟,以及接收端的码捕获、码跟踪和载波同步全过程,是一个评估同步环路性能(如收敛速度、跟踪精度和误码率)的完整实验平台。
功能特性
- 完整的系统仿真链:实现了包含比特流生成、m序列扩频、BPSK调制、频率/相位偏差注入、AWGN信道模拟及接收机全流程处理。
- 双层码同步机制:结合了滑动相关捕获算法(粗同步)与延迟锁定环DLL(精同步),确保在码片级别实现精确对齐。
- Costas锁相环载波同步:利用Costas环路处理射频链路引入的频率漂移和相位偏移。
- 高度模块化设计:参数设置、信号发生、同步逻辑与性能评价各部分逻辑清晰,便于修改与扩展。
- 多维度性能评估:提供星座图、同步收敛曲线、相关峰值图以及误码率(BER)对比曲线,直观反映系统性能。
使用方法
- 确保计算机安装了MATLAB环境以及通信系统工具箱(Communication Toolbox)。
- 运行主程序函数,系统将自动开始执行参数配置与信号传输仿真。
- 通过生成的六路子图观察同步过程,包括:
* 码捕获时的相关峰位置。
* 随着比特增加,码相位偏移的调整轨迹。
* 载波相位偏置的修正收敛曲线。
* 载波频率估计值的实时变化。
* 同步后的信号星座图分布。
* 仿真误码率与理论值的比对。
系统要求
- 软件环境:MATLAB R2016b 及以上版本。
- 硬件要求:具备标准运行内存的计算机,建议至少 4GB RAM。
核心功能与逻辑实现说明
1. 信号生成与调制逻辑
- 扩频码产生:使用线性反馈移位寄存器(LFSR)生成 7 级 m 序列。多项式定义为 x^7 + x^3 + 1,产生长度为 127 的伪随机序列。
- 发射端处理:随机信息比特经 BPSK 映射后,通过 PN 码进行扩频处理。扩频后的码片序列经过上采样至采样率(10MHz),最后通过载波调制发送。
2. 信道模型实现
- 损伤注入:在接收信号中叠加了 5000Hz 的初始频率偏差和 pi/4 的初始相位偏差。
- 噪声叠加:通过 AWGN 函数模拟加性高斯白噪声环境,支持根据设定的信噪比(SNR)动态调整信号质量。
3. 码捕获算法(粗同步)
- 滑动相关器:在接收端取一个比特周期的信号长度,与本地参考 PN 码进行全范围滑动互相关运算。
- 峰值检索:通过 abs(sum) 寻找相关运算的最大值点,该点对应的偏移量即为码序列的初始相位点。
4. 联合同步跟踪逻辑(精同步)
* 采用超前(Early)与滞后(Late)支路结构,通过 0.5 码片的偏移量进行相关。
* 误差判别公式基于非相干检测:abs(Early) - abs(Late)。
* 根据误差动态更新 pn_pos,实现码相位的实时精密调节。
* 鉴相器利用解扩后的复信号 I/Q 分量进行提取,误差公式为:real(val) * imag(val)。
* 采用二阶环路滤波器思想,分别利用 alpha 参数更新相位估计、beta 参数更新频率估计。
* 每一比特处理周期内,系统都会根据估计值对下一次采样信号进行补偿。
5. 性能评价模块
- 数据解调:基于 Costas 环补偿后的相位和 DLL 对齐后的采样点,进行能量累加解扩,最终进行阈值判定复原数据。
- 误码率分析:在 0 到 12dB 的信噪比区间内进行循环测试,计算仿真误码率,并与 BPSK 的理论误码率曲线进行对比,验证扩频增益对抗噪声的效果。
关键函数与算法分析
- m序列算法:通过 mod(reg(7) + reg(3), 2) 实现反馈,保证了序列的优良自相关特性。
- 非相干延迟锁定环:代码中通过分别计算超前、滞后、中心三个支路的相关值来维持跟踪,这种设计不仅能补偿初始偏移,还能对抗动态过程中的钟差。
- 双回路滤波器:Costas 环路逻辑中,freq_track(频率跟踪)是通过对相位误差的积分实现的,体现了典型的锁相环频率捕获特性。
- 星座图映射:归一化后的星座点展示了在信噪比 10dB 下,经过同步后的 BPSK 信号点集中在 I 轴两端的收敛状态。