High Speed Digital Quadrature Modem for Digital Radiosalumni.cs.ucr.edu/~amitra/modem.pdf ·...

Post on 23-Mar-2020

7 views 0 download

Transcript of High Speed Digital Quadrature Modem for Digital Radiosalumni.cs.ucr.edu/~amitra/modem.pdf ·...

AllAll--Digital Quadrature Modem Digital Quadrature Modem for High Speed Wireless for High Speed Wireless

CommunicationsCommunications

Abhishek Mitra 19991003Abhishek Mitra 19991003IIIT AllahabadIIIT Allahabad

2727thth Jan 2003 to 22Jan 2003 to 22ndnd May 2003May 2003

Under guidance of

Mr. Vishwajit Mitra

HFCL R&D

ReferencesReferences

§§ A VLSI Architecture for a HighA VLSI Architecture for a High--Speed AllSpeed All--Digital Digital Quadrature Modulator and Demodulator for Digital Quadrature Modulator and Demodulator for Digital Radio Applications. ”Henry Radio Applications. ”Henry SamueliSamueli and Bennett and Bennett C. Wong”, IEEE Journal on Selected Areas in C. Wong”, IEEE Journal on Selected Areas in Communications, Vol8, No 8, October ‘90Communications, Vol8, No 8, October ‘90§§ A BPSK / QPSK Timing A BPSK / QPSK Timing –– Error Detector for Error Detector for

Sampled Receivers. “Floyd M Gardner”, IEEE Sampled Receivers. “Floyd M Gardner”, IEEE Transactions on Communications, Vol. COMTransactions on Communications, Vol. COM--34, 34, No 5, May ‘86 No 5, May ‘86 §§ A survey of CORDIC algorithms for FPGA based A survey of CORDIC algorithms for FPGA based

computers. “Ray computers. “Ray AndrakaAndraka”, FPGA 98, Monterey, ”, FPGA 98, Monterey, CA, USACA, USA

ModemModem

–– QPSK (Quadrature Phase Shift Keying)QPSK (Quadrature Phase Shift Keying)–– 10MHz Data rate10MHz Data rate–– IF at 10MHzIF at 10MHz–– UptoUpto 40MHz Data rate40MHz Data rate–– Reconfigurable Devices (FPGA)Reconfigurable Devices (FPGA)–– Digital FilteringDigital Filtering–– Digital Modulation and DemodulationDigital Modulation and Demodulation–– Applications: Point to Point W/Less Links and Satellite Applications: Point to Point W/Less Links and Satellite

Communications.Communications.

QPSK ModulationQPSK Modulation

Input (I ) Mixer (Q) Mixer Sum Sum (solved) 00

ctωsin−

ctωcos−

