协作通信中继系统 AF 与 DF 协议性能对比仿真
项目介绍
本项目是一个基于 MATLAB 开发的无线通信系统仿真模型,致力于研究和对比协作通信中两种主流的中继协议:放大转发(Amplify-and-Forward, AF)与解码转发(Decode-and-Forward, DF)。通过构建包含源节点(Source)、中继节点(Relay)和目的节点(Destination)的三端网络模型,项目在瑞利衰落信道环境下模拟了信号传输过程。
仿真程序采用蒙特卡洛方法,在不同的信噪比(SNR)条件下,量化分析了系统在误码率(BER)和中断概率(Outage Probability)方面的性能表现,并与传统的直接传输(Direct Transmission, DT)模式进行了对比,直观展示了协作分集技术带来的增益。
功能特性
- 多协议仿真对比:同时实现了直接传输(DT)、放大转发(AF)和解码转发(DF)三种传输方案。
- 通信环境建模:
*
调制方式:采用二进制相移键控(BPSK)。
*
信道模型:模拟瑞利平坦衰落信道(Rayleigh Fading),并叠加加性高斯白噪声(AWGN)。
*
路径损耗:基于几何距离模型(源-中继-目的)设置路径损耗方差,模拟真实的信号衰减差异(路径损耗指数为3)。
*
AF 协议:基于瞬时信道状态信息(CSI)的可变增益放大策略。
*
DF 协议:模拟全检测重调制的固定 DF 模式(包含潜在的误差传播)。
- 接收机设计:在接收端应用最大比合并(MRC)技术,分别针对不同协议计算最优合并权重。
- 性能指标评估:
*
误码率 (BER):统计传输错误的比特比例。
*
中断概率:计算瞬时信道容量低于目标速率的概率。
系统要求与使用方法
系统要求
- MATLAB R2016a 或更高版本(代码仅依赖基础 MATLAB 功能和统计工具箱)。
使用方法
- 确保 MATLAB path 中包含本项目的脚本文件。
- 直接运行主函数。
- 程序将自动执行蒙特卡洛仿真循环,控制台会输出当前仿真进度。
- 运行结束后,系统将自动弹出两个图形窗口,分别展示 BER 和中断概率的对比曲线。
代码实现逻辑与算法分析
主程序的具体实现完全基于 MATLAB 脚本逻辑,以下是对其关键步骤和算法细节的详细拆解:
1. 初始化与参数配置
程序首先初始化仿真环境,固定随机数种子以确保结果可复现。设置蒙特卡洛仿真的总符号数(100,000 bits)以保证统计精度。
- SNR 设置:定义了从 0dB 到 30dB 的信噪比扫描范围。
- 拓扑结构:定义归一化距离,设定源到目的距离为 1.0,中继位于正中间(距离源和目的均为 0.5)。基于距离和路径损耗指数(alpha=3)计算各段链路的信道方差。
2. 信号生成与信道建模
在每个 SNR 循环内,程序执行以下操作:
- 比特流生成:生成随机的二进制序列。
- BPSK 调制:将 0/1 比特映射为 -1/+1 信号。
- 信道生成:利用复高斯随机变量生成三条独立链路(S-D, S-R, R-D)的瑞利衰落系数,幅度服从瑞利分布。
- 噪声生成:根据当前发射功率和信噪比,生成对应功率的复高斯白噪声。
3. 给定协议的具体实现
#### 协议一:直接传输 (DT)
- 传输:信号直接经过 S-D 信道并叠加噪声。
- 接收:接收端利用已知的信道信息(CSI)进行共轭乘法(类似单经过 MRC),消除相位影响后进行判决。
- 指标:计算 BER,并根据 S-D 链路的瞬时信噪比计算香农容量,统计低于目标速率(1 bps/Hz)的情况作为中断。
#### 协议二:放大转发 (AF)
- 阶段一 (S-R):中继接收源信号。
- 中继处理:实施CSI 辅助的可变增益放大。计算放大因子 Beta,确保中继发射功率归一化(考虑了接收信号功率和噪声功率)。
- 阶段二 (R-D):中继转发放大后的信号,该信号经过 R-D 信道并叠加新噪声。
- 最优 MRC 接收:
* 目的节点同时接收来自源节点的直连信号和中继节点的转发信号。
*
权重计算:代码实现了复杂的 AF-MRC 权重计算。直连链路权重由信道增益和噪声功率决定;中继链路权重通过计算
等效噪声方差(包含被放大的中继前端噪声和目的端自身噪声)来确定,实现了信噪比最大化合并。
- 中断计算:使用双跳链路的一半(因占用两个时隙)互信息公式,该公式考虑了端到端等效信噪比的调和平均特性。
#### 协议三:解码转发 (DF)
*
解调与重构:中继对接收信号进行相干解调和硬判决,恢复出二进制数据。
*
重调制:将恢复出的数据重新进行 BPSK 调制。
* *注意:代码模拟的是固定 DF 协议,未包含 CRC 校验,因此如果中继在第一跳发生误判,会将错误信号重新编码转发给目的节点,导致误差传播。*
- 阶段二 (R-D):转发重构后的信号。
- MRC 接收:目的节点假设已知所有信道相位,对 S-D 和 R-D 的信号进行简单的最大比合并(共轭加权求和)。
- 中断计算:DF 系统的瓶颈受限于两跳中较差的一跳。代码计算第一跳容量和合并链路容量的最小值,并乘以 0.5 的系数(半双工约束)来判断是否中断。
4. 理论验证与性能评估
- 理论界:代码中直接计算了单跳瑞利衰落信道下 BPSK 的理论误码率公式,用于作为直接传输仿真结果的基准参考,验证仿真的准确性。
- 统计分析:在所有符号传输完成后,程序分别统计三种模式下的错误比特数和中断次数,除以总传输符号数得到 BER 和中断概率。
5. 结果可视化
程序最后绘制两张半对数坐标图:
- BER 性能对比图:展示 DT、AF、DF 的误码率随 SNR 变化的曲线,以及理论参考线。
- 中断概率对比图:展示三种方案在给定目标传输速率下的中断概率差异。
此实现不仅展示了中继在提升信号可靠性方面的优势(分集增益),也通过具体的算法逻辑反映了 AF 噪声放大效应与 DF 误差传播效应对性能的实际影响。