当前位置:网站首页>【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 workspace
clear variables;
close all;
%% Load training and validation data
load('TrainingData.mat');
load('ValidationData.mat');
%% Define training parameters
MiniBatchSize = 1000;
MaxEpochs = 100;
InputSize = 2*NumOFDMsym*NumSC;
NumHiddenUnits = 16;
NumClass = length(Label);
%% Form DNN layers
Layers = [ ...
sequenceInputLayer(InputSize)
lstmLayer(NumHiddenUnits,'OutputMode','last')
fullyConnectedLayer(NumClass)
softmaxLayer
classificationLayer];
%% Define trainig options
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 the DNN
save('TrainedNet','Net','MiniBatchSize');
3 仿真结果
4 参考文献
[1]姚如贵, 王圣尧, 秦倩楠,等. 一种基于深度学习的时变OFDM系统信号检测方法:.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
- Stop saying that microservices can solve all problems
- A novice asks a question. I am now deployed on a single machine. I submitted an SQL job and it runs normally. If I restart the service job, it will disappear and I will have to
- 让 Rust 库更优美的几个建议!你学会了吗?
- 企業不想換掉用了十年的老系統
- spark调优(二):UDF减少JOIN和判断
- 基础图表解读“东方甄选”爆火出圈数据
- flinksql select id ,count(*) from a group by id .
- (DART) usage supplement
- CRMEB 商城系统如何助力营销?
- JS import excel & Export Excel
猜你喜欢
Wu Enda 2022 machine learning course evaluation is coming!
Dockermysql modifies the root account password and grants permissions
asp读取oracle数据库问题
The problem of ASP reading Oracle Database
不要再说微服务可以解决一切问题了
Cover fake big empty talk in robot material sorting
基础图表解读“东方甄选”爆火出圈数据
Restoration analysis of protobuf protocol of bullet screen in station B
Docker starts MySQL and -emysql_ ROOT_ Password = my secret PW problem solving
Pdf batch splitting, merging, bookmark extraction, bookmark writing gadget
随机推荐
flinksql select id ,count(*) from a group by id .
The method of reinstalling win10 system is as simple as that
Realize colorful lines and shape your heart
docker mysql5.7如何设置不区分大小写
How does crmeb mall system help marketing?
吴恩达2022机器学习课程评测来了!
Nftscan Developer Platform launches Pro API commercial services
Case recommendation: An Qing works with partners to ensure that the "smart court" is more efficient
Koa2 addition, deletion, modification and query of JSON array
Graphite document: four countermeasures to solve the problem of enterprise document information security
Why are some people still poor and living at the bottom of society even though they have been working hard?
mysql-cdc 的jar包 ,在flink运行模式下,是不是要放在不同的地方呢?
None of the strongest kings in the monitoring industry!
Isomorphism + cross end, knowing applet +kbone+finclip is enough!
若依请求url中带有jsessionid的解决办法
Let's see through the network i/o model from beginning to end
同一个作业有两个source,同一链接不同数据库账号,为何第二个链接查出来的数据库列表是第一个账号的
The important data in the computer was accidentally deleted by mistake, which can be quickly retrieved by this method
每日刷题记录 (十五)
Is "applet container technology" a gimmick or a new outlet?