基于MATLAB的六种通信信号高精度调制识别系统
项目简介
本项目是一个高效的自动调制识别(AMC)仿真平台,旨在低信噪比环境下对数字通信信号进行分类。系统基于MATLAB开发,能够模拟从信号产生、信道传输到特征提取与分类决策的完整通信链路。通过优化特征工程算法,系统实现了对六种典型调制信号(2ASK, 4ASK, 2FSK, 4FSK, BPSK, QPSK)的高精度识别。
该仿真平台特别适用于通信侦察、软件无线电(SDR)算法验证以及通信原理的教学演示,能够在信噪比(SNR)-5dB至15dB的宽范围内评估识别算法的性能。
功能特性
- 多调制格式支持:支持六种主流数字调制信号的生成与识别,涵盖幅移键控(ASK)、频移键控(FSK)和相移键控(PSK)。
- 高保真信道模拟:内置加性高斯白噪声(AWGN)信道模型,支持动态信噪比扫描(-5dB 至 15dB)。
- 鲁棒的特征提取:利用希尔伯特变换提取瞬时统计量,结合高阶累积量构建抗噪特征向量。
- 层级分类决策:采用基于决策树逻辑的阈值判决法,计算量小且实时性强。
- 可视化分析:自动生成识别准确率随SNR变化的曲线图,以及特定信噪比下的混淆矩阵,直观展示分类性能。
- 结果可复现:通过固定随机数种子,确保每次蒙特卡洛仿真的结果一致,便于算法调优。
系统要求
- MATLAB R2016b 或更高版本
- Signal Processing Toolbox(信号处理工具箱)
- Communications Toolbox(通信工具箱)
使用方法
直接运行主脚本即可启动仿真。程序将自动执行以下步骤:
- 初始化系统参数并重置随机种子。
- 进入主循环,遍历预设的信噪比范围。
- 对每种调制信号进行指定次数(默认100次)的蒙特卡洛实验。
- 实时更新进度条显示当前仿真状态。
- 仿真结束后,弹出窗口展示性能评估曲线和混淆矩阵。
详细功能与算法实现
本项目代码逻辑严密,主要分为参数设置、主仿真循环、信号处理子函数及可视化四个部分。
1. 仿真参数配置
系统首先定义了关键的通信参数,确保仿真是各类信号具有可比性:
- 采样频率 (fs):200 kHz,保证了足够的过采样率。
- 载波频率 (fc):20 kHz。
- 符号速率 (Rs):2 kHz。
- 每个信号符号数:500个,保证了统计特征的稳定性。
2. 信号生成机制
程序通过 switch-case 结构实现了六种信号的基带映射与频带调制:
- 通用处理:生成随机整数符号,通过矩形脉冲成型(rectpulse)进行过采样,最后乘以载波。
- ASK信号:根据2ASK或4ASK将符号映射为不同的幅度电平。
- FSK信号:根据2FSK或4FSK调整瞬时频率,通过累积频率计算相位,并对频率轨迹进行了平滑处理以减少突变噪声。
- PSK信号:实现BPSK(0/pi相位)和QPSK(格雷码映射的四个相位),通过相位调制生成信号。
- 能量控制:所有生成信号在发送前均进行能量归一化,确保信噪比计算的准确性。
3. 信道模拟
采用标准的AWGN模型。根据设定的信噪比(dB)计算所需的噪声功率,生成相应方差的高斯白噪声并叠加到发射信号上。
4. 特征提取(核心算法)
这是识别系统的核心部分,代码利用希尔伯特变换(Hilbert Transform)从接收信号中提取解析信号,进而计算以下五类关键统计特征,构成特征向量:
- 预处理:对信号进行去均值和能量归一化,消除信号强度的影响。
- 瞬时参数计算:提取瞬时幅度、瞬时相位,并利用差分法和中值滤波计算平滑后的瞬时频率。
- 特征1:瞬时幅度标准差 (sigma_aa)
* 用于衡量信号包络的波动情况。ASK信号该值较大,而PSK/FSK等恒包络信号该值较小。
* 用于衡量频率的稳定性。FSK信号因频率跳变该值较大,可有效区分FSK与PSK/ASK。
* 基于混合矩计算,即 C42 = E[z^4] - ... 的归一化形式。该特征对星座图形状敏感,能有效区分BPSK(值为负)与QPSK(值接近0)及其他高阶调制。
* 描述频率分布的形态。用于在FSK内部进行细分,区分2FSK(双峰分布)和4FSK(四峰分布)。
* 描述幅度分布的形态。辅助区分2ASK和4ASK。
5. 分类决策
采用层级判决阈值法(Decision Tree),根据提取的特征值逐步缩小候选范围:
- 第一层:利用瞬时幅度标准差(sigma_aa)将信号分为变包络信号(ASK类)和恒包络信号(PSK/FSK类)。
- 后续层级:
* 在ASK分支中,利用幅度峭度区分2ASK和4ASK。
* 在恒包络分支中,利用瞬时频率标准差区分FSK类和PSK类。
* 利用频率峭度区分2FSK和4FSK。
* 利用四阶累积量区分BPSK和QPSK。
6. 结果可视化
仿真结束后,系统绘制两幅子图:
- 识别率曲线:展示从-5dB到15dB范围内,系统整体识别准确率的上升趋势。
- 混淆矩阵:选取由于系统设定目标信噪比(约9dB)附近的实验数据,绘制热力图形式的混淆矩阵,直观展示各类信号之间的误判情况(例如QPSK是否容易被误判为BPSK)。