Radio Reciever Mixer Model for Event Driven Simulators to support - - PowerPoint PPT Presentation

radio reciever mixer model for event driven simulators to
SMART_READER_LITE
LIVE PREVIEW

Radio Reciever Mixer Model for Event Driven Simulators to support - - PowerPoint PPT Presentation

www.qualcomm.com/qct Radio Reciever Mixer Model for Event Driven Simulators to support Functional Verification of RF-SOC Wireless Links Jonathan David, SMIEEE, Sr Staff Engr, Qualcomm IEEE BMAS 2010 PAGE 1 Agenda Background and


slide-1
SLIDE 1

PAGE 1

www.qualcomm.com/qct

Radio Reciever Mixer Model for Event Driven Simulators to support Functional Verification of RF-SOC Wireless Links

Jonathan David, SMIEEE, Sr Staff Engr, Qualcomm

IEEE BMAS 2010

slide-2
SLIDE 2

PAGE 2

Agenda

  • Background and Motivation
  • Mixer theory
  • Ugly Math
  • Pretty result
  • Model code
  • Test code
  • Results
slide-3
SLIDE 3

PAGE 3

Drivers for Consumer Device IC’s

  • Wires – Weight – Wallet
  • Consumers like Simplicity,

– Convenience, Affordability

  • Cables
  • Power Outlet
  • Batteries
  • Wireless connectivity is improvement.
  • If LOW power and LOW cost.
  • Lower Power -> more digital & simpler analog[Horowitz] -> smaller process

nodes

  • Lower Cost -> more integration
  • More Digital More Integration -> More risk of respin for functional failure
  • RF functional verification is key enabler to success.
slide-4
SLIDE 4

PAGE 4

Block Diagram of Generic Wireless tranciever

  • Using real number modeling – models for all blocks are fairly

straightforward except the RX mixer.

  • RF I & Q values must be rotated to BB I & Q values based on phase difference

between Carrier and Local Oscillator. BB PROC DAC DAC DAC ADC FILT FILT RF SYNTH PA LNA Digital Analog RF To/From T/R SW & Ant. I, Q, Fc FLO I, Q, Fc FLO I,Q I,Q

slide-5
SLIDE 5

PAGE 5

