1.算法仿真效果
matlab2022a仿真结果如下(完整代码运行后无水印):
2.算法涉及理论知识概要
星座图整形技术旨在通过优化星座点的布局来改善系统的性能。这包括但不限于:
3.MATLAB核心程序
s = randi([0 1],LEN*bitsPerSym,1);
% QAM映射
Tx1 = Trainable_mapping(s,M);%*****************************************************
Pnormal = max(max(abs(Tx1)));
% 功率归一化
Tx2 = func_power_normal(Tx1,Pnormal);
% 上采样
Tx3 = upsample(Tx2,Fs/F_AWG);
Tx4r = func_Trainable_filter_F(real(Tx3),Fs,F_AWG);
Tx4i = func_Trainable_filter_F(imag(Tx3),Fs,F_AWG);
Tx4 = Tx4r+sqrt(-1)*Tx4i;
% 再次功率归一化
Pnormal2 = max(max(abs(Tx4)));
Tx5 = func_power_normal(Tx4,Pnormal2);
%高斯白噪声信道
Rx = awgn(Tx5,SNR(i),'measured');
% 下采样
Rx2 = downsample(Rx,Fs/F_AWG);
z = func_RX_ww(Rx2,M,Pnormal2,Pnormal);% 解调
z2 = z(1:end);
err(i) = 1-length(find(s==double(z2)))/length(s)
end
figure;
plot(real(Rx2),imag(Rx2),'b.');
title('256QAM星座图');
figure;
semilogy(SNR,err,'b-o');
grid on
xlabel('SNR');
ylabel('error');
if M==16
save R2_16.mat Rx2 SNR err
end
if M==32
save R2_32.mat Rx2 SNR err
end
if M==64
save R2_64.mat Rx2 SNR err
end
if M==256
save R2_256.mat Rx2 SNR err
end
0X_065m
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.