高斯白噪声下的二径衰落和三径衰落MATLAB仿真分析系统
项目介绍
本项目是一款基于MATLAB开发的无线通信信道仿真工具,专门用于分析信号在多径环境(二径与三径)下的传播特性及性能。系统模拟了在加性高斯白噪声(AWGN)干扰背景下,数字信号通过具有不同延迟和增益参数的多径衰落信道时的物理过程。通过本系统,用户可以直观地观察到由于多径干涉引起的频率选择性衰落、相位偏移、星座图畸变以及对系统误码率(BER)的具体影响。该项目为理解移动通信系统中的信道建模、抗衰落技术(如均衡与分集接收)以及频率选择性特性提供了量化的实验依据。
功能特性
- 多模式信道模拟:支持二径(主径 + 一个延迟径)和三径(主径 + 两个延迟径)衰落信道的建模与对比。
- 动态SNR仿真:提供在0dB至20dB信噪比范围内的性能测试,并生成误码率曲线。
- 全方位可视化分析:包含信道冲激响应(CIR)、信号频谱分析、星座图分布以及时域波形对比。
- 标准QPSK调制:系统采用标准的正交相移键控(QPSK)调制方案,并实现了基带信号的处理与解调。
- 自定义物理参数:支持自定义采样频率、码元速率、多径延迟时间及增益强度。
系统要求
- 软件环境:MATLAB R2016a 或更高版本。
- 工具箱要求:虽然系统手动实现了核心算法(如AWGN添加和衰落处理),但建议安装 Signal Processing Toolbox 以获得最佳的绘图支持。
- 硬件要求:建议内存 4GB 以上,以流畅处理大规模信号序列的FFT变换和绘图。
功能实现逻辑说明
系统的核心仿真逻辑遵循移动通信物理层传输流程,具体步骤如下:
- 参数初始化:
- 设置采样频率为 1MHz,码元速率为 100kbps。
- 定义原始二进制序列长度为 10000 位。
- 设定二径参数:延迟为 [0, 2] 微秒,增益为 [1, 0.6]。
- 设定三径参数:延迟为 [0, 2, 5] 微秒,增益为 [1, 0.7, 0.4]。
- 信号生成与调制:
- 产生随机二进制比特流。
- 对比特流进行分组并映射到 QPSK 星座点(通过实部和虚部的双极性映射实现)。
- 进行归一化功率处理。
-
上采样与波形塑造:将离散符号转换为过采样的时域信号,采用矩形脉冲成形。
- 多径衰落信道建模:
-
信道冲激响应计算:根据预设的延迟和增益,在时间轴上构建信道的脉冲响应模型。
-
多径干涉处理:通过将原始信号按照不同路径的延迟量进行移位,并乘以对应的幅度增益后进行加权叠加,模拟多径传播产生的时延扩展。
- 噪声注入于误码率测试循环:
- 系统在 0dB 到 20dB 的 SNR 范围内进行循环。
-
加性白噪声(AWGN):计算信号的平均功率,并根据 SNR 要求生成相应功率的复高斯噪声。
-
解调逻辑:采用中点采样方式从接收信号中恢复码元,并基于坐标象限判定(零电平判决)进行比特恢复。
-
统计计算:对比原始比特与恢复比特,计算不同 SNR 下的误码率。
- 结果分析与绘图:
- 绘制二径与三径的信道冲激响应图,展示时延分布。
- 绘制 SNR vs BER 曲线,分析多径丰富程度对通信可靠性的影响。
- 计算并绘制接收信号的周期图功率谱,展示频率选择性衰落引起的谱线凹陷。
- 绘制信号星座图,观测多径干扰导致的符号发散与偏移。
- 绘制原始波形与衰落波形的局部时域对比图。
关键函数与算法细节分析
该算法通过将每个 QPSK 符号重复扩展至指定的采样点数,实现了简单的矩形脉冲成形。这种处理方式方便后续在时域进行精确到采样点的多径延迟操作。
该算法的核心是时域延迟叠加。它首先根据采样频率将时间延迟(秒)转换为样本偏移量,然后创建一个包含总长度(原信号长度 + 最大延迟)的零向量。遍历每一条路径,将原始信号按偏移量位置进行累加,最后为了保持仿真一致性,将信号截断至原始输入长度。
这是手动实现的噪声加法算法。它不依赖外部工具箱,而是通过
mean(abs(in).^2) 计算信号功率,根据
10^(snr_db/10) 计算线性信噪比,进而推导出噪声的标准差。利用
randn 生成复随机白噪声并叠加到信号上。
- 解调及误码率计算(demod_and_calc_ber):
系统采用非相干检测的思路,选取每个符号采样周期的中点进行抽样,有效避开了符号边缘的过渡区域。解调逻辑直接提取实部和虚部的符号位(>0 为 1,<=0 为 0)来恢复比特,随后通过位非运算统计错误总数。
利用
periodogram 函数配合 1024 点 FFT 进行功率谱密度估计,中心频率对齐(centered),从而清晰地展示出在多径环境下,特定频率分量由于相位抵消而出现的严重衰减(零点现象)。