ctct ωω cossin

)135sin( °−ctω

01

ctωsin−

ctωcos ctct ωω cossin +

)135sin( °+ctω

10

ctωsin

ctωcos−

ctct ωω cossin − )45sin( °−ctω

11 ctωsin

ctωcos ctct ωω cossin + )45sin( °+ctω

Waveform Sample Tn Sample

Tn+1 Sample Tn+2

Sample Tn+3

Sine (Q) Cosine (I)

0 1

1 0

0 -1

-1 0

ModulatorModulator

§§ 32 bit RRC filtering32 bit RRC filtering§§ IF at 10MHzIF at 10MHz§§ Analog LPF with B/W 13MHzAnalog LPF with B/W 13MHz§§ 10bit precision digital output10bit precision digital output§§ Parallel multiplication (LUT based)Parallel multiplication (LUT based)§§ When I carrier is sampled ‘1’ or ‘When I carrier is sampled ‘1’ or ‘--1’, the Q carrier 1’, the Q carrier

is sampled ‘0’ which means at any sampling is sampled ‘0’ which means at any sampling instant we need to process only one of the carrier. instant we need to process only one of the carrier. §§ PRBS Generator used to generate Random PRBS Generator used to generate Random

SequenceSequence

ModulatorModulator k=0,1,2,3,4,5,6,7,8

Block Diagram (Modulator Section)

h4k

h4k + 1

-h4k +2

-h4k +3

Idata

Qdata

Clk 4X

4 – To – 1 Multiplexer

D / A Converter

IF Output

Gain Block

PtoSConverter

Digital FilterDigital Filter§§ Root Raised Cosine (Low Pass)Root Raised Cosine (Low Pass)§§ Avoids ISIAvoids ISI§§ Digital Filter Coefficients:Digital Filter Coefficients:

7 4 7 4 --7 7 --16 16 --12 9 33 38 8 12 9 33 38 8 --48 48 --93 93 --77 27 203 390 511 77 27 203 390 511 511 390 203 27 511 390 203 27 --77 77 --94 94 --48 8 38 33 9 48 8 38 33 9 --12 12 --16 16 --7 4 77 4 7§§ Transmit filter has to meet the following specifications:Transmit filter has to meet the following specifications:§§ Operating FrequencyOperating Frequency : : 10 MHz.10 MHz.§§ No. of TapsNo. of Taps :: 3232§§ Roll of factor Roll of factor ?? : : 0.30.3§§ Pass band BandwidthPass band Bandwidth :: 13 MHz13 MHz

Impulse Response Frequency Response

TxTx Sub FilterSub Filterh0 h3 h7 h11 h15 h19 h23 h27

Dn+7 dn+6 dn+5 dn+4 dn+3 dn+2 dn+1 dn

H0*Dn+7 h3*dn+6 h7*dn+5 h11*dn+4 h15*dn+3 h19*dn+2 h23*dn+1 h27*dn

To normalizer and DAC

10

-1,1

13

Transmit SpectrumTransmit Spectrum

Simulated, 10 MHz Actual, 10MHz

DemodulatorDemodulator

§§ 10MHz IF, sampling rate = 40MHz10MHz IF, sampling rate = 40MHz§§ 32 bit RRC Filter32 bit RRC Filter§§ 16bit I,Q rail 16bit I,Q rail subfilterssubfilters, clocked at 20MHz, clocked at 20MHz§§ Automatic Gain ControlAutomatic Gain Control§§ Demodulation = DeDemodulation = De--Multiplexing and Inversion Multiplexing and Inversion

ControlControl§§ Timing RecoveryTiming Recovery§§ Carrier RecoverCarrier Recover§§ CMA EqualizerCMA Equalizer

Demodulator Block DiagramDemodulator Block Diagram

h=0,1,2…,15 Receiver Block Diagram

ADC

VCXO

1 – To -2 De- Multiplexor

RRC h2k

RRC h2k

Gardner Algo

Analog Filter

Clock Recovery

AGC & Carrier Recovery

CMA Adaptive Equalizer

Slicer

Error Calculation

Error

Digital IF at Baud Rate

Fs=4*Baud

I Rail

Q Rail

Rx Sub Filter (pipelined)Rx Sub Filter (pipelined)H0 h2 h4 h6 h8 h10 h12 h14 h16 h18 h20 h22 h24 h26 h28 h30

D15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0

10

10

D15*h0 d14*h2 d13*h4 d12*h6 d11*h8 d10*h10 d9*h12 d8*h14 d7*h16 d6*h18 d5*h20 d4*h22 d3*h24 d2*h26 d1*h28 d0*h30

20

To normalizer and further subsystems10

AmbiguitiesAmbiguities

§§ Clock AmbiguityClock Ambiguity§§ Carrier AmbiguityCarrier Ambiguity§§ Polarity AmbiguityPolarity Ambiguity§§ I / Q Channel AmbiguityI / Q Channel Ambiguity§§ ResolvingResolving

Clock RecoveryClock RecoveryCarrier Recovery / Carrier Recovery / DerotationDerotationDifferential EncodingDifferential EncodingInternal Channel SelectorInternal Channel Selector

Clock RecoveryClock Recovery

§§ Garderner’sGarderner’s Zero Crossing DetectorZero Crossing Detector§§ e(ne(n) = I(n) = I(n--1/2)[I(n) 1/2)[I(n) –– I(nI(n--1)] + Q(n1)] + Q(n--1/2) [1/2) [Q(nQ(n) ) –– Q(nQ(n--1)]1)]

§§ Error = Sum of both I and Q channels Error = Sum of both I and Q channels §§ 10 bit digital error output converted to 10 bit digital error output converted to

analoganalog§§ Error signal is used to control the VCXOError signal is used to control the VCXO

Carrier RecoveryCarrier Recovery

§§ Carrier ambiguities result in a rotating constellationCarrier ambiguities result in a rotating constellation§§ DeDe--rotation is neededrotation is needed§§ Using CORDIC algorithms (iterative algorithm for Using CORDIC algorithms (iterative algorithm for

coordinate rotation)coordinate rotation)§ If the rotation angle is limited to tan( 2-i) then

multiplication by tangent term becomes a shift operation.

§ The final equation results in

]tan[cos']tan[cos'

φφφφ

XYYYXX

+=−=

2..[1 diYiXiKiXi −=+ -i]

2..[1 diXiYiKiYi +=+ -i]

Carrier RecoveryCarrier Recovery

Before After

CMA EqualizerCMA Equalizer

§§ Iterative Algorithm, Step size = 2Iterative Algorithm, Step size = 2§§ The algorithm fits the constellation points to The algorithm fits the constellation points to

a circle of constant magnitude.a circle of constant magnitude.§§ Dependent on the accuracy of the AGCDependent on the accuracy of the AGC§§ Decision directed algorithmDecision directed algorithm§§ C=C=C+cmaerrorC+cmaerror§§ CmaCma error = (Radius CMA)^2 error = (Radius CMA)^2 –– (Radius C)^2(Radius C)^2

FPGAFPGA

§§ Reprogrammable Digital HardwareReprogrammable Digital Hardware§§ Extremely Customizable and parallel executionExtremely Customizable and parallel execution§§ Very fast speed (150 MHz)Very fast speed (150 MHz)§§ Very low design turnaround timeVery low design turnaround time§§ Simulation / Synthesis ToolsSimulation / Synthesis Tools§§ Testing, Debugging, and ImplementationTesting, Debugging, and Implementation§§ XC 2S 200 (200 K system gates)XC 2S 200 (200 K system gates)§§ XC 2V 1500 (1.5 M system gates)XC 2V 1500 (1.5 M system gates)

ImplementationImplementation

§§ Quadrature Modulator (Tested)Quadrature Modulator (Tested)§§ Quadrature Demodulator (Tested)Quadrature Demodulator (Tested)§§ PRBS generator (24 bit Maximal Length)PRBS generator (24 bit Maximal Length)§§ Digital FiltersDigital Filters

Parallel Execution (Parallel Execution (TxTx) (Tested)) (Tested)Pipelined Execution (Rx) (Tested)Pipelined Execution (Rx) (Tested)§§ Timing Recovery (Tested)Timing Recovery (Tested)§§ Carrier Recovery (Under Test)Carrier Recovery (Under Test)§§ CMA Equalizer (Under Test)CMA Equalizer (Under Test)

Test BenchTest Bench

§§ Spectrum AnalyzerSpectrum Analyzer§§ OscilloscopeOscilloscope§§ Personal Computer Personal Computer §§ Xilinx ISEXilinx ISE§§ ModelSimModelSim SimulatorSimulator§§ MATLABMATLAB§§ Modulator BoardModulator Board§§ Demodulator BoardDemodulator Board

Test SetupTest Setup

FPGASPARTAN 2 DAC Gain

Up Mixer

IF

10Digital Data

IF

Osc.

I/Q

Filter, Modulator

TransmitterTransmitter

ReceiverReceiver

FPGAVIRTEX 2

Digital Data

MixerIF

Osc.

IF

AGC ADC

I/Q

Demodulator,Filter,

AGC,

Carrier Recovery

Clock Recovery

CMA Equalizer

Clock RecoveryClock Recovery

VCXO

Clock Out

Filter

DAC10 Error

From FPGA