Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) ( 88 ) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (88)

0004 C0MM0N/DATA1/XFRP,XFRZ,XQP,XK,XGSP,XC1,XC2,XC3, XC4,XR5,XR6,XR7

1,XR8,XR9,XR10

0005 DIMENSION TEXl(I6),IN(9)

0006 LOGICAL*! STOP

0007 DATA TEX!/FRP,FRZ/QP,K,GSP/C!,C2,C3,C4/R5, !R6/R7,R8VR9VR!0/ /IN/1,2,3,0,6,7,8,9,!4/

0008 DATA IFR,IV,IC.IRIN,IROUT,IPA,ICH/2,2,4,!,6,5,0/

0009 CALL INPUT(IFR,IV,IC,IRIN,ICH,TEX!,IN)

0010 150 XWP=XFRP*6.283!853 00!! XWZ=XFRZ*6.283!853

0012 XH = (! .+XC4* (XCl +XC2) / (XCl *XC2)) *XWP»*2/XWZ**2-1.

0013 XQ = 1./ (2*SQRT.( (1 .+XC2/XC1) * (1 .+XC2/XC3)))

0014 XR5= !./(2*XWZ*XQ* (XC2+XC3))

0015 XR6= (!.+XC2/XCl)/(XR5*XC2*XC3*XWZ**2)

0016 XR7=1./(XC!*XC2*(XR5+XR6)*XWZ**2)

0017 IF(XH)200,220,240

0018 200 TYPE 20

