Forum: HF, Funk und Felder Wie I/Q Imbalance messen?


von Peter M. (petermh)


Lesenswert?

Hallo,

Ich habe eine I/Q downconverter "black box" von der ich I/Q imbalance 
messen moechte. Die Eingaenge sind LO, RF und der Ausgang BB.

Als Ergebnis moechte ich "Image Rejection" in dB von dem ich auf 
moegliche Phasen/-Amplituden imbalances zurueckrechnen kann.

Meine Idee: mit einem VSG erstelle ich ein cos Signal das nur im Q ist 
und lasse I null. Dann vergleiche ich die Spektren der I and Q samples 
und messe die Differenz der Peaks in dB (ideal waere kein Peak im Q zu 
sehen).

Das fuktioniert aber nur wenn das Eingangssignal phasengleich zum LO 
ist. Wenn LO phasenverschoben ist landet trotzdem Signal in beiden 
Kanelen (obwohl I/Q perfekt 90 grad sind). Das habe ich soeben in MATLAB 
verifiziert.

Was ist der beste Weg, IRR[dB] mit einfachen Sinusoids zu bestimmen, 
ohne Nachbearbeitung der baseband signale?

von Pandur S. (jetztnicht)


Lesenswert?

Wie kann ein Eingangssignal phasengleich zum LO sein, und trotzdem eine 
andere Frequenz aufweisen ?

Beim mangehaften Wissen, welches aus Simulationen von nicht 
berherrschten Tools bsteht, sowie den mangelhaften Messmoeglichkeiten 
sind die Resultate irgendwie egal. Einfach irgendwelche zahlen ohne 
Bezug.
Was dann noch dazukommt, ist LO/2, N*IF,..

von Genauigkeitsfanatiker (Gast)


Lesenswert?

Du kannst mit deinem VSG Signale generieren, mit dem du besser als 60dB 
Spiegelfrequenzunterdrückung bekommst. Die Werte, die du für Phasen- 
bzw. Amplitudenunterschied zwischen I und Q einstellst, sind deine 
gesuchte Phase bzw. Amplitude Imbalance. Das ist natürlich 
frequenzabhängig und entsprechend aufwändig..

von Peter M. (petermh)


Lesenswert?

> Wie kann ein Eingangssignal phasengleich zum LO sein, und trotzdem eine

LO des Senders und Empfaengers sind nicht phasengleich:
1
tx = xi.*cos(2*pi*fc*t) - xq.*sin(2*pi*fc*t);
2
yi = 2*filter(b,a,tx.*cos(2*pi*fc*t+phaseOffset));
3
yq = 2*filter(b,a,tx.*sin(2*pi*fc*t+phaseOffset));

von Peter M. (petermh)


Lesenswert?

> Du kannst mit deinem VSG Signale generieren, mit dem du besser als 60dB
> Spiegelfrequenzunterdrückung bekommst. Die Werte, die du für Phasen-
> bzw. Amplitudenunterschied zwischen I und Q einstellst, sind deine
> gesuchte Phase bzw. Amplitude Imbalance.

Ja, das gilt fuer den Sender.
Ich moechte aber wissen welche IRR der Demodulator hat.

Auf eine andere Moeglichkeit bin ich gerade gekommen: Setze
1
xi = cos(2*pi*t*fin);
2
xq = sin(2*pi*t*fin);

Der Amplitudenunterschied zwischen den beiden empfangenen Signalen ist 
amplitude imbalance und der Unterschied zu 90 Grad Phase imbalance.
Allerdings ist das schwieriger zu messen ... Meintest du sowas in der 
Art?

> Das ist natürlich
> frequenzabhängig und entsprechend aufwändig..

(Fuers erste reicht mir eine Frequenz)

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

"black box" bedeutet, man kommt an den internen LO nicht dran?
Denn der hätte ja eine festen Phasenbezug, und für jeweils eine Frequenz 
könnte man den auch phasenschieben (RC, LC oder Koaxkabel je nach 
Frequenz).
Der liefert aber erst mal nur "zero ZF". Eventuell könnte man ihn aber 
modulieren.

: Bearbeitet durch User
von Peter M. (petermh)


Lesenswert?

> "black box" bedeutet, man kommt an den internen LO nicht dran?
> Denn der hätte ja eine festen Phasenbezug, und für jeweils eine Frequenz
> könnte man den auch phasenschieben (RC, LC oder Koaxkabel je nach
> Frequenz).
> Der liefert aber erst mal nur "zero ZF". Eventuell könnte man ihn aber
> modulieren.

Leider nicht. Einziger Eingang ist single-ended LO und der wird intern 
nach I und Q differential gesplitted.


