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.