0019 20 FORMAT(/X,C4> = ((FRZ/FRP)**2-!)*(C1*C2/(C1+C2))J

0020 CALL TEST(IFR,IV,IC,IRIN,TEX!,IN)

0021 GOTO 150

0022 220 XR8=1.E38

0023 GOTO 260

0024 240 XR8=(XR5+XR6)/XH

0025 260 XCS=XC1*XC2/(XC1+XC2)

0026 XRS=XR5+XR6

0027 XRH = (1./ (XR8*XCS*XWZ)+XRS*XC4*XWZ- (I .+XC4/XCS) *XWP/(XQP*XWZ))

0028 XR10=XRH*XR9*XQ

0029 XGSPH=SQRT (XR5*XC3/ (XR6*XCS)) +SQRT (XRS*XC2/ (XR7*XC1))

0030 XGSP=XGSPH*(1.+XR10/XR9)**2*XQP/((1.+XC4/XCS) *XWP/XWZ)

0031 XK = (1. +XR10/XR9) / (1. +XC4/XC S)

0032 IF(XFRP-XFRZ) 300,310,320

0033 300 TYPE 10

0034 GOTO 330

0035 10 FORMAT (X,LOW-PASS)

0036 310 TYPE 11

0037 GOTO 330

0038 11 FORMAT (X.BAND-REJECTION)

0039 320 TYPE 12

0040 12 FORMAT (X,HIGH-PASS)

0041 330 CALL OUTPUT(IPA,IC,IROUT,TEXI)

0042 CALL TEST(IFR,IV,IC,IRIN,TEX1,IN)

0043 IF(.NOT.STOP) GOTO 150

0045 RETURN

0046 END

Приложение В

Распечатка программы на языке Бейсик для мини-ЭВМ TRS-80

Представленная на первой странице этого приложения распечатка программы включает в себя:

Строки 30-ПО -информация относительно имеющихся фильтровы{ функций н соответгтвующих порядковых номеров схем.



Строки 120-180 -запрос ввода порядкового номера схемы, а также значения частоты н добротности.

Строка 190 -точка разветвления на 23 подпрограммы, которые следуют за необходимыми позже в этих подпрограммах двумя подпрограммами (строки 200 и 260). На последующих страницах даны подпрограммы расчета приведенных в гл. 5 23 схем.

Преимущество системы TRS-80 состонт в том, что можно обеспечить повторный прогон подпрограммы схемы прн изменении только некоторых, а не всех входных параметров. Таким образом, когда отжата клавиша ВВОД без задания нового значения параметра, о котором идет речь, его старое значение сохраняется в памяти без изменения. С другой стороны, когда обращаются к программе расчета новой схемы, значения всех переменных должны быть установлены равными нулю (строка 10). Поскольку сама программа прогоняется автоматически, то дальнейшие пояснения не требуются.

Вся имеющаяся в налнчнн программа предназначена для нмеиной управляемой загрузки на ленту нлн диск.

10 CLS:CLEAR

20 PRINTCHR$ (23)

30 PRINT"LOW-Q MEDIUM-Q HIGH-Q": PRINT

40 PRINT"1.LP-LQ 8. LP-MQ 16. LP-HQ"

50 PRINT"2.BP-LQ-R 9 BP-MQ-R 17. BP-HQ"

60 PRINT".3.BP-LQ-C 10. BP-MQ-С 18. HP-HQ"

70 PRINT"4.HP-LQ 11. HP-MQ 19. AP-HQ"

80 PRINT"5.AP-Q.S 12. AP-MQ 20. BR-HQ"

90 PRINT"6.AP-LQ 13. BP-MQ 21. L/HPN-HQ"

100 PRlNTe576,"7.BP-LQ 14. L/HPN-MQ 22. GPl"

110 PRINT®640," 15. BR-L/HPN-MQ 23. GP2"

120 PRINT: PR1NT"NUMBER OF DESIRED CIRCUIT ";

130 INPUT M

140 IF M<1 THEN 10 ELSE IF M>23 THEN 10

150 CLS

160 PRINTCHR$(23) ; PI #=3.1415926535897932 : PI = PI#

170 PRINT"FREQUENCY(HZ) ="; : INPUT F : F0=2*F*PI #

180 PRINT"Q =";: INPUT Q

190 ON M GOSUB 310,590,860,1130,1370,1600,1840,2080,2360,2650,2900.3150,

3400,3630,4010,4310,4480,4650,4820,4990,5160,5420,5640

200 PRINT"TYPE 1 FOR NEW RUN";: INPUT T

210 IF TOl THEN 10

220 CLS.PRINTCHR$(23)

230 PRINrFREQUENCY(HZ)=";F

240 PRINT"Q = ";Q

250 RETURN

260 PRINTOPTIMAL RO(KOHM) =";R0/1E3

270 PRINrINPUT DISCRETE VALUE NEAR RO"

280 PRINT"RD(KOHM)="; : INPUT ZZ:RD=ZZ**1E3

290 IF RD=0 THEN RD=RO

300 RETURN

310 RE.M <1.LP-LQ>

320 PRINT ei92,"C2(NF)="; ; INPUT CO : C2=C0*IE-9

330 PRINT"C4(NF)=";: INPUT C3 : C4=C3*1E-9

340 Hl=C2/C4/2/Q/Q

350 IF HI> =2 THEN 370

360 PRINTC2> = 4Qt2*C4 !" : PRINT® 128," " : PRINT : GOTO 320

370 P=H1-1+SQR(H1*(H1-2))

380 R1 = 1(F0)/SQR(P*C2*C4)

390 R3=P*R1 :GSP=Q*SQR(C2/C4/P)

«00 PRINT"K(OPTIONAL) =";: INPUT KI



410 IF К1=0 THEN 440

420 IF 1-К1<=0 THEN 440

430 К=К1 : S1 = R1/K : S2=R1/(1-К) : GOTO 450

440 S1=R1 :S2=1E30:K=1

450 CLS : PRINTCHR$ (23)

460 PRINT"1.LP-LQ" : PRINT

470 PRINT"R11=";S1

480 IF S2=1E30 THEN 500

490 PRINT"R12 =";S2

500 PRINT"C2 =";C2

510 PRINT"R3 =";R3

520 PRINT"C4 =";C4: PRINT

530 PRINT"K =";K

540 PRINT"F =";F

550 PRINT"Q. =";Q

560 PRINT"GSP=";GSP: PRINT

570 GOSUB 200

580 GOTO 320

590 REM<2.BP-LQ-R>

600 PRINT® 192,"C2(NF)=";: INPUT CO : C2=C0*1E-9

610 PRINT"C3(NF) ="; : INPUT CI : C3=C1*1E-9

620 P = Q*Q*(2+C2/C3+C3/C2)

630 R1 = 1/F0/SQP(P*C2*C3)

640 R4==P*R1

650 GSP=Q*Q*(1+C3/C2)

660 KO=GSP

670 PR1NT"K(0PTI0NAL) =";: INPUT KI

680 IF K1=0 THEN 710

690 IF КО-K1<=0 THEN 710

700 K=K1 : S1=K0*RJ/K : S2=K0*R1/(K0-K) : GOTO 720

710 K=K0:S1=R1 :S2=1E30

720 CLS : PRINTCHR$ (23)

730 PRINT"2.BP-LQ-R" : PRINT

740 PR1NT"R11=";S1

750 IF S2=1E30 THEN 770

760 PRINT"R12 =";S2

770 PRINT"C2 =";C2

780 PRINT"C3 =";C3

790 PRINT"R4 =";R4 : PRINT

800 PRINT"K =";K

810 PRINT"F =";F

820 PRINT"Q =";Q

830 PRINT"GSP = ";GS: PRINT

840 GOSUB 200

850 GOTO 600

860 REM<3.BP-LQ-C>

870 PRINT 9 192,"C11(NF)="; : INPUT CO : S1=C0*1E-9

880 . PRINT"C12(NF,0PTI0NAL) ="; : INPUT C3 : S2=C3*1E-9

890 PRINT"C4(NF)="; : INPUT C2 : C4 = C2*1E-9

900 Hl = (Sl+S2)/C4/2/Q/Q

910 IF HI> =2 THEN 930

920 PRINT"Cll+C12=4Qf2*C4!": PRINTei28,"":PRINT: PRINT:

GOTO 870

930 C1=S1+S2

940 P = H1-l+SQR(HI*(Hl-2))

950 R2=1/F0/SQR(P*C1*C4)

960 R3=P*R2



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) ( 88 ) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105)