Generell: Sorry ich hab hier einfach ein Brett vor dem Kopf. Ich 
erinnere mich dass ich sowas vor einigen Jahren schonmal gemacht hab ... 
ich hatte das I/Q baseband Spektrum und habe direkt die Differenz 
zwischen gewuenschtem Signal und Image abgelesen. Es ist vermutlich 
trivial ... aber ich komm grad nicht drauf.

von Tobias P. (hubertus)


Lesenswert?

Äh, das Image ist doch die Spiegelfrequenz.
Also z.B. wenn dein LO 100MHz hat und dein IF-Signal hat 20MHz - dann 
gibt es bei RF 2 Seiten'bänder', eines bei 120MHz und eines bei 80MHz. 
Angenommen du willst nur das obere Seitenband, und das Untere soll 
unterdrückt werden, dann müsstest du also den Pegel bei 80MHz messen und 
mit dem Pegel bei 120MHz vergleichen.
Da dein Mixer in dem Beispiel das untere Seitenband unterdrückt, sollte 
natürlich bei 80MHz nichts raus kommen.

Angenommen 120MHz kommen mit 0dBm raus und 80MHz hat -40dBm. Dann ist 
dein IRR grade 40dB.

Über welche Frequenzen reden wir? wenn es GHz oder einige 100MHz sind, 
dann würde ich Werte bis max. ca. 30..40dB erwarten, wenn der Mixer 
besser ist, ist es entweder einsehr teurer ;-) oder es liegt eine 
Fehlmessung vor.

von Peter M. (petermh)


Lesenswert?

Ok, ich hab die Loesung gefunden. Ja, wie du geschrieben hast, der 
richtige Weg ist single-side-band (und nicht single-channel)!

1. Single-channel: rf = cos((wc-w1)t)+cos((wc+w1)t)

In diesem Fall ist das Signal nur im I channel aber nicht im Q. Nach dem 
Runtermixen ist das Resultat nur korrekt wenn TxLO und RxLO 
phasenkoheraent sind!

Die baseband signals sind gegeben mit:

ybbi = cos(phi_i) cos(w1 t)
ybbq = cos(phi_q) cos(w1 t)

wobei phi_i und phi_q die phasendifferenz zwischen RxLO und TxLO 
beinhaltet sowie einen Knob "phi_corr" mit dem ich die Phasenlage am Rx 
oder Tx beliebig einstellen kann. Zusaetzlich kann eines der beiden die 
eigentliche I/Q Imbalance erhalten.

Die I/Q Rejection ist dann gegeben mit 1-sin(phi_q)/cos(phi_q). Mit dem 
Knob "phi_corr" kann nun aber jeder beliebige Wert erreicht werden - 
unabhaengig vom eigentlichen I/Q mismatch. Daher ist dies der FALSCHE 
Ansatz!


2. Single-sideband: rf = cos((wc+w1)t)

In diesem Fall sind sowohl I als auch Q generall nicht leer. Wenn 
allerdings das Baseband signal wieder als ybb = ybbi + 1i*ybbq 
zusammenfuehrt und davon die DFT bildet kann man direkt die IRR ablesen.

Das ist unabhaengig von der relativen Phasenlage zwischen RxLO und TxLO.

von Tobias P. (hubertus)


Lesenswert?

Peter M. schrieb:
> generall nicht leer

äääääh.... aha.

Peter M. schrieb:
> sowie einen Knob "phi_corr"

soso.

Bahnhof?! etwas wirr. Aber die Image Reject Ratio hat nichts mit dem 
TXLO oder RXLO zu tun. Sondern eben mit den Seitenbändern.
Wo da eine DFT rein kommt und was das jetzt mit der Messung von IRR zu 
tun hat, ist mir ein Rätsel ;-)

von Peter M. (petermh)


Lesenswert?

> Peter M. schrieb:
>> generall nicht leer

> äääääh.... aha.

Es gibt den I channel und den Q channel. In meinem ersten Ansatz wollte 
ich einen davon leer lassen und schauen was nach (nicht idealem) Empfang 
in den leeren "leakt". Ich habe (zumindest fuer mich verstaendlich) 
erklaert wieso das der falsche Ansatz ist.
Im zweiten Ansatz haben generell beide Kanaele Signalenergie, dafuer 
gibt es aber nur ein Seitenband ... dann ist die Frage wieviel davon ins 
leere Seitenband "leakt".

> Bahnhof?! [...]
> Wo da eine DFT rein kommt und was das jetzt mit der Messung von IRR zu
> tun hat, ist mir ein Rätsel ;-)

Ist OK.

von Tobias P. (hubertus)


Lesenswert?

Peter M. schrieb:
> Ist OK.

naja du hättest es erklären können ;-)

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.