280 likes | 569 Views
http://www.ece.utexas.edu. http://www.wncg.org. Modem Design, Implementation, and Testing Using NI’s LabVIEW. Prof. Brian L. Evans Embedded Signal Processing Laboratory The University of Texas at Austin bevans@ece.utexas.edu.
E N D
http://www.ece.utexas.edu http://www.wncg.org Modem Design, Implementation, and Testing Using NI’s LabVIEW • Prof. Brian L. Evans • Embedded Signal Processing Laboratory • The University of Texas at Austin • bevans@ece.utexas.edu Contributions by Vishal Monga, Zukang Shen, Ahmet Toker, and Ian Wong, UT Austin
Outline • Real-Time DSP Course • Single Carrier Transceiver • Sinusoidal Generation • Digital Filters • Data Scramblers • Pulse Amplitude Modulation • Quadrature Amplitude Modulation • Multicarrier Transceiver • Conclusion
Real-Time DSP Course: Overview • Objectives of junior-level class • Build intuition for signal processing concepts • Translate signal processing concepts intoreal-time digital communications software • Lecture: breadth (three hours/week) • Digital signal processing algorithms • Digital communication systems • Digital signal processor architectures • Laboratory: depth (three hours/week) • Deliver voiceband modem • “Design is the science of tradeoffs” (Yale Patt) • Test/validate implementation Over 500 served since 1997 http://www.ece.utexas.edu/~bevans/courses/realtime/
Real-Time DSP Course: Which DSP? • Students are third-year undergraduates • Fixed-point DSPs for high-volume products • Battery-powered: cell phones, digital still cameras … • Wall-powered: ADSL modems, cellular basestations … • Fixed-point issues • Using non-standard C extensions for fractional data • Converting floating-point programs to fixed-point • Manual tracking of binary point prone to error • Floating-point DSPs • Feasibility for fixed-point DSP realization • Shorter prototyping time • Program TI TMS320C67x DSP in C • Code Composer Studio 2.2
Real-Time DSP Course: Textbooks • C. R. Johnson, Jr., and W. A.Sethares, TelecommunicationBreakdown, Prentice Hall, 2004. • Intro to digital communicationsand transceiver design • Matlab examples • S. A. Tretter, Comm. System Design usingDSP Algorithms with Lab Experiments forthe TMS320C6701 & TMS320C6711, 2003. • Assumes DSP theory and algorithms • Assumes access to C6000 reference manuals • Errata/code: http://www.ece.umd.edu/~tretter Rick Johnson (Cornell) Bill Sethares (Wisconsin) Steven Tretter (Maryland)
Lab 1. QAM Transmitter Diagram Lab 4Rate Control LabVIEW demo by Zukang Shen (UT Austin) Lab 6 QAM Encoder Lab 2 PassbandSignal Lab 3Tx Filters
Lab 1. QAM Transmitter Diagram LabVIEW Control Panel QAM Passband Signal Eye Diagram LabVIEW demo by Zukang Shen (UT Austin)
Lab 1. QAM Transmitter Diagram passband signal for 1200 bps mode square root raise cosine, roll-off = 0.75, SNR = passband signal for 2400 bps mode raise cosine, roll-off = 1, SNR = 30 dB
Lab 2. Sine Wave Generation • Aim: Evaluate three waysto generate sine waves • Function call • Lookup table • Difference equation • Three output methods • Polling data transmit register • Software interrupts • Direct memory access (DMA) transfers • Expected outcomes are to understand • Signal quality vs. implementation complexity tradeoff • C6701 EVM board’s stereo codec operation • Interrupt mechanisms and DMA transfers
Lab 2. Sine Wave Generation C6701 LabVIEW DSP Test Integration Toolkit 2.0 Code Composer Studio 2.2 • Evaluation procedure • Validate sine wave frequency on scope, and test for various sampling rates (14 sampling rates on board) • Method 1 with interrupt priorities • Method 1 with different DMA initialization(s) Spring 2004 Fall 2003HP 60 MHz Digital Storage Oscilloscope
Lab 3. Digital Filters • Aim: Evaluate four ways to implementdiscrete-time linear time-invariant filters • FIR filter: convolution in C and assembly • IIR Filter: direct form and cascade of biquads, both in C • IIR filter design gotchas: oscillation & instability • In classical designs, poles sensitive to perturbation • Quality factor measures sensitivity of pole pair: Q [ ½ , ) where Q = ½ dampens and Q = oscillates • Elliptic analog lowpass IIR filter dp = 0.21 at wp = 20 rad/s and ds = 0.31 at ws = 30 rad/s [Evans 1999] optimized classical
Lab 3. Digital Filters • IIR filter design for implementation • Butterworth/Chebyshev filters specialcases of elliptic filters • Minimum order not always most efficient • Filter design gotcha: polynomial inflation • Polynomial deflation (rooting) reliable in floating-point • Polynomial inflation (expansion) may degrade roots • Keep native form computed by filter design algorithm • Expected outcomes are to understand • Speedups from convolution assembly routine vs. C • Quantization effects on filter stability (IIR) • FIR vs. IIR: how to decide which one to use
Lab 3. Digital Filters • Test Equipment • Agilent Function Generator • HP 60 MHz Digital Storage Oscilloscope • Spectrum Analyzer • Evaluation Procedure • Sweep filters with sinusoids to construct magnitude and phase responses • Manually using test equipment, or • Automatically by LabVIEW DSP Test Integration Toolkit • Check filter output for cut-off frequency, roll-off factor… • FIR: Compare execution times (in Code Composer) of • C without compiler optimizations • C with compiler optimizations • C callable assembly language routine • IIR: Compute execution times (in Code Composer)
Lab 4. Data Scramblers • Aim: Generate pseudo-random bit sequences • Build data scrambler for given connection polynomial • Descramble data via descrambler • Obtain statistics of scrambled binary sequence • Expected outcomes are to understand • Principles of pseudo-noise (PN) sequence generation • Identify applications in communication systems
Lab 4. Data Scramblers • Evaluation procedure • Check scrambler output for various deterministic sequences as input(s) • Descrambler must recover input sequence from scrambled one • Test for sequence period, autocorrelation and other significant statistical properties • Using DSP Test & Measurement Toolkit instead • Compute autocorrelation of PN sequence • Compare this autocorrelation with that of white noise generated by LabVIEW to measue PN sequence quality
Lab 5. Digital PAM Transceiver 3 d an d L gT[n] D/A Transmit Filter -d -3 d gT,0[n] 4-PAM gT,1[n] D/A Transmit Filter an Filter bank implementation • Aim: Develop PAM transceiver blocks in C • Amplitude mapping to PAM levels • Interpolation filter bank for pulse shaping filter • Clock recovery via phase locked loops L samples per symbol
Lab 5. Digital PAM Transceiver • Expected Outcomes are to understand • Basics of PAM modulation • Zero inter-symbol interference condition • Clock synchronization issues • Test Equipment: Same as Lab 3 • Evaluation Procedure • Generate eye diagram to visualize PAM signal quality • Observe spectrum of modulated signal • Prepare DSP modules to test symbol clock frequency recovery subsystem
Lab 6. Digital QAM Transmitter an L gT[m] Serial/parallelconverter Map to 2-D constellation cos(w0 n) + D/A J 1 bn Bit stream L gT[m] L samples per symbol sin(w0 n) • Aim: Develop QAM transmitter blocks in C • Differential encoding of digital data • Constellation mapping to QAM levels • Interpolation filter bank for pulse shaping filter
Lab 6. Digital QAM Transmitter • Expected outcomes are to understand • In-phase and quadrature modulation principles • Bandwidth efficiency issues • Test equipment: same as Lab 5 • Evaluation procedure • Verify differential encoding and QAM mapping • Generate eye diagram to visualize QAM signal quality • Observe spectrum of modulated signal
Lab 7. Digital QAM Receiver – Part 1 • Aim: Develop QAM receiver blocks in C • Carrier recovery • Coherent demodulation • Decoding of QAM levels to digital data • Expected outcomes are to understand • Carrier detection and phase adjustment • Design of receive filter • Probability of error analysis to evaluate decoder • Test equipment: Same as Lab 6 • Evaluation procedure • Recover and display carrier on scope • Regenerate eye diagram and QAM constellation • Observe signal spectra at each decoding stage
Developed Voiceband Transceiver: Now What? Got Anything Faster? channel carrier magnitude subchannel frequency Each ADSL/VDSL subchannel is 4.3 kHz wide (about a voice channel) and carries QAM encoded subsymbol • Multicarrier modulation divides broadband channel into narrowband subchannels • No inter-symbol interference if constant subchannel gain and ideal sampling • Based on fast Fourier transform (FFT) • ADSL/VDSL and IEEE 802.11a/g & 802.16a
Multicarrier Modulation by IFFT Q g(t) x x I Discrete time g(t) x x + + g(t) x x g(t) : pulse shaping filterXi: ith symbol from encoder
Multicarrier Modulation (ADSL) N-point Inverse FastFourierTransform(IFFT) Q X0 X1 x0 X2 x1 I x2 XN/2 XN/2-1* X2* xN-1 X1* QAM Mapping 00101 N/2 subchannels (carriers) N real-valuedtimesamplesformsADSLsymbol Mirror complex data (in blue) andtake conjugates:
Multicarrier Modulation (ADSL) v samples N samples s y m b o l ( i+1) CP CP s y m b o l ( i ) copy copy Inverse FFT CP: Cyclic Prefix D/A + transmit filter ADSL frame is an ADSL symbol plus cyclic prefix
Multicarrier Demodulation (ADSL) S/P N-point FastFourierTransform(FFT) N/2 subchannels (carriers) N time samples
ADSL Transceiver: Data Xmission 2.208 MHz N/2 subchannels N real samples S/P quadrature amplitude modulation (QAM) encoder mirror data and N-IFFT add cyclic prefix P/S D/A + transmit filter Bits 00110 TRANSMITTER each block programmed in lab and covered in one full lecture channel each block covered in one full lecture RECEIVER N/2 subchannels N real samples P/S time domain equalizer (FIR filter) QAM decoder N-FFT and remove mirrored data S/P remove cyclic prefix receive filter + A/D invert channel = frequency domain equalizer P/S parallel-to-serial S/P serial-to-parallel FFT fast Fourier transform
Telecom and University Tracks Modem Design, Implementation, and Testing Using NI’s LabVIEW Dr. Brian L. Evans Associate Professor The University of Texas at Austin bevans@ece.utexas.edu