Sunteți pe pagina 1din 14

I NVESTIGATING

THE

USRP: I/Q

IMBALANCE

Peter Hndel and Per Zetterberg Signal Processing Lab ACCESS Linnaeus Center Royal Institute of Technology Stockholm, Sweden

RFMTC09, October 6-7, 2009, Gvle, Sweden.


T HE RESEARCH LEADING TO THESE RESULTS HAS RECEIVED FUNDING FROM THE E UROPEAN R ESEARCH C OUNCIL UNDER THE E UROPEAN C OMMUNITY S S EVENTH F RAMEWORK P ROGRAMME (FP7/2007-2013) / ERC GRANT AGREEMENT NO . 228044 (AMIMOS).

Available at www.ee.kth.se Forskning Publikationer


1

P URPOSE
Design methodologies

OF THE WORK

buy hardware plug it in something does not work buy hardware test it (and replace if needed) plug it in something does not work, but at least the hardware is ok Fast and simple test routines . . . . . . are advantageous for development purposes . . . needed in production testing every second is worth a million Contributions in this work: Test procedure for receiver IQ imbalance Measurement of KTH USRPs (# 4) New insights in seven-parameter sinewave t (baseband model, L-phenomena)
2

1.7 GH Z

TONE EXCITATION

BASEBAND OUTPUT
BASEBAND I/Q CHANNEL 1
SPLITTER ZAPD-30

RADIO FREQUENCY

HP8656B SIGNAL GEN

MINI-CIRCUITS FK300

MINI-CIRCUITS SHP-900 HP-FILTER

MINI-CIRCUITS ATTENUATORS -40dB

USRP
I/Q CHANNEL 2

1.7646 GHz -60dBm

0 10 20 30 40 P 50 3F 60 70 2F C F

1.5

QUADRATURE 2

0.5

2F

0.5

1 80 90 2 1.5 1.5

1.5

0.5

0 FR

0.5

1.5

0.5

0 INPHASE

0.5

1.5

P ERFECT I/Q

DEMODULATOR

Baseband representation of the RF input sin(2FRF t) zn = xn + j yn = cos( o n) + j sin( o n) = ejo n (relatively an arbitrary scaling, absolute time, or initial phase) angular frequency o = 2F/FS = 0.6/4 = 0.15 F = FRF FLO = 1764.6 1764.0 = 0.6 MHz FS , FRF and FLO are not required for the proposed test method FLO 10-20 kHz for the USRP
IN-PHASE RF INPUT LNA BPFILTER BPFILTER cos sin LO VGA LPFILTER ADC QUADRATURE LPFILTER VGA ADC

(1)

P RACTICAL I/Q

DEMODULATOR

in-phase representation of the RF stimuli I + cI + vn xn = gI sin o n + I + 2 quadrature


Q yn = gQ sin o n + Q + cQ + vn .

(2)

(3)

I Q gI , gQ are gains; I , Q initial phases; cI , cQ DC offsets; vn and vn are noise terms


IN-PHASE

Parameters of interest gI gain imbalance G = gQ quadrature skew Q = I Q


2 c2 + c I Q LO leakage L = 2 2 2 gI + gQ 5

RF INPUT LNA BPFILTER BPFILTER cos sin

LPFILTER VGA LO VGA LPFILTER

ADC

ADC QUADRATURE

R EFORMULATION

OF PROBLEM

Baseband data zn = xn + j yn can be written as zn = a ein + b ein + c + vn . a, b c are complex-valued constants vn complex-valued zero mean noise
IN-PHASE

(4)

Parameters of interest

RF INPUT LNA BPFILTER BPFILTER cos sin

LPFILTER VGA LO VGA LPFILTER

ADC

|a + b| gain imbalance G = |a b| a+b quadrature skew Q = ab |c |2 LO leakage L = 2 |a| + |b|2

ADC QUADRATURE

Based on {zn }N 1 nd estimates a, b, c and (7 parameters)


6

N ON - LINEAR

LEAST- SQUARES ESTIMATION

1. found by a one-dimensional search (Periodogram-type of cost function) 2. a, b c linear least-squares based on 3. G, Q and L from a, b c Comments Slight modication of a classical spectral estimation problem Gaussian noise, but no need for maximum likelihood, because the practical performance is independent on the noise variances in I and Q channels. NLS equals MLE when the channels have same noise power. NLS solves the same problem as seven-parameter t (P.M. Ramos), but in a different way Asymptotic Cramr-Rao bounds available for the estimates.
7

Theorem 1: Consider any unbiased estimator producing the estimates G, Q, and L based on the receiver output z. If noise is Gaussian number of samples large then the asymptotic variances are bounded from below by:
2 1 + G 2 G = N SNRQ 2 1 + G 2 Q = N SNRI

(5)

(6)

2L(1 + L) = (7) N SNR where SNR denotes the average SNR, that is SNR = (SNRI + SNRQ )/2. 2 L

M ATLAB : N ON - LINEAR

LEAST- SQUARES

function []=iqmain(y); y=y/sqrt(cov(y)); N = length(y); T =(1:N)'; %Frequency estimate - requires IQparest.m and myfun2.m west = IQparest(y,4); %LS-fit of linear parameters zhat = exp(i*west*T); Zhat = [zhat conj(zhat) ones(N,1)]; hateta = Zhat\y; %Extract a, b, c hata = hateta(1); hatb = conj(hateta(2)); hatc = hateta(end); %% Calculate quantities of interest G = abs(hata+hatb)/abs(hata-hatb); Q = angle((hata+hatb)/(hata-hatb)); L = abs(hatc)^2/(abs(hata)^2 + abs(hatb)^2);

M ATLAB :

EXAMPLE OF RESULTS

>> iqmain(z) --data sequence length N: 50000 gain imbalance G: -0.1319 dB quadrature skew Q: -1.8305 deg LO leakage: -27.134 dB >>

Results presented in dB and deegrees Elapsed time (Intel U2500@1.20GHz - old laptop) N = 1024: Elapsed time is 0.023951 seconds N = 50000: Elapsed time is 0.579940 seconds

10

DATASHEET

VALUES FOR

AD8347

AT

1.905 GH Z

The FLEXRF family of daughter-boards, which are widely used with the USRP platform, is designed around the AD8347 direct conversion quadrature demodulator. Typ (Min/Max) GdB Qo LdBm LdBm +0.3 1 (3) 60 42 dB degree dBm (at RFIP) dBm (At IMXO/QMXO)

(Practitioner) Collect large number of data and run, but . . . . . . (Rapid testing) is it sufcient with a handful of periods?

11

G AIN

IMBALANCE AND QUADRATURE SKEW


norm
0.4 0.3 0.2 0.1 0 0.2 0.4 0.6 GdB (dB) 0.8

norm

0.4 0.3 0.2 0.1 8 7 6 5 3 Qo4(deg) 2

USRP results based on non-overlapping segments (N = 64). USRP #1: Channel 1 (), Channel 2 ( ), USRP #2: Channel 1 (), Channel 2 (). G and Q can be estimated from short sample records (here N = 64) 1 out of 4 receives with outlier performance
12

LO

LEAKAGE

Datashet: LdBm = 60 dBm (at AD8347 RFIP) RFIP: PRFIP = PRF + 13 dBm (MGA-82563) LdBm = 60 + 13 + LdB LdBm < 100 dBm at RFIP for all USRPs (enabled compensation) LdBm 66 dBm to 90 dBm (disabled compensation) Effective USRP-internal DC compensation
40 45 50 55 60 65 70 75 80 85 90 4 16 64 256 N 1024 4096 16384 65536 L

All USRPS fulll datasheet value

13

C ONCLUSIONS
Tone test for IQ imbalance Low-complexity and (almost statistically) efcient Same LS-problem solved as by seven-parameter t (P.M. Ramos) KTH USRPs 3 out 4 USRPs have performance according to the data-sheet Outlier performance isolated to one FLEXRF1800 Efcient LO leakage compensation (enabled as default) Estimator properties N = 64 sufcient for G (0.1 dB) and Q (0.5 deg) N = 64 L spread 40 dB and bias 15 dB! N = 16k needed for L within a couple of dBs
14

S-ar putea să vă placă și