1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/ZZyZkpps
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
基于深度学习的64QAM调制解调系统的频偏估计和补偿算法主要通过构建并训练神经网络模型来实现精确的频偏感知,并结合传统的数字信号处理技术完成补偿,从而提高通信链路的整体性能。
4.部分源码
...................................................................
K = 6; %调制阶数
SNR = [0:2:30]; %信噪比范围0~30
OFFSET = 6;%频偏范围0~10Hz
LEN = 6000;
Fs = 1e4;
t = [1:LEN/K]/Fs;
for i = 1:length(SNR)
i
for j = 1:10
[i,j]
%产生信号
signal = round(rand(1,LEN));
signal_modulated1 = Modulator(signal,K);
signal_receive1 = awgn(signal_modulated1,SNR(i),'measured');
signal_receive2 = signal_receive1.*exp(sqrt(-1)*2*pi*OFFSET*t );
offset2 = func_phase_est_dnn(signal_receive2);%基于深度学习的相位估计
RR = signal_receive2.*exp(-sqrt(-1)*2*pi*mean2(offset2)*t);
%加相位补偿
output = DeModulator(RR,K);
msgr = ones(size(output));
idx = find(output<=0);
msgr(idx) = 0;
len = length(find(signal==msgr));
errrate(i,j)= 1-len/length(signal);
%没有相位补偿
output2 = DeModulator(signal_receive2,K);
msgr2 = ones(size(output2));
idx2 = find(output2<=0);
msgr2(idx2) = 0;
len2 = length(find(signal==msgr2));
errrate2(i,j)= 1-len2/length(signal);
end
end
figure;
semilogy(SNR,mean(errrate2,2),'b-o');
hold on
semilogy(SNR,mean(errrate,2),'r-s');
grid on
xlabel('SNR');
ylabel('误码率');
legend('64QAM无频偏补偿误码率','64QAM频偏补偿误码率');
0X_048m
---