Plotting Antenna Pattern
Ich bin der Autor eines Antennen-Plot-Programms namens plot-antenna. Es ist in Python geschrieben und hat Backends für Matplotlib und Plotly. Während ich das hier schreibe kann die Version auf pypi noch nicht unterschiedliche Frequenz-Auflösungen für Gewinn und Impedanz-Plots. Das Matplotlib Backend ist besser für die Erzeugung von Grafiken für gedruckte Dokumentation während Plotly sich eignet, interaktive Grafiken für das Web zu erzeugen. Die Doku von plot-antenna enthält einige Matplotlib Beispiele daher gehe ich hier mehr ins Detail was das Plotly Backend betrifft.
Vor kurzem habe ich Unterstützung für das "Antenna Scatterers Analysis Program" ASAP eingebaut. Das ist ein Antennen-Simulationsprogramm aus einer Zeit vor dem Fortran-77 Standard aus dem Jahr 1974. Es ist heute noch interessant weil es eine Formulierung der Momentenmethode (method of moments) verwendet, die sich sowohl von NEC [3] als auch Mininec [4] unterscheidet. Und ASAP hat zuerst eine Simulation von isolierten Drähten in einer Antenne unterstützt.
Im Folgenden verwende ich eine 3-Elemente Yagi-Uda Antenne die sich in der Beispiel-Sektion von ASAP findet. Die verwendete Eingabedatei exportiert Gewinn-Daten für 280 MHz bis 305 MHz in 5 MHz Schritten. Zusätzlich exportiert es Impedanzwerte in 1 MHz Schritten.
Für die Erstellung von Gewinn-Grafiken unterstützt plot-antenna unterschiedliche Skalierungsmethoden. Der Standard ist ARRL Skalierung [5] die ich auch im folgenden Beispiel verwende.
Im 3D-Plot kann man die Frequenz auf der rechten Seite in der Legende der Grafik umschalten. Ein Klick auf eine Frequenz ändert das Display auf die Gewinn-Grafik für diese Frequenz. Zusätzlich kann man beim Drüberfahren mit der Maus die Gewinnwerte an unterschiedlichen Positionen sehen. Es ist möglich mit dem Maus-Rad zu zoomen und den Plot durch klicken und ziehen zu drehen.
Natürlich kann plot-antenna auch konventionelle 2D-Plots für Azimuth und Elevation erzeugen:
Im 2D-Display kann man wieder in der Legende auf der rechten Seite die Plots für verschiedene Frequenzen einblenden, im 2D-Plot auch mehrere gleichzeitig. Damit ist es einfacher, Gewinnwerte zu vergleichen als im 3D-Plot wo immer nur der Gewinn für eine Frequenz gleichzeitig sichtbar ist. Ähnlich wie im 3D-Plot kann man die Gewinnwerte beim Drüberfahren mit der Maus sehen. Es ist auch hier möglich zu zoomen (obwohl das in einem Polarplot nicht sehr sinnvoll ist) und die Anzeige mit den "Home" Knopf im Menu auf die Standardansicht zurückzusetzen.
Oft ist es nützlich das Stehwellenverhältnis (voltage standing wave
ratio, VSWR) und die Antennen-Impedanz anzeigen zu lassen. Das geht mit
dem VSWR-Plot. In der folgenden Grafik habe ich die Anzeige der Impedanz
mit der Option --swr-show-impedance
eingeschaltet. Die vertikale
grüne Linie zeigt die Position des minimalen Stehwellenverhältnisses an.
Auch hier sehen wir die geplotteten Werte beim Drüberfahren mit der
Maus. Wir können heranzoomen indem wir ein Rechteck mit der Maus
selektieren oder mit dem +/- Knöpfen im Menu. Auch hier kann die
Standardansicht mit dem "Home" Knopf wieder hergestellt werden.
Nicht zuletzt kann die Antennen-Geometrie angezeigt werden. Dies ist wieder ein 3D-Plot wo wir die Position der Antennen-Elemente beim Drüberfahren mit der Maus sehen können. In der Legende auf der rechten Seite kann man z.B. die Sichtbarkeit des Speisepunkts (in Orange) ausschalten. Andere Antennen können z.B. zusätzlich eine Ground-Plane (Boden) anzeigen oder Impedanz-Lasten auf der Antenne. Die Geometrie-Ansicht ist sehr nützlich um zu checken ob eine Antenne korrekt modelliert wurde (z.B. ob der Speisepunkt an der korrekten Position sitzt).
Das Programm plot-antenna unterstützt derzeit Ausgabe von ASAP, vom
Original Mininec (das in Basic geschrieben ist), von meiner
Python-Version pymininec, und der Ausgabe von NEC-2. Das Format wird
automatisch erkannt. Zusätzlich kann mit dem Begleitprogramm
plot-eznec
der Gewinn einer mit EZNEC simulierten Antenne angezeigt
werden. Während ich das hier schreibe gibt es eine Version die auch
VSWR-Plots für EZNEC Daten anzeigen kann indem die beim Plotten von
VSWR-Daten mit EZNEC erzeugte Datei LastZ.txt
verwendet wird.