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

📄 chan_multipath.m

📁 5扩32 扩频方法仿真 进行SNR估计 产生pn码 基带仿真
💻 M
字号:
function [out_data] = chan_multipath(in_data,fs,vec_delay,vec_amp_dB)
%
% vec_delay:    delay time vector;
% vec_amp:      amplify vector through multipath;

% convert the delay time vector to delay sample point number
vec_delaynum = floor(vec_delay .* fs);      
% vec_delaynum(1,1) = 0;  
vec_amp = 10 .^ (vec_amp_dB ./ 20);
%vec_amp = vec_amp_dB;  
% vec_amp(1,1) = 1;        % the first one is the main path
len_delay = length(vec_delay);     
% max_delay = vec_delaynum(1,len_delay);     % the maxinum of delay 
len_data = length(in_data);     
out_data = zeros(1,len_data); 
for iii =1:len_delay 
    in_data1 = [zeros(1,vec_delaynum(iii)) in_data] .* vec_amp(iii);
    out_data = out_data + in_data1(1:len_data);   
end


% to be check whether the length of vec_amp_dB is equal to vec_delay;

% there is only one path
% if len_delay == 1;  out_data = in_data;     return;     
% else in_data = [zeros(1,max_delay),in_data];        % add zeros to in_data head
% end;
% 
% for iii = 1:1:len_data;                                                                                 %多径叠加
%     out_data(1,iii) = in_data(1,iii + max_delay);
%     for jjj = 2:1:len_delay;    
% %         out_data(1,iii) = out_data(1,iii) + in_data(1,iii + max_delay - vec_delaynum(1,jjj)) .* vec_amp(1,jjj);
%         out_data(1,iii) = out_data(1,iii) + in_data(1,iii + max_delay - vec_delaynum(1,jjj)) .* vec_amp(1,jjj);
%     end
% end

⌨️ 快捷键说明

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