注册 登录
编程论坛 Matlab

[求助]有段程序不太明白,想请大家指教一下

gddka 发布于 2007-06-12 16:02, 684 次点击
程序如下:
N=1000;
d=1;
M=16;
mapping=[-3*d 3*d;-d 3*d;d 3*d;3*d 3*d;-3*d d;-d d;d d;3*d d;-3*d -d;-d -d;d -d;3*d -d;-3*d -3*d;-d -3*d;d -3*d;3*d -3*d];
for i=1:N
temp=rand;
dsource(i)=1+floor(M*temp);
end;
for i=1:N
qam_sig(i,:)=mapping(dsource(i),:);
end;
上面的程序不太明白,是什么意思?请尽量详细一点,谢谢!
2 回复
#2
zhangenter2007-06-12 21:39
简单的讲qam_sig是一个1000*2的矩阵,它的每行等于mapping的其中一行,因为1+floor(16*rand)的可能值是1到16,所以那两个循环可以简化成下面代码,效果是一样的

dsource = floor( M * rand(1000,1) ) + 1 ;
qam_sig = mapping( dsource, : );
#3
gddka2007-06-13 09:44

谢谢

1