基于星座图整形方法的QAM调制解调系统MATLAB误码率仿真,对比16,32,64,256四种QAM调制方式

137 阅读2分钟

1.算法仿真效果

matlab2022a仿真结果如下(完整代码运行后无水印):

 

1.jpeg

2.jpeg

3.jpeg

4.jpeg

5.jpeg

6.jpeg

7.jpeg

8.jpeg  

 

2.算法涉及理论知识概要

       星座图整形技术旨在通过优化星座点的布局来改善系统的性能。这包括但不限于:

 

    1.功率效率提升:通过非均匀分布星座点,可以减少符号间的距离,从而在相同的平均功率下,传输更多信息比特,但这也增加了对解调器的要求。

 

    2.抗干扰能力增强:通过将星座点布局在更有利于区分的区域,即使在存在噪声或干扰的情况下,也能减少错误概率。

 

    3.相位旋转:某些情况下,对星座图进行特定的旋转可以减少某些类型的干扰影响。

 

fb46e4ffc309b07236c22bb47133bdef_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

 

       随着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`