• 【OFDM通信】基于深度学习的OFDM系统信号检测附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代码问题可私信交流。

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

     

  • 相关阅读:
    pytest-xdist分布式测试原理浅析
    客户的关系管理系统
    adb指令切换cpu工作状态至性能模式
    JAVA开发(java技术选型)
    清理mac苹果电脑磁盘软件有哪些免费实用的?
    SQL面试题练习 —— 满足连续5天以上每天上涨超过5%的股票
    患上肾囊肿会带来什么危害?
    继续读研大学借的助学贷款怎么办
    设备树,通过键名获取数据相关API
    销售火爆,APS自动排产提升咖啡机家电企业生产管理效益
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/125633908