1 / 55

OFDM, Mobile Software Development Framework

OFDM, Mobile Software Development Framework. 9/27/2012 Y. Richard Yang. Admin. Homework 2 to be posted by Friday Start to think about project. Recap. Inter-Symbol Interference (ISI) Handle band limit ISI Handle multipath ISI Viterbi

Download Presentation

OFDM, Mobile Software Development Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OFDM, Mobile Software Development Framework 9/27/2012 Y. Richard Yang

  2. Admin. • Homework 2 to be posted by Friday • Start to think about project

  3. 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?

  4. 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

  5. Benefit of Symbol Rate on ISI 1 1 1 1 2 2 2 2 3 3 4 4

  6. Multiple Carrier Modulation

  7. Multiple Carrier Modulation (MCM): Problem • Despite wave shaping, there can be leak from one subcarrier to another subcarrier • Conventional design: guard bands to avoid interference among subcarriers • Guard band wastes spectrum j i

  8. Objective: Avoid subcarrier interference • Interference of subcarrier i on subcarrier j • Assume no pulse wave shaping, matched filter j i Condition for the interference to be always 0?

  9. Objective: Avoid subcarrier interference • if integer number of cycles in [0, T] # cycles in T is T * f => T * f = integer

  10. 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 !

  11. OFDM Modulation

  12. Orthogonal Frequency Division Multiplexing • OFDM allows overlapping subcarriers frequencies http://www1.linksys.com/products/images/ofdm.gif 802.11a

  13. OFDM Implementation • Take N symbols and place one symbol on each subcarrier (freq.) • Q: complexity of the implementation strategy? Freq0 FreqN-1

  14. OFDM: Implementation Issue • Hardware implementation can be expensive if we use one oscillator for each subcarrier • Software implementation requires N multiplications per time output => N2 multi. per N outputs Freq0 FreqN-1

  15. OFDM: Key Idea 2 • Consider data as coefficients in the frequency domain, use inverse Fourier transform to generate time-domain sequence • Assume N outputs per symbol time T, fsc=1/T

  16. channel OFDM Implementation: FFT

  17. OFDM Implementation • Parallel data streams are used as inputs to an IFFT • IFFT does multiplexing and modulation in one step !

  18. Guard Interval: Removing ISI • Orthogonal subcarriers remove inter-carrier interference • Slow symbol rate reduces inter-symbol interference, but may still have ISI • Basic idea of GI: skip the first part “damaged” signal 1 1 2 2 More details: Chap. 13.1.4 Gast

  19. OFDM Guard Interval http://www.dsplog.com/2008/02/17/cylcic-prefix-in-orthogonal-frequency-division-multiplexing/

  20. OFDM Implementation http://proquest.safaribooksonline.com/0596100523?tocview=true

  21. Example: 802.11a Physical Channels channel# 36 40 44 48 52 56 60 64 5150 5180 5200 5220 5240 5260 5280 5300 5320 5350 [MHz] center frequency = 5000 + 5*channel number [MHz] 149 153 157 161 channel# 5725 5745 5765 5785 5805 5825 [MHz]

  22. OFDM in 802.11a • Use OFDM to divide each physical channel (20 MHz):20M/64=312.5 KHz each • 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

  23. Other Multipath Techniques • There are other techniques to handle multipath such as Rake Receiver • See backup slides for somedetails

  24. Summary of PHY

  25. Wireless PHY PHY http://setemagali.com/2009/10/12/climbing-the-mountain-everyday/

  26. Big Picture Applications Wireless/Mobile Application Development Framework Foundational Services: Communications, Location, Service Discovery,UI/Media, Power Management, Security

  27. 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

  28. Outline • Admin and recap • Mobile/wireless development framework • GNURadio

  29. GNURadio: Design Objective • A software development toolkit that provides signal processing blocks to implement software-defined radio systems.

  30. Outline • Admin and recap • Mobile/wireless development framework • GNURadio • Hardware setting

  31. 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

  32. Outline • Admin and recap • Mobile/wireless development framework • GNURadio • Hardware setting • Software concepts

  33. Basic Software Concepts • Block • Flow graph

  34. 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)

  35. Software/Execution Model PythonApplication developmentFlow graph construction • 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 • Execution model • Python thread for each top_block C++Signal processing blocks Discussion: benefits/issues of the hybrid software structure?

  36. Summary: GNURadio • Interesting/key software design techniques you learned from GNURadio?

  37. Outline • Admin and recap • Mobile/wireless development framework • GNURadio • Hardware setting • Software concepts • TinyOS

  38. 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/

  39. Hardware • 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 1.5” x 1.5”

  40. Schematic Diagram of a Mote

  41. Outline • Admin and recap • Mobile/wireless development framework • GNURadio • Hardware setting • Software concepts • TinyOS • Hardware setting • Software concepts

  42. Requirements on Software Dev. Framework • Flexible configuration of attached devices • Small foot print • devices have limited memory and power resources

  43. TinyOS: Software Concept • TinyOS: Generate customized OS + application for each given scenario • support one application at a time but flexible reprogramming

  44. Schematic Diagram

  45. TinyOS: Software Concepts • A TinyOS consists of one or more componentslinked 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

  46. Interface A uses interfaces I1 and I2 • An interface declares • a set of functions called commandsthat provider must implement • another set of functions called events that the interface user must implement I2 I1 commands events commands events B provides I1 C provides I2 C provides I3

  47. Interface: Examples StdControl.ncinterface StdControl {  command result_t init();  command result_t start();  command result_t stop();} Timer.nc interface Timer { command result_t start( chartype, uint32_t interval); command result_t stop(); event result_t fired(); } ADC.nc interface ADC { async command result_t getdata(); async command result_t getContinuousData(); event result_t dataReady(uint 16_t data); }

  48. Backup Slides

  49. Rake Receiver

  50. 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

More Related