100 ' ************************************************************** 110 ' * IBM PC BASIC VERSION A3.30 * 120 ' * FILE NAME "EARTH" * 130 ' * INTERFERENCE BETWEEN TERRESTRIAL STATION AND EARTH STATION * 140 ' * 1987/10 I.KATO * 150 ' ************************************************************** 160 KEY OFF:CLS:SCREEN 9 170 COLOR 14 180 DEFDBL A,B,C,D,K,L,M,R,S 190 DIM V$(12),W$(20,1),S0(59),S1(59),P0(59),P1(59) 200 DATA "E ANT HEIGHT(m)","E ANT GAIN (dB)","ANGLE AE(deg.) ", "E ANT DIRECTIVITY(dB)","T ANT HEIGHT(m)","T ANT GAIN (dB)", "ANGLE AT(deg.) ","T ANT DIRECTIVITY(dB)" 210 DATA "E-T DISTANCE(km)","RIDGE ALTITD (m)","E-L DISTANCE(km)", "k(average value)" 220 FOR I=1 TO 12:READ V$(I):NEXT 230 LOCATE 1,1:PRINT "[ITEM 27] INTERFERENCE BETWEEN TERRESTRIAL STATION AND EARTH STATION ":COLOR 7 240 PRINT " Station Item Maximum allowable value Remarks" 250 PRINT "Communication Interfered 1,000 pWp(1 minute mean, The value at zero relative" 260 PRINT "-satellite noise 20% of any month) level point in any " 270 PRINT "system power telephone channel of " 280 PRINT " 50,000 pWp(1 minute mean, hypothetial reference " 290 PRINT " 0.03% of any month) circuit, CCIR Rec. 356-4" 300 PRINT "Terrestrial Interfered 1,000 pWp(1 minute mean, The value at zero relative" 310 PRINT "radio-relay noise 20% of any month) level point in any " 320 PRINT "system power telephone channel of " 330 PRINT " 50,000 pWp(1 minute mean, 2,500km by hypothetical " 340 PRINT " 0.01% of any month) ciruit in radio system, " 350 PRINT " CCIR Rec. 357-3" 360 PRINT "Definitely, the requirements for the effective" 370 PRINT "transmitting loss at frequency of 4GHz band is" 380 PRINT "the most severe, hence the following calculation" 390 PRINT "formula corresponding to such case is recommended." 400 PRINT "LT=LD+LS+DE+DT-GE-GT >=180dB" 410 LOCATE 19,5:PRINT "LD: span loss, LS: ridge diffraction loss": LOCATE 20,5:PRINT "DE: E ant.directivity, DT: T ant.directivity": LOCATE 21,5:PRINT "GE: E ant.gain, GT: T ant.gain" 420 COLOR 2:LOCATE 22,5:PRINT " E:earth station,";:COLOR 3:PRINT " T:terrestrial station":COLOR 7 430 LINE(1, 14)-(638, 14),7,,&H8888 440 LINE(1, 28)-(638, 28),7,,&H8888 450 LINE(1, 98)-(638, 98),7,,&H8888 460 LINE(1,182)-(638,182),7,,&H8888 470 LINE(108,14)-(108,182),7:LINE(196,14)-(196,182),7:LINE(416,14)-(416,182),7 480 WINDOW SCREEN(0,0)-(100,100) 490 VIEW(416,189)-(638,308),,5 500 GOSUB 5000 510 LOCATE 14,62:PRINT "GE":COLOR 2:LOCATE 15,57:PRINT "E":COLOR 7: LOCATE 16,64:PRINT "DE":LOCATE 17,53:PRINT "LD":LOCATE 18,65:PRINT "ridge": LOCATE 19,57:PRINT "LS" 520 LOCATE 20,64:PRINT "DT":COLOR 3:LOCATE 21,57:PRINT "T":COLOR 7: LOCATE 21,76:PRINT "Re":LOCATE 22,62:PRINT "GT" 530 COLOR 6:LOCATE 23,10:PRINT "-----To proceed: Hit space key -----" 540 COLOR 7:Q$=INKEY$:IF Q$<>" " THEN 540 550 GOSUB 6000 560 SCREEN 0:CLS:SCREEN 9:COLOR 7:INDEX$="" 1000 ' ---------------- 1010 ' * data input * 1020 ' ---------------- 1030 COLOR 14:LOCATE 1,1:PRINT " Interference between terrestrial station and earth station (4.0 GHz) ":COLOR 7 1040 WINDOW SCREEN(0,0)-(100,100) 1050 VIEW(416,31)-(638,150),,5 1060 GOSUB 5000 1070 LOCATE 3,62:PRINT "GE":COLOR 2:LOCATE 4,57:PRINT "E":COLOR 7: LOCATE 5,64:PRINT "AE":LOCATE 7,54:PRINT "D" :LOCATE 7,65:PRINT "ridge": LOCATE 7,57:PRINT "L" 1080 LOCATE 9,64:PRINT "AT":COLOR 3:LOCATE 10,57:PRINT "T":COLOR 7: LOCATE 10,76:PRINT "Re":LOCATE 11,62:PRINT "GT" 1090 FOR I=1 TO 12:LOCATE 2+I,1:PRINT USING "##";I;:PRINT " ";V$(I):NEXT 1100 GOSUB 2030:GOSUB 2120:GOSUB 2210:GOSUB 2300:GOSUB 2390:GOSUB 2480: GOSUB 2570:GOSUB 2660:GOSUB 2750:GOSUB 2840 1110 IF HR=0 THEN LOCATE 13,31:PRINT " -----":GOTO 1120 ELSE GOSUB 2930 1120 GOSUB 3020 1130 COLOR 6:LOCATE 23,15:PRINT "Do you correct any data (Y/N) ? ";: Y$=INPUT$(1) 1140 IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1130 1150 COLOR 7:LOCATE 23,15:PRINT SPC(64) 1160 IF Y$="Y" OR Y$="y" THEN 1170 ELSE 4000 1170 COLOR 6:LOCATE 23,10:LINE INPUT "Input the item number to be corrected (1-12) ";X$ 1180 COLOR 7:LOCATE 23,10:PRINT SPC(69) 1190 NO=VAL(X$) 1200 IF NO>12 THEN 1170 1210 LOCATE NO+2,31:PRINT SPC(10):INDEX$="*" 1220 ON NO GOSUB 2030,2120,2210,2300,2390,2480,2570,2660,2750,2840,2930,3020 1230 GOTO 1130 2000 ' -------------------- 2010 ' * data input sub * 2020 ' -------------------- 2030 ' E height 2040 COLOR 6:LOCATE 3, 1:PRINT 1" "V$(1) 2050 COLOR 6:LOCATE 23,10:PRINT "Input EARTH STATION ANT. HEIGHT ";:LINE INPUT X$ 2060 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2070 HE=VAL(X$) 2080 IF HE<1 THEN 2050 2090 LOCATE 3,31:PRINT USING "####.#";HE 2100 LOCATE 3, 1:PRINT 1" "V$(1) 2110 RETURN 2120 ' E ant gain 2130 COLOR 6:LOCATE 4, 1:PRINT 2" "V$(2) 2140 COLOR 6:LOCATE 23,10:PRINT "Input EARTH STATION ANT. GAIN ";:LINE INPUT X$ 2150 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2160 GE=VAL(X$) 2170 IF GE<1 OR GE>100 THEN 2140 2180 LOCATE 4,31:PRINT USING "####.#";GE 2190 LOCATE 4, 1:PRINT 2" "V$(2) 2200 RETURN 2210 ' E angle 2220 COLOR 6:LOCATE 5, 1:PRINT 3" "V$(3) 2230 COLOR 6:LOCATE 23,10:PRINT "Input ANGLE AE ";: LINE INPUT X$ 2240 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2250 AE=VAL(X$):IF AE>360 THEN 2230 2270 LOCATE 5,31:PRINT USING " ###.#";AE 2280 LOCATE 5, 1:PRINT 3" "V$(3) 2290 IF INDEX$="*" THEN GOTO 2300 ELSE RETURN 2300 ' E ant directivity 2310 COLOR 6:LOCATE 6, 1:PRINT 4" "V$(4) 2320 COLOR 6:LOCATE 23,10:PRINT USING "Input EARTH STATION ANT. DIRECTIVITY at angle ###.# ";AE;:LINE INPUT X$ 2330 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2340 DE=VAL(X$) 2350 IF DE<1 OR DE>100 THEN 2320 2360 LOCATE 6,31:PRINT USING "####.#";DE 2370 LOCATE 6, 1:PRINT 4" "V$(4) 2380 RETURN 2390 ' T height 2400 COLOR 6:LOCATE 7, 1:PRINT 5" "V$(5) 2410 COLOR 6:LOCATE 23,10:PRINT "Input TERRESTRIAL STATION ANT. HEIGHT ";: LINE INPUT X$ 2420 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2430 HT=VAL(X$) 2440 IF HT<1 THEN 2410 2450 LOCATE 7,31:PRINT USING "####.#";HT 2460 LOCATE 7, 1:PRINT 5" "V$(5) 2470 RETURN 2480 ' T ant gain 2485 IF INDEX$="" THEN GT=G:GOTO 2540 2490 COLOR 6:LOCATE 8, 1:PRINT 6" "V$(6) 2500 COLOR 6:LOCATE 23,10:PRINT "Input TERRESTRIAL STATION ANT. GAIN ";: LINE INPUT X$ 2510 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2520 GT=VAL(X$) 2530 IF GT<1 OR GT>100 THEN 2500 2540 LOCATE 8,31:PRINT USING "####.#";GT 2550 LOCATE 8, 1:PRINT 6" "V$(6) 2560 RETURN 2570 ' T angle 2580 COLOR 6:LOCATE 9, 1:PRINT 7" "V$(7) 2590 COLOR 6:LOCATE 23,10:PRINT "Input ANGLE AT ";:LINE INPUT X$ 2600 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2610 AT=VAL(X$):IF AT>360 THEN 2590 2630 LOCATE 9,31:PRINT USING " ###.#";AT 2640 LOCATE 9, 1:PRINT 7" "V$(7) 2650 IF INDEX$="*" THEN GOSUB 7000:GOTO 2720 ELSE RETURN 2660 ' T ant directivity 2665 IF INDEX$="" THEN GOSUB 7000:GOTO 2720 2670 COLOR 6:LOCATE 10, 1:PRINT 8" "V$(8) 2680 COLOR 6:LOCATE 23,10:PRINT USING "Input TERRESTRIAL STATION ANT. DIRECTIVITY at angle ###.# ";AT;:LINE INPUT X$ 2690 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2700 DT=VAL(X$) 2710 IF DT<1 OR DT>100 THEN 2680 2720 LOCATE 10,31:PRINT USING "####.#";DT 2730 LOCATE 10, 1:PRINT 8" "V$(8) 2740 RETURN 2750 ' span 2760 COLOR 6:LOCATE 11, 1:PRINT 9" "V$(9) 2770 COLOR 6:LOCATE 23,10:PRINT "Input "V$(9)" ";:LINE INPUT X$ 2780 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2790 D=VAL(X$) 2800 IF D<1 OR D>100 THEN 2770 2810 LOCATE 11,31:PRINT USING "####.#";D 2820 LOCATE 11, 1:PRINT 9" "V$(9) 2830 RETURN 2840 ' ridge 2850 COLOR 6:LOCATE 12, 1:PRINT USING "##";10;:PRINT " "V$(10) 2860 COLOR 6:LOCATE 23, 1:PRINT "Input "V$(10)" (in case nothing ridges then input 0) ";:LINE INPUT X$ 2870 COLOR 7:LOCATE 23, 1:PRINT SPC(79) 2880 HR=VAL(X$) 2890 ' 2900 LOCATE 12,31:PRINT USING "####.#";HR 2910 LOCATE 12, 1:PRINT USING "##";10;:PRINT " "V$(10) 2920 RETURN 2930 ' ridge distance 2940 COLOR 6:LOCATE 13, 1:PRINT USING "##";11;:PRINT " "V$(11) 2950 COLOR 6:LOCATE 23,10:PRINT "Input "V$(11)" ";:LINE INPUT X$ 2960 COLOR 7:LOCATE 23,10:PRINT SPC(69) 2970 D1=VAL(X$) 2980 IF D1<1 OR D1>=D THEN 2950 2990 LOCATE 13,31:PRINT USING "####.#";D1 3000 LOCATE 13, 1:PRINT USING "##";11;:PRINT " "V$(11) 3010 RETURN 3020 ' K 3030 COLOR 6:LOCATE 14, 1:PRINT USING "##";12;:PRINT " "V$(12) 3040 COLOR 6:LOCATE 23,10:PRINT "Input "V$(12)" ";:LINE INPUT X$ 3050 COLOR 7:LOCATE 23,10:PRINT SPC(69) 3060 IF MID$(X$,2,1)="/" THEN K=VAL(LEFT$(X$,1))/VAL(RIGHT$(X$,1)) ELSE K=VAL(X$) 3070 IF K<1 OR K>2 THEN 3040 3080 LOCATE 14,31:PRINT USING " ##.##";K 3090 LOCATE 14, 1:PRINT USING "##";12;:PRINT " "V$(12) 3100 RETURN 4000 ' -------------- 4010 ' * D/U * 4020 ' -------------- 4100 ' span loss 4110 LD=92.44+20*(LOG(FQ)+LOG(D))/2.3026 4120 ' ridge loss 4130 WL=3*100/FQ 4140 IF HR=0 THEN RL=0:GOTO 4210 ELSE FR=SQR(WL*D1*(D-D1)/D) 4150 CL=HE-D1/D*(HE-HT)-D1*(D-D1)/(2*K*6370)*1000-HR 4160 Z=-CL/FR 4170 IF Z>=1 THEN RL=20*LOG(2*3.14159*Z)/2.3026 4180 IF Z<1 AND Z>0 THEN RL=6+12*Z-2.2*Z*Z 4190 IF Z=<0 THEN RL=1/(.143-.17*Z+Z*Z)-1/(.994+1.48*Z+Z*Z) 4200 RL=INT(RL*10)/10:IF RL<0 THEN RL=0 4210 LT=LD+RL+DE+DT-GE-GT:COLOR 7 4220 LOCATE 16, 3:PRINT USING "(E-T SPAN PROPAGATION LOSS ###.#dB)";LD: LOCATE 17, 3:PRINT USING "(RIDGE DIFFRACTION LOSS ###.#dB)";RL 4225 LOCATE 18, 3:PRINT USING "(ANTENNA EFFECT ###.#dB)";DE+DT-GE-GT 4230 COLOR 3:LOCATE 20, 3:PRINT USING "EFFECTIVE TRANSMITTING LOSS ###.#dB";LT 4240 LOCATE 22,6:COLOR 5 4250 IF LT>=180 THEN PRINT "This path meets the standards, the route plan is acceptable.":GOTO 4310 4260 IF LT<180 THEN PRINT "This path does not meet the standards, the route plan is not acceptable." 4310 COLOR 6:LOCATE 23,10:PRINT "Do you continue this work (Y/N) ? ";:Y$=INPUT$(1) 4320 IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 4310 4330 COLOR 7:LOCATE 23,10:PRINT SPC(69) 4340 IF Y$="Y" OR Y$="y" THEN 550 4350 CLS:SCREEN 0:RUN "ME" 5000 ' ------------------------ 5010 ' * graph draw sub (1) * 5020 ' ------------------------ 5030 LINE(11, 5)-(21,25),7,B:LINE(11,75)-(21,95),7,B: LINE(81,75)-(91,95),7,B: ' station 5040 LINE( 5,15)-(11,15),7,,&H8888:LINE( 5,85)-(11,85),7,,&H8888: LINE( 5,15)-( 5,85),7,,&H8888:LINE(25,15)-(25,85),7,,&H8888: 5050 LINE(21,15)-(25,15),7:LINE(21,85)-(25,85),7: LINE(77,85)-(81,85),7 5060 CIRCLE(30,15),5,7,3.14/2,3.14*3/2: CIRCLE(30,85),4,7,3.14/2,3.14*3/2: CIRCLE(72,85),4,7,3.14*3/2,3.14/2: ' ant 5070 CIRCLE(25,15),12,2,3.14*3/2,.01: CIRCLE(25,85),12,3,.01,3.14/2 : ' angle 5080 LINE(27,15)-(81, 5),2:LINE(27,85)-(75,85),3: ' direction 5090 LINE(75, 3)-(81, 5),2:LINE(75, 9)-(81, 5),2: LINE(70,83)-(75,85),3:LINE(70,88)-(75,85),3: 5100 LINE(18,50)-(40,40),6:LINE(18,50)-(40,60),6: LINE(40,40)-(40,60),6:PAINT(30,50),6,6 : ' ridge 5110 RETURN 6000 ' ----------------- 6010 ' * file open sub * 6020 ' ----------------- 6030 FQ=4:YF$="4" 6040 OPEN "ASWP"+YF$ FOR INPUT AS #1 6050 INPUT #1,G:FOR I=0 TO 59:INPUT #1,S0(I),S1(I):NEXT:CLOSE 6060 FOR I=0 TO 59:P0(I)=S0(I):P1(I)=S1(I):NEXT 6070 RETURN 7000 ' ------------------------ 7010 ' * ant. directivity sub * 7020 ' ------------------------ 7030 FOR I=0 TO 59 7040 IF AT>S0(I) THEN 7060 7050 DT=S0(I):GOTO 7080 7060 NEXT 7070 DT=S0(59) 7080 RETURN