home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / ant / antdesgn / friis.bas < prev    next >
BASIC Source File  |  1979-12-31  |  3KB  |  85 lines

  1. 10 REM THIS PROGRAM DOES THE FRIIS POWER TRANSMISSION FORMULA
  2. 20 REM "ANTENNA DESIGN USING PERSONAL COMPUTERS"
  3. 30 KEY OFF
  4. 40 PI=3.141593
  5. 50 DEF FNLOG10(X)=.4343*LOG(X)
  6. 60 CLS
  7. 70 COLOR 1,0
  8. 80 PRINT "THIS PROGRAM COMPUTES THE FRIIS POWER TRANSMISSION FORMULA"
  9. 90 COLOR 4,0
  10. 100 PRINT
  11. 110 INPUT "WHAT IS THE GAIN OF THE TRANSMIT ANTENNA(dB)";GTDB
  12. 120 INPUT "WHAT IS THE VSWR OF THE TRANSMIT ANTENNA";TVS
  13. 130 IF TVS<1 THEN GOTO 120
  14. 140 INPUT "WHAT IS THE GAIN OF THE RECEIVE ANTENNA(dB)";GRDB
  15. 150 INPUT "WHAT IS THE VSWR OF THE RECEIVE ANTENNA";RVS
  16. 160 IF RVS<1 THEN GOTO 150
  17. 170 INPUT "WHAT IS THE FREQUENCY(MHz)";FMC
  18. 180 INPUT "WHAT IS THE INPUT POWER(dBm)";PIDB
  19. 190 INPUT "WHAT IS THE RANGE(meters)";R
  20. 200 IF R<=0 THEN GOTO 190
  21. 210 INPUT "DO YOU WISH TO COMPUTE POLARIZATION MISMATCH(Y,N)";IP$
  22. 220 IF IP$<>"N" THEN GOSUB 430
  23. 230 INPUT "WHAT POLARIZATION MISMATCH DO YOU WISH TO USE(dB)";PMDB
  24. 240 IF PMDB>0 THEN GOTO 230
  25. 250 PRINT
  26. 260 COLOR 14,0
  27. 270 WV=300/FMC
  28. 280 RT=(TVS-1)/(TVS+1)
  29. 290 RR=(RVS-1)/(RVS+1)
  30. 300 GT=10^(GTDB/10)
  31. 310 GR=10^(GRDB/10)
  32. 320 PM=10^(PMDB/10)
  33. 330 PR=(1-RT*RT)*(1-RR*RR)*(WV/(4*PI*R))^2*GT*GR*PM
  34. 340 PRDB=10*FNLOG10(PR)+PIDB
  35. 350 PRINT USING "THE RECEIVED POWER IS ####.##dBm";PRDB
  36. 360 PRINT
  37. 370 COLOR 4,0
  38. 380 INPUT "CONTINUE(Y,N)";IP$
  39. 390 IF IP$<>"N" THEN GOTO 60
  40. 400 COLOR 7,0
  41. 410 KEY ON
  42. 420 END
  43. 430 REM COMPUTE POLARIZATION MISMATCH
  44. 440 INPUT "WHAT IS THE AXIAL RATIO OF THE TRANSMIT ANTENNA(dB)";ATDB
  45. 450 INPUT "WHAT IS THE AXIAL RATIO OF THE RECEIVE ANTENNA(dB)";ARDB
  46. 460 INPUT "WHAT IS THE ANGULAR MISMATCH BETWEEN REC. AND TRANS.(degrees)";AMD
  47. 470 INPUT "ARE THE POL. SENSES THE SAME(BOTH RH OR LH)(Y,N)";IS$
  48. 480 TH=AMD*PI/180
  49. 490 AT=10^(ATDB/20)
  50. 500 AR=10^(ARDB/20)
  51. 510 IF IS$="N" THEN AT=-AT
  52. 520 PM=1
  53. 530 PMMX=1
  54. 540 PMMN=1
  55. 550 IF AT=1 AND AR=1 THEN GOTO 740
  56. 560 IF AT=1 THEN GOTO 650
  57. 570 IF AR=1 THEN GOTO 700
  58. 580 RT=(AT+1)/(AT-1)
  59. 590 RR=(AR+1)/(AR-1)
  60. 600 PM=(1+RT*RT*RR*RR+2*RT*RR*COS(2*TH))
  61. 610 PM=PM/((1+RT*RT)*(1+RR*RR))
  62. 620 PMMX=(1-RT*RR)^2/((1+RT*RT)*(1+RR*RR))
  63. 630 PMMN=(1+RT*RR)^2/((1+RT*RT)*(1+RR*RR))
  64. 640 GOTO 740
  65. 650 RR=(AR+1)/(AR-1)
  66. 660 PM=RR*RR/(1+RR*RR)
  67. 670 PMMX=PM
  68. 680 PMMN=PM
  69. 690 GOTO 740
  70. 700 RT=(AT+1)/(AT-1)
  71. 710 PM=RT*RT/(1+RT*RT)
  72. 720 PMMX=PM
  73. 730 PMMN=PM
  74. 740 PMDB=10*FNLOG10(PM)
  75. 750 PMMXDB=10*FNLOG10(PMMX)
  76. 760 PMMNDB=10*FNLOG10(PMMN)
  77. 770 PRINT
  78. 780 COLOR 14,0
  79. 790 PRINT USING "THE POLARIZATION MISMATCH IS ###.##dB";PMDB
  80. 800 PRINT USING "THE MAX. POLARIZATION MISMATCH IS ###.##dB";PMMXDB
  81. 810 PRINT USING "THE MIN. POLARIZATION MISMATCH IS ###.##dB";PMMNDB
  82. 820 COLOR 4,0
  83. 830 RETURN
  84. 840 END
  85.