29 lines
1.0 KiB
Matlab
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
|