最大似然(ML)与最大后验概率(MAP)准则仿真分析项目
项目介绍
本实验室仿真项目旨在通过 MATLAB 编程实现一个完整的数字通信系统检测链路,深入研究在统计信号处理中两种核心判决准则:最大似然(ML)准则与最大后验概率(MAP)准则。项目重点探讨了当信号源发送概率不均匀(即先验概率不等)时,MAP 准则如何利用先验信息优化判决门限,从而获得比 ML 准则更低的平均误码率。
功能特性
- 端到端通信链路模拟:完整模拟从信源产生、BPSK 调制、加性高斯白噪声(AWGN)信道传输到端判决的全过程。
- 不均匀信源生成:支持配置非对称先验概率,模拟实际通信中符号出现频率不等的情况(如 P0=0.8, P1=0.2)。
- 自适应判决门限计算:动态计算 MAP 准则下的最优判决门限,该门限随信噪比(SNR)和先验概率分布自动调整。
- 蒙特卡洛统计分析:采用大规模(10^6 比特)随机样本进行仿真,确保误码率(BER)统计数据的准确性。
- 多维度数据可视化:生成误码率性能对比曲线、判决门限随 SNR 变化趋势图,以及特定信噪比下的加权后验概率密度函数(PDF)分布图。
实现逻辑
仿真程序严格遵循以下逻辑流程:
- 参数初始化:设置信噪比范围(-5dB 至 12dB)、总仿真比特数、信源先验概率(P0=0.8)以及 BPSK 调制参数。
- 随机序列产生:基于设定的先验概率 P0,通过均匀分布随机数生成发送比特序列。
- 基带调制:按照 BPSK 映射规则,将比特 0 映射为幅度 -1,比特 1 映射为幅度 +1。
- 信道噪声添加:
* 根据当前 SNR 计算实数信道的噪声方差 sigma^2 = 1 / (2 * 10^(SNR/10))。
* 产生均值为 0、方差为 sigma^2 的高斯白噪声并叠加上信号。
- 信号判决:
*
ML 准则:忽略先验概率差异,统一使用固定门限 0 进行硬判决。
*
MAP 准则:根据贝叶斯公式推得最优偏移门限,该门限值为 (sigma^2 / 2) * ln(P0 / P1)。
- 统计与结果输出:对比检测比特与原始比特,计算误码率,并将结果以量化统计表的形式输出至命令行窗口。
关键算法与实现细节
1. MAP 准则的最优门限推导
在 AWGN 信道和 BPSK 调制下,MAP 判决器通过最大化后验概率进行决策。当 P0 > P1 时,判决门限会向信号 1 的方向偏移。代码中实现的数学表达式为:
Threshold = (σ² / 2) * ln(P0 / P1)
当噪声方差 σ² 较大(低 SNR)时,门限偏移显著;当 σ² 减小(高 SNR)时,先验信息的影响减弱,门限逐渐收敛于 0。
2. 噪声方差与信噪比的映射
代码精确处理了线性信噪比与分贝(dB)之间的转换,并针对实数传输场景(Eb/N0)精确设置了 sigma 值的计算逻辑,确保了仿真结果与理论值的严谨对应。
3. 概率密度函数(PDF)的可视化
为了直观展示判决原理,程序额外生成了加权 PDF 图像。通过绘制 P(x)*p(y|x) 的曲线,清晰地展示了 ML 门限(交点)与 MAP 门限(加权后的交点)在不同先验概率下的物理位置差异。
系统要求
- MATLAB R2016b 或更高版本。
- 无需额外工具箱,基于 MATLAB 核心函数库即可运行。
使用方法
- 打开 MATLAB 软件。
- 定位至项目文件夹。
- 运行仿真主程序。
- 观察命令行输出的性能量化统计表,并分析自动弹出的两张可视化图表:
* 图 1:对比 ML 与 MAP 的 BER 曲线,观察在低 SNR 下 MAP 的性能增益及在高 SNR 下的收敛情况。
* 图 2:观察判决门限随信噪比变化的非线性趋势。
* 图 3:观察在特定低 SNR 下,加权概率密度函数重叠区域与门限确定的关系。