m基于UWB信号的Rake接收性能matlab仿真,对比最大比合并,等增益合并,选择合并

目录

1.算法仿真效果

2.算法涉及理论知识概要

3.MATLAB核心程序

4.完整算法代码文件


1.算法仿真效果

matlab2022a仿真结果如下:

2.算法涉及理论知识概要

       基于UWB信号的Rake接收性能仿真涉及了多个步骤,包括信号生成、传输、接收以及多径信道中的信号合并等。超宽带(UWB)通信技术以其大带宽、高容量和抗多径传播等优势而受到关注。Rake接收器是UWB通信系统中用于抑制多径干扰的关键技术之一。Rake接收器采用多个延迟匹配滤波器来接收多径信号,然后将它们进行合并以提高接收性能。在本次仿真中,我们将对比三种合并策略:最大比合并、等增益合并和选择合并。

以下是仿真中使用的数学公式和关键步骤:

信号生成:

  • 发射信号Stx:通过将二进制数据进行重复编码,再经过幅度调制生成UWB脉冲信号。
  • 接收信号模板ref:利用直接序列码(DS码)生成接收信号的模板。

信号传输和接收:

  • 多径信道模拟:对发射信号进行多径传播模拟,得到接收信号。
  • 加性高斯白噪声(AWGN):为了模拟实际通信环境,将接收信号加入高斯白噪声。

Rake接收器:

  • 利用多径信号模板对接收信号进行解扩,得到各个多径分量的输出。
  • 计算各个多径分量的能量。
  • 使用不同的合并策略(最大比合并、等增益合并、选择合并)对多径信号进行合并。

1.最大比合并,是一种基于信号能量的合并策略。它通过对每个多径分量进行权重调整,使得接收到的信号的能量最大化。MRC的数学原理如下:

       假设接收到的多径信号有n个分量,分别为r1, r2, ..., rn。其能量为E1, E2, ..., En。那么最大比合并的输出可以表示为:

2. 等增益合并(EGC): 等增益合并是一种简化的合并策略,它假设各个多径分量具有相同的权重,即每个分量的权重都是 1/n。EGC的数学原理如下: 

3. 选择合并(SC): 选择合并是一种基于信号质量的合并策略。它选择接收信号中信号质量最好的分量作为输出。选择合并的数学原理如下: 

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(Rec31*conj(Gain1)+Rec32*conj(Gain2)+Rec33*conj(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'); 
0X_024m

4.完整算法代码文件

V

猜你喜欢

转载自blog.csdn.net/hlayumi1234567/article/details/132418338
今日推荐