Bilanciamento automatico in
fase e quadratura AIQB
Oscar Steila, IK1XPV , October
2006 rev C (7/12/2012)
www.qsl.net\ik1xpv
Molti Radioamatori
hanno iniziato ad impiegare tecniche di processamento
digitale dei segnali con ricevitori a conversione diretta, utilizzando il PC [5][7] o
processori delicati [6]. Alcune tecniche di
bilanciamento sono state sviluppate [1]-[4]. In questo documento viene
introdotta una tecnica di bilanciamento che non richiede la conoscenza del segnale trasmesso (alla
cieca). L’algoritmo è stato implementato nel programma CIAOradio
[12]. |
|||
Uno degli aspetti che limitano la prestazione dei ricevitori a conversione diretta o con IF a bassa frequenza è lo sbilanciamento e la conseguente insufficiente cancellazione delle frequenze immagine. Lo sbilanciamento è attribuibile alle differenze tra i componenti dei rami in fase (I) e quadratura (Q). |
|||
|
|||
Fig 1- Ricevitore a conversione diretta (eterodina) |
|||
Il problema nasce dall’imperfetto bilanciamento dell’oscillatore locale (LO) e/o differenze nei filtri passa basso(LPF) con risposte in frequenza diverse. Un sistema di ricevitore eterodina ideale realizza una semplice traslazione di frequenza. Un ricevitore eterodina con uno sbilanciamento I/Q non solo converte in banda base il segnale desiderato, ma introduce un’interferenza immagine. |
|||
|
|||
Fig.2 – Ricevitore eterodina con sbilanciamento I/Q |
|||
Lo sbilanciamento I/Q
del ricevitore eterodina può essere interpretato come la sovrapposizione
della conversione di un segnale desiderato complesso e la conversione in
senso opposto di un segnale indesiderato complesso. Anche se lo sbilanciamento
I/Q introdotto dall’oscillatore locale (LO) può essere assunto
costante sulla banda del segnale demodulato, i disadattamenti
della successiva catena di filtri e amplificatori I/Q varia con la frequenza. |
|||
Lo sbilanciamento I/Q dipendente dalla frequenza si fa particolarmente severo nei ricevitori eterodina a banda larga e la ricerca di un algoritmo di compensazione diventa una interessante sfida [2]. Esiste una abbondante letteratura sulla compensazione dello sbilanciamento I/Q, [1]-[4] e riferimenti ivi contenuti. In questo documento assumiamo che i segnali siano campionati e soddisfino la teoria del campionamento. Vengono considerate solo le componenti di modulazione equivalenti passa basso in relazione ai segnali a radio frequenza (RF). Il metodo più immediato per correggere lo sbilanciamento è un approccio trigonometrico che lo compensa con una rotazione (di fase) e una regolazione di guadagno (ampiezza). |
|||
Fig.3 – Correzione di ampiezza e fase dei
campioni. |
|||
La procedura può essere implementata usando due moltiplicazioni e una sola addizione ogni campione[1]. Il guadagno e la fase devono essere aggiustati per ottenere le prestazioni migliori. Lo schema non è capace di compensare distorsioni di guadagno e di fase che variano con la frequenza. Assumendo di avere un segnale a banda larga, la compensazione della sua immagine avrà un risultato ottimale solo in una parte dello spettro immagine. |
|||
|
|||
Fig.4 – Ricezione con CIAOradio di
un segnale di test (1) con spettro di 20 Khz |
|||
La figura è salvata dallo schermo del programma CIAOradio e mostra lo spettro ricevuto nell’intorno di Fo, con un aggiustamento manuale di fase e quadratura. Si può notare che la reiezione dell’immagine dipende dalla frequenza. Un approccio per la compensazione dello sbilanciamento che dipende dalla frequenza nasce da un filtro che compensi ed equalizzi la risposta dei canali I e Q. |
|||
Nell’architettura del software di CIAOradio il filtraggio e la sintonia sono implementati usando una convoluzione veloce. |
|||
Una Digital Fourier Transform dell’ingresso è realizzata con una FFT complessa. Questo algoritmo DSP analizza lo spettro di frequenza con una risoluzione dell’ordine di 12 Hz ( 48kHz di campionamento/ FFT a 4096 punti). |
|||
|
|||
Fig.5 – |
|||
Ogni campione in frequenza all’uscita dell’FFT trasporta informazione di fase e ampiezza corrispondente ad una frequenza compresa tra –Fs/2 to +Fs/2, con Fs = frequenza di campionamento (tipicamente 48kHz). Lo sbilanciamento selettivo in frequenza influenza i campioni simmetrici (riferiti alla frequenza 0) , ad esempio Zm verso Z-m , in modo diverso al variare della frequenza. |
|||
In [2] viene introdotto un modello in cui lo sbilanciamento può essere visto come il risultato di un imperfetto oscillatore locale (LO) complesso rappresentato con la funzione del tempo: ŝLO(t) = cos(2πfLOt ) - jg sin(2πfLOt + θ) (1) |
|||
dove g è lo sbilanciamento di ampiezza e θ indica lo sbilanciamento di fase. Vengono qui definiti i parametri di bilanciamento complessi come: 1
+ ge-jθ 1 - ge+jθ K1 = ────── ,
2 2 |
|||
In modo da definire l’equazione (1) come: ŝLO(t) = K1e-j2πfLOt + I
ricevitori eterodina
con sbilanciamento possono essere interpretati come sovrapposizione di una
conversione del segnale desiderato (pesata da K1) e quella di un segnale interferente
(pesata da K2). Conseguentemente il
segnale del ricevitore in banda base con sbilanciamento I/Q z(t) è la
sovrapposizione della frequenza desiderata y(t) e della sua immagine y*(t): |
|||
z(t)
= K1 y(t) + K2 y*(t) (4) Il calcolo della DFT del segnale della banda m con sbilanciamento può essere scritto come: Zm = K1 Ym + Z-m = K1 Y-m + |
|||
Unendo l’equazione (5) e la sua coniugata (6) otteniamo ad una notazione a matrice dell’effetto dello sbilanciamento I/Q. |
Zm(n) Z*-m(n) |
= K |
Ym(n) Y*-m(n) |
, |
K = |
K1 |
(7) |
Poiché la matrice K è sempre non-singolare per parametri di sbilanciamento realistici, il segnale desiderato rappresentato da Ym(n) e Y-m(n) può essere ricostruito in base ai simboli interferiti Zm(n) e Z-m(n) usando la matrice inversa K-1. |
Lo schema di compensazione è basato sul calcolo della matrice inversa di ogni coppia di componenti della DFT associati a ciascuna frequenza. Noi assumiamo che E{ YmY-m} = 0 , dove E{.} indica il calcolo del valore atteso (expected value [11]). Questo significa che Ym e Y-m sono scorrelati e hanno media zero. Questo assunto è realistico per la maggior parte dei casi che consistono nell’avere segnali differenti in punti diversi dello spettro. Come la stima del parametro in un ricevitore a bassa IF sia influenzato da una correlazione residua è affrontato in [4]. Guardando al termine di correlazione incrociata E{ ZmZ-m} viene derivata la seguente equazione: |
E{ ZmZ-m} = K1K2 E{ YmY*-m} + K1K2 E{ Y-mY*-m} + K12 E{ YmY-m} + K22 E{ Y*mY*-m} = K1K2 E{ Pm+ P-m} (8) dove Pm = E{ YmY*m } cioè la potenza della riga m della DFT. |
Possiamo ancora scrivere: Zm +
Z*-m = ( K1 + K2*) Ym + ( = Ym + Y*-m (9) |
Poiché dalla definizione (2) ricaviamo: K1 + K2* = |
Ora possiamo scrivere il secondo valore atteso come: E{ | Zm + Z*-m |2} = E{ | Ym
+ Y*-m |2}
= E{ YmY*m} + E{ Y-mY*-m} + E{ YmY-m} + E{ Y*mY*-m}
= E{ Pm+ P-m} (11) |
Dalla (7) e dalla (10) è ora possibile calcolare il termine K1mK2m E{ ZmZ-m} K1mK2m =
─────────── (12) E{ | Zm
+ Z*-m |2} |
Dalla (4) ricaviamo K1mK2m = ¼ (1-g2) – j ½ g sin(θ) (13) |
K1 e K2 non possono essere calcolati direttamente, tuttavia è possibile ricavare il valore delle variabili gm e θm come: ________________ ĝm = √ 1 - 4 Re{K1mK2m} (14) 2 θm = arcsin (
- ── Im{K1mK2m}) (15) ĝm |
Re{} e Im{} indicano la parte reale e immaginaria del numero complesso. I valori di K1m e di K2m possono ora essere calcolati impiegando la definizione (2). Usando ogni coppia di valori associati a ciascuna frequenza è possibile statisticamente calcolare il valore della matrice inverse stimata K-1. |
1 K -1m = ─────── |K1m|2-
|K2m|2 |
K1m -K2m -K2m*
K1m* |
(16) |
|
1 K-1m = ─────── |K1m|2-
|K2m|2 |
K*1m -K2m -K*2m
K1m |
(16b) |
La ricostruzione di ogni coppia sbilanciata di frequenze è possibile come in figura, usando l’equazione:
Ym(n) Y*-m(n) |
= K-1m |
Zm(n) Z*-m(n) |
= K-1m Km |
Ym(n) Y*-m(n)
|
|
Nella implementazione del processo il calcolo del valore atteso è sostituito da una media in tempo ed in frequenza impiegando i campioni vicini. |
|
Fig.6 –Schema a blocchi della procedura AIQB |
L’effetto dell’algoritmo AIQB sul segnale in fig. 4 è illustrato dalla figura seguente.
|
Fig.7 – CIAOradio output with AIQB (test signal 1) |
I segnali di test impiegati nella implementazione dell’algoritmo AIQB sono stati realizzati da Claudio Re, I1RFQ. Il segnale di test 1 impiegato in Fig.4 e Fig.7 è un singolo generatore modulato in frequenza con una banda di 22 kHz. Il segnale di test 1 usato in Fig.8 e Fig.9 è un singolo generatore modulato in frequenza con una banda di 11 kHz. |
|
Fig.8 – Ricezione con CIAOradio
di un segnale di test 2. |
Lo sbilanciamento senza AIQB è di circa – 50 dB |
|
Fig.9 – Ricezione con CIAOradio
di un segnale di test 2 con AIQB attivo. |
Con l’AIQB attivo lo sbilanciamento diminuisce fino a -80 dB, con un miglioramento di circa 30 dB. |
Il segnale di test 3 usato nelle misure successive è ottenuto sommando l’uscita di 3 generatori RF. Il primo genera un segnale deviato in FM di 18kHz centrato a 7012 Khz, il secondo ed il terzo generano due sinusoidi rispettivamente a 6985 kHz e a 6990 kHz, dalla parte opposta di Fo. |
|
Fig.10 – Ricezione con CIAOradio
di un segnale di test 3. |
|
Fig.11 – Ricezione con CIAOradio
di un segnale di test 3 con AIQB attivo. |
L’algoritmo da me chiamato AIQB è stato descritto. Questo algoritmo è stato implementato e provato nel programma CIAOradio [12]. La versione testata in questo documento è la versione 1.42alfa. Le prestazioni dell’algoritmo sono interessanti. Non richiede alcun speciale segnale di test in ingresso e necessita solamente che il segnale e la sua immagine siano scorrelati. L’elevata cancellazione dell’immagine permette di realizzare ricevitori con buone prestazioni fino al campo delle microonde. E’ in programma una attività di ottimizzazione anche nella direzione di ridurre la potenza di calcolo richiesta. |
Referimenti ( molti collegamenti
sono a pagine web in lingua inglese ) [1] http://www.comsoc.org/tech_focus/pdfs/rf2/pdf/23.pdf Frequency Offset and I/Q Imbalance Compensation for
Direct-Conversion Receivers Guanbin Xing, Manyuan Shen, and Hui Liu, IEEE
TRANSACTIONS ON WIRELESS COMMUNICATIONS, VOL. 4, NO. 2, MARCH 2005 [2] http://www.ifn.et.tu-dresden.de/MNS/veroeffentlichungen/2004/Windisch_M_INOWO_04.pdf Standard-Independent
I/Q Imbalance compensation in OFDM Direct-Conversion Receivers Marcus Windisch, [3] http://wwwmns.ifn.et.tu-dresden.de//publications/2004/Windisch_M_ISCCSP_04a.pdf BLIND I/Q
IMBALANCE PARAMETER ESTIMATION AND COMPENSATION IN LOW-IF
RECEIVERS Marcus
Windisch, Gerhard Fettweis
Technische Universit¨at [4] http://wwwmns.ifn.et.tu-dresden.de//publications/2004/Windisch_M_ISCCSP_04b.pdf PERFORMANCE
ANALYSIS FOR BLIND I/Q IMBALANCE COMPENSATION IN LOW-IF RECEIVERS Marcus Windisch, Gerhard Fettweis Technische Universit¨at Dresden,
Vodafone Chair Mobile Communications Systems, 01062 Dresden, Germany. [5] http://www.flex-radio.com/ The
SDR-1000, from Flexradio.
is a complete Software Defined Radio (SDR)
transceiver interface to a Personal Computer. Gerald Youngblood, K5SDR [6] http://www.proaxis.com/~boblark/dsp10.htm The DSP-10
is an amateur-radio, software-defined 2-meter transceiver that can be built
at home. Bob Larkin, W7PUA [7] http://www.sdradio.org/ or http://www.weaksignals.com/ -“Here you can find my software, developed
for radio amateur's use, all freeware. “ Alberto Di Bene,
I2PHD [8] http://www.moetronix.com/spectravue.htm A Windows
based Spectral Analysis/Receiver Program. Moe Wheatley AE4JY [9 ] http://www.sm5bsz.com/linuxdsp/linrad.htm
- “ ... In case the input signal is in
complex format Linrad has routines to correct
amplitude and phase for complex input signals These routines operate in the
frequency domain and can absorb frequency dependent phase and amplitude
errors that are introduced by differences in amplifiers and filters used
between the I/Q mixers and the audio board. The only requirement (non
trivial) is that amplitude and phase errors are independent of amplitude,
time and temperature.” Leif Åsbrik, SM5BSZ [10 ] http://www.dxatlas.com/rocky/ “…I/Q Balancing in Rocky is fully automatic
and does not require any lab equipment, all you have to do is start the
program when the band is open. Rocky will use all strong stations on the band
as signal generators! The algorithm
works as follows. The power spectrum is scanned for the signals that are at
least 30 dB above the noise. For each signal, synchronous detection of the
image is performed using the main signal as a reference oscillator. “ Alex
VE3NEA, VE3NEA [11] http://en.wikipedia.org/wiki/Expected_value From Wikipedia: In
probability theory the expected value
(or mathematical expectation)
of a random variable is the sum of the probability of each possible outcome
of the experiment multiplied by its payoff ("value"). [12] http://www.comsistel.com/Ciao%20Radio.htm CIAOradio SDR Oscar Steila IK1XPV , Claudio Re I1RFQ. |
Homepage: www.qsl.net\ik1xpv
e-mail: [email protected]