📄 8qam调制仿真.m
字号:
clc
clear all
M=8; %8QAM调制,这里可以修改成任意的数,16、32、64
m=100; %发送的符号数
n=10; %每个符号的抽样数
levels=sqrt(M); %QAM调制个数
l = m*n; %总的发送长度
yd = zeros(1,l-n+1); % 初始化输出
yq = zeros(1,l-n+1); % 初始化输出
lm1 = levels-1;
xd=2*fix(levels*rand(1,m))-lm1;
xq=2*fix(levels*rand(1,m))-lm1; %fix(levels*rand(1,m))产生一个0-3的随机数
for i = 1:m % 产生信息
k = (i-1)*n+1;
yd(k) = xd(i);
yq(k) = xq(i);
end
y1= conv(yd,ones(1,n)); % 每个符号n个抽样数
y2= conv(yq,ones(1,n)); % 每个符号n个抽样数
plot(y1,y2,'o'); %8QAM星座图
%%以下是对坐标轴进行限制,修改,使画出的星座图更美观
a = 1.4;
maxd = max(xd); maxq = max(xq);
mind = min(xd); minq = min(xq);
axis([a*mind a*maxd a*minq a*maxq])
axis equal
xlabel('正交分量(xd)'); ylabel('同相分量(xq)')
grid on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -