1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y56XmZxt
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
针对5G系统中的高速率低时延的需求,传统的信道估计算法难以满足要求的问题,将通信信道的时频响应视为二维图像,提出了一种基于图像恢复技术的信道估计方法。首先,设定参数产生基于5G 新空口(New Radio, NR)标准的物理下行链路共享信道(Physical Downlink Shared Channel, PDSCH)的信道数据信息数据集,将所产生的信道矩阵看作二维图像;然后,构建基于卷积神经网络的图像恢复网络,并融入残差连接来提高网络的性能;最后,利用训练好的网络模型进行信道估计。最小二乘算法(Least Square, LS)、实际信道估计(Practical Channel Estimation, PCE)相比,所提出的信道估计算法性能提升明显。
4.部分源码
%生成数据
[trainData,trainLabels] = hGenerateTrainingData(256);
%mini-batch
batchSize = 32;
%Split real and imaginary
trainData = cat(4,trainData(:,:,1,:),trainData(:,:,2,:));
trainLabels = cat(4,trainLabels(:,:,1,:),trainLabels(:,:,2,:));
%Split into training and test
valData = trainData(:,:,:,1:batchSize);
valLabels = trainLabels(:,:,:,1:batchSize);
trainData = trainData(:,:,:,batchSize+1:end);
trainLabels = trainLabels(:,:,:,batchSize+1:end);
valFrequency= round(size(trainData,4)/batchSize/5);
%CNN structure
layers = [ ...
imageInputLayer([612 14 1],'Normalization','none')
convolution2dLayer(9,64,'Padding',4)
reluLayer
convolution2dLayer(5,64,'Padding',2,'NumChannels',64)
reluLayer
convolution2dLayer(5,64,'Padding',2,'NumChannels',64)
reluLayer
convolution2dLayer(5,32,'Padding',2,'NumChannels',64)
reluLayer
convolution2dLayer(5,1,'Padding',2,'NumChannels',32)
regressionLayer
];
options = trainingOptions('adam', ...
'InitialLearnRate',3e-4, ...
'MaxEpochs',5, ...
'Shuffle','every-epoch', ...
'Verbose',false, ...
'Plots','training-progress', ...
'MiniBatchSize',batchSize, ...
'ValidationData',{valData, valLabels}, ...
'ValidationFrequency',valFrequency, ...
'ValidationPatience',5);
A276