Representing RF signals

) sin( ) ( ) cos( ) ( } )] ( ) ( {[ t t Q t t I S e t jQ t I re S

RF t j RF

ω ω

ω

− = + =

  • I, Q, f [ = ω/2π] are sufficient to represent most RF signals.
  • FM: I = signal Ampl Q = 0, variation in f carries signal information
  • AM: I = signal, Q = 0, f is carrier frequency
  • QAM: I & Q carry Baseband signal, f is channel frequency.
  • System Level simulations (Matlab)
  • assume fixed frequency,
  • use complex number for I & Q.
  • Assumption doesn’t hold for functional verification.
slide-6
SLIDE 6

PAGE 6

Mixer Theory

  • “At the core of all mixers presently in use is a multiplication of two signals

in the time domain. The fundamental usefulness of multiplication may be understood from examination of the following trigonometric identity: ”

  • Tom Lee [15]

] ) cos( ) [cos( 2 ) cos )( cos (

2 1 2 1 2 1

t t AB t B t A ω ω ω ω ω ω + + − =

slide-7
SLIDE 7

PAGE 7

The Ugly Math – Quadrature mixer

∫ ∫

= =

t t

dt dt t ω ω ω

∫ ∫

= =

t t

Fdt dt 2π ω φ

)] cos( ) [cos( 2 ) )(cos cos (

1 LO RF LO RF LO RF

A A φ φ φ φ φ φ + + − =

2: This makes our Mixer Equation:

) cos( ) cos( ) sin( ) sin( ) sin( ) sin( ) cos( ) cos( 2 2 ) sin )( sin cos ( 2 2 ) )(cos sin cos ( &

22 21 12 11 22 21 12 11

φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ Σ − ∆ = ′ Σ + ∆ − = ′ Σ + ∆ = ′ Σ + ∆ = ′ ′ + ′ − = − − ′ − ′ = − + = Σ − = ∆ M M M M M Q M I Q I M Q M I Q I

LO RF RF LO RF RF LO RF LO RF

1: Get an instantaneous value for frequency(phase) 3: define a few other terms )] [cos( 2 )] [sin( 2 )] [sin( 2 )] [cos( 2 φ φ φ φ ∆ + ∆ = ∆ − ∆ = Q I Q Q I I

REC REC

4: Dropping the summing terms due to filtering Our Quadrature receiver gives us two output signals:

slide-8
SLIDE 8

PAGE 8

The Pretty Result

  • The mixer model only needs to know the

Difference in the phase between the RF Frequecy and LO frequency to calculate the Baseband output of the mixer.

  • Since integration is linear, the difference

in phase can be calculated by integrating the difference in frequency.

[ ] [ ]

) sin( ) ( ) cos( ) ( ) sin( ) ( ) cos( ) (

2 2 π π

φ φ φ φ − ∆ − − ∆ = ∆ − ∆ = t Q t I G R t Q t I G R

Q Q I I

Φrf Φi Φq

Flo<Frf Flo>Frf ΔΦ

slide-9
SLIDE 9

PAGE 12

Model Code – Integration to get deltaPhi

a l wa ys a l wa ys @ ( LOi n_Fr e q_i nph, RXi n_f r e q, RXi n_I i nph, RFi n_I qua d) be gi n / / upda t e e ve nt s #0 dt = ( $r e a l t i m e r e a l t i m e - t i m e _l a s t ) *1e 1e - 9; / / t i m es c a l e i s i n ns i f i f ( dt > 0. 0) be g be gi n i n / / upda t e onl y i f t i m e has m

  • ve d

/ / - i nt e gr a t e De l t a F t o ge t De l t a Pha s e De l t aPhi = De l t a Phi + ( RXi n_f r e q_l a s t

  • LOi n_Fr e q_i nph_l a s t ) *dt *t wo_pi ;

/ / us e Pr i or val ue s unt i l ne xt de l t a t i m e Nde l t = De l t aPhi / t wo_pi ; / / ge t 2*pi uni t s De l t aPhi = De l t a Phi

  • Nde l t *t wo_pi ; / / s ubt r a ct t he m

e nd e nd RXi n_f r e q_l a s t = RXi n_f r e q; / / upda t e t he hi s t or y va r s LOi n_Fr e q_i nph_l as t = LOi n_Fr e q_i nph; t i m e _l as t = $r e a l t r e a l t i m e i m e ;

slide-10
SLIDE 10

PAGE 13

Model Code – core equations

/ / m a t r i x f a c t or s M 11 = $qc _c os qc _c os ( De l t aPhi ) *Ef f _ga i n; M 12 = - 1. 0 * $qc _s i qc _s i n( De l t a Phi ) *Ef f _ga i n; M 21 = s i gnQ * $qc _ qc _s i s i n( De l t aPhi ) *Ef f _ga i n; M 22 = s i gnQ * $qc _ qc _c o c os ( De l t aPhi ) *Ef f _ga i n; BB_I _I out = M 11 * RXi n_I i nph + M 12 * RFi n_I qua d; BB_Q_I out = M 21 * RXi n_I i nph + M 22 * RFi n_I qua d; e nd e nd e ndm

  • dul

e ndm

  • dul e
slide-11
SLIDE 11

PAGE 14

Testing the model – 10 cases

TestID Description Frf Flo Fbb LO IleadsQ Gain 1 "Frf = Flo" 2.4G 2.4G 2M T 3dB 2 "Frf < Flo" 2.4G 2.4005G 2M T 3dB 3 "Frf << Flo" 2.4G 2.404G 2M T 3dB 4 "Frf > Flo" 2.4005G 2.4G 2M T 3dB 5 "Frf >> Flo" 2.402G 2.4G 2M T 3dB 6 "Frf = -Flo" 2.4G 2.4G 2M F 3dB 7 "Frf < -Flo" 2.4G 2.4005G 2M F 3dB 8 "Frf << -Flo" 2.4G 2.404G 2M F 3dB 9 "Frf > -Flo" 2.4005G 2.4G 2M F 3dB 10 "Frf >> -Flo" 2.402G 2.4G 2M F 3dB

slide-12
SLIDE 12

PAGE 15

Testing the model - expected results

Fe xpe c t = $qc _a bs ( Fr f + Fbb - Fl o) ; I l e a ds Qe xpe c t = LO_I l e a ds Q ~^ ( Fr f + Fbb > Fl o) ; BB_I f r e q = RX_BBM

  • n. xI Fr e q;

BB_Qf r e q = RX_BBM

  • n. xQFr e q;

I QPha s i ng = RX_BBM

  • n. I _l e a ds _Q;

Fr om BBm

  • nI = RX_BBM
  • n. xI Pe a kAc ;

Fr om BBm

  • nQ = RX_BBM
  • n. xQPe a kAc ;

Pe a kI nput = RXs r c . pe a k; Ra di us = $qc _s qr t ( Fr om BBm

  • nI *Fr om

BBm

  • nI +

Fr om BBm

  • nQ*Fr om

BBm

  • nQ) ;

i f ( Pe a kI nput >0. 0) be gi n Ac t ua l Ga i n = ( 20. 0) *$qc _l og10( Ra di us / Pe a kI nput ) ; / / Ga i n i n dB. Ga i nOK = ( $qc _a bs ( Ac t ua l Ga i n - RxGa i n[ Te s t I D] ) <2. 0) ; e nd

slide-13
SLIDE 13

PAGE 16

Testing the model – Did we pass (Verilog)

t e s t pa s s e d = ( I l e a ds Qe xpe c t === RX_BBM

  • n. I _l e a ds _Q)

& & ( $qc _a bs ( BB_I f r e q - Fe xpe c t ) <2e 3) & & ( $qc _a bs ( BB_Qf r e q - Fe xpe c t ) <2e 3) & & Ga i nOK; $s t r obe ( " % s @ % t : RXTEST% 02d % s Ga i n: % g dB, Fr f : % g Hz , Fl o: % g LO: % s Hz , Fbb: % g Hz , BB: % s " , t e s t pa s s e d? " SPECI NFO" : " SPECFAI L" , $r e a l t i m e , Te s t I D, t e s t pa s s e d? " Pa s s e d : " : " Fa i l e d : " , Ac t ua l Ga i n, $qc _a bs ( Fr f ) , $qc _a bs ( Fl o) , LO_I l e a ds Q? " I l e a ds Q" : " Q l e a ds I " , $qc _a bs ( Fe xpe c t ) , I QPha s i ng? " I l e a ds Q" : " Q l e a ds I " ) ; i f ( ! t e s t pa s s e d) Qc As s e r t Fa i l I nc r e m e nt ;

slide-14
SLIDE 14

PAGE 17

Automated Test Results

SPECINFO @ 15388.000 ns: RXTEST01 Passed : Gain:3.00487 dB, Frf: 2.4e+09 Hz, Flo: 2.4e+09 LO:I leads Q Hz, Fbb: 2e+06 Hz, BB:I leads Q SPECINFO @ 33228.000 ns: RXTEST02 Passed : Gain:3.00867 dB, Frf: 2.4e+09 Hz, Flo: 2.4005e+09 LO:I leads Q Hz, Fbb: 1.5e+06 Hz, BB:I leads Q SPECINFO @ 47898.000 ns: RXTEST03 Passed : Gain:3.00355 dB, Frf: 2.4e+09 Hz, Flo: 2.404e+09 LO:I leads Q Hz, Fbb: 2e+06 Hz, BB:Q leads I SPECINFO @ 60648.000 ns: RXTEST04 Passed : Gain:2.99961 dB, Frf: 2.4005e+09 Hz, Flo: 2.4e+09 LO:I leads Q Hz, Fbb: 2.5e+06 Hz, BB:I leads Q SPECINFO @ 70528.000 ns: RXTEST05 Passed : Gain:2.98611 dB, Frf: 2.402e+09 Hz, Flo: 2.4e+09 LO:I leads Q Hz, Fbb: 4e+06 Hz, BB:I leads Q SPECINFO @ 85398.000 ns: RXTEST06 Passed : Gain:3.00598 dB, Frf: 2.4e+09 Hz, Flo: 2.4e+09 LO:Q leads I Hz, Fbb: 2e+06 Hz, BB:Q leads I SPECINFO @ 103228.00 ns: RXTEST07 Passed : Gain:3.00735 dB, Frf: 2.4e+09 Hz, Flo: 2.4005e+09 LO:Q leads I Hz, Fbb: 1.5e+06 Hz, BB:Q leads I SPECINFO @ 117908.00 ns: RXTEST08 Passed : Gain:3.00546 dB, Frf: 2.4e+09 Hz, Flo: 2.404e+09 LO:Q leads I Hz, Fbb: 2e+06 Hz, BB:I leads Q SPECINFO @ 130668.00 ns: RXTEST09 Passed : Gain:3.0074 dB, Frf: 2.4005e+09 Hz, Flo: 2.4e+09 LO:Q leads I Hz, Fbb: 2.5e+06 Hz, BB:Q leads I SPECINFO @ 140548.00 ns: RXTEST10 Passed : Gain:2.98868 dB, Frf: 2.402e+09 Hz, Flo: 2.4e+09 LO:Q leads I Hz, Fbb: 4e+06 Hz, BB:Q leads I

* * * ******** * ******* * ****** ** Si m ul a t i on PASSED

slide-15
SLIDE 15

PAGE 18

Example Waveforms Flo > Frf

slide-16
SLIDE 16

PAGE 19

Lissajou plot Flo < Frf

slide-17
SLIDE 17

PAGE 20

Summary

  • Passband model is conceptually simpler:
  • Single real value sampled at 8-20x RF carrier
  • Mixer is simple multiplication with approx sinusoid Quad LO signal.
  • followed by 3rd or 4th order discrete time IIR filter.
  • This model is approx 100x faster in simulation than Passband model
  • Inserting RF signal path in chip-chip simulations is only 2-3x longer run

times vs all digital signal path (with DAC->ADC channel model)

  • This Run time is acceptable given ability to check FULL functionality of Radio

control and data interfaces.