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

matlab例程

开发平台:

Matlab

  1. % Program 2-8
  2. % bpskev.m
  3. %
  4. % Evaluation program of fading counter based BPSK transmission scheme
  5. % This program is one of example simulations that include fading
  6. % As for the explanation, you can check Chapter 3.
  7. %
  8. % Programmed by H.Harada
  9. %
  10. %******************** Preparation part **********************
  11. % Time resolution
  12. % In this case, 0.5us is used as an example
  13. tstp = 0.5*1.0e-6; 
  14. % Symbol rate
  15. % In this case we assume that each sample time is equal to 1/(symbol rate).
  16. % In this case 200 kbps is considered.
  17. sr = 1/tstp ;
  18. % Arrival time for each multipath normalized by tstp
  19. % In this simulation four-path Rayleigh fading are considered
  20. itau = [0, 2, 3, 4];
  21. % Mean power for each multipath normalized by direct wave.
  22. % In this simulation four-path Rayleigh fading are considered.
  23. % This means that the second path is -10dB less than the first direct path.
  24. dlvl = [0 ,10 ,20 ,25];
  25. % Number of waves to generate fading for each multipath.
  26. % In this simulation four-path Rayleigh fading are considered.
  27. % In normal case, more than six waves are needed to generate Rayleigh fading
  28. n0=[6,7,6,7];
  29. % Initial Phase of delayed wave
  30. % In this simulation four-path Rayleigh fading are considered.
  31. th1=[0.0,0.0,0.0,0.0];
  32. % Number of fading counter to skip (50us/0.5us)
  33. % In this case we assume to skip 50 us
  34. itnd0=100*2;
  35. % Initial value of fading counter
  36. % In this simulation four-path Rayleigh fading are considered.
  37. % Therefore four fading counter are needed.
  38.   
  39. itnd1=[1000,2000, 3000, 4000];
  40. % Number of directwave + Number of delayed wave
  41. % In this simulation four-path Rayleigh fading are considered
  42. now1=4;        
  43. % Maximum Doppler frequency [Hz]
  44. % You can insert your favorite value
  45. fd=200;       
  46. % Number of data to simulate one loop
  47. % In this case 100 data are assumed to consider
  48. nd = 100;
  49. % You can decide two mode to simulate fading by changing the variable flat
  50. % flat     : flat fading or not 
  51. % (1->flat (only amplitude is fluctuated),0->nomal(phase and amplitude are fluctutated)
  52. flat =1;
  53. %******************** START CALCULATION *********************
  54. nloop = 1000; % Number of simulation loop
  55. noe = 0; % Initial number of errors
  56. nod = 0; % Initial number of transmitted data
  57. for iii=1:nloop 
  58.     
  59. %******************** Data generation ***********************
  60.     
  61. data=rand(1,nd)>0.5;  % rand: built in function
  62. %******************** BPSK modulation ***********************  
  63. data1=data.*2-1;  % Change data from 1 or 0 notation to +1 or -1 notation
  64.     
  65. %********************** Fading channel **********************
  66.     % Generated data are fed into a fading simulator
  67.     % In the case of BPSK, only Ich data are fed into fading counter
  68.     [data6,data7]=sefade(data1,zeros(1,length(data1)),itau,dlvl,th1,n0,itnd1,now1,length(data1),tstp,fd,flat);
  69.     % Updata fading counter
  70.     itnd1 = itnd1+ itnd0;
  71.     
  72. %******************** BPSK Demodulation *********************
  73.     demodata=data6 > 0;
  74. %******************** Bit Error Rate (BER) ******************
  75.     % count number of instantaneous errors
  76.     noe2=sum(abs(data-demodata));  % sum: built in function
  77.     
  78.     % count number of instantaneous transmitted data
  79. nod2=length(data);  % length: built in function
  80.    
  81. fprintf('%dt%en',iii,noe2/nod2);
  82.     
  83.     noe=noe+noe2; 
  84. nod=nod+nod2;
  85. end % for iii=1:nloop    
  86. %********************** Output result ***************************
  87. %ber = noe/nod;
  88. fprintf('%dt%dt%en',noe,nod,noe/nod);
  89. % ************************end of file***********************************