目 录
第一章 RAKE接收机的基本原理
1.1 RAKE接收机的整体结构
所谓RAKE接收机,就是利用多个并行相关器检测多径信号,按照一定的准则合成一路信号供解调用的接收机。
假设发端从发出的信号经N条路径到达接收天线
接收端信号通过解调后,送入N个并行相关器。(在高通公司提出的CDMA系统中,基站接收机N=4,移动台
整,产生的各个相关器的本地码分别为,
在图1-1中,由于各条路径加权系数为1,因此为等增益合并方式。在实际系统中还可以采用最大比值合并或选
在实际系统中,每条多径信号都经受着不同的衰落,具有不同的振幅、相位和到达时间。由于相位的随机性,其
如果中包括多条路径,则图1-2的输出如图1-3所
如果延迟线的某一抽头的延迟与多径时延相同,其输出就乘以相应的权值;如果延迟线的抽头无多径对应,则输出
1.2分集合并方式
RAKE接收机的本质仍然是空间分集技术,因此必须考虑接收端收到M(M≥2)个分集信号后,如何利用这些
假设M个输入信号电压为,
式中,为第k个信号的加权系数。
选择不同的加权系数,就可构成不同的合并方式。常用的合并方式有三种:选择式合并(SC)、最大比值合并(
(1)选择式合并。选择式合并是指检测所有分集支路的信号,以选择其中信噪比最高的那一个支路的信号作为合
图1-5为二重分集选择式合并的示意图。两个支路的中频信号分别经过解调,然后进行信噪比比较,选择其中有
选择式合并又称开关式相加。这种方式方法简单,实现容易。但由于未被选择的支路信号弃之不用,因此抗衰落不
需要指出的是,如果在中频或高频实现合并,就必须保证各支路的信号同相,这常常会导致电路的复杂度增加。
(2)最大比值合并。最大比值合并是一种最佳合并方式,其方框图如图1-6所示。为了书写简便,每一支路信
由此可得最大比值合并器输出的信号包络为
式中,下标R表征最大比值合并方式。
(3)等增益合并。等增益合并无需对信号加权,各支路的信号是等增益相加的,其方框图如图1-7所示。等增
等增益合并器输出的信号包络为
式中,下标E表征等增益合并方式。
1.3 RAKE接收机误码性能分析
第二章 RAKE接收机的MATLAB实现
2.1语音情感识别简述
2.2 RAKE接收机仿真模型
2.3 RAKE接收机流程图
2.4仿真结果分析
将数据长度设置为100时,产生的随机信号源如下:
假设信号在传播路径上的信噪比SNR=1,经过3条路径传播,RAKE接收机分别采用最大比合并、等增益
其中绿色波形表示经过信噪比为1的信道传播合并后的序列,红色波形表示初始序列,两者波形重合程度越高,则
将数据长度设置为10000,分析在0~30dB信噪比信道上的分集合并性能,从图2-5中可以清楚的看出
第四章 小结
本实验报告通过对RAKE接收机的概念、原理和性能的描述和分析,通过Matlab仿真,模拟RAKE接收
分集接收是现代移动通信中的主要技术,RAKE接收机是一种有效的多径分集方式,在扩频通信中应用尤为重要
通过RAKE接收机的原理的研究,应用MATLAB软件设计了RAKE接收机仿真程序。仿真结果与理论相符
附录 MATLAB源码
%RAKE接收技术仿真
clc;clear all;
user = 1;
Nc = 16; %扩频因子
ISI_Length = 1;%码元长度
SNR = [0:1:30];%信噪比
%SNR = 1;%信噪比
Tlen = 10000; %数据长度
%误比特率初始值
Bit_Error_Number1 = 0;
Bit_Error_Number2 = 0;
Bit_Error_Number3 = 0;
%假设的每条路径的功率因子
power_unitary_factor1 = sqrt( 6/9 );
power_unitary_factor2 = sqrt( 2/9 );
power_unitary_factor3 = sqrt( 1/9 );
s_initial = randsrc( user, Tlen ); %数据源
%产生的随机信号源波形
figure(1)
stairs(s_initial,'Color','r');
ylim([-1.5,1.5]);
title('信号源序列','Color','b')
xlabel('数据长度')
ylabel('幅度')
%根据扩频因子等于16产生WALSH矩阵
wal2 = [ 1 1; 1 -1 ];
wal4 = [wal2 wal2; wal2 wal2*(-1)];
wal8 = [wal4 wal4; wal4 wal4*(-1)];
wal16 = [wal8 wal8; wal8 wal8*(-1)];
%扩频
s_spread = zeros( user, Tlen*Nc );
ray1 = zeros( user, 2*Tlen*Nc );
ray2 = zeros( user, 2*Tlen*Nc );
ray3 = zeros( user, 2*Tlen*Nc );
for i = 1:user
x0 = s_initial( i,: ).'*wal16( 8,: );
x1 = x0.';
s_spread( i,: ) = ( x1(:) ).';
end
%将扩频后的输出重复,然后进行延迟
ray1( 1:2:2*Tlen*Nc - 1 ) = s_spread( 1:Tlen*Nc );
ray1( 2:2:2*Tlen*Nc ) = ray1( 1:2:2*Tlen*Nc - 1 );
%产生第二径,第三径信号
ray2( ISI_Length + 1:2*Tlen*Nc ) = ray1( 1:2*Tlen*
ray3( 2*ISI_Length + 1:2*Tlen*Nc ) = ray1( 1:2*Tle
for nEN = 1:length( SNR )
EbNo = 10^( SNR(nEN)/10 ); %信噪比转换
pn = sqrt( 32/(2*EbNo) );
%接收信号
demp = power_unitary_factor1*ray1+...
power_unitary_factor2*ray2+...
power_unitary_factor3*ray3+...
( randn( 1,2*Tlen*Nc )+randn( 1,2*Tlen*
dt = reshape( demp,32,Tlen )';
%WALSH码重复
wal16_d(1:2:31) = wal16(8,1:16);
wal16_d(2:2:32) = wal16(8,1:16);
%解扩第一径输出
rdata1 = dt*wal16_d(1,:).';
%WALSH码延迟
wal16_delay1(1,2:32) = wal16_d(1,1:31);
%解扩第二径输出
rdata2 = dt*wal16_delay1(1,:).';
%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,:).';
p1 = rdata1'*rdata1;
p2 = rdata2'*rdata2;
p3 = rdata3'*rdata3;
p = p1 + p2 + p3;
u1 = p1/p;
u2 = p2/p;
u3 = p3/p;
%最大比合并
rd_m1 = real( rdata1*u1+rdata2*u2+rdata3*u3);
%等增益合并
rd_m2 = (real(rdata1+rdata2+rdata3))/3;
%选择式合并
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
%三种方法判决输出
r_Data1 = sign(rd_m1)';
r_Data2 = sign(rd_m2)';
r_Data3 = sign(rd_m3)';
%计算误比特率
Bit_Error_Number1 = length(find(r_Data1(1:Tlen
Bit_Error_Rate1(nEN) = Bit_Error_Number1/Tlen;
Bit_Error_Number2 = length(find(r_Data2(1:Tlen
Bit_Error_Rate2(nEN) = Bit_Error_Number2/Tlen;
Bit_Error_Number3 = length(find(r_Data3(1:Tlen
Bit_Error_Rate3(nEN) = Bit_Error_Number3/Tlen;
end
%经过三种合并方式后产生的波形对比
figure(2)
subplot(3,1,1)
stairs(r_Data1,'Color','r');
ylim([-1.5,1.5]);
title('最大比合并方式','Color','b')
xlabel('码元长度')
ylabel('幅度')
subplot(3,1,2)
stairs(r_Data2,'Color','r');
ylim([-1.5,1.5]);
title('等增益合并','Color','b')
xlabel('码元长度')
ylabel('幅度')
subplot(3,1,3)
stairs(r_Data3,'Color','r');
ylim([-1.5,1.5]);
title('选择式合并','Color','b')
xlabel('码元长度')
ylabel('幅度')
%三种合并方式与初始序列的比较
figure(3)
subplot(3,1,1)
stairs(s_initial,'Color','r');
ylim([-1.5,1.5]);
hold on
stairs(r_Data3,'Color','g');
ylim([-1.5,1.5]);
title('最大比值合并和初始序列比较','Color','b')
xlabel('码元长度')
ylabel('幅度')
ylim([-1.5,1.5]);
subplot(3,1,2)
stairs(s_initial,'Color','r');
ylim([-1.5,1.5]);
hold on
stairs(r_Data2,'Color','g');
ylim([-1.5,1.5]);
title('等增益合并和初始序列比较','Color','b')
xlabel('码元长度')
ylabel('幅度')
ylim([-1.5,1.5]);
subplot(3,1,3)
stairs(s_initial,'Color','r');
ylim([-1.5,1.5]);
hold on
stairs(r_Data1,'Color','g');
ylim([-1.5,1.5]);
title('选择式合并和初始序列比较','Color','b')
xlabel('码元长度')
ylabel('幅度')
ylim([-1.5,1.5]);
%三种合并方式的误码率比较
figure(4)
plot(SNR,Bit_Error_Rate1,'r*-');hold on;
plot(SNR,Bit_Error_Rate2,'bo-');hold on;
plot(SNR,Bit_Error_Rate3,'g.-');
legend('最大比合并','选择式合并','等增益合并');
xlabel('信噪比');
ylabel('误比特率');
title('三种分集合并方式性能比较');
参考文献