造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

RAKE接收机MATLAB仿真

2018/06/19114 作者:佚名
导读: 使用MATLAB实现CDMA系统的Rake接收机。假设信源输出用16位Walsh码扩频,进入接收机的有3径(即N=3);假设每条径之间延时半个码片,为了进行仿真,对Walsh码进行扩展,每个码字重复一次,则长度扩展为32位,如[1 1 0]扩展为[1 1 1 1 0 0]。接收机接收解扩判决输出,利用的是最大比合并。%接收到的三径信号以及噪声信号demp=p1*path1+p2*path2+

使用MATLAB实现CDMA系统的Rake接收机。假设信源输出用16位Walsh码扩频,进入接收机的有3径(即N=3);假设每条径之间延时半个码片,为了进行仿真,对Walsh码进行扩展,每个码字重复一次,则长度扩展为32位,如[1 1 0]扩展为[1 1 1 1 0 0]。接收机接收解扩判决输出,利用的是最大比合并。

%接收到的三径信号以及噪声信号

demp=p1*path1+p2*path2+p3*path3+noise;

dt=reshape(demp,32,Dlen)';

%将Walsh码重复为两次

Wal16_d(1:2:31)=Wal16(8,1:16);

Wal16_d(2:2:32)=Wal16(8,1:16);

rdata1=dt*Wal16_d(1,:).'; %解扩后rdata1为第一径输出

Wal16_delay1(1,2:32)=Wal16_d(1,1:31); %将Walsh码延迟半个码片

rdata2=dt*Wal16_delay1(1,:).'; %解扩后rdata2为第二径输出

%将Walsh码延迟一个码片

Wal16_delay2(1,3:32)=Wal16_d(1,1:30);

Wal16_delay2(1,1:2)=Wal16_d(1,31:32);

rdata3=dt*Wal16_delay2(1,:).'; %解扩后rdata3为第三径输出

p= rdata1'*rdata1+ rdata2'*rdata2+ rdata3'*rdata3;

u1= rdata1'*rdata1/p;

u2= rdata2'*rdata2/p;

u3= rdata3'*rdata3/p;

%最大值合并

u=[u1,u2,u3];

%各路径所占的功率因子

maxu=max(u);

if(maxu==u1)

rd_m3=real(rdata1);else if(maxu==u2)

rd_m3=real(rdata2);

else rd_m3=real(rdata3);

end

end

*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读