基于2x2 BPSK的MIMO系统最大似然(ML)检测算法仿真
本项目实现了一个基于MATLAB的无线通信仿真平台,专注于研究和评估在2x2多输入多输出(MIMO)系统架构下,最大似然(Maximum Likelihood, ML)信号检测算法的误码率(BER)性能。通过蒙特卡洛仿真方法,项目模拟了信号在瑞利衰落信道和加性高斯白噪声(AWGN)环境下的传输过程,并验证了ML检测作为最优检测器的性能优势。
项目简介
该仿真代码构建了一个完整的数字通信链路,采用BPSK调制技术,配置2根发射天线和2根接收天线。核心逻辑在于接收端的最大似然检测器,它利用已知的信道状态信息(CSI),通过遍历搜索空间中所有可能的发送符号组合,寻找与接收信号欧几里得距离最小的假设矢量,从而实现最优解调。
功能特性
- MIMO系统架构:仿真配置为2发射2接收(2x2)的MIMO系统。
- BPSK调制解调:基带信号采用二进制相移键控(BPSK),映射规则为 0 -> -1, 1 -> +1。
- 信道建模:采用准静态瑞利平坦衰落信道(Rayleigh Fading),信道矩阵元素服从复高斯分布。
- 噪声模拟:在接收端叠加加性高斯白噪声(AWGN),根据不同的信噪比(SNR)动态调整噪声功率。
- 最大似然(ML)检测:实现了基于最小欧氏距离准则的最优检测算法,遍历全搜索空间进行判决。
- 蒙特卡洛仿真:通过大样本量的随机数据帧传输(默认为5000帧,每帧100符号),统计误比特率。
- 可视化性能分析:绘制BER vs SNR性能曲线,并以此对比SISO(单输入单输出)BPSK的理论性能,展示MIMO系统的分集增益。
系统要求
- MATLAB R2016b 或更高版本
- 无需额外工具箱(仅使用MATLAB基础函数)
算法实现与核心逻辑
仿真脚本严格遵循通信系统的标准处理流程,主要包含以下关键步骤:
1. 候选符号集构建(搜索空间)
在仿真开始前,代码预先构建了ML检测所需的候选符号集。对于2x2 MIMO 配合 BPSK调制:
- 总计有 $M^{nT} = 2^2 = 4$ 种可能的发送矢量组合。
- 利用位操作将索引转换为对应的BPSK星座点组合(例如
[-1; -1], [-1; 1] 等),形成候选矩阵 s_candidates。
2. 信号发射 (Transmitter)
- 生成随机二进制比特流。
- 执行BPSK调制,将二进制
0 和 1 分别映射为 -1 和 +1,生成发送符号矩阵 tx_symbols。
3. 信道环境 (Channel)
- 在每一帧数据传输中,生成一个独立的 $2 times 2$ 信道矩阵 $H$。矩阵元素由标准正态分布生成的复数构成,并归一化功率。
- 根据当前的信噪比(SNR)计算噪声功率谱密度,生成相应强度的复高斯白噪声矩阵。
- 接收信号模型遵循 $y = Hx + n$。
4. 最大似然检测 (ML Receiver)
这是本项目的核心算法部分,具体流程如下:
- 预计算预期接收值:利用当前帧的信道矩阵 $H$,计算所有4种候选发送矢量通过信道后的预期无噪接收信号 $H times s_{candidates}$。
- 遍历检测:对帧内的每一个接收符号矢量 $y_{curr}$:
1. 计算接收矢量与所有4个预期接收值之间的差值。
2. 计算上述差值的弗罗贝尼乌斯范数平方(即欧几里得距离平方)。
3.
判决:找到距离最小的候选对应的索引。
- 符号解映射:根据找到的最佳候选索引,提取对应的发送符号估计值,并逆映射回二进制比特。
5. 性能统计与可视化
- 误码统计:逐帧比对检测出的比特与原始发送比特,累计错误比特数。
- BER计算:在每个SNR点上,由总错误比特数除以总传输比特数得到误码率。
- 基准对比:代码计算了SISO BPSK在瑞利衰落信道下的理论BER曲线作为参考,通过对比图展示2x2 ML检测得到的性能增益(更陡峭的下降斜率表明获得了分集增益)。
使用方法
- 确保MATLAB环境已安装。
- 将脚本文件保存到本地目录。
- 直接运行脚本。
- 控制台输出:程序将在MATLAB命令行窗口实时打印当前信噪比(SNR)、误码率(BER)和错误比特统计。
- 图形输出:运行结束后,会弹出一个图形窗口,展示“信噪比 vs 误比特率”的半对数坐标曲线图,包含SISO理论值与2x2 MIMO ML仿真值的对比。
关键参数说明
nT / nR: 发射/接收天线数量(默认固定为2)。M: 调制阶数(默认2,即BPSK)。SNR_dB: 信噪比扫描范围,默认为 0dB 至 16dB。N_frames: 蒙特卡洛仿真的总帧数,增加此值可提高低误码率下的统计精度。frame_len: 每帧包含的符号数量。
结果示例
运行仿真后,您将观察到:
- 在低信噪比区域,MIMO ML检测的误码率较高。
- 随着信噪比增加,误码率呈瀑布状迅速下降。
- 相比图中绘制的SISO瑞利衰落理论曲线,2x2 MIMO ML曲线具有更陡峭的斜率,验证了空间分集带来的性能提升。