3586C-01.txt
Togotech (토론 | 기여)님의 2023년 4월 25일 (화) 12:36 판 (새 문서: HP 3586C Selective Level Meter <pre> 10 !2023/04/25 기본 리딩 20 CLEAR SCREEN 30 OPTION BASE 1 40 INTEGER I 50 DIM Data$[20],Header$[1] 60 GOSUB Fileop...)
HP 3586C Selective Level Meter
10 !2023/04/25 기본 리딩 20 CLEAR SCREEN 30 OPTION BASE 1 40 INTEGER I 50 DIM Data$[20],Header$[1] 60 GOSUB Fileopen 70 ASSIGN @Slm TO 724 80 OUTPUT @File;"No.,Time[s],Freq[Hz],Level[dBm]" 90 T0=TIMEDATE 100 ! GOSUB Measure0 ! spectrum analyzer 110 GOSUB Measure1! wideband, =power meter 120 STOP 130 Measure0: !spectrum analyzer 140 No=0 150 FOR Freq=200 TO 2000 STEP 1 160 No=No+1 170 OUTPUT @Slm;"FR ";Freq;"Hz" 180 TRIGGER @Slm 190 GOSUB Reading 200 T=DROUND((TIMEDATE-T0)*1.00000001,3) 210 PRINT "No=";No;", T=";T;"s, Freq=";Freq;"Hz";", Level=";Level;"dBm" 220 OUTPUT @File;No,T,Freq,Level 230 NEXT Freq 240 RETURN 250 Measure1: !wideband, power meter 260 ASSIGN @Fg TO 710 !HP33120 270 No=0 280 Freq_start=200 290 Freq_stop=1.5E+7 300 Nop=201 310 LOOP 320 No=No+1 330 K=(Freq_stop/Freq_start)^(1/(Nop-1)) 340 Freq=Freq_start*K^(No-1) 350 Freq=DROUND(Freq,4) !유효자리 4 360 EXIT IF Freq>Freq_stop 370 OUTPUT @Fg;"FREQ";Freq 380 TRIGGER @Slm 390 GOSUB Reading 400 T=DROUND((TIMEDATE-T0)*1.00000001,3) 410 PRINT "No=";No;", T=";T;"s, Freq=";Freq;"Hz";", Level=";Level;"dBm" 420 OUTPUT @File;No,T,Freq,Level 430 END LOOP 440 RETURN 450 Reading: ! 460 ENTER @Slm;Data$ 470 Header$=Data$[1;1] 480 SELECT Header$ 490 CASE "O" 500 Level=+999 510 CASE "N" 520 Level=VAL(Data$[2;10]) 530 CASE "U" 540 Level=-999 550 CASE ELSE 560 PRINT "unknown header. stop" 570 STOP 580 END SELECT 590 RETURN 600 Fileopen: ! 610 DIM Filename$[20],Dhms$[8] 620 Time$=TIME$(TIMEDATE) 630 Date$=DATE$(TIMEDATE) 640 Dhms$=Date$[1;2]&Time$[1;2]&Time$[4;2]&Time$[7;2] 650 Filename$=Dhms$&".txt" 660 CREATE Filename$,1 670 ASSIGN @File TO Filename$;FORMAT ON 680 RETURN 690 END