1.算法仿真效果
matlab2022a仿真结果如下(完整代码运行后无水印):
2.算法涉及理论知识概要
星座图整形技术旨在通过优化星座点的布局来改善系统的性能。这包括但不限于:
1.功率效率提升:通过非均匀分布星座点,可以减少符号间的距离,从而在相同的平均功率下,传输更多信息比特,但这也增加了对解调器的要求。
2.抗干扰能力增强:通过将星座点布局在更有利于区分的区域,即使在存在噪声或干扰的情况下,也能减少错误概率。
3.相位旋转:某些情况下,对星座图进行特定的旋转可以减少某些类型的干扰影响。
随着QAM阶数的增加,数据传输速率得以提升,但同时也对信道质量、解调算法复杂度以及系统整体的抗干扰能力提出了更高要求。星座图整形是一种重要的手段,通过精心设计星座点布局,可以在保持或提高系统性能的同时,增加数据传输效率。在实际应用中,选择合适的QAM阶数和优化星座图设计是至关重要的,需要根据具体的通信环境和系统需求综合考量。
3.MATLAB核心程序
```% 生成随机比特序列
s = randi([0 1],LENbitsPerSym,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
```