1 / 93

Admin

CS43 4 /53 4 : Topics in Networked (Networking) Systems Wireless Foundation: LPF; Digital Modulation and Demodulation; Wireless Channel Yang (Richard) Yang Computer Science Department Yale University 208A Watson Email: yry@cs.yale.edu http:// zoo.cs.yale.edu /classes/cs434 /. Admin.

Download Presentation

Admin

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. CS434/534: Topics in Networked (Networking) SystemsWireless Foundation: LPF; Digital Modulation and Demodulation; Wireless ChannelYang (Richard) YangComputer Science DepartmentYale University208A WatsonEmail: yry@cs.yale.eduhttp://zoo.cs.yale.edu/classes/cs434/

  2. Admin • PS1 status

  3. Recap: Amplitude Modulation (AM) • Block diagram • Time domain • Frequency domain

  4. Recap: Demod of AM • Design option 1: multiply modulated signal by e-jfct, and then LPF • Design option 2: quadrature sampling

  5. Remaining Hole: How to Design LPF • Frequency domain view -B -B B B freq freq

  6. Recap: Design Option 1 compute freq -B B -B B freq freq zeroing outoutbandfreq compute lower-passtime signal This is essentially how image compression works. Problem(s) of Design Option 1: FFT + IFFT

  7. Design Option 2: Impulse Response Filters • GNU software radio implements filtering using • Finite Impulse Response (FIR) filters • Infinite Impulse Response (IIR) Filters • FIR filters are more commonly used • FIR/IIR is essentially online, streaming algorithms • They are used in networks/communications/vision/robotics…

  8. FIR Filter • An N-th order FIR filter h is defined by an array of N+1 numbers: • They are often stored backward (flipped) • Assume input data stream is x0, x1, …, … hN h2 h1 h0

  9. FIR Filter xn-3 xn-2 xn-1 xn xn+1 * * * * 3rd-OrderFilter h3 h2 h1 h0 compute y[n]:

  10. FIR Filter xn-3 xn-2 xn-1 xn xn+1 * * * * h3 h2 h1 h0 compute y[n+1]

  11. FIR Filter is also called convolution between x (as a vector) and h (as a vector), denoted as

  12. Key Question Using h to Implement LPF • Q: • How to determine h? • Approach: • Understand the effects of y=g*h in the frequency domain

  13. g*h in the Continuous Time Domain • Remember that we consider x as samples of time domain function g(t) on [0, 1] and (repeat in other intervals) • We also consider h as samples of time domain function h(t) on [0, 1] (and repeat in other intervals) for (i = 0; i< N; i++) y[t] += h[i] * g[t-i];

  14. Visualizing g*h g(t) time h(t) 0 0 T T

  15. Visualizing g*h g(t) g(t) time t h(0) 0 0 T T

  16. Fourier Series of y=g*h

  17. Fubini’s Theorem • In English, you can integrate • first along y and then along x • first along x and then along y • at (x, y) grid They give the same result See http://en.wikipedia.org/wiki/Fubini's_theorem

  18. Fourier Series of y=g*h

  19. Summary of Progress So Far y = g * h => Y[k] = G[k] H[k] In the case of Fourier Transform, y = g * h => Y[f] = G[f] H[f] is called the Convolution Theorem, an important theorem.

  20. Applying Convolution Theorem to Design LPF • Choose h() so that • H() is close to a rectangle shape • h() has a low order (why?) 1 f -1/2 1/2

  21. Sinc Function • The h() is often related with the sinc(t)=sin(t)/t function f -1/2 1/2 1

  22. FIR Design in Practice (Offline) • Compute h • MATLAB or other design software • GNU Software radio: optfir (optimal filter design) • GNU Software radio: firdes (using a method called windowing method) • Implement filter with given h • freq_xlating_fir_filter_ccf or • fir_filter_ccf

  23. LPF Design Example (Offline) • Design a LPF to pass signal at 1 KHz and block at 2 KHz

  24. LPF Design Example (Offline) #create the channel filter # coefficients chan_taps = optfir.low_pass( 1.0, #Filter gain 48000, #Sample Rate 1500, #one sided mod BW (passband edge) 1800, #one sided channel BW (stopband edge) 0.1, #Passband ripple 60) #Stopband Attenuation in dB print "Channel filter taps:", len(chan_taps) #creates the channel filter with the coef foundchan = gr.freq_xlating_fir_filter_ccf( 1 , # Decimation rate chan_taps, #coefficients 0, #Offset frequency - could be used to shift 48e3) #incoming sample rate

  25. Outline • Recap • Wireless background • Frequency domain • Modulation and demodulation • Basic concepts • Amplitude modulation/demodulation • Amplitude demodulation • frequency shifting • low pass filter and Convolution Theorem • Digital modulation

  26. Modulation • Modulation of digital signals also known as Shift Keying • Amplitude Shift Keying (ASK): • vary carrier amp. according to data • Frequency Shift Keying (FSK) • vary carrier freq. according to bit value • Phase Shift Keying (PSK) • vary carrier freq. according to data 1 0 1 t 1 0 1 t 1 0 1 t

  27. Q I 0 1 Phase Shift Keying: BPSK • BPSK (Binary Phase Shift Keying): • bit value 1: cosine wave cos(2πfct) • bit value 0: inverted cosine wave cos(2πfct+π) • very simple PSK • Properties • robust, used e.g. in satellite systems one bit time T one bit time T 1 0

  28. Q 11 10 I 00 01 Phase Shift Keying: QPSK • QPSK (Quadrature Phase Shift Keying): • 2 bits coded at a time • we call the two bits as one symbol • symbol determines shift of cosine wave • often also transmission of relative, not absolute phase shift: DQPSK - Differential QPSK

  29. Example: 16-QAM (4 bits = 1 symbol) Symbols 0011 and 0001 have the same phase φ,but different amplitude a. 0000 and 1000 have same amplitude but different phase Q 0010 0001 0011 0000 φ I a 1000 Quadrature Amplitude Modulation • Quadrature Amplitude Modulation (QAM): combines amplitude and phase modulation • It is possible to code n bits using one symbol • 2n discrete levels

  30. Generic Representation of Digital Keying (Modulation) • Sender sends symbols one-by-one • M signaling functions g1(t), g2(t), …, gM(t), each has a duration of symbol time T • Each value of a symbol has a signaling function

  31. Q I 0 1 Exercise: gi() for BPSK • 1: • g1(t) = cos(2πfct) t in [0, T] • 0: • g0(t) = -cos(2πfct) t in [0, T] • Are the two signaling functions independent? • Hint: think of the samples forming a vector, if it helps, in linear algebra • Ans: No. g1(t) = -g0(t) -1 1 cos(2πfct)[0, T] g0(t) g1(t)

  32. Q 11 10 I 00 01 Exercise: Signaling Functions gi() for QPSK • 11: • cos(2πfct + π/4) t in [0, T] • 10: • cos(2πfct + 3π/4) t in [0, T] • 00: • cos(2πfct - 3π/4) t in [0, T] • 01: • cos(2πfct - π/4) t in [0, T] • Are the four signaling functions independent? • Ans: No. They are all linear combinations of sin(2πfct) and cos(2πfct).

  33. sin(2πfct) 00 11 10 QPSK Signaling Functions as Sum of cos(2πfct), sin(2πfct) 01 • 11: cos(π/4 + 2πfct) t in [0, T] -> cos(π/4) cos(2πfct) + -sin(π/4) sin(2πfct) • 10: cos(3π/4 + 2πfct) t in [0, T] -> cos(3π/4) cos(2πfct) + -sin(3π/4) sin(2πfct) • 00: cos(- 3π/4 + 2πfct) t in [0, T] -> cos(3π/4) cos(2πfct) + sin(3π/4) sin(2πfct) • 01: cos(- π/4 + 2πfct) t in [0, T] -> cos(π/4) cos(2πfct) + sin(π/4) sin(2πfct) • [cos(π/4), sin(π/4)] • [cos(3π/4), sin(3π/4)] cos(2πfct) • [cos(3π/4), -sin(3π/4)] • [-sin(π/4), cos(π/4)] • We call sin(2πfct) and cos(2πfct) the bases.

  34. Outline • Recap • Wireless background • Frequency domain • Modulation and demodulation • Basic concepts • Amplitude modulation/demodulation • Digital modulation • modulation • demodulation

  35. Key Question: How does the Receiver Detect Which gi() is Sent? • Assume synchronized (i.e., the receiver knows the symbol boundary).

  36. Starting Point • Considered a simple setting: sender uses a single signaling function g(), and can have two actions • send g() or • nothing (send 0) • How does receiver use the received sequence x(t) in [0, T] to detect if sends g() or nothing?

  37. Design Option 1 • Sample at a few time points (features) to check • Issue • Not use all data points, and less robust to noise

  38. Design Option 2 • Streaming algorithm, using all data points in [0, T] • As each sample xi comes in, multiply it by a factor hT-iand accumulate to a sum y • At time T, makes a decision based on the accumulated sum at time T: y[T] x0 x1 x2 xT * * * * hT h2 h1 h0

  39. Example Streaming (Convolution/Correlation): • Assume incoming x is a rectangular pulse (in baseband) and h is also a rectangular pulse • A gif animation (play in ppt) presentation): • redline g(): the sliding filter h(t) • blue line f(): the input x() Source: http://en.wikipedia.org/wiki/File:Convolution_of_box_signal_with_itself2.gif

  40. Determining the Best h where w is noise, Design objective: maximize peak pulse signal-to-noise ratio

  41. Determining the Best h Assume Gaussian noise, one can derive Using Fourier Transform and Convolution Theorem:

  42. Determining the Best h Apply Schwartz inequality By considering

  43. Determining the Best h

  44. Determining Best h to Use x0 x0 x1 x1 x2 x2 xT xT * * * * * * * * g0 hT g1 h2 g2 h1 gT h0

  45. Matched Filter Decision is called Matched filter. Example decision time

  46. Summary of Progress • After this “complex” math, the implementation/interpretation is actually the following quite simple alg: • precompute auto correlation: <g, g> • compute the correlation between received x and signaling function g, denoted as <x, g> • if <x, g> is closer to <g, g> • output sends g • else • output sends nothing

  47. Applying Scheme to BPSK • Consider g1 alone, compute <x, g1>, check if close to <g1, g1>: |<x, g1> - <g1, g1>| • Consider g0 alone, compute <x, g0>, check if close to <g0, g0>: |<x, g0> - <g0, g0>| • Pick closer • if |<x, g1> - <g1, g1>| < |<x, g0> - <g0, g0>| • pick 1 • else • pick 0 -1 1 cos(2πfct)[0, T] g0(t) g1(t)

  48. Applying Scheme to BPSK • since g0 = -g1 • <x, g0> = - <x, g1> • <g0, g0> = - <g0, g1> • rewrite as • if |<x, g1> - <g1, g1>| < |<x, g1> - <g0, g1>| • pick 1 • else • pick 0 -1 1 cos(2πfct)[0, T] g0(t) g1(t)

  49. Interpretation • For any signal s, <s, g1> computes the coordinate (projection) of s when using g1 as a base • cleaner if g1 is normalized (i.e., scale g1 by sqrt of <g1, g1>), but we do not worry about it yet <x, g1(t)> g1=cos(2πfct)[0, T] <g0(t), g1(t)> <g1(t), g1(t)> =-<g1(t), g1(t)>

  50. Applying Scheme to QPSK: Attempt 1 • Consider g00 alone, compute <x, g00> … • Consider g01 alone, compute <x, g01> … • Consider g10 alone, compute <x, g10> … • Consider g11 alone, compute <x, g11> … • Issues • Complexity: • need to compute M correlation, where M is number of signaling functions • Think of 64-QAM

More Related