Forum: HF, Funk und Felder Weaver Demodulator - Seitenbandunterdrückung abgleichen


von Bernhard _. (Firma: dl1bg) (bernhard_)


Lesenswert?

Hallo zusammen,

beim Weaver-Demodulator ist eine kritische Stelle der Phasenversatz am 
ersten Mischer. Ist dieser nicht genau 90 °, so nimmt die 
Seitenbandunterdrückung ab. Bildlich gesprochen stehen die Vektoren 
nicht senkrecht aufeinander und löschen sich dadurch im zweiten Mischer 
nicht komplett aus.
http://www.pa3ect.eu/Add%20LSB%20PRC-319.html
beschreibt den Idealfall ganz anschaulich.

Nun zur Frage: real ist ja weder der Phasenversatz am Mischer genau 90 ° 
noch die Verstärkung des Analogteils genau gleich für beide Kanäle. Kann 
man das durch einen einfache Verstärkung eines der beiden Kanäle direkt 
hinter dem ersten Mischer ausgleichen?

http://mathscinotes.wordpress.com/2012/10/21/quadrature-modulators-solve-old-problems-with-self-calibration/
hat hierzu einiges simuliert, aus seiner "Figure 6" interpretiere ich, 
dass ein künstlicher Verstärkungsfehler einen Phasenfehler kompensieren 
kann.

Liege ich richtig, habt ihr weitere Infos zu dem Thema?

Viele Grüße und Danke
Bernhard
alias
DL1BG

von B e r n d W. (smiley46)


Lesenswert?

"Figure 6" sagt für mich aus, daß es nichts nützt, nur eine Größe zu 
verbessern, sondern es sollte die jeweils zueinander passende 
Genauigkeit angestrebt werden.

Also z.B.
2.2° und 4% ergeben 37dB Unterdrückung
oder
0.9° und 1.6% bieten 42dB Unterdrückung

Beide Werte sind nicht wirklich gut. Niemand würde bei einem Superhet 
eine Spiegelfrequenz-Unterdrückung von 40 dB akzeptieren.

Bei einem Amplitudenfehler von 0.15% und Phasenfehler von 0.1° sieht das 
Ergebniss schon akzeptabler aus:

D = log(sin(0.1°))*20 = -56 dB

Am Einfachsten wäre es also, den VFO durch 4 zu teilen und die Amplitude 
abgleichbar zu machen. Allerdings hat das NF-Filter auch einen durch 
Toleranzen verursachten Phasenfehler. Beim einer mathematischen 
Korrektur des Phasenfehlers ginge vermutlich die Rechenleistung in die 
Knie. Die Amplitude läßt sich ja leicht durch eine Multiplikation 
korrigieren.

Ob es wohl möglich wäre, eine Phasenkorrektur schaltungstechnisch zu 
bewirken und das Ganze per DA-Wandler oder PWM-Ausgang zu steuern? Dazu 
wäre eine spannungsabhängige Zeitverzögerung notwendig. Diese Lösung 
benötigt keine Rechenleistung.

Die Frage ist auch, ob sich ein Testsignal generieren läßt, mit dem die 
Phase automatisch korrigiert werden kann.

von Bernhard _. (Firma: dl1bg) (bernhard_)


Angehängte Dateien:

Lesenswert?

Stimmt, das Bild hatte ich falsch interpretiert.
Zum Spielen habe ich den Mischer mal simuliert, deine Aussagen über die 
Spiegelfrequenzunterdrückung bestätigen sich damit.

Eine Amplitudenkorrektur ist sicherlich kein Problem, allerdings lies 
sich damit in der Praxis auch keine hörbare Verbesserung erreichen.

Für die Phasenkorrektur fällt mir ein:
- Phasenschieber nach db1uq, davon habe ich aber keine Ahnung
- weiteres Mischen in Software, ein kompletter Image Rejection Mixer pro 
Kanal

@ all, vor allem db1ug: Gibt es eine Phasenschieberimplementierung, die 
nur ~2 ° kann, aber dafür einfach zu berechnen ist?

Die CPU-Auslastung ist kein Problem, ich stehe bei ~5%, obwohl immer 
noch der "kleine" Cortex M3 drin ist.

Am Rand: die Spiegelfrequenzunterdrückung ist in der Praxis nicht 
schlecht, die Teilung des Taktes ist auch 4. Der Takt wird differenziell 
bis zum Mischer geführt, siehe Schaltbild im Anhang. Nur messen kann ich 
in dieser Dimension nicht mehr vernünftig, besonders bei höheren 
Frequenzen.

