EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Rake接收机的MATLAB仿真; E+ o# d [) g8 W0 ?0 t( {8 f2 N
9 V0 q# j# H0 W: [' ?6 i' H
为了加深对Rake接收机的理解,、使用MATLAB实现了不同准则的Rake接收机程序,并比较了选择接收、等增益合并和最大比合并这三种常用接收算法的性能。使用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); endend
t$ c; r3 ^: L1 d9 o0 e
) Q: |5 l4 L; x4 r( n( P5 _, w |