1.算法仿真效果
matlab2022a仿真结果如下:
2.算法涉及理论知识概要
基于UWB信号的Rake接收性能仿真涉及了多个步骤,包括信号生成、传输、接收以及多径信道中的信号合并等。超宽带(UWB)通信技术以其大带宽、高容量和抗多径传播等优势而受到关注。Rake接收器是UWB通信系统中用于抑制多径干扰的关键技术之一。Rake接收器采用多个延迟匹配滤波器来接收多径信号,然后将它们进行合并以提高接收性能。在本次仿真中,我们将对比三种合并策略:最大比合并、等增益合并和选择合并。
以下是仿真中使用的数学公式和关键步骤:
信号生成:
发射信号Stx:通过将二进制数据进行重复编码,再经过幅度调制生成UWB脉冲信号。
接收信号模板ref:利用直接序列码(DS码)生成接收信号的模板。
信号传输和接收:
多径信道模拟:对发射信号进行多径传播模拟,得到接收信号。
加性高斯白噪声(AWGN):为了模拟实际通信环境,将接收信号加入高斯白噪声。
Rake接收器:
利用多径信号模板对接收信号进行解扩,得到各个多径分量的输出。
计算各个多径分量的能量。
使用不同的合并策略(最大比合并、等增益合并、选择合并)对多径信号进行合并。
1.最大比合并,是一种基于信号能量的合并策略。它通过对每个多径分量进行权重调整,使得接收到的信号的能量最大化。MRC的数学原理如下:
3.MATLAB核心程序
``` Pw_path1 = Rec31'Rec31;
Pw_path2 = Rec32'Rec32;
Pw_path3 = Rec33'Rec33;
%总能量
Pw_all = Pw_path1+Pw_path2+Pw_path3;
u1 = Pw_path1/Pw_all;
u2 = Pw_path2/Pw_all;
u3 = Pw_path3/Pw_all;
%最大比合并输出
Re0 = real(Rec31conj(Gain1)+Rec32conj(Gain2)+Rec33conj(Gain3));
%等增益合并输出
Re1 = real(Rec31/3 +Rec32/3 +Rec33/3);
%选择合并
U_all = [u1 u2 u3];
U_max = max(U_all);
switch U_max
case u1
Re3 = real(Rec31); %MRC
case u2
Re3 = real(Rec32); %EGC
otherwise
Re3 = real(Rec33); %SC
end
% 三中方法判决输出
Rec_mrc = (sign(Re0).'+1)/2;
Rec_egc = (sign(Re1).'+1)/2;
Rec_sc = (sign(Re3).'+1)/2;
% 计算误比特率
err1(ij) = length(find(Rec_mrc~=msgs))/length(msgs);
err2(ij) = length(find(Rec_egc~=msgs))/length(msgs);
err3(ij) = length(find(Rec_sc~=msgs))/length(msgs);
end
figure
semilogy(SNR,err1,'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
semilogy(SNR,err2,'-r>',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.9,0.0]);
hold on
semilogy(SNR,err3,'-k<',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.4,0.9,0.3]);
hold on
grid on
legend('MRC最大比合并','EGC等增益合并','SC选择式合并');
xlabel('SNR');
ylabel('error');
```