Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2007-05-19, 10:23   #1
TD——SCDMA
初级会员
 
注册日期: 2007-05-19
帖子: 2
声望力: 0
TD——SCDMA 正向着好的方向发展
默认 【求助】走遍了所有的Matlab社区都没人能够解答的一个小问题

我在仿真RS码时用8PSK来进行调制,想对比分析一下,就换做QPSK调制。可是程序写出来,总不对,麻烦大家帮忙看一下,运行的时候提示这样的错误:
??? Attempted to access dsource1(21433); index out of bounds because numel(dsource1)=21432.

Error in ==> qpsk at 28
if((dsource1(i)==0)&(dsource2(i)==0))

程序如下:
function [channelout]=qpsk(input,No)
u=input.x;
sgma=sqrt(No);
%信号映射成qpsk
s00=[1 0];
s01=[0 1];
s11=[-1 0];
s10=[0 -1];
for i=1:length(u)
switch u(i)
case 0
dsource1(i)=0;
dsource2(i)=0;
case 1
dsource1(i)=0;
dsource2(i)=1;
case 2
dsource1(i)=1;
dsource2(i)=0;
case 3
dsource1(i)=1;
dsource2(i)=1;
end;
end;
%经过高斯信道
for i=1:length(u)
n=gngauss(sgma);
if((dsource1(i)==0)&(dsource2(i)==0))
r=s00+n;
elseif((dsource1(i)==0)&(dsource2(i)==1))
r=s01+n;
elseif((dsource1(i)==1)&(dsource2(i)==0))
r=s10+n;
else
r=s11+n;
end;
%计算互相关度
c00=dot(r,s00);
c01=dot(r,s01);
c10=dot(r,s10);
c11=dot(r,s11);
%对第i个符号进行判决
c_max=max([c00 c01 c10 c11 ]);
if(c00==c_max)
decis1(i)=0;
decis2(i)=0;
elseif(c01==c_max)
decis1(i)=0;
decis2(i)=1;
elseif(c10==c_max)
decis1(i)=1;
decis2(i)=0;
else
decis1(i)=1;
decis2(i)=1;
end;
end;
%映射成多进制信号
for i=1:length(u)
if((decis1(i)==0)&(decis2(i)==0))
channelout(i)=0;
elseif((decis1(i)==0)&(decis2(i)==1))
channelout(i)=1;
elseif((decis1(i)==1)&(decis2(i)==0))
channelout(i)=2;
else
channelout(i)=3;
end
end
TD——SCDMA 当前离线   回复时引用此帖
旧 2007-05-19, 10:26   #2
TD——SCDMA
初级会员
 
注册日期: 2007-05-19
帖子: 2
声望力: 0
TD——SCDMA 正向着好的方向发展
默认

发现问题所在了:设置断点运行后发现u变量的大小为u:1x21435 double运行到dsource1就变成了1x21432。数组的大小不匹配。可是以前后8PSK调制的时候没遇到这个问题,改成4psk就不通了。如何修改dsource这个变量,请达人指教!
TD——SCDMA 当前离线   回复时引用此帖
旧 2007-05-19, 12:56   #3
中少
普通会员
 
中少 的头像
 
注册日期: 2007-04-23
年龄: 40
帖子: 56
声望力: 22
中少 是一个将要出名的人中少 是一个将要出名的人
默认

呵呵!!我们通信的课还没有学到这个!!
中少 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 06:11


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.