看看这个程序是否符合你的要求:按下鼠标左键开始绘制一个星座图,点击右键结束当前星座
function xingzuo
figure('WindowButtonDownFcn',@wbdcb)
ah = axes('DrawMode','fast');
axis ([1 10 1 10])
title('绘制星座图')
color1='brcmkgy';
num=1;
function wbdcb(src,evnt)
if strcmp(get(src,'SelectionType'),'normal')
set(src,'pointer','circle')
cp = get(ah,'CurrentPoint');
xinit = cp(1,1);yinit = cp(1,2);
hl = line('XData',xinit,'YData',yinit,...
'Marker','p','color',color1(num));
set(src,'WindowButtonMotionFcn',@wbmcb)
set(src,'WindowButtonUpFcn',@wbucb)
end
function wbmcb(src,evnt)
cp = get(ah,'CurrentPoint');
xdat = [xinit,cp(1,1)];
ydat = [yinit,cp(1,2)];
set(hl,'XData',xdat,'YData',ydat);drawnow
end
function wbucb(src,evnt)
if strcmp(get(src,'SelectionType'),'alt')
num=num+1;
if num>7
num=1;
end
set(src,'Pointer','arrow')
set(src,'WindowButtonMotionFcn','')
set(src,'WindowButtonUpFcn','')
else
return
end
end
end
end
请问可以帮忙画出经过高斯信道后的调制数据星座图吗?
我只会这种最简单的手绘,这个程序是参照matlab帮助中的一个例子改写的,恰好以前看到过这个例子。
你后来问的这个问题比较专业了,没有接触过这方面的东西,恐怕爱莫能助了。不好意思,静等高人吧。
参考资料:matlab GUI 帮助文档
首先,有个问题你没懂哈。不是matlab的问题。
眼图是时域波形图的重叠,而星座图是解调之后的符号,两种信号是不同的信号。而你这信号,没有说清楚是什么信号。
那么上边的问题搞清楚之后呢~那就很简单了~
眼图就是以符号周期的整数倍将信号截断,然后画到一起就行了。而星座图就更简单了,只需要一句scatterplot就行了~更多
我的信号是FPGA产生QPSK信号,我用采集卡采到了波形,然后把采集到的波形经过数字化,变成了一列数字。。。。不知道我说明白没
那你明不明白那一列数字是什么含义?数字化是解调了没?
一列数字就是把QPSK信号映射成数字值
QAM是相位幅度联合调制
星座图上可以很明显看出这个特性,16个离散点,对应16进制的数值,也可以说是4位二进制数,对应有3种不同的幅度和12种不同的相位.每个点代表对应16进制数值出现时调制载波对应的幅度和相位.