MartinBraun_GNURadio_OFDM

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

The OFDM Receiver
Waits for packet detection “High” signal at the trigger input denotes start of packet Tags can also denote start of packet
The OFDM Transmitter
Carrier allocator: Distributes symbols in time and frequency, adds pilot symbols and headers
The OFDM Transmitter
Carrier allocator: Distributes symbols in time and frequency, adds pilot symbols and headers Cyclic prefixer: Includes rolloff
Outline
1 What is OFDM? 2 Tagged Stream Blocks 3 GNU Radio OFDM Codes 4 The OFDM Transmitter 5 The OFDM Receiver 6 Going over the air
gr tagged stream blocks
CRC block: Output is always 4 bytes longer than input
The OFDM Transmitter
CRC block: Output is always 4 bytes longer than input Packet header generator: Evaluates payload and metadata to generate custom payload
The OFDM Transmitter
Symbol mappers: Regular blocks None of the code after the mappers cares about the actual complex values (enforce boundaries!)
The OFDM Transmitter
Part I – OFDM PHYs
What is OFDM? How can we build OFDM-based PHY layers in GNU Radio?
Outline
1 What is OFDM? 2 Tagged Stream Blocks 3 GNU Radio OFDM Codes 4 The OFDM Transmitter 5 The OFDM Receiver 6 Going over the air
Anatomy of an OFDM signal
Complex modulations symbols (BPSK, QPSK, . . . )
OFDM symbols: Set of complex modulation symbols transmitted at once
Subcarriers: Discrete frequencies on which data are transmitted
Channel estimator / equalizer: Reverse the effects of the radio channel
The OFDM Receiver
Channel estimator / equalizer: Reverse the effects of the radio channel Header parser: Uses the same object as the header generator Passes information to the HPD as an asynchronous message (“feedback”)
Outline
1 What is OFDM? 2 Tagged Stream Blocks 3 GNU Radio OFDM Codes 4 The OFDM Transmitter 5 The OFDM Receiver 6 Going over the air
The OFDM Transmitter
How can we find a packet, decode its header and then act depending on the configuration?
Waits for packet detection “High” signal at the trigger input denotes start of packet Tags can also denote start of packet
Pipe header to first sub-flow graph Wait for decoding, use header info to determine length of payload Pipe payload to second sub-flowgraph
The OFDM Receiver
The OFDM Transmitter
CRC block: Output is always 4 bytes longer than input Packet header generator: Evaluates payload and metadata to generate custom payload Bit repacker: Prepare for modulation, handles odd numbers of bits
GNU Radio OFDM Codes
Disclaimer: There are two versions of OFDM codes in GNU Radio All of this depends on the new codes! Where to start:
gr-digital/examples/ofdm/*.grc “OFDM Transmitter” and “OFDM Receiver” hierarchical blocks In Python: digital.ofdm rx and digital.ofdm tx Many recent developments have gone into this (tags, message passing, tagged stream blocks. . . )
Frame: Set of OFDM symbols
Header: Carries info on frame, helps synchronization. . .
Pilot symbols: Special symbols, known a-priori
f fN −1 cN −1,0
∆f f1 c0,1
CRC32 OFDM-Frame operations More to follow
Outline
1 What is OFDM? 2 Tagged Stream Blocks 3 GNU Radio OFDM Codes 4 The OFDM Transmitter 5 The OFDM Receiver 6 Going over the air
f0 c0,0
c0,1
T
TG
TO
... ... ... ... ... ... ...
cN −1,M −1
c1,M −1 c0,M −1
t
An OFDM transmitter
Discrete- Complex time symbols
domain
Analog domain
...
0 0
IFFT
0
百度文库
Cyclic prefix adder
D/A Converter
Centre frequency
Lowpas s filter
Efficient sub-carrier modulation via IFFT (creates baseband signal) Cyclic prefix: Creates space between OFDM symbols . . . so how do we make on of these in GNU Radio? No states!
OFDM Packet Receivers in GNU Radio
Martin Braun (Ettus Research / GNU Radio)
FOSDEM 2014
Introduction
Who is this guy: mbr0wn GNU Radio contributor since 2008 KIT graduate Now full-time SDR developer for Ettus Resarch LLC
What is OFDM?
Orthogonal Frequency Division Multiplexing: Transmit many narrow-band signals in parallel on orthogonal frequencies “Good way to transport lots of digital data over the air” Used in many standards (LTE, Wifi, DVB, DAB, . . . )
Outline
1 What is OFDM? 2 Tagged Stream Blocks 3 GNU Radio OFDM Codes 4 The OFDM Transmitter 5 The OFDM Receiver 6 Going over the air
The OFDM Receiver
OFDM – Wishlist
Fully configurable frame configuration (pilot tones, occupied carriers. . . )
Can we reconfigure the whole thing to do 802.11a and DAB? Any part of the flow graph should be exchangeable . . . and individually useful
Part I – OFDM PHY Development
1 What is OFDM? 2 Tagged Stream Blocks 3 GNU Radio OFDM Codes 4 The OFDM Transmitter 5 The OFDM Receiver 6 Going over the air
Pilot allocation
Pilot symbols: Known symbols to aid the receiver
Pilot symbols can be allocated in any manner “Wifi-style:” ( (1, 5), ) “DRM-style:” ( (1, 5), (), (2, 6), (), ...) Constant header can be injected
Handle stream boundaries Input-driven Uses tags Not really the same category as sync, decimator, interpolator Tag on the first item defines packet length Examples:
Symbol mappers: Regular blocks None of the code after the mappers cares about the actual complex values (enforce boundaries!) Multiplexer: Respects tag positions and boundaries
相关文档
最新文档