基于压缩转发策略的MIMO双向中继网络通信系统仿真
项目介绍
本项目是一个基于MATLAB的通信系统仿真平台,专注于研究和分析多输入多输出(MIMO)双向中继网络(Two-Way Relay Network, TWRN)中的压缩转发(Compress-and-Forward, CF)协议性能。
在仿真场景中,两个源节点通过一个中继节点交换信息。项目模拟了完整的通信过程,包括信号的产生、瑞利衰落信道传输、中继端的压缩处理以及目的端的干扰消除与信号检测。核心亮点在于实现了基于Wyner-Ziv编码原理的压缩噪声计算,以及目的端考虑量化噪声影响的MMSE检测算法。
功能特性
- MIMO双向中继架构:支持源节点和中继节点配置多根天线,利用空间复用增益。
- 压缩转发(CF)协议:中继节点不对信号进行解码,而是对接收到的混合信号进行数字化压缩转发。
- Wyner-Ziv有损压缩:利用目的端的边信息(Side Information)理论,计算满足下行链路容量约束的最优量化噪声方差。
- 自适应量化计算:采用二分法数值算法求解非线性压缩速率约束方程。
- 高级信号检测:目的端采用最小均方误差(MMSE)检测器,并具备处理叠加量化噪声的能力。
- 多维度性能评估:提供遍历和速率(Sum Rate)、中断概率(Outage Probability)和误码率(BER)的三重性能指标分析。
系统要求
- MATLAB R2016b 或更高版本
- 不需要额外的工具箱(核心算法完全基于基础矩阵运算实现)
使用方法
- 确保MATLAB工作路径包含主脚本文件。
- 直接运行主程序即可启动仿真。
- 程序将自动执行从低信噪比到高信噪比的蒙特卡洛循环仿真。
- 控制台将实时输出当前SNR下的速率、中断概率和误码率统计。
- 仿真结束后,程序将调用绘图函数展示性能曲线。
仿真逻辑与核心算法详解
本项目的主程序严格按照双向中继通信的时序逻辑进行实现,具体流程如下:
1. 系统参数与信道建模
- 参数配置:系统默认配置为2x2 MIMO系统(源节点2天线,中继2天线),使用QPSK调制,帧长100符号,默认进行2000次蒙特卡洛迭代。
- 瑞利衰落信道:上行和下行链路均建模为独立同分布的复高斯随机变量(瑞利衰落)。利用TDD系统的互易性假设,下行信道矩阵被设定为上行信道矩阵的转置。
2. 多址接入阶段 (MAC Phase)
- 两个源节点生成随机比特流并进行QPSK调制和功率归一化。
- 源节点同时向中继发送信号,中继节点接收到的是两个源信号经过信道衰落后的叠加信号,并叠加了加性高斯白噪声(AWGN)。
3. 压缩转发处理 (CF Strategy)
这是本项目的核心逻辑,具体步骤包括:
- 下行容量计算:根据中继到两个源节点的信道状态,分别计算两条下行链路的信道容量,作为压缩信息的传输速率上限。
- Wyner-Ziv量化噪声求解:
* 基于Wyner-Ziv编码定理,源节点利用自身发送的信号作为边信息进行解码,因此中继在压缩时只需传输去除该边信息后的残差信息。
* 代码通过一个辅助函数实现数值求解:构建关于量化噪声方差的非线性约束方程。
* 采用
二分法(Bisection Method)迭代寻找满足容量约束的最小量化噪声方差。
- 压缩信号生成:根据计算出的方差生成复高斯分布的量化噪声,并将其叠加到中继接收信号上,模拟实际的压缩过程。
4. 广播与检测阶段 (Broadcast Phase)
- 等效信道构建:目的端接收到的信号被建模为期望信号、信道噪声以及中继引入的量化噪声的叠加。
- 完美干扰消除:假设源节点已知自身发送的信号及相关信道状态信息,实现了完美的自干扰消除(Self-Interference Cancellation),仅保留对方发送的信号项。
- MMSE信号检测:
* 构建包含热噪声和量化噪声的总噪声协方差矩阵。
* 计算MMSE滤波矩阵,该矩阵权衡了干扰抑制和噪声放大,对经过压缩链路传输的信号进行线性估计。
5. 性能统计
- 误码率 (BER):对软估计信号进行QPSK解调,对比原始比特流计算误码率。
- 遍历和速率 (Sum Rate):基于等效信噪比(考虑了量化噪声影响)计算两个方向的香农公式互信息之和。
- 中断概率 (Outage Probability):判断双向链路中任意一条链路的瞬时速率是否低于目标速率的一半,若低于则计数为中断事件。