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