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