Anhang
A: Programm-Listing
' LPDA.BAS von W.Rolke
Version 1.02
DEFDBL
a-z ' Alle
Variablenbezeichner in doppelter Genauigkeit (64 Bit)
' # :
doppeltgenaue Typen
' % : Integer-Typen
DO
CLS
PRINT
PRINT "
+-------------------------------------------------------------------------+
"
PRINT " ¦ Dimensionierung
einer logarithmisch-periodischen Dipol-Antenne (LPDA) ¦-+"
PRINT " ¦ von
W.Rolke V1.02 ¦
¦"
PRINT "
+-------------------------------------------------------------------------+
¦"
PRINT "
+-------------------------------------------------------------------------+"
PRINT
DO
INPUT " untere
Frequenzgrenze fu / MHz "; fu
INPUT " obere
Frequenzgrenze fo / MHz "; fo
LOOP UNTIL fu<fo AND fu>=10 AND
fo/fu<50
DO
INPUT "
Stufungsfaktor (0.8 £ t £ 0.975) "; Tau
LOOP UNTIL Tau>=0.8# AND Tau<=0.975#
OptSigma
= 0.25#*Tau - 0.058#
PRINT USING " Maximaler
Gewinn mit s =#.###";
OptSigma
DO
INPUT " elektrische
Periodizität (0.1 £ s £ 0.2) "; Sigma
LOOP UNTIL Sigma>=0.1# AND Sigma<=0.2#
DO
INPUT "
Schlankheitsgrad der Dipole L/d "; s
LOOP UNTIL s>=10 AND s<=1E4
DO
INPUT " Resistanz
der Speiseleitung Ro / W "; Ro
LOOP UNTIL Ro>=30 AND Ro<600
DO
INPUT " Querschnitt
der Doppelleitung rund oder quadratisch (r/q) "; Quer$
Quer$ = UCase$(Quer$)
LOOP UNTIL Quer$="R" OR Quer$="Q"
IF
Quer$="R" THEN
Korrektur = 0
DO
INPUT
" Durchmesser
der Doppelleitung f / mm "; dDoppel
LOOP UNTIL dDoppel>0
AND dDoppel<=50
ELSE
Korrektur = 15
DO
INPUT
"
Kantenlänge der Doppelleitung a / mm "; dDoppel
LOOP UNTIL dDoppel>0
AND dDoppel<=50
END IF
DO
INPUT " Aktive Zone
schmal oder breit (s/b) "; Breite$
Breite$ = UCase$(Breite$)
LOOP UNTIL Breite$="S" OR
Breite$="B"
AKBreit
= 0
IF Breite$="B" THEN
AKBreit = 1
Pi
= 4*ATN(1)
LambdaMax
= 300/fu
AlphaInRad
= ATN( (1-Tau)/4/Sigma ) 'Öffnungshalbwinkel
Alpha = AlphaInRad * 180/Pi 'Winkel in Grad
B
= fo/fu 'Mindestbandbreite
K1
= -0.477#*Tau + 0.9725# 'Grenzfrequenzkonstanten
K2 = 7.1#*Tau^3 - 21.3#*Tau^2 + 21.98#*Tau
- 7.3# + Sigma * (21.82# - 66*Tau + 62.12#*Tau^2 - 18.29#*Tau^3)
IF
AKBreit THEN 'Aktive Zone
BAktiv = K1/K2
ELSE
BAktiv = 1.1# + 30.8#
* (1-Tau) * Sigma
END IF
Elemente
= 1 + LOG10(B*BAktiv) / LOG10(1/Tau) 'Anzahl der
Elemente
N% = INT(Elemente) + 1 'Elemente
aufrunden
BStruktur
= (1/Tau)^(N%-1) 'Strukturbandbreite
Beff = BStruktur / BAktiv 'Effektive
Bandbreite
DIM
l(N%), d(N%), a(N%)
IF
AKBreit THEN 'Längstes Element
l1 = LambdaMax/2 * K1
ELSE
l1 = LambdaMax/4
END IF
Lang
= l1 * (1-1/BStruktur) / TAN(AlphaInRad) 'Antennenbaulänge
l(1)
= l1 * 1000 'Längstes Element
(mm)
d(1) = 4 * l(1) * Sigma 'größter
Dipolabstand
a(1) = 2 * l(1) / s 'größter
Durchmesser
FOR
i%=2 TO N%
l(i%) = l(i%-1) * Tau
'Länge der
Elemente
d(i%) = d(i%-1) * Tau
'Dipolabstände
a(i%) = 2 * l(i%) / s
'Elementdurchmesser
NEXT i%
ZDipol
= 120 * (LOG(s) - 2.25#) 'Impedanz
der Elemente
Hilf
= Ro * SQR(Tau)/Sigma / 8 / ZDipol
Zo = Ro * (Hilf + SQR(Hilf^2 + 1)) 'Impedanz der
Leitung
h
= dDoppel * (EXP( (Zo+Korrektur)/120 ) + EXP( -(Zo+Korrektur)/120
)) / 2
CLS
PRINT
PRINT "
Die wichtigsten Werte der LPDA:"
PRINT
PRINT USING "
Stufungsfaktor t =###.###"; Tau
PRINT USING " elektische
Periodizität s =###.###"; Sigma
PRINT USING " untere
Frequenzgrenze fu=#####.#MHz"; fu
PRINT USING " obere
Frequenzgrenze fo=#####.#MHz"; fu * Beff
PRINT USING " effektive
Bandbreite B=####.##"; Beff
PRINT USING "
Strukturbandbreite Bs=####.##"; BStruktur
PRINT USING " Bandbreite
der aktiven Zone Ba=####.##"; BAktiv
PRINT USING "
Öffnungshalbwinkel der Struktur a =####.#°"; Alpha
PRINT USING "
Erforderliche Dipolanzahl N=#######"; N%
PRINT USING "
Antennenbaulänge (ohne Stub) A=###.##m"; Lang
PRINT USING "
Antennenbaulänge (mit Stub) A=###.##m"; Lang +
LambdaMax/10
PRINT USING " Länge der
kleinsten Dipolhälfte l##=#####mm"; N%, l(N%)
* 0.96# * s/(1+s)
PRINT USING " Länge der
größten Dipolhälfte l1=#####mm"; l(1) *
0.96# * s/(1+s)
PRINT USING " kleinster
Dipolabstand d##=#####mm"; N%-1, d(N%-1)
PRINT USING " größter
Dipolabstand d1=#####mm"; d(1)
PRINT USING " kleinster
Dipoldurchmesser a##=###.#mm"; N%, a(N%)
PRINT USING " größter
Dipoldurchmesser a1=###.#mm"; a(1)
PRINT USING "
Mittenabstand der Doppelleitung s=###.#mm"; h
PRINT USING "
Wellenwiderstand der Dipole Za=####.#W "; ZDipol
PRINT USING "
Wellenwiderstand der Doppelleitung Zo=####.#W "; Zo
PRINT
INPUT
"
Antennenparameter ändern (j/n)";
NeueParam$
NeueParam$ = UCase$(NeueParam$)
IF
NeueParam$="N" THEN
EXIT LOOP
ERASE
l, d, a
LOOP
CLS
PRINT
PRINT "
+-------------------------------------------------+"
PRINT " ¦ Dipol ¦ Länge ¦ Abstand ¦ Durchmesser ¦"
PRINT " ¦---------+-----------+-----------+---------------¦"
PRINT USING " ¦ 1 ¦
##### mm ¦ 0 mm ¦ ####.#
mm ¦"; l(1) * 0.96# * s/(1+s),
a(1)
FOR i% = 2 TO N%
PRINT USING " ¦ ## ¦
##### mm ¦ ##### mm ¦ ####.#
mm ¦"; i%, l(i%) * 0.96#
* s/(1+s), d(i%-1), a(i%)
IF i%=18 OR i%=40 THEN
PRINT " ¦ Mit
beliebiger Taste weiter... ¦"
WHILE INKEY$="" : WEND
END IF
NEXT i%
PRINT "
+-------------------------------------------------+"
ERASE
l, d, a
Download
von LPDA 1.0
Stand: Juli 1993
Dateigröße: 25 KB
Dateiname: lpda.zip
Dateityp: ZIP-Archiv
Betriebssystem: MS-DOS®
[ <<
Kapitel 4 ] [ Inhalt ]
[ Anhang B
>> ]
|