sefade.m
上传用户:m_sun_001
上传日期:2014-07-30
资源大小:1115k
文件大小:2k
源码类别:

matlab例程

开发平台:

Matlab

  1. % Program 2-6
  2. % sefade.m
  3. %
  4. % This function generates frequency selecting fading
  5. % Programmed by H.Harada  
  6. function[iout,qout,ramp,rcos,rsin]=sefade(idata,qdata,itau,dlvl,th,n0,itn,n1,nsamp,tstp,fd,flat)
  7. %****************** variables *************************
  8. % idata  input Ich data     
  9. % qdata  input Qch data     
  10. % iout   output Ich data
  11. % qout   output Qch data
  12. % ramp   : Amplitude contaminated by fading
  13. % rcos   : Cosine value contaminated by fading
  14. % rsin   : Cosine value contaminated by fading
  15. % itau   : Delay time for each multipath fading
  16. % dlvl   : Attenuation level for each multipath fading
  17. % th     : Initialized phase for each multipath fading
  18. % n0     : Number of waves in order to generate each multipath fading
  19. % itn    : Fading counter for each multipath fading
  20. % n1     : Number of summation for direct and delayed waves 
  21. % nsamp   : Total number od symbols
  22. % tstp   : Mininum time resolution
  23. % fd   : Maxmum doppler frequency
  24. % flat     flat fading or not 
  25. % (1->flat (only amplitude is fluctuated),0->nomal(phase and amplitude are fluctutated)   
  26. %******************************************************
  27. iout = zeros(1,nsamp);
  28. qout = zeros(1,nsamp);
  29. total_attn = sum(10 .^( -1.0 .* dlvl ./ 10.0));
  30. for k = 1 : n1 
  31. atts = 10.^( -0.05 .* dlvl(k));
  32. if dlvl(k) >= 40.0 
  33.        atts = 0.0;
  34. end
  35. theta = th(k) .* pi ./ 180.0;
  36. [itmp,qtmp] = delay ( idata , qdata , nsamp , itau(k));
  37. [itmp3,qtmp3,ramp,rcos,rsin] = fade (itmp,qtmp,nsamp,tstp,fd,n0(k),itn(k),flat);
  38.   iout = iout + atts .* itmp3 ./ sqrt(total_attn);
  39.   qout = qout + atts .* qtmp3 ./ sqrt(total_attn);
  40. end
  41. % ************************end of file***********************************