home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Antennas
/
Antennas_CD-ROM_Walnut_Creek_September_1996.iso
/
w4mb
/
vol2
/
basic
/
zlzg.asc
< prev
Wrap
Text File
|
1996-06-30
|
6KB
|
163 lines
2 ON ERROR GOTO 64000
3 CLS
10 PRINT " ***************************************************************"
20 PRINT " * TRANSMISSION LINE END IMPEDANCE CALCULATIONS *"
30 PRINT " * PROGRAM BY R.P. HAVILAND, W4MB *"
40 PRINT " * COPYRGHT 1990 *"
50 PRINT " * MINILAB BOOKS, DAYTONA BEACH, FL 32121-1086 *"
60 PRINT " ***************************************************************"
70 DEF FNP(X)=INT(10*180*X/+.5)/10:PI=3.141592
80 DEF FNSINH(X)=(EXP(X)+EXP(-X))/2
90 DEF FNCOSH(X)=(EXP(X)-EXP(-X))/2
100 PRINT" RESISTANCES,REACTANCES IN OHMS"
110 PRINT" ANGLES IN DEGREES FOR I/O"
120 PRINT" WARNING- THERE IS NO CHECK FOR IMPOSSIBLE INPUT CONDITIONS,"
130 PRINT" WHICH WILL PRODUCE AN OUTPUT ERROR"
140 PRINT" USE OF A SMITH CHART AS A QUICK CHECK IS HELPFUL"
150 PRINT" ENTER LENGTH OF LINE, FEET" :INPUT LL
160 PRINT" ENTER LINE TYPE:NULL= RG-8A/U,"
170 PRINT" OR ENTER TYPE, (RG-58A/U, ETC), OR 300-TWIN OR 300-OPEN":INPUT TY$
200 PRINT:IF TY$="" THEN TY$="RG-8A/U"
210 IF TY$="RG-8A/U" THEN ZO=50:ML=.21:XP=.57:PF=29.5:VF=.66:GOTO 500
220 IF TY$="RG-8F/U" THEN ZO=50:ML=.15:XP=.53:PF=25.4:VF=.8:GOTO 500
230 IF TY$="RG-11A/U" THEN ZO=75:ML=.15:XP=.53:PF=20.6:VF=.66:GOTO 500
240 IF TY$="RG-58A/U" THEN ZO=53.5:ML=.33:XP=.58:PF=28.5:VF=.66:GOTO 500
250 IF TY$="RG-58F/U" THEN ZO=53.5:ML=.31:XP=.51:PF=28.5:VF=.79:GOTO 500
260 IF TY$="RG-59A/U" THEN ZO=73:ML=.31:XP=.51:PF=21:VF=.66:GOTO 500
270 IF TY$="RG-213/U" THEN ZO=50:ML=.15:XP=.56:PF=30.8:VF=.66:GOTO 500
280 IF TY$="RG-246/U" THEN ZO=75:ML=.048:XP=.48:PF=16.7:VF=.81:GOTO 500
290 IF TY$="RG-360/U" THEN ZO=50:ML=.06:XP=.55:PF=25:VF=.81:GOTO 500
300 IF TY$="300-OPEN" THEN ZO=300:ML=8.999999E-03:XP=1.12:PF= 5:VF=.95:GOTO 500
310 IF TY$="300-TWIN" THEN ZO=300:ML=.08:XP=.56:PF=4.6:VF=.95:GOTO 500
400 PRINT" TYPE IS NOT IN FILE. ENTER, IN ORDER"
410 PRINT" ZO,LOSS MULTIPLIIER, LOSS EXPONENT"
420 INPUT ZO,ML,XP
430 PRINT" ENTER IN ORDER"
440 PRINT" CAPACITY PER FOOT, VELOCITY FACTOR"
450 INPUT PF,VF
500 GOSUB 21800
600 PRINT " ENTER L=MOVE FROM GENERATOR TO LOAD"
610 PRINT " G=MOVE FROM LOAD TO GENERATOR"
620 INPUT T$
630 IF T$="G" THEN FL=0:GOTO 1000
640 IF T$="L" THEN FL=1:GOTO 1000
650 GOTO 600
999 REM SMITH CHART ROTATE
1000 PRINT" SMITH CHART ROTATE":PRINT" ENTER NUMBER OF DATA SETS (ROWS)"
1005 INPUT RO:DIM A(RO,8):PRINT"":CO=8
1010 FOR N=1 TO RO:PRINT :PRINT" FOR ROW ";N;
1015 PRINT" ENTER IN ORDER; FREQ, MHZ, Z-MAG, Z-ANGL (DEG.)"
1020 INPUT A(N,1),A(N,2),A(N,3):F=A(N,1):A(N,3)=A(N,3)*PI/180
1025 GOSUB 21800:A(N,4)=LO
1030 PRINT " LINE LOSS=";LO;"DB, LENGTH=";BE/2/PI; "WAVELENGTHS"
1035 SM=A(N,2):SA=A(N,3)
1040 GOSUB 7105:GOSUB 8200
1045 A(N,5)=SM:A(N,6)=SA
1050 PRINT" AT OPPOSITE LINE END, RESIS.= ";SM;"OHMS":A(N,4)=SM
1055 PRINT" REACT.= ";SA;"OHMS":A(N,5)=SA
1060 A(N,7)=INT(EL*F/984)
1065 NEXT N
1070 PRINT" FILE FULL. "
1075 PRINT" ENTER P= PRINTOUT, OR R= RERUN, OTHER= QUIT"
1080 INPUT S$
1085 IF S$="P" THEN 10000
1090 IF S$="R" THEN ERASE A:GOTO 100
1095 STOP
6499 REM ADD ROUTINE
6500 GOSUB 8200
6505 HP=SM:HQ=SA
6510 SM=SN:SA=SB
6515 GOSUB 8200
6520 SM=SM+HP:SA=SA+HQ
6525 GOSUB 8000
6530 RETURN
6799 REM DIVIDE
6800 SM=SN/SM:SA=SB-SA
6805 RETURN
7099 REM ROTATE TO GENERATOROR
7100 FL=0
7105 HM=SM:HA=SA
7110 SM=ZO:SA=ZP
7115 SN=ZM:SB=ZA
7120 GOSUB 7700
7125 SN=HM:SB=HA
7130 IF FL=0 THEN GOSUB 6500
7135 IF FL=1 THEN GOSUB 8300
7140 SN=HM:SB=HA
7145 HM=SM:HA=SA
7150 SM=ZM:SA=ZA
7155 GOSUB 7700
7160 SN=ZO:SB=ZP
7165 IF FL=0 THEN GOSUB 6500
7170 IF FL=1 THEN GOSUB 8300
7175 SN=HM:SB=HA
7180 GOSUB 6800
7185 SN=ZO:SB=ZP
7190 GOSUB 7700
7200 RETURN
7599 REM ROTATE TO LOAD
7600 FL=1
7605 GOTO 7105
7699 REM MULTIPLY
7700 SM=SM*SN:SA=SA+SB
7705 RETURN
7999 REM TO POLAR
8000 TP=SM:TQ=SA:IF TP=0 THEN TP=.00001
8005 SM=SQR(TP*TP+TQ*TQ)
8010 SA=ATN(TQ/TP)
8015 RETURN
8099 REM SQUARE ROOT
8100 SM=SQR(SM):SA=SA/2
8105 RETURN
8199 REM TO RECTANGULAR
8200 TP=SM:TQ=SA
8205 SM=TP*COS(TQ):SA=TP*SIN(TQ)
8210 RETURN
8299 REM SUBTRACT
8300 GOSUB 8200
8305 HP=SM:HQ=SA
8310 SM=SN:SA=SB
8315 GOSUB 8200
8320 SM=HP-SM:SA=HQ-SA
8325 GOSUB 8000
8330 RETURN
10000 PRINT " IMPEDANCE CORRECTION FOR LINE LENGTH"
10010 PRINT " LINE LENGTH=";LL;"FEET"
10020 PRINT " TYPE =";TY$
10030 PRINT " IMPEDANCE=";ZO;"OHMS"
10040 PRINT
10100 IF FL=0 THEN PRINT " GENERATOR END",," LOAD END"
10110 IF FL=1 THEN PRINT " LOAD END",,"GENERATOR END"
10120 PRINT "FREQUENCY","ZMAG","ZANGL","RES","REACT"
10130 FOR N=1 TO RO
10140 FOR K=1 TO 5
10150 PRINT A(N,K),
10160 NEXT K
10180 NEXT N
10190 PRINT
10990 GOTO 1075
21440 SA=FNSINH(AL)*SIN(BE)
21799 REM DO Z
21800 LO=ML*F^XP*LL/100
21805 AL=LO/8.686
21810 BE=LL*F*2*PI/(984*VF)
21815 TP=EXP(4*AL)+1+2*EXP(2*AL)*COS(2*BE)
21820 SM=(EXP(4*AL)-1)/TP
21825 SA=2*EXP(2*AL)*SIN(2*BE)/TP
21830 GOSUB 8000
21835 SM=FNCOSH(AL)*COS(BE)
21845 GOSUB 8000
21850 SN=SM
21855 SB=SA
21860 SM=FNSINH(AL)*COS(BE)
21865 SA=FNCOSH(AL)*SIN(BE)
21870 GOSUB 8000
21875 GOSUB 6800
21880 ZM=SM
21885 ZA=SA
21890 RETURN
63333 END
64000 PRINT " ERROR";ERR;"AT LINE ";ERL
64010 PRINT " RERUN WITH DIFFERENT CONDITIONS?
64020 RESUME 600