home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-08-18 | 3.5 KB | 82 lines |
- 10 CLS: PRINT "TRANSPONDER SPUR SEARCH PROGRAM V2.0M 7/28/86": PRINT
- 20 PRINT " *********************************************
- 30 PRINT " * *
- 40 PRINT " * BY DR. ALLEN KATZ, CHAIRMAN *
- 50 PRINT " * DEPT ELECTRONICS ENGINEERING TECHNOLOGY *
- 60 PRINT " * TRENTON STATE COLLEGE, CN550 *
- 70 PRINT " * TRENTON, NEW JERSEY 8625 *
- 80 PRINT " * *
- 90 PRINT " * THE AUTHOR RESERVES THE RIGHTS TO THIS *
- 100 PRINT " * PROGRAM; HOWEVER, COPYING AND USE FOR *
- 110 PRINT " * EDUCATIONAL PURPOSES IS ENCOURAGED. *
- 120 PRINT " * *
- 130 PRINT " * PLEASE REPORT ANY ERRORS OR PROBLEMS *
- 140 PRINT " * WITH THIS PROGRAM TO THE AUTHOR. *
- 150 PRINT " * TEL (609) 771 2487 *
- 160 PRINT " * *
- 170 PRINT " *********************************************
- 210 PRINT: INPUT "DATE"; D$: INPUT "TITLE"; TL$: PRINT
- 220 INPUT "DIRTY L.O. CASE (Y/N)"; Q$: IF Q$="N" THEN INPUT "L.O. FREQ"; FU: LO=FU: LX=1: GOTO 270
- 230 INPUT "L.O. FREQ"; LO
- 240 INPUT "FUNDEMENTAL FREQ"; FU
- 250 P=INT(LO/FU+0.5): U=LO/P: IF U<>FU THEN FU=U: PRINT "NOT FACTOR - USE FUND FREQ ="; FU
- 260 INPUT "MAX HARMONIC"; LX
- 270 INPUT "LOWER EDGE OUTPUT FREQ"; FL
- 280 INPUT "UPPER EDGE OUTPUT FREQ"; FT: FO=FL: DF=FT-FL
- 290 INPUT "NUMBER OF CRITCAL PASS BANDS"; NB
- 300 FOR K=1 TO NB: PRINT: PRINT "PASS BAND #"; K
- 310 INPUT "LOWER EDGE"; LF(K): INPUT "UPPER EDGE"; UF(K): NEXT K
- 320 PG=1: PRINT
- 330 INPUT "WANT TO LIST OUTPUT BAND (Y/N)"; O$
- 340 INPUT "SPECIAL ORDER RESTRICTIONS (Y/N)"; Q$
- 350 IF Q$="N" THEN 380
- 360 INPUT "MAX ORDER FP"; NJ
- 370 INPUT "MAX ORDER SPUR"; NI: NX=NI+NJ: GOTO 390
- 380 INPUT "MAX ORDER"; NX: NI=NX: NJ=NX
- 390 LPRINT, "PAGE"; PG; SPC(3); TL$
- 400 LPRINT: LPRINT : LPRINT: LPRINT:
- 410 LPRINT, "TRANSPONDER SPUR SEARCH PROGRAM"; SPC(20); D$
- 420 LPRINT: LPRINT, "CRITICAL BANDS": FOR K=1 TO NB
- 430 LPRINT, "BAND #"; K; LF(K); " - "; UF(K)
- 435 NEXT K
- 440 LPRINT: CR=NB+9: FOR L=1 TO LX: FP=FU*L: FG=1
- 450 FOR I=1 TO NI: FOR J=1 TO NJ: IF J+I>=NX THEN 760
- 460 F1=(FO+FP*J)/I: F2=(FP*J-FO)/I: F3=(FO-FP*J)/I
- 470 FOR K=1 TO NB
- 480 IF F1+DF/I<LF(K) THEN 570
- 490 IF F1<LF(K) THEN LE=LF(K) ELSE LE=F1
- 500 IF F1>UF(K) THEN 570
- 510 IF F1+DF/I>UF(K) THEN TE=UF(K) ELSE TE=F1+DF/I
- 520 IF FG=1 THEN GOSUB 790
- 530 IF LO=J*FP THEN LPRINT, "*";
- 540 LPRINT, TAB(1); "SPUR EDGES: LOWER"; LE; TAB(29); "UPPER"; TE; TAB(44); "ORDER"; I+J; TAB(53); "SPUR X"; I; TAB(63); "FP X"; J: CR=CR+1
- 550 IF O$="N" THEN 570 ELSE FA=LE*I-FP*J: FB=TE*I-FP*J
- 560 LPRINT, TAB(1); "OUTPUT BAND: LOWER EDGE"; FA; TAB(35); "UPPER EDGE"; FB: CR=CR+1
- 570 IF F2<LF(K) THEN 660
- 580 IF F2-DF/I<LF(K) THEN LE=LF(K) ELSE LE=F2-DF/I
- 590 IF F2-DF/I>UF(K) THEN 660
- 600 IF F2>UF(K) THEN TE=UF(K) ELSE TE=F2
- 610 IF FG=1 THEN GOSUB 790
- 620 IF LO=J*FP THEN LPRINT, "*";
- 630 LPRINT, TAB(1); "SPUR EDGES: LOWER"; LE; TAB(29); "UPPER"; TE; TAB(44); "ORDER"; I+J; TAB(53); "SPUR X"; I; TAB(63); "FP X"; J: CR=CR+1
- 640 IF O$="N" THEN 660 ELSE FA=FP*J-TE*I: FB=FP*J-LE*I
- 650 LPRINT, TAB(1); "OUTPUT BAND: LOWER EDGE"; FA; TAB(35); "UPPER EDGE"; FB: CR=CR+1
- 660 IF F3+DF/I<LF(K) THEN 750
- 670 IF F3<LF(K) THEN LE=LF(K) ELSE LE=F3
- 680 IF F3>UF(K) THEN 750
- 690 IF F3+DF/I>UF(K) THEN TE=UF(K) ELSE TE=F3+DF/I
- 700 IF FG=1 THEN GOSUB 790
- 710 IF LO=J*FP THEN LPRINT, "*";
- 720 LPRINT, TAB(1); "SPUR EDGES: LOWER"; LE; TAB(29); "UPPER"; TE; TAB(44); "ORDER"; I+J; TAB(53); "SPUR X"; I; TAB(63); "FP X"; J: CR=CR+1
- 730 IF O$="N" THEN 750 ELSE FA=LE*I+FP*J: FB=TE*I+FP*J
- 740 LPRINT, TAB(1); "OUTPUT BAND: LOWER EDGE"; FA; TAB(35); "UPPER EDGE"; FB: CR=CR+1
- 750 NEXT K
- 760 NEXT J
- 765 NEXT I
- 770 IF CR>48 THEN PG=PG+1: LPRINT, CHR$(12), "PAGE"; PG; SPC(3); TL$: CR=600
- 772 NEXT L
- 774 LPRINT, CHR$(12): END
- 785 REM ******************* SUB ****************************
- 790 LPRINT: LPRINT: LPRINT, "FP = FUND FREQ X"; L; "="; FP, "OUTPUT FREQ BAND"; FL; " - "; FT: LPRINT: FG=0: CR=CR+4
- 800 RETURN
-