gusucode.com > m4k20功率分配图 mimo功率优化,OFDM典型仿真程序,贪婪算法仿真程序 > code/test_16qam/sefade.m
% Program 2-6 % sefade.m % % This function generates frequency selecting fading % % Programmed by H.Harada % function[output]=sefade(input,itau,dlvl,th,n0,itn,n1,nsamp,tstp,fd,flat) %****************** variables ************************* % idata input Ich data % qdata input Qch data % iout output Ich data % qout output Qch data % ramp : Amplitude contaminated by fading % rcos : Cosine value contaminated by fading % rsin : Cosine value contaminated by fading % itau : Delay time for each multipath fading % dlvl : Attenuation level for each multipath fading % th : Initialized phase for each multipath fading % n0 : Number of waves in order to generate each multipath fading % itn : Fading counter for each multipath fading % n1 : Number of summation for direct and delayed waves % nsamp : Total number od symbols % tstp : Mininum time resolution % fd : Maxmum doppler frequency % flat flat fading or not % (1->flat (only amplitude is fluctuated),0->nomal(phase and amplitude are fluctutated) %****************************************************** idata=real(input); qdata=imag(input); iout = zeros(1,nsamp); qout = zeros(1,nsamp); total_attn = sum(10 .^( -1.0 .* dlvl ./ 10.0)); for k = 1 : n1 atts = 10.^( -0.05 .* dlvl(k)); if dlvl(k) >= 40.0 atts = 0.0; end theta = th(k) .* pi ./ 180.0; [itmp,qtmp] = delay ( idata , qdata , nsamp , itau(k)); [itmp3,qtmp3,ramp,rcos,rsin] = fade (itmp,qtmp,nsamp,tstp,fd,n0(k),itn(k),flat); iout = iout + atts .* itmp3 ./ sqrt(total_attn); qout = qout + atts .* qtmp3 ./ sqrt(total_attn); end output=iout+sqrt(-1).*qout; % ************************end of file***********************************