README-Chap7.txt
上传用户:m_sun_001
上传日期:2014-07-30
资源大小:1115k
文件大小:6k
源码类别:

matlab例程

开发平台:

Matlab

  1. %
  2. % README Chapter 7
  3. %
  4. % by Hiroshi Harada
  5. %
  6. % If you have any bugs and questions in our simulation programes, please e-mail
  7. % to harada@ieee.org. We try to do our best to answer your questions.
  8. %
  9. In this directory, we can find the eleven files. The relationship between file name and the number of program written in the book is shown in as follows. 
  10. Program7-1   dcamain.m
  11. Program7-2   basest.m
  12. Program7-3   wrap.m
  13. Program7-4   cellmesh.m
  14. Program7-5   holdtime.m
  15. Program7-6   shadow.m
  16. Program7-7   dist.m
  17. Program7-8   main.m
  18. Program7-9   set_D.m
  19. Program7-10  stationInit.m
  20. Program7-11  antgain.m
  21. If you would like to try to use the above programs by using MATLAB.
  22. First of all, please copy all of files to your created adequate directory.
  23. Then, you start to run MATLAB and you can see the following command prompt in the command window.
  24. >>
  25. Next, you can go to the directory that have all of programs in this section by using change directory (cd) commmand. If you copy all of files to /matlabR12/work/chapter7, you only type the following command.
  26. >>cd /matlabR12/work/chapter7
  27. As for chapter7, we have two main functions: dcamain.m and main.m.
  28. 7.1 Simulation and evaluation procedure for dcmain.m
  29. For the simulation dcmain.m, you just type the following command.
  30. >>dcamain
  31. Then, you can find the following progress report on your command window.
  32. In this case, we set the variable "timeend" in dcamain.m to 100.
  33. 1 0 1 0 0.000000e+000
  34. 1 10 2 0 0.000000e+000
  35. 1 20 1 0 0.000000e+000
  36. 1 30 4 1 1.250000e-001
  37. 1 40 0 0 1.250000e-001
  38. 1 50 0 0 1.250000e-001
  39. 1 60 1 0 1.111111e-001
  40. 1 70 3 0 8.333333e-002
  41. 1 80 1 0 7.692308e-002
  42. 1 90 1 0 7.142857e-002
  43. 2 0 3 0 0.000000e+000
  44. 2 10 4 0 0.000000e+000
  45. 2 20 0 0 0.000000e+000
  46. 2 30 5 1 8.333333e-002
  47. In each line of progress report, 
  48. the first ... the order of parameter
  49. the second ... time in the simulation (less than "timeend" and the resolution is defined by "timestep" )
  50. the third ... the number of calls generated in the period of "timestep".
  51. the fourth ... the number of blocked call occurring in the period of "timestep".
  52. the fifth ... the accumulated call blocking probability.
  53. After finished the simulation, we can check all of simulated results.
  54. (1) To see time transition of the accumulated blocking probability and the forced termination probability
  55. The time-transitions of the accumulated call blocking probability and the accumulated forced termination probability during simulation period with the time resolution of "timestep" are stored in the matrices, "check" and "check2" respectively, changing the number of users per cell as a parameter. When we want to see the time-transition of the accumulated call blocking probability as to second parameter (the number of users), we have just to type the following command.
  56. >> plot(check(2, :))
  57. (2) To see the results of the blocking probability and the forced termination probability
  58. After finishing simulation, the number of generation calls, the number of call blocking, the call blocking probability, and the forced termination probability will be stored in the matrix "output". Especially, 
  59. output(1,:)...the number of generated calls
  60. output(2,:)...the number of blocked calls
  61. output(3,:)...the call blocking probability
  62. output(4,:)...the forced termination probability.
  63. On the other hand, the number of users is given in the vector "usernum" (a vector that gives parameters). When you would like to the relationship between the number of users and the call blocking probability on the semilog graph, you just type the following command.
  64. >> semilogy(usernum, output(3, :))
  65. If you would like to see the relationship between the number of generated calls and the forced termination probability, you just type the following command.
  66. >> semilogy(output(1, :), output(4, :))
  67. (3) Save the results of blocking probability and forced termination probability
  68. All of the simulation results for the call blocking probability and the forced termination probability are stored to the file "data.txt" in the same directory that stored the simulation programs.
  69. 7.2 Simulation and evaluation procedure for main.m
  70. To simulate main.m, the following procedure must be needed.
  71. (1) Set parameters
  72. First of all, we set simulation parameters in "main.m".
  73. (a) Characteristics of antenna gain decision for BS
  74. (a-1) [horizontal]: beam width at BS for the target direction [degree]
  75. w_HBS = 60;
  76. (a-2) [horizontal]: antenna gain at BS for the opposite direction [dB]
  77. backg_BS = -100;
  78. (a-3) [vertical]: beam width at BS [degree]
  79. w_VBS = 360;
  80. (b) Characteristics of antenna gain decision for MS
  81. (b-1) [horizontal]: beam width at MS for the target direction [degree]
  82. w_HMS = 360;
  83. (b-2) [horizontal]: antenna gain at MS for the opposite direction [dB] backg_MS = -100;
  84. (b-3) % [vertical]:beam width at MS [degree]
  85. w_VMS = 360;
  86. (2) Just type the following command
  87. >> clear
  88. >> main
  89. (3) You can find a value that mentions the benefit provided by beamforming as
  90. >> ans=
  91. (4) When you change the valiable "w_HBS" from 30 to 80, you can find the same value as shown in Fig. 7.20. To obtain the graph, you can change some points in the program "main.m"
  92. (a) Set alpha=3.5 and sigma=0
  93. (b) For the following part in the program "main.m", you must remove the comment command "%".
  94. %-----Calculation of CIR under various w_HBS
  95. %   ii = 1;
  96. %   for w_HBS2=30:10:180,
  97. %    g_HBS2 = antgain(w_HBS2, backg_BS);    
  98. % CIdB_a2= Ptm_0(1:19)+g_HBS2(degHBS(1:19)+1) + g_VBS(degVBS(1:19)+1) + g_HMS(degHMS(1:19)+1) + g_VMS(degVMS(1:19)+1)- Loss(2,1:19)-g(1:19); % Received level at central BS (beam)
  99. % CIw_a2 = 10 .^ ( CIdB_a2 ./ 10 ); % dB 仺 W
  100. % ciw_a2 = sum( CIw_a2(2:19));
  101. % CIR_a2(num,ii) =   CIw_a2(1) / ciw_a2;
  102. %       ii = ii+1;   
  103. %   end
  104. and
  105. %-----Calculation of CIR under various w_HBS
  106. % CA2= 10 * log10(sum(CIR_a2)/N);
  107. % CA2-CO
  108. % plot(30:10:180,CA2-CO)
  109. The result depends of the positions of users. Therefore the result is not
  110. 100% same of Fig.7.20. If you try some time or if you try some time and average the results, you will obtain close value with Fig.7.20.
  111. ********** end of file **********