Am liebsten würde ich über den TX-Zweig während des Empfangs einen 
Testsinus erzeugen, der ja dank der Bandbreite des DACs auch einie khz 
gegen die Empfangsfrequenz verschoben sein könnte. Dann könnte man zum 
Abgleich im Bandpassteil die Antenne ab- und den TX-Zweig einkoppeln.
So hätte man automatisch für jede mögliche HF ein Testsignal, mit dem 
Spiegeleffekte erkannt und wegkalibriert werden könnten, evtl. sogar 
LeCroy-Mäßig zur Laufzeit um Temperaturdrifts zu erwischen.

Was sagt ihr / du, Bernd dazu?

von B e r n d W. (smiley46)


Angehängte Dateien:

Lesenswert?

Hallo Bernhard

Ich hab ein wenig in LTspice rumprobiert (es war mehr ein rumstochern). 
Ich hab also einen Phasenfehler von 2° vorgegeben und wollte probieren, 
ob es sich wenigstens ein wenig verbessern läßt. Als ich beim 2. Mischer 
die Phase auch um 2° vorgestellt hab, war plötzlich das ungewollte 
Seitenband weg.

Bei Phasenfehlern >5° bleibt ein Restfehler zurück, aber bis ca. 3° 
scheint sich das ungewünschte Seitenband fast komplett zu 
rauskompensieren. Da der zweite Empfangsmischer sowiso per Software 
verwirklicht ist, sollte das so machbar sein.

Den File hab ich angehängt, mal sehen ob Du das Ergebnis so bestätigen 
kannst.

von Bernhard _. (Firma: dl1bg) (bernhard_)


Angehängte Dateien:

Lesenswert?

Ich hatte nur mit 10° Phasenversatz probiert und deshalb (quasi) keine 
Verbesserung mit dieser logischen Methode erreicht. Super Ergebnis, so 
lohnt sich das weitere Forschen!

Gerade habe ich zum ersten mal DAC und ADC gleichzeitig an den beiden 
I2S des STM32 laufen lassen, wie erwartet reicht im TX-Betrieb das 
Übersprechen in den HF-Seitig offenen Mischereingang für ein starkes 
Signal aus.
Heute Abend probiere ich mal, ob man so händisch am Oszi kalibrieren 
könnte.

Ansatz:
- Nennfrequenz (das was im display angezeigt wird "f_display") auf N MHz
- LO2 auf 1560 Hz
- LO1 auf f_display - LO2_RX -> LSB Empfang
- TX-Modulator auf USB, Tiefpass aus, Sinus mit 3,9 kHz

Jetzt sollte eine Spiegelfrequenz von 3,9 kHz - (2*1560 Hz) = ~800 Hz zu 
sehen sein, oder?

von Bernhard _. (Firma: dl1bg) (bernhard_)


Lesenswert?

Nach langem Forschen wegen zwei Firmwarebugs konnte ich gerade meine 
Messungen durchführen.

Umgesetzt:
- Nennfrequenz (das was im display angezeigt wird "f_display") auf 7 MHz
- LO2_RX auf 1560 Hz
- LO2_TX auf 3120 Hz
- LO1 6,9984 MHz
- TX-Modulator auf USB, Tiefpass aus, Sinus mit 1,95 kHz

-> LO1 gemessen 6,9986 MHz (wie erwartet)
-> Sendefrequenz gemessen 7,0048 MHz (wie erwartet)

Soweit so gut. Am Eingang des ADC messe ich leider hauptsächlich 1,2 
kHz, das falsche Seitenband des TX. Grund: im RX/TX-Schalter direkt 
hinter dem jeweiligen Mischer schalte ich den nicht benutzten Pfad gegen 
GND -> kaum Einkopplung HF-Seitig, und die 4,8 kHz entstehen ja erst im 
HF_Mischer.

Trotzdem konnte ich auf 40m und 10m einen Abgleich durchführen:
7 MHz: irgendwo zwichen 89,5 und 90,0 °
30 MHz: 89,5 °

Summa Summarum: ein mehr akademischer Erfolg, ein automatischer Abgleich 
wird sich mit der aktuellen Hardware nicht lohnen. Als nächstes teste 
ich einen Amplitudenabgleich.

Soweit mal vielen Dank, für Anregungen und Kritik an meinen Messungen 
bin ich natürlich dankbar.

Viele Grüße
Bernhard
DL1BG

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.