1.算法运行效果图预览
(完整程序运行后无水印)
2.算法运行软件版本
matlab2022a
3.部分核心程序
(完整版代码包含详细中文注释和操作步骤视频)
layers = [
imageInputLayer([656 875 3]);%注意,656,875为能量图的大小,不能改
.............................................................
%全连接层
fullyConnectedLayer(3);
%softmax
softmaxLayer;
%输出分类结果
classificationLayer;];
%设置训练参数
options = trainingOptions('sgdm', ...
'InitialLearnRate', 0.00002, ...
'MaxEpochs', 100, ...
'Shuffle', 'every-epoch', ...
'ValidationData', imdsValidation, ...
'ValidationFrequency', 10, ...
'Verbose', false, ...
'Plots', 'training-progress');
..........................................................
figure;
plot(IT(1:5:end),LOSS(1:5:end),'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
xlabel('epoch');
ylabel('LOSS');
figure;
plot(IT(1:5:end),Accuracy(1:5:end),'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
xlabel('epoch');
ylabel('Accuracy');
save CNN.mat
155
4.算法理论概述
基于卷积神经网络(CNN)的MPSK(M-ary Phase Shift Keying)调制识别技术,是一种利用深度学习模型来自动学习和区分不同MPSK调制信号特征的方法。在本讨论中,我们将聚焦于识别三种基本的MPSK调制类型:二进制相移键控(BPSK)、四进制相移键控(QPSK)和八进制相移键控(8PSK)。
CNN是一种特殊类型的神经网络,其设计灵感来源于生物视觉系统,特别擅长处理具有空间结构的数据,如图像和一维信号。其核心组成包括卷积层、池化层、全连接层和输出层。
MPSK调制信号的识别依赖于其独特的相位特征。每种调制类型定义了一组离散的相位角,如BPSK(0°和180°),QPSK(45°, 135°, 225°, 315°),8PSK(依次间隔45°的八个相位点)。CNN的任务是学习这些相位差,进而识别调制类型。
训练阶段:使用已知调制类型的标记信号作为训练数据,通过反向传播算法调整网络权重,以最小化预测错误(如交叉熵损失函数)。
识别阶段:对于未知信号,通过训练好的CNN模型进行前向传播,输出各调制类型的概率分布,选择最高概率对应的调制类型作为识别结果。