home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / rf2 / intermod.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-01-09  |  3.2 KB  |  96 lines

  1. 10  REM ******************************************************************
  2. 20  REM *****   "INTERMOD" Mixer Intermod/Harmonic PROGRAM  **************
  3. 30  REM *****   M.GOLDFARB  VERSION 0             NOV.,1983 **************
  4. 40  REM *****   M.GOLDFARB  VERSION 1 REVISION -  MAR.,1984 **************
  5. 50  REM *****   M.GOLDFARB  VERSION 1 REVISION A  JULY,1984 **************
  6. 60  REM *****   M.GOLDFARB  VERSION 1 REVISION B  AUG.,1984 **************
  7. 70  REM *****   M.GOLDFARB  VERSION 1 REVISION C  AUG.,1985 **************
  8. 80  REM ******************************************************************
  9. 90  CLS     ' Clears Screen (IBM & TRS-80)
  10. 100  PRINT "INTERMOD - MIXER INTERMOD TABLE VER.1 REV.C  M.GOLDFARB AUG 1985"
  11. 105  INPUT "OUTPUT TO PRINTER ?  ( Y , < N > )";Y$:Y$=LEFT$(Y$,1)
  12. 107  IF Y$="Y" OR Y$="y" THEN Y$="Y" ELSE Y$="N"
  13. 110  INPUT"LO Frequency Range in GHz (Low,High)";L1,L2
  14. 115  IF L2<L1 THEN 110
  15. 120  INPUT"RF Frequency Range in GHz (Low,High)";R1,R2
  16. 125  IF R2<R1 THEN 120
  17. 130  INPUT"Output Frequency Range in GHz (Low,High)";I1,I2
  18. 135  IF I2<I1 THEN 130
  19. 140  PRINT
  20. 150  INPUT"Maximum Product Order (n+m)";Q
  21. 160  L=(L1+L2)/2:REM LO Center Freq.:
  22. 170  R=(R1+R2)/2:REM RF Center Freq.
  23. 180  B2=(R2-R1)/(R*2)
  24. 185  A1$="Order     RF     LO     Low Product     High Product   Product in"
  25. 190  B$="(n+m)    (m)    (n)       (mR-nL)          (mR+nL)    Output Band"
  26. 195  C$="##       ##     ##  ###.### to ###.###  ###.### to ###.### \    \"
  27. 200  D$="_________________________________________________________________"
  28. 210  CLS
  29. 220  PRINT"********** Mixer Intermodulation/Harmonic Product Table *********"
  30. 225  PRINT
  31. 226  IF Y$="N" THEN 235
  32. 227  LPRINT"********** Mixer Intermodulation/Harmonic Product Table *********"
  33. 229  LPRINT
  34. 230  LPRINT "LO Frequency Range    :  ";L1;" GHz to ";L2;" GHz"
  35. 231  LPRINT "RF Frequency Range    :  ";R1;" GHz to ";R2;" GHz"
  36. 232  LPRINT "Output Frequency Range: ";I1;" GHz to ";I2;" GHz":LPRINT
  37. 233  LPRINT                                                        
  38. 234  LPRINT A1$:LPRINT B$
  39. 235  PRINT A1$:PRINT B$:PRINT D$
  40. 240  I=8   ' Page Counter 
  41. 250  M=0
  42. 260  N=Q   ' start loop with n= max.order
  43. 320  GOSUB 1000 ' calculate products  for given order "Q"
  44. 330  A$="n": REM test for spur in the output band
  45. 331  HL=0
  46. 332  IF V1>=I1 AND V1<=I2 THEN A$="HIGH"
  47. 334  IF V2>=I1 AND V2<=I2 THEN A$="HIGH"
  48. 336  IF V1>=I1 AND V2<=I2 THEN A$="HIGH"
  49. 338  IF V1<=I1 AND V2>=I2 THEN A$="HIGH"
  50. 339  IF A$="HIGH" THEN HL=1
  51. 340  IF U1>=I1 AND U1<=I2 THEN A$="LOW"
  52. 350  IF U2>=I1 AND U2<=I2 THEN A$="LOW"
  53. 360  IF U1>=I1 AND U2<=I2 THEN A$="LOW"
  54. 362  IF U1<=I1 AND U2>=I2 THEN A$="LOW"
  55. 363  IF A$="LOW" AND HL=1 THEN A$="BOTH"
  56. 364  IF M=1 AND N=1 THEN A$="output"
  57. 366  IF N+M=4 THEN PRINT:I=I-1
  58. 367  IF N+M=4 AND Y$="Y" THEN LPRINT
  59. 370  IF I=0 THEN INPUT" < return> to continue";X$
  60. 371  IF I>0 THEN 380
  61. 372  CLS
  62. 373  PRINT
  63. 374  PRINT A1$:PRINT B$:PRINT D$
  64. 376  PRINT:I=8
  65. 377  IF Y$="Y" THEN LPRINT
  66. 380  PRINT USING C$;N+M,M,N,U1,U2,V1,V2,A$
  67. 382  IF Y$="Y" THEN LPRINT USING C$;N+M,M,N,U1,U2,V1,V2,A$
  68. 385  I=I-1
  69. 390  N=N-1
  70. 395  IF M=0 AND N=0 THEN 410
  71. 400  IF N>=0 THEN 320
  72. 410  M=M+1:N=Q-M
  73. 415  PRINT
  74. 420  IF M<=Q THEN 320
  75. 430  PRINT
  76. 435  IF Y$="y" OR Y$="Y" THEN LPRINT CHR$(12)
  77. 437  INPUT "New Table <N> or Quit <Q>";X$:X$=LEFT$(X$,1)
  78. 440  IF X$="N" OR X$="n" THEN 60
  79. 450  IF X$="Q" OR X$="q" THEN CLS:SYSTEM
  80. 460  PRINT:GOTO 437
  81. 1000  REM *********** Subroutine: CALCSPUR
  82. 1010  IF M*R>=N*L THEN X=1 ELSE X=0
  83. 1015  Y=0
  84. 1020  IF X=0 AND N*L1>M*R2 THEN Y=1
  85. 1030  IF X=1 AND M*R1>N*L2 THEN Y=1 
  86. 1040  IF Y=0 THEN U1=0
  87. 1050  IF Y=1 AND X=0 THEN U1=N*L1-M*R2
  88. 1060  IF Y=1 AND X=1 THEN U1=M*R1-N*L2
  89. 1070  IF X=0 THEN U2=N*L2-M*R1 ELSE U2=M*R2-N*L1
  90. 1080  V1=M*R1+N*L1
  91. 1090  V2=M*R2+N*L2
  92. 1100  IF M=0 THEN U1=N*L1
  93. 1110  IF N=0 THEN U1=M*R1
  94. 1120  RETURN
  95. 32767  END
  96.