用MATLAB 画一个64QAM的星座图

由于QAM采用幅度和相位二维调制,其频谱效率大大提高,而且不同点的欧式距离也要大于调幅AM调制方式,QAM也是LTE和5G NR首选的调制方式,本期教大家画一个64QAM的星座图。

如下:

首先产生一个64QAM的调制数据,幅度归一化

SymbolAlphabet = [

complex( 3, 3)

complex( 3, 1)

complex( 1, 3)

complex( 1, 1)

complex( 3, 5)

complex( 3, 7)

complex( 1, 5)

complex( 1, 7)

complex( 5, 3)

complex( 5, 1)

complex( 7, 3)

complex( 7, 1)

complex( 5, 5)

complex( 5, 7)

complex( 7, 5)

complex( 7, 7) % symbol 0-15

complex( 3, -3)

complex( 3, -1)

complex( 1, -3)

complex( 1, -1)

complex( 3, -5)

complex( 3, -7)

complex( 1, -5)

complex( 1, -7)

complex( 5, -3)

complex( 5, -1)

complex( 7, -3)

complex( 7, -1)

complex( 5, -5)

complex( 5, -7)

complex( 7, -5)

complex( 7, -7) % symbol 16-31

complex(-3, 3)

complex(-3, 1)

complex(-1, 3)

complex(-1, 1)

complex(-3, 5)

complex(-3, 7)

complex(-1, 5)

complex(-1, 7)

complex(-5, 3)

complex(-5, 1)

complex(-7, 3)

complex(-7, 1)

complex(-5, 5)

complex(-5, 7)

complex(-7, 5)

complex(-7, 7) % symbol 32-47

complex(-3, -3)

complex(-3, -1)

complex(-1, -3)

complex(-1, -1)

complex(-3, -5)

complex(-3, -7)

complex(-1, -5)

complex(-1, -7)

complex(-5, -3)

complex(-5, -1)

complex(-7, -3)

complex(-7, -1)

complex(-5, -5)

complex(-5, -7)

complex(-7, -5)

complex(-7, -7) ] / sqrt(42); % symbol 48-63

%调用figure准备画一个图

figure;

给数据添加AWGN白噪声,SNR=33db

snrDb = 33;

% 每个星座点画100次相同SNR下的图

length = 100;

for n=1:length

% 调用awgn库函数为数据添加噪声

SymbolAlphabetTemp = awgn(SymbolAlphabet, snrDb);

%取数据的实部和虚部

x_r = real(SymbolAlphabetTemp);

x_i = imag(SymbolAlphabetTemp);

%画图

h = plot(x_r,x_i,'.');

%为图添加颜色

set(h, 'Color', 0, 0.2,(n/length));

hold on;

End

%添加标题和网格

title('64QAM 星座图');

grid on;

效果图如下:

相关推荐
0566464 分钟前
Python高级——解释器执行原理与虚拟环境工程化实战
开发语言·python
星轨初途23 分钟前
LeetCode 热题 100——day2 字母异位词分组
c++·算法·leetcode
happyprince36 分钟前
篇1:整体观 · bitsandbytes项目全貌解读
人工智能·算法
HJX_072444 分钟前
嵌入式软件C语言八股文复习笔记5——编译、链接与底层硬核机制
c语言·开发语言·笔记
青梅橘子皮1 小时前
STL---map/set... “家族“详解(从使用到底层)(1)
数据结构·算法
让学习成为一种生活方式1 小时前
DNA 甲基化综述(模式、调控与功能)--Current Opinion in Plant Biology
算法
笨鸟先飞的橘猫1 小时前
c++面向对象编程
开发语言·c++
小玮看世界1 小时前
[Python]自动驾驶感知与决策练习题 (1-10)
开发语言·python·自动驾驶
满栀5851 小时前
原生JS + ECharts 多图表可视化实战:从业务实现到工程化优化
开发语言·javascript·echarts
-森屿安年-2 小时前
647. 回文子串
c++·算法·动态规划