⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mrc_rake.m

📁 超宽带程序
💻 M
字号:
function yn=MRC_Rake(Tao,Atten,rt,Dg,Tf,Ts,Num_Data,PN_code,ref_st)
%Tao--------path delays
%Atten------path attenuations
%rt---------received multipath signal
%Num_Data---表示未扩频的数据个数
%Tf---------frame duation
%Ts---------sample period
%Dg----pulse duation
%ef_st---------local reference pulse,含占空比的波形,持续时间为Tf。
%算法是先将多径对齐合并,再相关接收
n_path=length(Tao);%the number of multipath
com_wei=Atten./sum(Atten.*Atten);%the weigth values to be combined 
PN_len=length(PN_code);
cor_st=reshape(ref_st'*PN_code,1,[]);
cor_len=length(cor_st);
Total_samples=Num_Data*cor_len;
for i=1:n_path
    rx(i,:)=com_wei(i)*rt(round(Tao(i)/Ts):(Total_samples-1)+round(Tao(i)/Ts));%对接收信号的延时进行处理
end
%多径合并
if n_path>1
    for i=1:n_path
        for j=1:Num_Data
            rx(i,(j-1)*cor_len+1:j*cor_len)=rx(i,(j-1)*cor_len+1:j*cor_len).*cor_st;
        end
    end
    rx=sum(rx);
else
    for j=1:Num_Data
            rx((j-1)*cor_len+1:j*cor_len)=rx((j-1)*cor_len+1:j*cor_len).*cor_st;
    end
end
%cor_xn=xn.*St;          %correlation processing
for j=1:Num_Data
    int_xn(j)=Ts*sum(rx((j-1)*cor_len+1:j*cor_len));   %在一个脉冲持续时间Dg内积分
end
yn=int_xn>0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -