首页 > 其他分享 >基于CNN卷积神经网络的MQAM调制识别matlab仿真

基于CNN卷积神经网络的MQAM调制识别matlab仿真

时间:2024-07-23 23:50:37浏览次数:13  
标签:MQAM ... 训练 matlab CNN 识别 调制

1.算法运行效果图预览

(完整程序运行后无水印)

 

 

2.算法运行软件版本

matlab2022a

 

3.部分核心程序

(完整版代码包含中文注释,训练库)

 

digitDatasetPath = ['Image_train\'];
imds = imageDatastore(digitDatasetPath,'IncludeSubfolders', true, 'LabelSource', 'foldernames');
%划分数据为训练集合验证集,训练集中每个类别包含1张图像,验证集包含其余图像的标签
numTrainFiles               = 2;%设置每个类别的训练个数
[imdsTrain, imdsValidation] = splitEachLabel(imds,0.8);
  
 
 
%定义卷积神经网络的基础结构
layers = [
......................................................................
];
 
%设置训练参数
options = trainingOptions('sgdm', ...
    'InitialLearnRate', 0.00005, ...
    'MaxEpochs', 100, ...
    'Shuffle', 'every-epoch', ...
    'ValidationData', imdsValidation, ...
    'ValidationFrequency', 10, ...
    'Verbose', false, ...
    'Plots', 'training-progress');
 
%使用训练集训练网络
[net,INFO]=  trainNetwork(imdsTrain, layers, options);
 
 
 
 
IT  =[1:length(INFO.TrainingLoss)];
LOSS=INFO.TrainingLoss;
Accuracy=INFO.TrainingAccuracy;
 
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
156

  

 

4.算法理论概述

      基于卷积神经网络(Convolutional Neural Networks, CNN)的MQAM(Multi-Level Quadrature Amplitude Modulation)调制识别,是一种利用深度学习技术自动识别无线通信中信号调制类型的方法。MQAM作为一种高效的数字调制技术,通过不同的幅度和相位组合来传输信息,广泛应用于现代通信系统中。而CNN由于其在图像识别和特征提取方面的卓越能力,被成功应用于调制识别任务,通过学习信号波形的特征来区分不同的调制模式。下面详细介绍其工作原理及涉及的数学模型。

 

      MQAM调制识别任务的目标是从接收到的信号中识别出其调制类型,例如16QAM、64QAM等。传统方法往往依赖于精心设计的特征提取器和分类器,而CNN则能自动从原始数据中学习和提取高级特征,实现更高效和准确的识别。

 

       星座图是MQAM调制信号的二维散点图,横轴表示信号的I分量(In-phase),纵轴表示Q分量(Quadrature)。例如,16QAM的星座图有4个幅度等级,每个幅度等级有两个相位状态,形成一个典型的“十字”图案;32QAM和64QAM的星座图则更加密集,分别有16和36个等距分布的点。

 

4.1 CNN模型结构

 

 

 

4.2 损失函数与优化

 

 

 

 

4.3 训练与测试

训练阶段:通过大量标记的调制信号样本对模型进行训练,优化网络参数,使模型学会从信号中抽取与调制类型相关的特征。

 

测试阶段:在独立的测试集上评估模型性能,主要指标包括识别准确率、混淆矩阵等。

 

       基于CNN的MQAM调制识别,特别是针对星座图的识别,展示了深度学习在复杂信号处理任务中的强大潜力。通过自动学习调制信号的视觉特征,CNN不仅能够有效区分16QAM、32QAM和64QAM,还为处理更复杂的调制类型和实际通信环境下的信号识别提供了坚实的基础。随着技术的不断进步和模型优化,CNN在无线通信领域的应用将会更加广泛和深入。

 

标签:MQAM,...,训练,matlab,CNN,识别,调制
From: https://www.cnblogs.com/matlabworld/p/18319888

相关文章

  • JCR一区级 | Matlab实现GA-Transformer-LSTM多变量回归预测
    JCR一区级|Matlab实现GA-Transformer-LSTM多变量回归预测目录JCR一区级|Matlab实现GA-Transformer-LSTM多变量回归预测效果一览基本介绍程序设计参考资料效果一览基本介绍1.【JCR一区级】Matlab实现GA-Transformer-LSTM多变量回归预测,遗传优化算法(GA)优......
  • Aquila优化算法(基本原理+matlab源代码)—— 基于Aquila Optimizer原始论文分析
    Matlab源代码位于:AquilaOptimizer:Ameta-heuristicoptimizationalgorithm-FileExchange-MATLABCentral(mathworks.cn)1Aquila优化算法AO是一种基于种群优化方法,受启发于Aquila捕获猎物的方式。Aquila捕获猎物的方式主要有四种:(1)有垂直弯曲的高空翱翔(2)用短......
  • XGBoost、RF随机森林算法MATLAB实现
    %加载并预处理训练数据opts1=detectImportOptions('附件一AE.xlsx','PreserveVariableNames',true);train_data=readtable('附件一AE.xlsx',opts1);train_data.Time=datetime(train_data.time,'InputFormat','yyyy-MM-ddHH:mm:s......
  • 基于单片机和MATLAB的FIR滤波器设计
    摘要:随着社会经济的进步和科学技术的不断发展,数字滤波器的优势使其广泛应用于不同领域。但是,数字滤波器设计过程中的复杂性对其发展造成了制约。因此,笔者实现了基于单片机和MATLAB的滤波器的全新设计方法,并对设计后的滤波器进行仿真和实现验证。结果表明,此种方法所设计的......
  • pytorch CNN 模型参数存储不正确
    工作任务是制作一个CNN模型来对图像进行一些分类任务。另外,我应该能够在对图像进行分类后查看特征图,即应用卷积或池化操作后获得的图像。下面是我定义CNN类的方式:classConvNet(nn.Module):def__init__(self,input_channels,output_dim):super().__init__()......
  • Aquila优化算法(基本原理+matlab源代码)—— 基于Aquila Optimizer原始论文分析
    Matlab源代码位于:AquilaOptimizer:Ameta-heuristicoptimizationalgorithm-FileExchange-MATLABCentral(mathworks.cn)1Aquila优化算法AO是一种基于种群优化方法,受启发于Aquila捕获猎物的方式。Aquila捕获猎物的方式主要有四种:(1)有垂直弯曲的高空翱翔(2)用短滑翔攻......
  • 史上SCI学术论文最全的30种图表类型代码实现(matlab版)
    1、柱状图(BarGraph)matlab代码%数据group_values=[10,15,7,25];class_values=[20,5,30,10];%X轴标签labels={'1','2','3','4'};%创建一个图形figure;%创建第一个子图:组数据subplot(1,2,1);bar(group_values,'FaceC......
  • 卷积神经网络CNN实战:MINST手写数字识别——数据集下载与网络训练
    数据集下载这一部分比较简单,就不过多赘述了,把代码粘贴到自己的项目文件里,运行一下就可以下载了。fromtorchvisionimportdatasets,transforms#定义数据转换,将数据转换为张量并进行标准化transform=transforms.Compose([transforms.ToTensor(),#转换为张量......
  • Fast R-CNN网络结构、框架原理详解
    一、FastR-CNN简介FastR-CNN是一种基于区域卷积网络(Region-basedConvolutionalNetwork)的快速目标检测方法。是R-CNN作者RossGirshick继R-CNN之后的又一力作,原文链接。与R-CNN相同,FastR-CNN同样使用VGG16作为网络的backbone,FastR-CNN训练非常深的VGG16网络比R-CN......
  • 基于GA遗传算法的WSN网络节点覆盖优化matlab仿真
    1.程序功能描述      通过遗传优化算法,优化WSN无线传感器网络中的各个节点的坐标位置以及数量,使得整个网络系统已最少数量的节点达到最大的网络覆盖率。仿真最后输出覆盖率收敛曲线,节点数量收敛曲线,GA优化前后的覆盖率变化情况。 2.测试软件版本以及运行结果展示MATLA......