✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
MQAM (Multiple Quadrature Amplitude Modulation) 多进制正交幅度调制。4相相位键控信号其实也是一种二电平正交振幅键控。如果将二电平振幅键控进一步发展为多电平(例如4、8、16电平等)正交振幅键控,显然可以获得更高的频谱利用率。
⛄ 代码
% *************** Simulation M-QAM transmission over noise *********%
% with using Monte Carlo simulation
% ********************* Initialization ***********************************%
clc;
clear all;
close all;
q=4; %
M=2^q; % M-QAM level power of 2
loop=10; % Monte Carlo
N=100000; % Frame length (x_1 x_2 ... x_N)
SNRdB=0:15; % SNR in dB
SNR=10.^(SNRdB/10);
Rate= zeros(1, length(SNRdB)); %
% ********************* Transmitter **************************************%
for dB= 1: length(SNRdB) % start looping by SNR
dB
for lp= 1: loop, % start looping of frame data
% ********************* q-QAM signal generation **************************%
x_inp=round(rand(N,1)); % 1 or 0
x_inp_mod=qammod(x_inp,q);
% ********************* Channel ******************************************%
y_channel=awgn(x_inp_mod,SNRdB(dB)); % AWGN
% ********************* Receiver *****************************************%
y=y_channel;
x_inp_dem=qamdemod(y,q);
x_out=round(x_inp_dem);
% ********************* Bit Error Rate (BER) calulation ******************%
[err, rate]= symerr(x_inp, x_out);
Rate(dB)= Rate(dB) + rate;
end % end for loop
Rate(dB)= Rate(dB)/loop; % Average value over Monte Carlo simulation
% loop
end % end Monte Carlo
% ********************* Plot the simulation result ***********************%
f1 = figure(1);
set(f1,'color',[1 1 1]);
semilogy(SNRdB,Rate, 'b-*')
hold on;
BER_th= (2*(sqrt(M)-1)/sqrt(M))*qfunc(sqrt((6*q/(M-1)))*sqrt(SNR)); % theoritical calculation for BER
semilogy(SNRdB,BER_th,'r-o');
hold on;
axis([0 12 0.00000001 1.2]);
xlabel( 'Signal-to-Noise Ratio (SNR)')
ylabel( 'Bit Error Rate (BER)')
title('Simulation QAM transmission over noise');
legend('BER simulation','BER calculation')
grid on;
⛄ 运行结果
⛄ 参考文献
[1] XUE Wen-ling. 基于MATLAB的模拟线性通信系统可视化设计[J]. 河北软件职业技术学院学报, 2010(001):012.
[2] 黄永东. 基于Matlabm文件的PCM传输系统仿真[J]. 科技风, 2011(5):3.
[3] Dwivedi P , Ranjan A , Srivastava A . Simulation of M-ary QAM and M-ary PSK Modulation Techniques Using MATLAB GUI[J]. Social Science Electronic Publishing.
[4] Raza M S . MATLAB code for M-array QAM modulation[J].
⛳️ 代码获取关注我
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料