40 LOCATE 3,24:PRINT " TRANSMISSION LINE CALCULATION "
50 LOCATE 4,24:PRINT " LOSSLESS LINE ":COLOR 7,0
60 ' AHMAD FAIZAL MOHD ZAIN
70 ' JULY 8, 1986
80 PI=3.141592
100 DEF FN MAG(X,Y)=SQR(X*X+Y*Y)
110 DEF FN ANG(X,Y)=ATN(Y/X)
120 DEF FN REAL(MAG,THETA)=MAG*COS(THETA)
130 DEF FN IMAG(MAG,THETA)=MAG*SIN(THETA)
140 LOCATE 8,1:PRINT "Working Frequency in (MHz)":PRINT "Charcteristic Impedance ":PRINT "Load Impedance (Real Part)":PRINT "Load Impedance (Imag Part)":PRINT "Length of Line in (Meters)":Q=1
150 QQ$="Enter Frequency in (MHz) "
160 LOCATE 20,2:PRINT QQ$;:LINE INPUT "",E$:IF E$="" THEN 160
170 IF Q=1 THEN E1$=E$:FREQ=VAL(E$):QQ$="Enter Characteristic Impedance "
180 IF Q=2 THEN E2$=E$:Z0=VAL(E$):QQ$="Load Impedance (Real Part) "
190 IF Q=3 THEN E3$=E$:RL=VAL(E$):QQ$="Load Impedance (Imag Part) "
200 IF Q=4 THEN E4$=E$:XL=VAL(E$):QQ$="Length of Line in (Meters) "
430 PRINT USING"INPUT IMPEDANCE OF LINE IS : ###.##";REAL;:PRINT SIGN$;:PRINT USING "###.##";ABS(IMAG)
440 PRINT
450 :
460 REM REFLECTION COEFFICIENT
470 X=RL-Z0: Y=XL
480 MAGA=FN MAG(X,Y)
490 GOSUB 670:ANGA=T*PI/180
500 X=RL+Z0: Y=XL
510 MAGB=FN MAG(X,Y)
520 GOSUB 670:ANGB=T*PI/180
530 GAMMA=MAGA/MAGB:ANGAMMA=(ANGA-ANGB)*180/PI
540 PRINT USING"COEFFICIENT OF REFLECTION IS MAGNITUDE = ##.##";GAMMA;:PRINT USING" AND ANGLE = ####.##";ANGAMMA;:PRINT" DEGREES"
550 PRINT
560 :
570 REM FIND SWR
580 IF GAMMA=1 THEN PRINT"SWR IS INFINITE":GOTO 620
590 GAMMA=ABS(GAMMA)
600 S=(1+GAMMA)/(1-GAMMA)
610 PRINT USING"SWR IS ##.##";S
620 COLOR 15,0:LOCATE 25,18:PRINT "Run Again (Y/N) Return to Start = S";CHR$(29);:COLOR 7,0
630 AN$=INKEY$:IF AN$="" THEN 630
640 IF AN$="Y" OR AN$="y" THEN RUN
650 IF AN$="N" OR AN$="n" THEN LOCATE 23,1:PRINT CHR$(29);:END
655 IF AN$="S" OR AN$="s" THEN RUN "START
660 GOTO 620
670 IF X>0 THEN T=(180/PI)*ATN(Y/X)
680 IF X<0 THEN T=180*SGN(Y)+(180/PI)*ATN(Y/X)
690 IF X=0 THEN T=90*SGN(Y)
700 IF Y=0 AND X<0 THEN T=180
710 RETURN
1500 SCREEN 0,0,0:SOUND 1510,10:COLOR 7,0:LOCATE 25,10:PRINT "Key: Esc to End or `R' to Run Again or `S' to Return Start";CHR$(29);:COLOR 15,0:LOCATE 25,15:PRINT "Esc";:LOCATE 25,30:PRINT "R";:LOCATE 25,50:PRINT "S";CHR$(29);:COLOR 7,0
1510 E$=INKEY$:IF E$="" THEN 1510 ELSE IF E$=CHR$(27) THEN CLS:END ELSE IF E$="R" OR E$="r" THEN RUN ELSE IF E$="S" OR E$="s" THEN RUN "START
1520 GOTO 1510
1600 '//////////////// Routine to Draw a Box //////////////////