基於CNN卷積神經網路的MQAM調製識別matlab模擬

简简单单做算法發表於2024-07-23

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在無線通訊領域的應用將會更加廣泛和深入。

相關文章