16qam調製、接收、眼圖、誤碼率曲線matlab仿真

MQAM (Multiple Quadrature Amplitude Modulation) 多進制正交幅度調製。4相相位鍵控信號其實也是一種二電平正交振幅鍵控。如果將二電平振幅鍵控進一步發展爲多電平(例如4、8、16電平等)正交振幅鍵控,顯然可以獲得更高的頻譜利用率。
效果展示
(1)調製星座圖

(2)信噪比13db接收星座圖

(3)16qam信號眼圖

(4)13db信噪比下16qam信號眼圖

(5)誤碼率曲線(15db內)

代碼說明
1、M可改,16qam,4qam等,snr信噪比可改。mqam_count信號數量可改。
2、代碼在MATLAB2018上通過。

clc
clear
M=16;%mqam的進制數
mqam_count =400;
snr=13;
%-------------------------------------&
bit_per_symbol=log2(M);
bit_length = mqam_count*bit_per_symbol;
bit_signal = round(rand(1,bit_length))';
bit_moded1 = qammod(bit_signal,M,'InputType','bit');
figure(1)
scatter(real(bit_moded1),imag(bit_moded1),'*y');
title('調製後的星座圖');
%-------------------------------------%
signal_time_C_W_R=awgn(real(bit_moded1),snr);
signal_time_C_W_i=awgn(imag(bit_moded1),snr);
signal_time_C_W=complex(signal_time_C_W_R,signal_time_C_W_i);
figure(2)
scatter(1.5*real(signal_time_C_W),1.5*imag(signal_time_C_W),'.y');
title('接收的星座圖');
%-------------------------------------%
eyediagram(bit_moded1,2)
eyediagram(signal_time_C_W,2)
%-------------------------------------%
snr_qq=0;
qq=zeros(150,1);
for i=0:149
bit_moded_qq = qammod(bit_signal,M,'InputType','bit');
snr_qq=snr_qq+0.1;
signal_time_C_W_R=awgn(real(bit_moded_qq),snr_qq);
signal_time_C_W_i=awgn(imag(bit_moded_qq),snr_qq);
signal_time_C_W=complex(signal_time_C_W_R,signal_time_C_W_i);
bit_demod_sig=qamdemod(signal_time_C_W,M,'OutputType','bit');
error_bit = sum(bit_demod_sig~=bit_signal);
error_rate = error_bit/length(bit_signal);
qq(i+1)=error_rate;
end
figure(5)
plot(0:0.1:14.9,qq)
title('誤碼率曲線16qam');
%-----------------------------------%
fs = 1000;
sps = 32;
txfilter = comm.RaisedCosineTransmitFilter('OutputSamplesPerSymbol',sps);
ed = comm.EyeDiagram('SampleRate',fs*sps,'SamplesPerSymbol',sps);
txSig = txfilter(signal_time_C_W);
ed(txSig)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章