OFDM, Mobile Software Development Framework 9/27/2012 Y. Richard Yang 1
Admin. Homework 2 to be posted by Friday Start to think about project 2
Recap Inter-Symbol Interference (ISI) Handle band limit ISI Handle multipath ISI Viterbi problems: Its complexity grows exponentially with D (the number of multipaths taps relative to the symbol time) Q: how to reduce D? 3
OFDM: Basic Idea Uses multiple carriers modulation (MCM) each carrier (called a subcarrier) uses a low symbol rate for N parallel subcarriers, the symbol time can be N times longer spread symbols across multiple subcarriers also gains frequency diversity 4
Benefit of Symbol Rate on ISI 1 2 3 4 1 2 3 4 1 2 1 2 5
Multiple Carrier Modulation 6
Multiple Carrier Modulation (MCM): Problem Despite wave shaping, there can be leak from one subcarrier to another subcarrier i j Conventional design: guard bands to avoid interference among subcarriers Guard band wastes spectrum 7
Objective: Avoid subcarrier interference Interference of subcarrier i on subcarrier j i j Assume no pulse wave shaping, matched filter T sin(2π f i t +φ i )sin(2π f j t +φ j ) 0 = 1 2 T cos[2π ( f i f j )t +φ i φ j ]+ cos[2π ( f i + f j )t +φ i +φ j ) 0 Condition for the interference to be always 0? 8
Objective: Avoid subcarrier interference if integer number of cycles in [0, T] T cos[2π ft +φ]dt = 0 0 # cycles in T is T * f => T * f = integer 9
OFDM Key Idea: Orthogonal Subcarriers Each subcarrier frequency is chosen so that an integral number of cycles in a symbol period, i.e., subcarrier freq = k 1/T They do not need to have the same phase, so long integral number of cycles in symbol time T! 10
OFDM Modulation 11
Orthogonal Frequency Division Multiplexing OFDM allows overlapping subcarriers frequencies http://www1.linksys.com/products/images/ofdm.gif 802.11a 12
OFDM Implementation Take N symbols and place one symbol on each subcarrier (freq.) Freq 0 d 0 e j2π 0 f sc 0 d 0 e j2π 0 f scts d 0 e j2π 0 f sc 2Ts Freq N-1 d N 1 e j2π (N 1) f sc 0 d N 1 e j2π (N 1) f scts d N 1 e j2π (N 1) f sc 2Ts Q: complexity of the implementation strategy? 13
OFDM: Implementation Issue Hardware implementation can be expensive if we use one oscillator for each subcarrier Software implementation requires N multiplications per time output => N 2 multi. per N outputs Freq 0 d 0 e j2π 0 f sc 0 d 0 e j2π 0 f scts d 0 e j2π 0 f sc 2Ts Freq N-1 d N 1 e j2π (N 1) f sc 0 d N 1 e j2π (N 1) f scts d N 1 e j2π (N 1) f sc 2Ts 14
OFDM: Key Idea 2 out k = N 1 n=0 d n e j2π (nf sc )kts Assume N outputs per symbol time T, f sc =1/T out k = N 1 d n e j2π (nf sc )kts = d n e j2π (nf sc )k N = d n e j2π n=0 N 1 n=0 Consider data as coefficients in the frequency domain, use inverse Fourier transform to generate time-domain sequence T N 1 n=0 N 1 n=0 1 N nkf sct = d n e j2π 1 N nk 15
OFDM Implementation: FFT channel 16
OFDM Implementation Parallel data streams are used as inputs to an IFFT IFFT does multiplexing and modulation in one step! 17
Guard Interval: Removing ISI Orthogonal subcarriers remove intercarrier interference Slow symbol rate reduces inter-symbol interference, but may still have ISI 1 2 1 2 Basic idea of GI: skip the first part damaged signal More details: Chap. 13.1.4 Gast 18
OFDM Guard Interval http://www.dsplog.com/2008/02/17/cylcic-prefix-in-orthogonal-frequency-division-multiplexing/ 19
OFDM Implementation http://proquest.safaribooksonline.com/0596100523?tocview=true 20
OFDM in 802.11a Subcarrier frequency spacing 312.5KHz 1/312.5KHz = 3.2us 64 samples FFT 16 samples Guard Interval http://standards.ieee.org/ getieee802/download/ 802.11a-1999.pdf 21
Other Multipath Techniques There are other techniques to handle multipath such as Rake Receiver See backup slides for some details 22
Summary of PHY Transmitter: Receiver: Bits @2Mbps From MAC Samples @1.4Gbps From RF Scramble Bits @2Mbps Decimation DQPSK Mod Samples @352Mbps Samples @32Mbps Despreading Direct Sequence Spread Spectrum Samples @32Mbps Samples @352Mbps DQPSK Demod Symbol Wave Shaping Bits @2Mbps Samples @1.4Gbps Descramble To RF Bits @2Mbps To MAC (a) IEEE 802.11b 2Mbps Transmitter: Receiver: Bits @24Mbps From MAC From RF Scramble Samples @1.28Gbps Bits @24Mbps Decimation Convolutional encoder Samples @640Mbps Bits @48Mbps Remove GI Interleaving Samples @512Mbps Bits @48Mbps FFT Samples @384Mbps QAM Mod IFFT GI Addition Samples @384Mbps Demod + Interleaving Samples @512Mbps Bits @48Mbps Viterbi decoding Samples @640Mbps Bits @24Mbps Symbol Wave Shaping Descramble Samples @1.28Gbps To RF Bits @24Mbps To MAC (b) IEEE 802.11a/g 24Mbps Figure 1: PHY operations of IEEE 802.11a/b/g transceiver. functional blocks in their PHY components. These functional blocks are pipelined with one another. Data are streamed through these blocks sequentially, but with to move data between the RF frond-end and PHY blocks for one 802.11a channel. 23
Wireless PHY PHY http://setemagali.com/2009/10/12/climbing-the-mountain-everyday/ 24
Big Picture Applications Wireless/Mobile Application Development Framework Foundational Services: Communications, Location, Service Discovery, UI/Media, Power Management, Security 25
Overview Mobile/Wireless software development framework for mobile wireless applications is a quite large topic We have already seen Gnuradio as an example framework We will cover more examples TinyOS, J2ME, Android, IOS Approach for designing/evaluating each software development framework: Focus on the key concepts introduced by each framework 26
Outline Admin and recap Mobile/wireless development framework GNURadio 27
GNURadio: Design Objective A software development toolkit that provides signal processing blocks to implement software-defined radio systems. 28
Outline Admin and recap Mobile/wireless development framework GNURadio Hardware setting 29
GNURadio Hardware Arch Hardware Frontend Host Computer RF Frontend (Daugtherboard) ADC/DAC and Digital Frontend (USRP) GNU Radio Software http://mobiledevices.kom.aau.dk/fileadmin/mobiledevices/teaching/software_testing/gnu_radio_lecture.pdf
Outline Admin and recap Mobile/wireless development framework GNURadio Hardware setting Software concepts 31
Basic Software Concepts Block Flow graph
Basic Software Concepts http://gnuradio.org/doc/doxygen/ classgr block.html gr_basic_block (name, in/out signature, msg queue) gr_block (Leaf block; key functions forecast/ general_work) Example: http://www.gnu.org/software/gnuradio/ doc/howto-write-a-block.html gr_hier_block2 (container block; key functions: connect/disconnect/lock/unlock) gr_top_block (flow graph; start/stop/wait)
Software/Execution Model Software model Python Application management (e.g., GUI) Flow graph construction Non-streaming code (e.g., MAC-layer) C++ Signal processing blocks Certain routines also coded in assembly q Execution model q Python thread for each top_block Python Application development Flow graph construction C++ Signal processing blocks Discussion: benefits/issues of the hybrid software structure?
Summary: GNURadio Interesting/key software design techniques you learned from GNURadio? 35
Outline Admin and recap Mobile/wireless development framework GNURadio Hardware setting Software concepts TinyOS 36
Design Goal A free and open source component based operating system and platform targeting wireless sensor networks (WSNs) Example app Environment monitoring, e.g., measure temperature, lighting values/events periodically transmit measurements/events to a base station forward data for other nodes that are out of range of the base station http://www.tinyos.net/tinyos-1.x/doc/tutorial/ 37
Hardware 1.5 x 1.5 Assembled from off-the-shelf components 4Mhz, 8bit MCU (ATMEL) 512 bytes RAM, 8KB ROM Devices serial Port temperature sensor & light sensor 900Mhz Radio (RF monolithics) 10-100 ft. range LED outputs 38
Schematic Diagram of a Mote 39
Outline Admin and recap Mobile/wireless development framework GNURadio Hardware setting Software concepts TinyOS Hardware setting Software concepts 40
Requirements on Software Dev. Framework Flexible configuration of attached devices Small foot print devices have limited memory and power resources 41
TinyOS: Software Concept TinyOS: Generate customized OS + application for each given scenario support one application at a time but flexible reprogramming 42
Schematic Diagram 43
TinyOS: Software Concepts A TinyOS consists of one or more components linked together software components motivated by hardware component Each component specifies that it provides some interfaces allows other components to control it also uses some interfaces control other components 44
Interface An interface declares a set of functions called commands that provider must implement A uses interfaces I1 and I2 I1 I2 commands events commands events another set of functions called events that the interface user must implement B provides I1 C provides I3 C provides I2 45
Interface: Examples StdControl.nc interface StdControl { command result_t init(); command result_t start(); command result_t stop(); } ADC.nc Timer.nc interface Timer { command result_t start( char type, uint32_t interval); interface ADC { async command result_t getdata(); async command result_t getcontinuousdata(); } command result_t stop(); event result_t fired(); } event result_t dataready(uint 16_t data); 46
Backup Slides 47
Rake Receiver 48
Multipath Diversity: Rake Receiver Instead of considering delay spread as an issue, use multipath signals to recover the original signal Used in IS-95 CDMA, 3G CDMA, and 802.11 Invented by Price and Green in 1958 R. Price and P. E. Green, "A communication technique for multipath channels," Proc. of the IRE, pp. 555--570, 1958 49
Multipath Diversity: Rake Receiver Use several "sub-receivers" each delayed slightly to tune in to the individual multipath components Each component is decoded independently, but at a later stage combined this could very well result in higher SNR in a multipath environment than in a "clean" environment LOS pulse multipath pulses 50
Rake Receiver Blocks Correlator Combiner Finger 1 Finger 2 Finger 3 51
Rake Receiver: Matched Filter Impulse response measurement Tracks and monitors peaks with a measurement rate depending on speeds of mobile station and on propagation environment Allocate fingers: largest peaks to RAKE fingers 52
Rake Receiver: Combiner The weighting coefficients are based on the power or the SNR from each correlator output If the power or SNR is small out of a particular finger, it will be assigned a smaller weight: α m = M Z i= 1 2 m Z 2 i 53
Comparison [PAH95] MCM is OFDM 54