say, ofdm – you’re looking fantastic these days · ofdm rx implementation walkthrough channel...

26
Communications Engineering Lab Say, OFDM – You’re looking fantastic these days GNU Radio Conference, 2013, Boston Martin Braun | 2.10.2013 KIT – Universit¨ at des Landes Baden-W ¨ urttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Upload: others

Post on 08-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

Communications Engineering Lab

Say, OFDM – You’re looking fantastic these daysGNU Radio Conference, 2013, Boston

Martin Braun | 2.10.2013

KIT – Universitat des Landes Baden-Wurttemberg und

nationales Forschungszentrum in der Helmholtz-Gemeinschaft

www.kit.edu

Page 2: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

Before I start. . .

. . . a word on rx ofdm.grc.

Is it the new tunnel.py?

It looks nice

Was never intended forproductive use

2 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 3: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

New OFDM codes

Last 3.6 and 3.7 releases camewith new OFDM codesWhat was wrong with the oldones?

Hard to reconfigureConvoluted flow graphsDidn’t match up with intuitionon how GNU Radio appsshould work

. . . but they were like that for areason!

3 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 4: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

More than OFDM blocks was needed. . .

Message passing

Python Blocks

Tagged streamblocks

Message

passingTagged

Streams

Python Blocks

OFDM Stuff

4 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 5: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM – Wishlist

Fully configurable frame configuration (pilot tones, occupiedcarriers. . . )

Can we reconfigure the whole thing to do 802.11a and DAB?

Any part of the flow graph should be exchangeable

. . . and individually useful

Scopes, file sinks etc. can be inserted anywhere

Headers are created dynamically, different modulation than payload

5 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 6: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Tx Implementation Walkthrough

The very first block is already causing problems!

It’s kind of a sync block. . . but needs to be basic block

Perhaps we need a new block type?

6 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 7: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Tx Implementation Walkthrough

The very first block is already causing problems!

It’s kind of a sync block. . . but needs to be basic block

Perhaps we need a new block type?

6 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 8: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

gr tagged stream blocks

Handle stream boundaries(“Dynamic Vector Lengths”)

Input-driven

Uses tags

Not really the same category assync, decimator, interpolator

Tag on the first item definespacket lengthExamples:

CRC32Most OFDM stuffFEC

7 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 9: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

Example: Packet Header Generator

Extremely simple work function

Irregular packet size is handled automatically (no consume()

necessary)

8 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 10: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Tx Implementation Walkthrough

Packet Header Generator: Packet Header is defined by a packetheader generator class

Bit Repacker: Also tagged stream block

9 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 11: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Tx Implementation Walkthrough

Packet Header Generator: Packet Header is defined by a packetheader generator class

Bit Repacker: Also tagged stream block

9 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 12: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Tx Implementation Walkthrough

BPSK / QPSK Modulators: Plain old blocks

Tagged Stream Mux: Does what it promises

10 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 13: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Tx Implementation Walkthrough

BPSK / QPSK Modulators: Plain old blocks

Tagged Stream Mux: Does what it promises

10 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 14: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Tx Implementation Walkthrough

Carrier Allocator: Distributes data and pilot symbols

Cyclic Prefixer: Prefixes cyclically, also performs pulse shaping

11 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 15: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Tx Implementation Walkthrough

Carrier Allocator: Distributes data and pilot symbols

Cyclic Prefixer: Prefixes cyclically, also performs pulse shaping

11 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 16: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

Carrier Mapping

Every OFDM symbol of a frame can be individually allocated

Pilot symbols can be mapped anywhere inside the frame

From the docs:

occupied carriers = ((-2, -1, 1, 3), (-3, -1, 1, 2))

pilot carriers = ((-3, 2), (-2, 3))

pilot symbols = ((-1, 1j), (1, -1j), (-1, 1j), (-1j, 1))

12 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 17: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Rx Implementation Walkthrough

Synchronization & Detection: Just regular blocks

Header/Payload Demuxer: Converts infinite streams into taggedstreams of correct length

13 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 18: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Rx Implementation Walkthrough

Synchronization & Detection: Just regular blocks

Header/Payload Demuxer: Converts infinite streams into taggedstreams of correct length

13 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 19: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Rx Implementation Walkthrough

Channel Estimator: Outputs channel coefficients and coarsefrequency offset

Frame Equalizer: Uses ofdm frame equalizer objects for actualequalizing

Serializer: Inverse operation to carrier allocator

Packet Header Parser: Sends a message to the HPD with details onthe packet (feedback loop!)

14 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 20: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Rx Implementation Walkthrough

Channel Estimator: Outputs channel coefficients and coarsefrequency offset

Frame Equalizer: Uses ofdm frame equalizer objects for actualequalizing

Serializer: Inverse operation to carrier allocator

Packet Header Parser: Sends a message to the HPD with details onthe packet (feedback loop!)

14 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 21: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Rx Implementation Walkthrough

Channel Estimator: Outputs channel coefficients and coarsefrequency offset

Frame Equalizer: Uses ofdm frame equalizer objects for actualequalizing

Serializer: Inverse operation to carrier allocator

Packet Header Parser: Sends a message to the HPD with details onthe packet (feedback loop!)

14 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 22: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Rx Implementation Walkthrough

Channel Estimator: Outputs channel coefficients and coarsefrequency offset

Frame Equalizer: Uses ofdm frame equalizer objects for actualequalizing

Serializer: Inverse operation to carrier allocator

Packet Header Parser: Sends a message to the HPD with details onthe packet (feedback loop!)

14 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 23: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

OFDM Rx Implementation Walkthrough

Payload demodulation: Basically same blocks as headerdemodulation (but different params)

All info from header demod is passed through tags

15 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 24: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

benchmark ofdm.py

Currently under dev

Benchmarking / Debugging tool

Sophisticated debugging blocks (outside the scope of the regularinstrumentation blocks)

16 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 25: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

benchmark ofdm.py

17 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL

Page 26: Say, OFDM – You’re looking fantastic these days · OFDM Rx Implementation Walkthrough Channel Estimator: Outputs channel coefficients and coarse frequency offset Frame Equalizer:

Closing remarks

Actually tx’ing OFDM is iffy

Distortions will destroy your signal

The encoding is not very robust

18 2.10.2013 OFDMMartin Braun

Communications Engineering LabProf. Dr.rer.nat. Friedrich K. Jondral CELCEL