《移动通信原理与应用》——QAM调制解调仿真

目录

一、QAM调制与解调仿真流程图:

二、仿真结果:

三、Matlab仿真程序代码如下:


一、QAM调制与解调仿真流程图:

QAM调制仿真流程图:

QAM解调仿真流程图:

二、仿真结果:

(1)16QAM星座点图,如下图所示:

结果分析:此为16QAM星座点图,将此仿真结果根据与课堂所看到与学到的16QAM星座点图进行比对,发现完全一致,所以得出对于16QAM星座点图的仿真实验成功!!

(2)16-QAM载波调制信号在AWGN信道下的误比特率性能比较,如下图所示:

结果分析:由图可知,16QAM的误符号率和仿真理论误符号率完全拟合,16QAM的误比特率在性躁比越来越高情况下拟合情况和仿真理论误比特率越来越接近。

三、Matlab仿真程序代码如下:

Matlab 复制代码
clear;clc;
nsymbol=100000;
M=16;
graycode=[0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10];
EsN0=5:20;
snr1=10.^(EsN0/10);
msg=randi([0,15],1,nsymbol);
msg1=graycode(msg+1);
msgmod=qammod(msg1,M);
scatterplot(msgmod);

spow=norm(msgmod).^2/nsymbol;
for i=1:length(EsN0)
    sigma=sqrt(spow/(2*snr1(i)));
    rx=msgmod+sigma*(randn(1,length(msgmod))+1i*randn(1,length(msgmod)));
    y=qamdemod(rx,M);
    decmsg=graycode(y+1);
    [err1,ber(i)]=biterr(msg,decmsg,log2(M));
    [err2,ser(i)]=symerr(msg,decmsg);
end

p4=2*(1-1/sqrt(M))*qfunc(sqrt(3*snr1/(M-1)));
ser1=1-(1-p4).^2;
ber1=1/log2(M)*ser1;
figure();
semilogy(EsN0,ber,'o',EsN0,ser,'*',EsN0,ser1,EsN0,ber1,'-',EsN0,ber1,'-.');
title('16QAM-AWGN')
xlabel('Es/N0');ylabel('SER AND BER');
legend('ber simulation','ser simulatin','ser theory','ber theory');
相关推荐
IT猿手10 小时前
MOEA/D(基于分解的多目标进化算法)求解46个多目标函数及一个工程应用,包含四种评价指标,MATLAB代码
开发语言·算法·matlab·多目标算法
yongui4783416 小时前
基于Cholesky分解和指数协方差模型的一维高斯随机场MATLAB仿真
开发语言·matlab
wearegogog12321 小时前
基于SIFT、DoG与RANSAC的全景图像拼接MATLAB实现
开发语言·matlab
德思特1 天前
德思特方案 | 突破户外测试局限:德思特GNSS仿真方案赋能机器人高精定位
经验分享·测试工具·信息与通信·电子测量仪器
MARS_AI_1 天前
2026年大模型呼叫厂商深度盘点:8家核心玩家及选型指南
大数据·人工智能·自然语言处理·交互·信息与通信
foundbug9991 天前
基于MATLAB的FCM与K-means图像聚类分割实现
matlab·kmeans·聚类
ghie90901 天前
差速转向移动机器人基于速度的动力学模型与自适应控制器 MATLAB实现
开发语言·matlab
t198751281 天前
基于Chirp分解和多相快速算法的离散分数傅里叶变换(DFRFT)MATLAB实现
开发语言·算法·matlab
jllllyuz1 天前
基于MATLAB的PAM通信系统仿真实现
开发语言·matlab
jghhh012 天前
LT喷泉码编解码的MATLAB实现
数据库·算法·matlab