当前位置:网站首页>【OFDM通信】基于深度学习的OFDM系统信号检测附matlab代码

【OFDM通信】基于深度学习的OFDM系统信号检测附matlab代码

2022-07-06 15:53:00 Matlab科研工作室

1 简介

提供了一种基于深度学习的时变OFDM系统信号检测方法,生成信号检测网络模型输入数据集,构建一个信号检测网络模型,在网络训练前需预设好训练和测试参数,采用在线生成训练数据和测试数据的方式训练网络,测试数据喂入信号检测网络,信号检测网络模型根据喂入的特征向量,产生预测出的发送数据比特,与真实的发送数据比特进行对比,测试网络当前的性能.本发明于针对快速时变OFDM系统,结合深度学习方法,利用循环神经网络处理时间序列的优势,简化了接收机架构,成功实现信号的解调,改进了快速时变OFDM系统中的信号检测性能,本发明有效减小了系统实现复杂度,同时也提升了系统整体的误比特率性能.

2 部分代码

%% TrainDNN%% This script is to set up parameters for training the deep neural network% (DNN).% The DNN is trained for the selected subcarrier based on the training% data.%% Clear workspaceclear variables;close all;%% Load training and validation dataload('TrainingData.mat');load('ValidationData.mat');%% Define training parametersMiniBatchSize = 1000;MaxEpochs = 100;InputSize = 2*NumOFDMsym*NumSC;NumHiddenUnits = 16;NumClass = length(Label);%% Form DNN layersLayers = [ ...    sequenceInputLayer(InputSize)    lstmLayer(NumHiddenUnits,'OutputMode','last')    fullyConnectedLayer(NumClass)    softmaxLayer    classificationLayer];%% Define trainig optionsOptions = 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 DNNNet = trainNetwork(XTrain,YTrain,Layers,Options);%% Save the DNNsave('TrainedNet','Net','MiniBatchSize');

3 仿真结果

4 参考文献

[1]姚如贵, 王圣尧, 秦倩楠,等. 一种基于深度学习的时变OFDM系统信号检测方法:. 

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

 

原网站

版权声明
本文为[Matlab科研工作室]所创,转载请带上原文链接,感谢
https://matlabzhushou.blog.csdn.net/article/details/125633908