Simulation der Schaltungsteile des µBitX V5 mit LTspice
Diese Seite beschreibt die Simulation der Schaltungsteile des µBitX V5 mittels LTspice und geht bei Bedarf auf die notwendigen oder hilfreichen Einstellungen ein.
Wir orientieren uns an den gekennzeichneten Funktionsgruppen im Schaltplan.
Download der Simulationsdateien
So lange die MIME-Typen in diesem Wiki nich für die LTspice-Dateien (asc, asy und plt) freigeschaltet sind, behelfen wir uns mit einem Komplett-Download der jeweiliegen Simulationspakete.
Download aller auf dieser Seite verwendeten LTspice-Dateien:
- Passive Schaltungsteile
Passive Schaltungsteile sind Schaltungen, die das Signal nicht verstärken und / oder ohne eine zusätzliche Spannungsversorgung auskommen.
- Filter
Im µBitX gibt es eine Handvoll passiver, mehrpoliger LC-Filter, die sich für einen Einstieg in die Simulation sehr gut eignen.
- 30 MHz LPF
Zum Warmwerden beginnen wir mit dem 30(nbsp)MHz Tiefpass-Filter, welches bidirektional arbeitet, also gleichwohl für den Empfang, als auch fürs Senden verwendet wird.
Die Schaltung wird in LTspice erstellt und als Datei 30mhz_lowpass.asc
abgespeichert. Dabei werden zur besseren Übersicht die Ports mit den Namen der Testpunkte (TPs) (sofern vorhanden) und die Bauteile mit den gleichen Nummern (reference designator), wie im Schaltplan bezeichnet.
Hierarchische Modelleierung
Der Schaltplan wird als hierarchisches Symbol exportiert und nach einigen kosmetischen Anpassungen als 30mhz_lowpass.asy
gespeichert.
Tipp: So lange Schaltplan und Symbol gleiche Namen haben und selben Verzeichnis abgelegt sind, kann im übergerordneten Schaltplan (TOP) das Symbol plaziert werden und es wird bei der Simulation der dahinterligende Schaltplan eingebunden. Das macht die Schaltung übersichtlicher.
<figure label>
Oben: Schaltplan des 30(nbsp)MHz Tiefpass-Filters 30mhz_lowpass.asc
; Unten: Hierarchisches Symbol 30mhz_lowpass.asy
Dateidownloads:
</caption> </figure>
Erste Simulation
Mit diesen beiden Dateien können wir nun unseren eigentlichen Schaltplan (das so genannte TOP-File) für die Simulation erstellen und als Datei µBitX_V5_30MHz-LPF_Test_manual.asc
speichern. Der Abschluss des Mischers wird rein ohmsch angenommen (AC-mäßig sind die Ports des Synthesizers kurzgeschlossen) und wird durch das Netzwerk R103 || ( R102 + R101 || R100)
nachgebildet.
</figure>
Hinweis: LTspice normiert die Bodediagramme auf die Amplitude der Klemmenspannung mit 1(nbsp)Volt (nicht etwa auf den Effektivert1)) der AC-Quelle! Es empfiehlt sich, die AC-Quelle mit einem Innenwiderstand Rser
(in der HF-Technik üblicherweise 50(nbsp)Ω), und einer AC-Amplitde 2 einzutragen, da im Falle der Leistungsanpassung die halbe Spannung über dem Innenwiderstand abfällt und somit die Klemmenspannung 1(nbsp)V bzw. 0(nbsp)dB(V) beträgt.
Die Simulation wird als AC-Analyse mit einem Frequenzsweep über den Bereich 100(nbsp)kHz bis 100(nbsp)MHz durchgeführt.
Nachfolgend wird die Erstellung der Diagramme besprochen, jedoch erfolgt noch keine Diskussion der Ergebnisse.
Frequenzgang
Ein Klick mit dem Tastkopf (probe) auf das Signal TP12
im Schaltplan plottet den Frequenzgang (frequency response) der Schaltung, die sich sofort als ein Tiefpass mit einer Grenzfrequenz von ca. 35(nbsp)MHz entpuppt.
Abschlussimpedanz des Mischers
Es können weitere Diagrammkacheln (panes) eingefügt werden. Auf dem zweiten Pane (LTspice fängt mit dem Zählen der Panes immer unten an, so ist das zweite das darüberliegende usf.) wird die Abschlussimpedanz (Load Impedance) des Mischers als Quotient
V(tp12)/(-Ix(X1:TP1))
der Spannung über dem Testpunkt TP12
und den Strom in das Abschlussnetzwerk geplottet.
Da es sich um ein rein ohmsches Netzwerk, weißt dieses einen flachen Frequenzgang von ca. 42.9(nbsp)Ω. Eine Kontrolle mit dem Taschenrechner bestätigt diesen Wert, so dass wir in Zukunft den Abschluss mit einem Widerstand mit diesem Wert nachbilden können, was die Übersicht weiter vereinfacht.
Eingangsimpedanz
Nach dem gleichen Schema können wir die Eingangsimpedanz des Filters bestimmen (also gewissermaßen die Abschlussimpedanz der AC-Quelle).
Die Input Impedance ist der Quotient
V(v_tp2)/Ix(x1:TP2)
der Spannung am TP2
dividiert durch den in das Filter fließenden Strom.
Reflexionsfaktor
Mit der Lastimpedanz und der Generatorimpedanz lässt sich der Reflexionsfaktor Γ (engl. reflection coefficient) errechnen und als Funktion
(V(v_tp2)/Ix(x1:TP2)-50)/(V(v_tp2)/Ix(x1:TP2)+50)
Stehwellenverhältnis (VSWR)
Aus dem Reflexionsfaktor lässt sich dann das Stehwellenverhältnis (engl. voltage standing wave ratio) berechnen und als Funktion
(1+abs((V(v_tp2)/Ix(x1:TP2)-50)/(V(v_tp2)/Ix(x1:TP2)+50)))/(1-abs((V(v_tp2)/Ix(x1:TP2)-50)/(V(v_tp2)/Ix(x1:TP2)+50)))
Plotfile
Das Eintragen der Signale mit der Probe in die entsprechenden Diagramm-Panes ist sehr mühselig und fehleranfällig (wie oft hat man eine Klammer vergessen oder zuviel?).
Außerdem möchte man manchmal ein Diagramm näher ranzoomen oder alleine darstellen für einen Screenshot (s.o.), dann aber doch sofort zur Gesamtübersicht zurückkehren. Das ist mittels der Undo-Funktion nur bedingt möglich. Es bietet sich daher an, die einmal gemachten Einstellungen in einer sogennten plotfile abzulegen und wieder aufzurufen. Die bis jetzt gemachten Einstellungen der Diagramme (Signale, Formeln, Sklaierung der Achsen etc.) sind in der Datei µBitX_V5_30MHz-LPF_Test_manual.plt
abgelegt. Das Laden der Plotfile geschieht mittels der <key>Space</key>.
Achtung: Beim Manipulieren der Diagramme (Zoom, Formeln etc.) sollte man Vorsicht walten lassen und nicht versehentlich unerwünschte Einstellungen z.B. mittels „Strg + S“ speichern, da somit das Plotfile überschrieben wird! Es emfiehlt sich ein Backup des „guten“ Plotfiles anzufertigen und dieses in einem Repository vorzuhalten.
Plot Defs
Das manuelle Eintragen der Formeln für die Signale ist nicht nur fehleranfällig, sondern die umfangreichen Formeln machen auch die Diagrammüberschrift unübersichtlich.
Es liegt daher nahe, diese Formeln in einer Art „Makro“ zusammenzufassen: https://github.com/WCP52/docs/wiki/VSWR-in-LTspice
Bei Ltspice werden diese Makros als User-Defined Functions bezeichnet und in der (leider) globalen Datei2)
%HOMEPATH%\Documents\LTspiceXVII\plot.defs
abgelegt. Diese kann über das Menü
Plot Settings=>Edit Plot Defs File
geöffnet und editiert werden.
Man trägt sich also darin folgende Funktionen ein:
.func RefCoeff(z,z0) {(z-z0)/(z+z0)} .func VSWR(rc) {(1+abs(rc))/(1-abs(rc))}
Damit die Funktionen wirksam werden, muss LTspice einmal geschlossen und neu gestartet werden.
Anschließend kann aus der alten Simulation eine (der Übersicht halber) neue Simulationsdatei µBitX_V5_30MHz-LPF_Test_plotdefs.asc
angelegt werden. Die mittels <key>Space</key> geladene Plotfile wird ebenfalls unter dem neuen Namen µBitX_V5_30MHz-LPF_Test_plotdefs.plt
gespeichert.
</figure>
Man sieht, dass die Funktionen, die mittels Makro RefCoeff(.)
und VSWR(.)
erstellt wurden, deckungsgleich sind mit den zuvor umständlich über direkte Formeleingabe geplotteten Funktionen.
Ein Wehrmutstropfen bleibt jedoch, nämlich dass man an die Markos die Impedanz des untersuchten Netzwerks (hier V(v_tp2)/Ix(x1:TP2)
), als auch denn Wellenwiderstand des Generators (hier: 50
) angeben muss. Doch auch das lässt sich noch verbessern, wie nachfolgendes Kapitel zeigen soll.
S-Parameter und .net-Statement
LTspice gestattet es, mittels .net-Statement umfangreiche Berechnungen aus der HF-Technik auf die Plots der AC-Analyse anzuwenden: https://www.electronicspoint.com/forums/threads/spice-ac-analysis-multiplying-or-dividing-signals.67656/
Uns interessieren hier die S-Parameter und insbesondere der S11, der identisch mit dem weiter oben definierten Reflexionsfaktor Γ ist.
Zum Studium der umfangreichen Möglichkeiten gibt es die Beispieldatei
%HOMEPATH%\Documents\LTspiceXVII\examples\Educational\S-param.asc
Wir speichern die bestehende Simulation als neue Datei µBitX_V5_30MHz-LPF_Test_net.asc
ab und führen einige kleine Modifikationen durch:
- Zusammenfassung des Abschlussnetzwerkes am Mischer in einem Widerstand
R_load
mit dem Wert42.9
- Hinzufügen des .net-Statements
.net I(R_Load) V1
zur Simulationsdirektive
Nach dem Starten der Simulation erhalten wir neben den eigentlichen Spannungen und Strömen im Netzwerk auch zahlreiche Parameter aus der HF-Technik zum Plotten angeboten:
Unter anderem: * H-Parameter H11 , H12 , H21 , H22 * S-Parameter S11 , S12 , S21 , S22 * Y-Parameter Y11 , Y12 , Y21 , Y22 * Z-Parameter Z11 , Z12 , Z21 , Z22 * Admittanzen Yin , Yout * Impedanzen Zin , Zout |
</figure>
Hier sehen wir also, dass der Plot Zin(v1)
identisch ist mit der vorher manuell ausgerechneten Impedanz V(v_tp2)/Ix(x1:TP2)
. Analog gilt dies für den Reflexionskoeffizienten Γ RefCoeff(V(v_tp2)/Ix(x1:TP2),50)
vs. S11(v1)
sowie den Term VSWR(RefCoeff(V(v_tp2)/Ix(x1:TP2),50))
vs. VSWR(S11(v1))
.
Damit können also die Diagrammbeschriftungen schon deutlich übersichtlicher und die Arbeit einfacher gestaltet werden. Ferner ermöglichen die S-Parameter auch die Darstellung der komplexen Anpassung, also das reaktive Verhalten der Impedanz - eine Eigenschaft, die beim VSWR durch die Betragsbildung verloren geht.
</figure>
Amateurbänder als spektrale Maske
Das .net-Statement gestattet es also, einfach die Anpassung zu plotten. Was liegt näher, als sich nun die Anpassung innerhalb der Amateurbänder oder eines bestimmten Amateurbands im Detail anzuschauen?
Dazu gestattet LTspice das Hinzufügen von Annotations in Form von Text, Linien und geometrischen Formen in die Diagramme. Dieses ist jedoch manuell recht umständlich, recht ungenau und mühsehlig, so dass hier eine halbautomatische Metode beschrieben wird.
Wir speichern die Simulation unter einer neuen Datei µBitX_V5_30MHz-LPF_Test_masks.asc
und generieren die folgenden Diagramme (der Übersicht halber wieder ohne Phase):
- Frequency Response (2 x mit unterschiedlicher Skalierung, um das Sperr- und Durchlassverhalten zu studieren),
- Input Impedance,
- Reflection Coefficient und
- VSWR
deren Konfiguration wir in einem neuen Plotfile µBitX_V5_30MHz-LPF_Test_masks.plt
speichern.
Tabellenvorlage
Wir erstellen mit einer Tabellenkalkulation folgende Tabellen für die einzelnen Masken, die dann an entsprechender Stelle mit einem Texteditor in das Plotfile eingefügt werden können.
Download der kompletten Tabelle für LibreOffice Calc: ltspice_bandplan-mask_2019-07-14.ods
Hinweis: Zu beachten ist, dass das englische Zahlenformat verwendet wird (ggf. Gebietsschema anpassen), damit evtl. Kommazahlen korrekt mi dem Punkt .
dargestellt werden.
Bei Bedarf können die obere und untere Grenze der jeweiligen Spektralen Maske generisch für alle Amateurbänder oder jedes einzelne Amateurband separat angepasst werden, sowie weitere Amateurbänder hinzugefügt oder entfernt werden.
Aktuell (2019-07-14) sind folgende Amateurbänder implementiert: ++++(ausklappen)|
Band | Freq Bottom | Freq Top | |
---|---|---|---|
Unit | MHz | MHz | |
2200 | m | 0.1357 | 0.1378 |
630 | m | 0.4720 | 0.4790 |
160 | m | 1.810 | 2.000 |
80 | m | 3.500 | 3.800 |
60 | m | 5.3515 | 5.3665 |
40 | m | 7.000 | 7.200 |
30 | m | 10.100 | 10.150 |
20 | m | 14.000 | 14.350 |
17 | m | 18.680 | 18.168 |
15 | m | 21.000 | 21.450 |
12 | m | 24.890 | 24.990 |
10 | m | 28.000 | 29.700 |
6 | m | 50.000 | 54.000 |
4 | m | 69.900 | 70.500 |
2 | m | 144.000 | 146.000 |
70 | cm | 430.000 | 440.000 |
++++
SWR-Maske
Text zum Kopieren in das SWR-Pane: ++++(ausklappen)|
Text: "" 4 (3000000, 4) ; VSWR Rectangle: "" 4 0 (135700, 1) (137800, 3) Text: "" 4 (136750, 2) ;2200 m Rectangle: "" 4 0 (472000, 1) (479000, 3) Text: "" 4 (475500, 2) ;630 m Rectangle: "" 4 0 (1810000, 1) (2000000, 3) Text: "" 4 (1905000, 2) ;160 m Rectangle: "" 4 0 (3500000, 1) (3800000, 3) Text: "" 4 (3650000, 2) ;80 m Rectangle: "" 4 0 (5351500, 1) (5366500, 3) Text: "" 4 (5359000, 2) ;60 m Rectangle: "" 4 0 (7000000, 1) (7200000, 3) Text: "" 4 (7100000, 2) ;40 m Rectangle: "" 4 0 (10100000, 1) (10150000, 3) Text: "" 4 (10125000, 2) ;30 m Rectangle: "" 4 0 (14000000, 1) (14350000, 3) Text: "" 4 (14175000, 2) ;20 m Rectangle: "" 4 0 (18680000, 1) (18168000, 3) Text: "" 4 (18424000, 2) ;17 m Rectangle: "" 4 0 (21000000, 1) (21450000, 3) Text: "" 4 (21225000, 2) ;15 m Rectangle: "" 4 0 (24890000, 1) (24990000, 3) Text: "" 4 (24940000, 2) ;12 m Rectangle: "" 4 0 (28000000, 1) (29700000, 3) Text: "" 4 (28850000, 2) ;10 m Rectangle: "" 4 0 (50000000, 1) (54000000, 3) Text: "" 4 (52000000, 2) ;6 m Rectangle: "" 4 0 (69900000, 1) (70500000, 3) Text: "" 4 (70200000, 2) ;4 m Rectangle: "" 4 0 (144000000, 1) (146000000, 3) Text: "" 4 (145000000, 2) ;2 m Rectangle: "" 4 0 (430000000, 1) (440000000, 3) Text: "" 4 (435000000, 2) ;70 cm
++++
S11-Maske (Reflexionsfaktor Γ)
Text zum Kopieren in das S11-Pane: ++++(ausklappen)|
Text: "" 4 (3000000, 0.01) ; S11 Rectangle: "" 4 0 (135700, 0) (137800, 1) Text: "" 4 (136750, 0.5) ;2200 m Rectangle: "" 4 0 (472000, 0) (479000, 1) Text: "" 4 (475500, 0.5) ;630 m Rectangle: "" 4 0 (1810000, 0) (2000000, 1) Text: "" 4 (1905000, 0.5) ;160 m Rectangle: "" 4 0 (3500000, 0) (3800000, 1) Text: "" 4 (3650000, 0.5) ;80 m Rectangle: "" 4 0 (5351500, 0) (5366500, 1) Text: "" 4 (5359000, 0.5) ;60 m Rectangle: "" 4 0 (7000000, 0) (7200000, 1) Text: "" 4 (7100000, 0.5) ;40 m Rectangle: "" 4 0 (10100000, 0) (10150000, 1) Text: "" 4 (10125000, 0.5) ;30 m Rectangle: "" 4 0 (14000000, 0) (14350000, 1) Text: "" 4 (14175000, 0.5) ;20 m Rectangle: "" 4 0 (18680000, 0) (18168000, 1) Text: "" 4 (18424000, 0.5) ;17 m Rectangle: "" 4 0 (21000000, 0) (21450000, 1) Text: "" 4 (21225000, 0.5) ;15 m Rectangle: "" 4 0 (24890000, 0) (24990000, 1) Text: "" 4 (24940000, 0.5) ;12 m Rectangle: "" 4 0 (28000000, 0) (29700000, 1) Text: "" 4 (28850000, 0.5) ;10 m Rectangle: "" 4 0 (50000000, 0) (54000000, 1) Text: "" 4 (52000000, 0.5) ;6 m Rectangle: "" 4 0 (69900000, 0) (70500000, 1) Text: "" 4 (70200000, 0.5) ;4 m Rectangle: "" 4 0 (144000000, 0) (146000000, 1) Text: "" 4 (145000000, 0.5) ;2 m Rectangle: "" 4 0 (430000000, 0) (440000000, 1) Text: "" 4 (435000000, 0.5) ;70 cm
++++
Impedanzmaske
Text zum Kopieren in das Impedance-Pane: ++++(ausklappen)|
Text: "" 4 (3000000, 150) ; Impedance Rectangle: "" 4 0 (135700, 150) (137800, 16.7) Text: "" 4 (136750, 83.35) ;2200 m Rectangle: "" 4 0 (472000, 150) (479000, 16.7) Text: "" 4 (475500, 83.35) ;630 m Rectangle: "" 4 0 (1810000, 150) (2000000, 16.7) Text: "" 4 (1905000, 83.35) ;160 m Rectangle: "" 4 0 (3500000, 150) (3800000, 16.7) Text: "" 4 (3650000, 83.35) ;80 m Rectangle: "" 4 0 (5351500, 150) (5366500, 16.7) Text: "" 4 (5359000, 83.35) ;60 m Rectangle: "" 4 0 (7000000, 150) (7200000, 16.7) Text: "" 4 (7100000, 83.35) ;40 m Rectangle: "" 4 0 (10100000, 150) (10150000, 16.7) Text: "" 4 (10125000, 83.35) ;30 m Rectangle: "" 4 0 (14000000, 150) (14350000, 16.7) Text: "" 4 (14175000, 83.35) ;20 m Rectangle: "" 4 0 (18680000, 150) (18168000, 16.7) Text: "" 4 (18424000, 83.35) ;17 m Rectangle: "" 4 0 (21000000, 150) (21450000, 16.7) Text: "" 4 (21225000, 83.35) ;15 m Rectangle: "" 4 0 (24890000, 150) (24990000, 16.7) Text: "" 4 (24940000, 83.35) ;12 m Rectangle: "" 4 0 (28000000, 150) (29700000, 16.7) Text: "" 4 (28850000, 83.35) ;10 m Rectangle: "" 4 0 (50000000, 150) (54000000, 16.7) Text: "" 4 (52000000, 83.35) ;6 m Rectangle: "" 4 0 (69900000, 150) (70500000, 16.7) Text: "" 4 (70200000, 83.35) ;4 m Rectangle: "" 4 0 (144000000, 150) (146000000, 16.7) Text: "" 4 (145000000, 83.35) ;2 m Rectangle: "" 4 0 (430000000, 150) (440000000, 16.7) Text: "" 4 (435000000, 83.35) ;70 cm
++++
Passband-Maske
Text zum Kopieren in das Passband-Pane: ++++(ausklappen)|
Text: "" 4 (3000000, 4) ; Passband Response Rectangle: "" 4 0 (135700, 0.891) (137800, 1) Text: "" 4 (136750, 0.9455) ;2200 m Rectangle: "" 4 0 (472000, 0.891) (479000, 1) Text: "" 4 (475500, 0.9455) ;630 m Rectangle: "" 4 0 (1810000, 0.891) (2000000, 1) Text: "" 4 (1905000, 0.9455) ;160 m Rectangle: "" 4 0 (3500000, 0.891) (3800000, 1) Text: "" 4 (3650000, 0.9455) ;80 m Rectangle: "" 4 0 (5351500, 0.891) (5366500, 1) Text: "" 4 (5359000, 0.9455) ;60 m Rectangle: "" 4 0 (7000000, 0.891) (7200000, 1) Text: "" 4 (7100000, 0.9455) ;40 m Rectangle: "" 4 0 (10100000, 0.891) (10150000, 1) Text: "" 4 (10125000, 0.9455) ;30 m Rectangle: "" 4 0 (14000000, 0.891) (14350000, 1) Text: "" 4 (14175000, 0.9455) ;20 m Rectangle: "" 4 0 (18680000, 0.891) (18168000, 1) Text: "" 4 (18424000, 0.9455) ;17 m Rectangle: "" 4 0 (21000000, 0.891) (21450000, 1) Text: "" 4 (21225000, 0.9455) ;15 m Rectangle: "" 4 0 (24890000, 0.891) (24990000, 1) Text: "" 4 (24940000, 0.9455) ;12 m Rectangle: "" 4 0 (28000000, 0.891) (29700000, 1) Text: "" 4 (28850000, 0.9455) ;10 m Rectangle: "" 4 0 (50000000, 0.891) (54000000, 1) Text: "" 4 (52000000, 0.9455) ;6 m Rectangle: "" 4 0 (69900000, 0.891) (70500000, 1) Text: "" 4 (70200000, 0.9455) ;4 m Rectangle: "" 4 0 (144000000, 0.891) (146000000, 1) Text: "" 4 (145000000, 0.9455) ;2 m Rectangle: "" 4 0 (430000000, 0.891) (440000000, 1) Text: "" 4 (435000000, 0.9455) ;70 cm
++++
Stopband-Maske
Text zum Kopieren in das Stopband-Pane: ++++(ausklappen)|
Text: "" 4 (3000000, 0.01) ; Stopband Response Rectangle: "" 4 0 (135700, 0.01) (137800, 1) Text: "" 4 (136750, 0.505) ;2200 m Rectangle: "" 4 0 (472000, 0.01) (479000, 1) Text: "" 4 (475500, 0.505) ;630 m Rectangle: "" 4 0 (1810000, 0.01) (2000000, 1) Text: "" 4 (1905000, 0.505) ;160 m Rectangle: "" 4 0 (3500000, 0.01) (3800000, 1) Text: "" 4 (3650000, 0.505) ;80 m Rectangle: "" 4 0 (5351500, 0.01) (5366500, 1) Text: "" 4 (5359000, 0.505) ;60 m Rectangle: "" 4 0 (7000000, 0.01) (7200000, 1) Text: "" 4 (7100000, 0.505) ;40 m Rectangle: "" 4 0 (10100000, 0.01) (10150000, 1) Text: "" 4 (10125000, 0.505) ;30 m Rectangle: "" 4 0 (14000000, 0.01) (14350000, 1) Text: "" 4 (14175000, 0.505) ;20 m Rectangle: "" 4 0 (18680000, 0.01) (18168000, 1) Text: "" 4 (18424000, 0.505) ;17 m Rectangle: "" 4 0 (21000000, 0.01) (21450000, 1) Text: "" 4 (21225000, 0.505) ;15 m Rectangle: "" 4 0 (24890000, 0.01) (24990000, 1) Text: "" 4 (24940000, 0.505) ;12 m Rectangle: "" 4 0 (28000000, 0.01) (29700000, 1) Text: "" 4 (28850000, 0.505) ;10 m Rectangle: "" 4 0 (50000000, 0.01) (54000000, 1) Text: "" 4 (52000000, 0.505) ;6 m Rectangle: "" 4 0 (69900000, 0.01) (70500000, 1) Text: "" 4 (70200000, 0.505) ;4 m Rectangle: "" 4 0 (144000000, 0.01) (146000000, 1) Text: "" 4 (145000000, 0.505) ;2 m Rectangle: "" 4 0 (430000000, 0.01) (440000000, 1) Text: "" 4 (435000000, 0.505) ;70 cm
++++
Masken-Definition im Plotfile
Die so generierten Masken-Befehle können in dem Plotfile µBitX_V5_30MHz-LPF_Test_masks.plt
an entsprechender Stelle zu den dazugehörigen Panes eingefügt werden.
Das vollständige Plotfile könnte nun so aussehen:3) ++++(ausklappen)|
[AC Analysis] { Npanes: 5 Active Pane: 4 { traces: 1 {589832,0,"V(tp12)"} X: ('M',0,1e+006,9.9e+006,1e+008) Y[0]: (' ',0,1e-006,10,3) Y[1]: (' ',1,-800,80,-0) Log: 1 2 0 GridStyle: 1 PltMag: 1 Rectangle: "" 4 0 (135700,0.01) (137800,1) Rectangle: "" 4 0 (472000,0.01) (479000,1) Rectangle: "" 4 0 (1810000,0.01) (2000000,1) Rectangle: "" 4 0 (3500000,0.01) (3800000,1) Rectangle: "" 4 0 (5351500,0.01) (5366500,1) Rectangle: "" 4 0 (7000000,0.01) (7200000,1) Rectangle: "" 4 0 (10100000,0.01) (10150000,1) Rectangle: "" 4 0 (14000000,0.01) (14350000,1) Rectangle: "" 4 0 (18680000,0.01) (18168000,1) Rectangle: "" 4 0 (21000000,0.01) (21450000,1) Rectangle: "" 4 0 (24890000,0.01) (24990000,1) Rectangle: "" 4 0 (28000000,0.01) (29700000,1) Rectangle: "" 4 0 (50000000,0.01) (54000000,1) Rectangle: "" 4 0 (69900000,0.01) (70500000,1) Rectangle: "" 4 0 (144000000,0.01) (146000000,1) Rectangle: "" 4 0 (430000000,0.01) (440000000,1) Text: "" 4 (3000000,0.01) ; Stopband Response Text: "" 4 (136750,0.505) ;2200 m Text: "" 4 (475500,0.505) ;630 m Text: "" 4 (1905000,0.505) ;160 m Text: "" 4 (3650000,0.505) ;80 m Text: "" 4 (5359000,0.505) ;60 m Text: "" 4 (7100000,0.505) ;40 m Text: "" 4 (10125000,0.505) ;30 m Text: "" 4 (14175000,0.505) ;20 m Text: "" 4 (18424000,0.505) ;17 m Text: "" 4 (21225000,0.505) ;15 m Text: "" 4 (24940000,0.505) ;12 m Text: "" 4 (28850000,0.505) ;10 m Text: "" 4 (52000000,0.505) ;6 m Text: "" 4 (70200000,0.505) ;4 m Text: "" 4 (145000000,0.505) ;2 m Text: "" 4 (435000000,0.505) ;70 cm }, { traces: 1 {589832,0,"V(tp12)"} X: ('M',0,1e+006,9.9e+006,1e+008) Y[0]: (' ',1,0.841395141645195,0.5,1.0115794542599) Y[1]: (' ',1,-800,80,-0) Log: 1 2 0 GridStyle: 1 PltMag: 1 Rectangle: "" 4 0 (135700,0.891) (137800,1) Rectangle: "" 4 0 (472000,0.891) (479000,1) Rectangle: "" 4 0 (1810000,0.891) (2000000,1) Rectangle: "" 4 0 (3500000,0.891) (3800000,1) Rectangle: "" 4 0 (5351500,0.891) (5366500,1) Rectangle: "" 4 0 (7000000,0.891) (7200000,1) Rectangle: "" 4 0 (10100000,0.891) (10150000,1) Rectangle: "" 4 0 (14000000,0.891) (14350000,1) Rectangle: "" 4 0 (18680000,0.891) (18168000,1) Rectangle: "" 4 0 (21000000,0.891) (21450000,1) Rectangle: "" 4 0 (24890000,0.891) (24990000,1) Rectangle: "" 4 0 (28000000,0.891) (29700000,1) Rectangle: "" 4 0 (50000000,0.891) (54000000,1) Rectangle: "" 4 0 (69900000,0.891) (70500000,1) Rectangle: "" 4 0 (144000000,0.891) (146000000,1) Rectangle: "" 4 0 (430000000,0.891) (440000000,1) Text: "" 4 (3000000,1) ; Passband Response Text: "" 4 (136750,0.9455) ;2200 m Text: "" 4 (475500,0.9455) ;630 m Text: "" 4 (1905000,0.9455) ;160 m Text: "" 4 (3650000,0.9455) ;80 m Text: "" 4 (5359000,0.9455) ;60 m Text: "" 4 (7100000,0.9455) ;40 m Text: "" 4 (10125000,0.9455) ;30 m Text: "" 4 (14175000,0.9455) ;20 m Text: "" 4 (18424000,0.9455) ;17 m Text: "" 4 (21225000,0.9455) ;15 m Text: "" 4 (24940000,0.9455) ;12 m Text: "" 4 (28850000,0.9455) ;10 m Text: "" 4 (52000000,0.9455) ;6 m Text: "" 4 (70200000,0.9455) ;4 m Text: "" 4 (145000000,0.9455) ;2 m Text: "" 4 (435000000,0.9455) ;70 cm }, { traces: 1 {8454147,0,"Zin(v1)"} X: ('M',0,1e+006,9.9e+006,1e+008) Y[0]: ('_',0,10,99,1000) Y[1]: (' ',0,-100,20,80) Log: 1 1 0 GridStyle: 1 PltMag: 1 Rectangle: "" 4 0 (135700,150) (137800,16.7) Rectangle: "" 4 0 (472000,150) (479000,16.7) Rectangle: "" 4 0 (1810000,150) (2000000,16.7) Rectangle: "" 4 0 (3500000,150) (3800000,16.7) Rectangle: "" 4 0 (5351500,150) (5366500,16.7) Rectangle: "" 4 0 (7000000,150) (7200000,16.7) Rectangle: "" 4 0 (10100000,150) (10150000,16.7) Rectangle: "" 4 0 (14000000,150) (14350000,16.7) Rectangle: "" 4 0 (18680000,150) (18168000,16.7) Rectangle: "" 4 0 (21000000,150) (21450000,16.7) Rectangle: "" 4 0 (24890000,150) (24990000,16.7) Rectangle: "" 4 0 (28000000,150) (29700000,16.7) Rectangle: "" 4 0 (50000000,150) (54000000,16.7) Rectangle: "" 4 0 (69900000,150) (70500000,16.7) Rectangle: "" 4 0 (144000000,150) (146000000,16.7) Rectangle: "" 4 0 (430000000,150) (440000000,16.7) Text: "" 4 (3000000,150) ; Impedance Text: "" 4 (136750,83.35) ;2200 m Text: "" 4 (475500,83.35) ;630 m Text: "" 4 (1905000,83.35) ;160 m Text: "" 4 (3650000,83.35) ;80 m Text: "" 4 (5359000,83.35) ;60 m Text: "" 4 (7100000,83.35) ;40 m Text: "" 4 (10125000,83.35) ;30 m Text: "" 4 (14175000,83.35) ;20 m Text: "" 4 (18424000,83.35) ;17 m Text: "" 4 (21225000,83.35) ;15 m Text: "" 4 (24940000,83.35) ;12 m Text: "" 4 (28850000,83.35) ;10 m Text: "" 4 (52000000,83.35) ;6 m Text: "" 4 (70200000,83.35) ;4 m Text: "" 4 (145000000,83.35) ;2 m Text: "" 4 (435000000,83.35) ;70 cm }, { traces: 1 {536936452,0,"S11(v1)"} X: ('M',0,1e+006,9.9e+006,1e+008) Y[0]: (' ',0,0.00501187233627272,4,1) Y[1]: ('K',0,-1300,100,-100) Log: 1 2 0 GridStyle: 1 PltMag: 1 Rectangle: "" 4 0 (135700,0) (137800,1) Rectangle: "" 4 0 (472000,0) (479000,1) Rectangle: "" 4 0 (1810000,0) (2000000,1) Rectangle: "" 4 0 (3500000,0) (3800000,1) Rectangle: "" 4 0 (5351500,0) (5366500,1) Rectangle: "" 4 0 (7000000,0) (7200000,1) Rectangle: "" 4 0 (10100000,0) (10150000,1) Rectangle: "" 4 0 (14000000,0) (14350000,1) Rectangle: "" 4 0 (18680000,0) (18168000,1) Rectangle: "" 4 0 (21000000,0) (21450000,1) Rectangle: "" 4 0 (24890000,0) (24990000,1) Rectangle: "" 4 0 (28000000,0) (29700000,1) Rectangle: "" 4 0 (50000000,0) (54000000,1) Rectangle: "" 4 0 (69900000,0) (70500000,1) Rectangle: "" 4 0 (144000000,0) (146000000,1) Rectangle: "" 4 0 (430000000,0) (440000000,1) Text: "" 4 (3000000,0.01) ; S11 Text: "" 4 (136750,0.5) ;2200 m Text: "" 4 (475500,0.5) ;630 m Text: "" 4 (1905000,0.5) ;160 m Text: "" 4 (3650000,0.5) ;80 m Text: "" 4 (5359000,0.5) ;60 m Text: "" 4 (7100000,0.5) ;40 m Text: "" 4 (10125000,0.5) ;30 m Text: "" 4 (14175000,0.5) ;20 m Text: "" 4 (18424000,0.5) ;17 m Text: "" 4 (21225000,0.5) ;15 m Text: "" 4 (24940000,0.5) ;12 m Text: "" 4 (28850000,0.5) ;10 m Text: "" 4 (52000000,0.5) ;6 m Text: "" 4 (70200000,0.5) ;4 m Text: "" 4 (145000000,0.5) ;2 m Text: "" 4 (435000000,0.5) ;70 cm }, { traces: 1 {65541,0,"VSWR(S11(v1))"} X: ('M',0,1e+006,9.9e+006,1e+008) Y[0]: (' ',0,1,1,6) Y[1]: ('m',1,-0.001,0.0002,0.001) Log: 1 0 0 GridStyle: 1 PltMag: 1 Rectangle: "" 4 0 (135700,1) (137800,3) Rectangle: "" 4 0 (472000,1) (479000,3) Rectangle: "" 4 0 (1810000,1) (2000000,3) Rectangle: "" 4 0 (3500000,1) (3800000,3) Rectangle: "" 4 0 (5351500,1) (5366500,3) Rectangle: "" 4 0 (7000000,1) (7200000,3) Rectangle: "" 4 0 (10100000,1) (10150000,3) Rectangle: "" 4 0 (14000000,1) (14350000,3) Rectangle: "" 4 0 (18680000,1) (18168000,3) Rectangle: "" 4 0 (21000000,1) (21450000,3) Rectangle: "" 4 0 (24890000,1) (24990000,3) Rectangle: "" 4 0 (28000000,1) (29700000,3) Rectangle: "" 4 0 (50000000,1) (54000000,3) Rectangle: "" 4 0 (69900000,1) (70500000,3) Rectangle: "" 4 0 (144000000,1) (146000000,3) Rectangle: "" 4 0 (430000000,1) (440000000,3) Text: "" 4 (3000000,4) ; VSWR Text: "" 4 (136750,2) ;2200 m Text: "" 4 (475500,2) ;630 m Text: "" 4 (1905000,2) ;160 m Text: "" 4 (3650000,2) ;80 m Text: "" 4 (5359000,2) ;60 m Text: "" 4 (7100000,2) ;40 m Text: "" 4 (10125000,2) ;30 m Text: "" 4 (14175000,2) ;20 m Text: "" 4 (18424000,2) ;17 m Text: "" 4 (21225000,2) ;15 m Text: "" 4 (24940000,2) ;12 m Text: "" 4 (28850000,2) ;10 m Text: "" 4 (52000000,2) ;6 m Text: "" 4 (70200000,2) ;4 m Text: "" 4 (145000000,2) ;2 m Text: "" 4 (435000000,2) ;70 cm } }
++++
Nach Ausführen der Simulation und Laden des Plotfiles mittels <key>Space</key> erhalten wir folgende Ansicht:
</figure>
Diese Diagramme können nun weiter manuell bearbeitet werden. Es können Panes gelöscht oder Signale hinzugefügt werden und die Ansichten als eigene Plotfiles gespeichert werden, um sie für eigene Simulationen zu verwenden.
- TX LP-Filters
Als nächste Funktionsgruppe bietet sich die Filterbank am Senderausgang an.
Es werden nach den bewährten Schema die vier Tiefpässe Filter A LPF, Filter B LPF, Filter C LPF und das Tiefpass um L11-L13, das wir hier mit Filter 0 LPF bezeichnen wollen als hierarchischer Schaltplan und Symbol erstellt und zunächst für sich selbst getestet, bevor wir die Filter dann zusammenschalten und über eine Relais-Matrix die einzelnen Bänder auswählen können.
- Filter A LPF
- Filter B LPF
- Filter C LPF
- Filter 0 LPF
- Mischer
Im µBitX kommen nur Dioden-Mischer zum Einsatz. Da sie ohne Versorgung auskommen, werden sie hier zu dem passiven Schaltungsteilen gezählt.
- Aktive Schaltungsteile
Aktive Schaltungsteile verstärken das Signal oder benötigen eine zusätzliche Spannungsversorgung.