HE/WaveAdp/ChanStat.m
2024-03-30 16:35:40 +08:00

29 lines
1.0 KiB
Matlab

function ChanPara = ChanStat(SNR, tau_d, velocity, Ts, FreqCarrier, TimeStamp)
A_dB = -15;norm_flag = 1;c = 3e8;
ChanPara.PDP = exp_PDP(tau_d,Ts,A_dB,norm_flag);
ChanPara.delay = ones(1,length(ChanPara.PDP))*Ts;
ChanPara.rmsdelay = tau_d;
ChanPara.doppler = 'Jakes';
ChanPara.Velocity = velocity;
ChanPara.epsilon = 0;
ChanPara.SNR = SNR;
ChanPara.FreqCarrier = FreqCarrier;
ChanPara.MaximumDopplerShift = FreqCarrier/c * velocity/3600 *1000;
ChanPara.SampleFs = 1/Ts;
end
function PDP = exp_PDP(tau_d,Ts,A_dB,norm_flag)
if nargin<4, norm_flag=1; end % normalizes
if nargin<3, A_dB=-20; end % 20dB below
sigma_tau = tau_d; A = 10^(A_dB/10);
lmax=ceil(-tau_d*log(A)/Ts); % get max. path index (2.8)/Ts
% Computes normalization factor for power normalization
if norm_flag
p0=(1-exp(-Ts/sigma_tau))/(1-exp(-(lmax+1)*Ts/sigma_tau)); % (2.10)
else p0=1/sigma_tau;
end
% Exponential PDP
l=0:lmax; PDP = p0*exp(-l*Ts/sigma_tau); % (2.11)
end