1.软件版本
matlab2021a
2.部分核心代码
3.部分代码
clear variables;
close all;
load('TrainingData.mat');
load('ValidationData.mat');
%% Define training parameters
MiniBatchSize = 1000;
MaxEpochs = 100;
InputSize = 2*NumOFDMsym*NumSC;
NumHiddenUnits = 16;
NumClass = length(Label);
Layers = [ ...
sequenceInputLayer(InputSize)
lstmLayer(NumHiddenUnits,'OutputMode','last')
fullyConnectedLayer(NumClass)
softmaxLayer
classificationLayer];
Options = trainingOptions('adam',...
'InitialLearnRate',0.01,...
'ValidationData',{XValid,YValid}, ...
'ExecutionEnvironment','auto', ...
'GradientThreshold',1, ...
'LearnRateDropFactor',0.1,...
'MaxEpochs',MaxEpochs, ...
'MiniBatchSize',MiniBatchSize, ...
'Shuffle','every-epoch', ...
'Verbose',0,...
'Plots','training-progress');
%% Train DNN
Net = trainNetwork(XTrain,YTrain,Layers,Options);
save('TrainedNet','Net','MiniBatchSize');
4.操作步骤与仿真结论
5.参考文献
[1]刘步花, 丁丹, 杨柳. 基于DNN的OFDM系统非线性失真补偿[J]. 现代电子技术, 2021, 44(5):4.D236
标签:仿真,...,OFDM,检测,DNN,MaxEpochs,MiniBatchSize From: https://www.cnblogs.com/matlabfpga/p/16905719.html