当前位置:网站首页>【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代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
- 同构+跨端,懂得小程序+kbone+finclip就够了!
- Cloud native (32) | kubernetes introduction to platform storage system
- Introduction to network basics
- Efficient ETL Testing
- 这个『根据 op 值判断操作类型来自己组装 sql』是指在哪里实现?是指单纯用 Flink Tabl
- NFTScan 开发者平台推出 Pro API 商业化服务
- 今日睡眠质量记录78分
- (shuttle) navigation return interception: willpopscope
- Should the jar package of MySQL CDC be placed in different places in the Flink running mode?
- Computer reinstallation system teaching, one click fool operation, 80% of people have learned
猜你喜欢
Unified Focal loss: Generalising Dice and cross entropy-based losses to handle class imbalanced medi
Experiment 4: installing packages from Gui
NFTScan 开发者平台推出 Pro API 商业化服务
With the help of this treasure artifact, I became the whole stack
(1) Chang'an chain learning notes - start Chang'an chain
(flutter2) as import old project error: inheritfromwidgetofexacttype
使用MitmProxy离线缓存360度全景网页
MySQL中正则表达式(REGEXP)使用详解
(shuttle) navigation return interception: willpopscope
机器人材料整理中的套-假-大-空话
随机推荐
The tutorial of computer reinstallation win10 system is simple and easy to understand. It can be reinstalled directly without U disk
mysql查看表结构的三种方法总结
Gpt-3 is a peer review online when it has been submitted for its own research
Pytest unit test series [v1.0.0] [pytest execute unittest test case]
Can online reload system software be used safely? Test use experience to share with you
B 站弹幕 protobuf 协议还原分析
Thinkphp5 multi table associative query method join queries two database tables, and the query results are spliced and returned
JS addition, deletion, modification and query of JSON array
The same job has two sources, and the same link has different database accounts. Why is the database list found in the second link the first account
flinksql select id ,count(*) from a group by id .
Bipartite graph determination
Talking about the current malpractice and future development
Hard core observation 545 50 years ago, Apollo 15 made a feather landing experiment on the moon
Per capita Swiss number series, Swiss number 4 generation JS reverse analysis
flinksql select id ,count(*) from a group by id .
docker mysql5.7如何设置不区分大小写
The problem that dockermysql cannot be accessed by the host machine is solved
企業不想換掉用了十年的老系統
借助这个宝藏神器,我成为全栈了
Daily question brushing record (XV)