USRP RF calibration utilities and impairments correction techniques - - PowerPoint PPT Presentation

usrp rf calibration utilities and impairments correction
SMART_READER_LITE
LIVE PREVIEW

USRP RF calibration utilities and impairments correction techniques - - PowerPoint PPT Presentation

USRP RF calibration utilities and impairments correction techniques Josh Blum - @ Ettus Research Let us discuss: Filter response IQ imbalance DC level Calibration utilities Two stage tuning RX and TX DSP chain config


slide-1
SLIDE 1

USRP RF calibration utilities and impairments correction techniques

Josh Blum

  • @ Ettus Research
slide-2
SLIDE 2

Let us discuss:

  • Filter response
  • IQ imbalance
  • DC level
  • Calibration utilities
  • Two stage tuning
slide-3
SLIDE 3

RX and TX DSP chain config

  • Decimation = FPGA DSP rate/sample rate
  • Rate determines bypassing...

CIC HB0 HB1 ADC frontend corrections CORDIC

  • Decimation % 2 = 1 → 0 HB, CIC only
  • Decimation % 2 = 0 → 1 HB in chain
  • Decimation % 4 = 0 → 2 HB in chain
  • Interpolation = FPGA DSP rate/sample rate
  • Rate determines bypassing...

CIC HB0 HB1 DAC frontend corrections CORDIC

  • Interpolation % 2 = 1 → 0 HB, CIC only
  • Interpolation % 2 = 0 → 1 HB in chain
  • Interpolation % 4 = 0 → 2 HB in chain
slide-4
SLIDE 4

Filter Response

CIC HB Fs/2 Fs/2

  • 3dB
  • 3dB
slide-5
SLIDE 5

IQ Imbalance distortion

  • Magnitude imbalance caused by...

Mismatch in amplitude between I and Q

  • Phase imbalance caused by...

90 degrees + epsilon phase between I and Q mixer

Possible filter group delay mismatch

  • See Matt's Impairments Presentation for more...

Two types of imbalance: magnitude and phase

slide-6
SLIDE 6

IQ Imbalance and correction

I in Q in X X + + Q out I out IQ imbalance – single test tone

A linear correction for the imbalance

slide-7
SLIDE 7

DC level distortion

  • Some DC level at the mixer, causes...

– LO in the spectrum, (darn)

  • See Matt's Impairments Presentation for more...
slide-8
SLIDE 8

TX DC level correction

TX-I in TX-I out

Simple constant subtraction for I and Q

dc_lvl_i

  • TX-Q in

TX-Q out dc_lvl_q

slide-9
SLIDE 9

RX DC level correction

  • No self calibration utility

– Tune the frontend – Accumulator settles – Freeze the accumulator

  • Other options

– Disable the accumulator – Accumulator always runs – User value for accumulator

RX in Avg

  • RX out

void set_auto_dc_offset( const bool enb, size_t chan = 0) void set_dc_offset( const std::complex<double> &offset, size_t chan = 0)

slide-10
SLIDE 10

The calibration utilities

http://files.ettus.com/uhd_docs/manual/html/calibration.html

  • The cal utilities use leakage on a transceiver daughter-board to

perform self-calibration

  • The following utilities sweep across frequency:

– Calibrate for RX IQ imbalance – Calibrate for TX IQ imbalance – Calibrate for TX DC level

  • Calibration saved in a csv and loaded at runtime
slide-11
SLIDE 11

Using an IF to mitigate distortions

RF Mixer CORDIC lo_off + epsilon freq - lo_off samples Ant

Tuning with an LO offset example: tr = uhd.tune_request(freq, lo_off) usrp.set_center_freq(tr) Put that tune request right into GRC!

http://files.ettus.com/uhd_docs/manual/html/general.html

Epsilon is a small error in frontend frequency approximation of target frequency

slide-12
SLIDE 12

Disadvantages to IF

  • Bandwidth issues

– How far can the CORDIC tune? dsp_rate/2 – bw/2 – How much analog baseband bandwidth?

  • Transmitting out of band distortions

– Calibration utils can still help here! – Mitigate w/ external frontend filters

slide-13
SLIDE 13

FIN

  • Conclusions

– Impairments happen, but... – Multiple ways to mitigate

  • Questions?