`
`with Laboratory Experiments
`for the TMS320C6713™ DSK
`
`Steven A. Iretter
`
`Dish
`
`Dish
`Exhibit 1034, Page 1
`
`
`
`Communication System Design
`Using DSP Algorithms
`
`
`with Laboratory Experiments
`for the TMS320C6713™ DSK
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 2
`
`
`
`
`
`Information Technology: Transmission, Processing, and Storage
`
`Series Editors:
`Robert Gallager
`
`
` Electrical Engineering & Computer Science
`Massachusetts Institute of Technology
`Cambridge, Massachusetts
`
`Jack Keil Wolf
`Electrical & Computer Engineering
`University of California at San Diego
`La Jolla, California
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 3
`
`
`
`Communication System Design
`Using DSP Algorithms
`
`
`with Laboratory Experiments
`for the TMS320C6713™ DSK
`
`
`
`Steven A. Tretter
`University of Maryland
`College Park, MD
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`lhoarty.acct@gmail.com
`
` 1
`
` 3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Dish
`Exhibit 1034, Page 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Steven A. Tretter
`Department of Electrical Engineering
`University of Maryland
`
`College Park, MD, 20742, USA
`
`
`
`
`
`
`Series Editors
`
`
`
`Robert Gallager
`Electrical Engineering & Computer Science
`Massachusetts Institute of Technology
`Cambridge, Massachusetts
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Jack Keil Wolf
`Electrical and Computer Engineering
`University of California at San Diego
`La Jolla, California
`
`ISBN: 978-0-387-74885-6
`
`Library of Congress Control Number: 2007940172
`
`
`
`
`
`
`e-ISBN: 978-0-387-74886-3
`
` (cid:164)
`
` 2008 Springer Science+Business Media, LLC
`All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the publisher
`(Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA), except for brief excerpts in
`connection with reviews or scholarly analysis. Use in connection with any form of information storage and retrieval, electronic
`adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed is forbidden.
`The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such,
`is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
`
`The following are trademarks of Texas Instruments: Code Composer Studio, TMS320C30, C6000, C6x,
`TMS320C5000, TMS320C3x, TMS320C40, C67x, C2x, C24x, C5x, C8x, C54x, C55x, and TMS320C67x.
`
`MATLAB is a registered trademark of MathWorks.
`
`
`Printed on acid-free paper
`
` 8 7 6 5 4 3 2 1
`
` 9
`
`
`springer.com
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 5
`
`
`
`To Teresa, Anne, Jeffrey, Max, Norah, and in memory of David
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 6
`
`
`
`Preface
`
`The first edition of this book began in January 1993 when I was “elected” by Dr. William
`Destler, who was then Chairman of the Electrical Engineering Department at the University
`of Maryland and is now President of the Rochester Institute of Technology, to set up and
`write experiments for a new senior elective laboratory course, ENEE418c Communications
`Laboratory, scheduled to be given for the first time in the Fall 1993 semester. At that
`time, we chose to use the state-of-the-art Texas Instruments TMS320C30 EVM (evaluation
`module) DSP board. In January 2001 we upgraded the lab to use the new state-of-the-art
`Texas Instruments TMS320C6701 EVM DSP board which is now no longer supported by TI.
`Starting with the Fall 2007 semester, we will use TI’s TMS320C6713 DSK which is relatively
`inexpensive and connects conveniently to a USB port of a modern PC. The lab’s PC’s are
`all connected to the campus network. Each lab group is given a private workspace on a
`departmental server. Students are given only read/execute privileges for the standard utility
`and development software on the PC’s so they do not inadvertently alter these files.
`In 1993, books for hardware based laboratory courses with standard digital signal pro-
`cessing and filter design experiments existed, but no book focusing on analog and digital
`communications techniques was available. This is still largely true.
`Laboratories in the Department of Electrical and Computer Engineering at the University
`of Maryland are separate courses. Each week they have a one hour lecture given by a regular
`faculty member to introduce the theory and explain the experiments followed by a three
`hour laboratory period run by a graduate teaching assistant. Students in this lab work in
`pairs. We have found that this works well because both group members actively participate.
`With groups of three or more, some members just sit and watch. Students have card key
`access to the laboratory from 8:00 AM to 11:00 PM seven days a week and so they can work
`outside of regular class hours if they wish.
`One section of the lab was first offered in the Fall 1993 semester and two in the Spring
`1994 semester. Then five sections a week were offered for several years until a couple of years
`ago when a new communications capstone design course was offered in addition. The stu-
`dents have been highly enthusiastic and often spend extra hours working on the experiments
`because they find them to be very interesting and challenging. They also have realized that
`this course will help them get jobs and provide them with the skills required to perform well
`in their future jobs. The lab was designed for seniors, but 1/4 to 1/3 of the class is now
`graduate students who want to learn some real-world practical skills in addition to the purely
`theoretical concepts presented in the typical graduate communications and signal processing
`courses. When asked why they are taking this senior class, the graduate students often say
`they think it will help them get jobs.
`
`vii
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 7
`
`
`
`viii
`
`Preface
`
`The goal of this set of experiments is to explore the digital signal processing and com-
`munication systems theoretical concepts presented in typical senior elective courses on these
`subjects by implementing them with actual hardware and in real time.
`In the process,
`students will gain experience using equipment commonly used in industry, such as, oscillo-
`scopes, spectrum analyzers, signal generators, error rate test sets, digital signal processors,
`and analog-to-digital and digital-to-analog converters. They will also learn about typical
`software development tools. In addition, they will learn that there is a big step in going
`from an equation on paper to a real working system.
`This book differs from any others on the market in that its primary focus is on communi-
`cation systems. Fundamental digital signal processing concepts like digital filters and FFT’s
`are included because they are required in communication systems. Approaches that are par-
`ticularly useful for DSP implementations are presented. While the experiments, particularly
`the earlier ones, are described for the TMS320C6713 DSK, they can be easily modified for
`any DSP board with an A/D and D/A converter.
`There are several books on digital signal processing experiments for stable software pack-
`ages like MATHCAD and MATLAB. In my view, one of the purposes of a laboratory course
`is to help prepare students for industrial jobs. Off-line software simulation is no substitute
`for making actual hardware work in real-time. It does not present students with the strange
`unexpected and often frustrating things that occur when using actual hardware in real-time
`which can not be explained by nice equations, nor does it teach them how to use standard
`lab equipment.
`The prerequisites for this course are an understanding of linear systems and transform
`methods at a level that is often presented in a junior required course on Signals and Systems
`and a working knowledge of PC’s and C programming. Students who have programmed
`in other languages like BASIC, PASCAL, or FORTRAN can quickly learn enough C to
`do the experiments if they are willing to make the effort. Corequisite are a senior level
`elective course in Digital Signal Processing and/or Communication Systems. Ideally, both
`courses should be taken before the Communications Laboratory. However, this is not usually
`possible for our seniors. We wanted our students to have the opportunity to take this lab,
`so we made just one of them a corequisite. With the engineering background of a senior,
`the presentation of the necessary theory in the text, and the one hour lab lecture to explain
`the theory, students have quickly learned the signal processing and communication system
`concepts required for the experiments. In addition, it can be argued that a lab course should
`help prepare students for the work world where they will have to figure out new things for
`themselves so the experiments should have some uncertainty and require students to fill in
`some of the details.
`There is a large initial hurdle for the students to get over while learning the details re-
`quired to use the lab’s hardware and software tools. Chapters 1 and 2 gradually introduce
`them to these tools and the architecture of the TMS320C6713 floating-point DSP. An at-
`tempt has been made to reduce this hurdle by including some basic programs on the program
`disk for initializing the DSK that can be used as a starting point for the experiments.
`FIR and IIR filter design and implementation are explored in Chapter 3. Filters are re-
`quired in many communication system signal processing algorithms. Experiments comparing
`the relative merits of C and assembly language implementations are performed. In particu-
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 8
`
`
`
`Preface
`
`ix
`
`lar, TI’s linear assembly is briefly discussed. Modern DSP applications in industry are often
`written primarily in C with only numerically intensive critical functions written in assembly
`to reduce development time and improve portability to new platforms. TI’s optimizing C
`compiler generates relatively efficient software pipelined executable code that is adequate for
`the experiments in this course. Therefore, assembly programming is not emphasized.
`Chapter 4 investigates the FFT and power spectrum estimation. A simple spectrum
`analyzer is made.
`Chapters 5 through 8 explore the classical analog communication methods of ampli-
`tude modulation, double-sideband suppressed-carrier amplitude modulation, single-sideband
`modulation, and frequency modulation. Transmitters and receivers are built using DSP
`techniques. Noncoherent receivers using envelope detectors and coherent receivers using
`phase-locked loops are implemented. The use of Hilbert transforms and complex signal
`representations in modulation systems are explored.
`Chapters 9 through 16 introduce some digital communication techniques. These ex-
`periments focus on methods used in high-speed wire-line data modems where DSP’s have
`been extensively used. Topics covered include linear shift register scramblers, the RS232C
`interface, pulse amplitude modulation (PAM), variable phase interpolation, and quadra-
`ture amplitude modulation (QAM). The experiments lead up to building almost a complete
`V.22bis transmitter and receiver. Symbol clock recovery and tracking, carrier tracking, and
`adaptive equalizer receiver functions are implemented. The echo canceling technique used in
`V.32, V.34, V.90, and V.92 modems is studied in Chapter 16. Enough details are included so
`that this set of experiments could form a good practical guide to engineers in industry inter-
`ested in wire-line modem design. I learned many of these techniques while consulting since
`1970 for companies that build high-speed wire-line modems and have seen them employed
`in hundreds of thousands of modems.
`It is employed
`Multi-carrier modulation has become popular in a variety of systems.
`in several types of Digital Subscriber Line (DSL) systems which use copper telephone lines
`where it is called Discrete Multi-Tone (DMT) modulation. It is a popular choice for wireless
`systems transmitting over fading channels where it is called Orthogonal Frequency Division
`Multiplexing (OFDM). These include existing HF radio and Wi-Fi systems as well as soon
`to be deployed WiMax systems. The European cellular 3GPP committees are working to
`finalize a multi-carrier system called LTE. Multi-carrier modulation is explored in Chapter
`17.
`
`Chapter 18 briefly presents some ideas for additional projects related to high-speed wire-
`line modem design, error-control coding, and speech codecs. These ideas can be expanded
`to satisfy the capstone design project requirements of the ABET accrediting committee.
`Appendix C contains a complete list of the equipment used for this laboratory at the
`University of Maryland.
`It has been included as a guide to others setting up a similar
`lab and is not intended to be an endorsement of any specific manufacturer. Clearly, any
`equipment with equivalent capabilities can be substituted for items in the list.
`There are many more experiments in this book than can be performed in one semester.
`Based on our experience, an ambitious goal is to have all students do Chapters 1, 2, and 3
`followed by a choice of any three additional experiments. In some semesters, we have limited
`the choice to three of the classical analog modulation chapters and in others to three of the
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 9
`
`
`
`x
`
`Preface
`
`digital communication chapters. It would be nice if students could continue in the lab for a
`second semester for additional credit and build on their earlier experiments.
`Utility programs, software updates, text corrections, lab lecture slides, and supplementary
`material can be found on my web site www.ece.umd.edu/~tretter.
`
`Steven A. Tretter
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 10
`
`
`
`Acknowledgements
`
`I would like to thank Mark Kohler and Sonjai Gupta for helping to unpack equipment and
`install and debug hardware and software in the PC’s during the Spring 1993 semester when
`the lab was initially being set up. The students in the original Communications Laboratory
`section offered in the Fall 1993 semester as well as their Teaching Assistant, Yifeng Cui,
`deserve a great deal of thanks for being extremely patient and enthusiastic Guinea pigs.
`They helped correct and significantly improve the first few experiments.
`In particular, I
`want to thank Mike Barr who, with his partner Brian Silverman, forged well ahead of the
`rest of the students and was so enthusiastic by the end of the semester that he asked about
`helping with the lab in the Spring 1994 semester. The Electrical Engineering Department
`was able to make an exception and assign Mike as a senior to be the TA for one section
`and he did an outstanding job. Mrs. Tahereh Fazel was also an excellent Graduate TA
`for a second lab section in the Spring 1994 semester. I also want to thank those who have
`been TA’s for the lab since that time and have all done excellent jobs, as well as Dr. Adrian
`Papamarcou and Dr. Jerome Gansman who have shared in teaching the lab. Jay Renner
`of the University of Maryland ECE staff also deserves thanks for laying out and getting
`manufactured the RS232/TTL daughter cards, and for securing the TMS320C6713 DSK’s
`inside the PC cases. Dr. Brian Evans of the University of Texas at Austin also deserves
`thanks for reviewing preliminary versions of the previous edition of this book and making
`good suggestions for improvements.
`I would also like to thank my friends from RIXON (which was in Silver Spring, MD, but
`has long since dissipated in a chain of corporate take-overs), from Penril Datability Networks
`(which was in Gaithersburg, MD, and was bought by Bay Networks, which was in turn bought
`by Nortel Networks, became the Signal Processing Group of Nortel in Germantown, MD,
`and is now gone), and at Texas Instruments in Germantown, MD (which was formerly Telogy
`Networks) for helping me stay at the state-of-the-art in DSP applications to wire-line and
`wireless modems by using me as a consultant.
`I also want to thank Texas Instruments for designating our lab as one of ten Elite Digital
`Signal Processing Labs in the country. TI has been very generous in supporting our lab
`with TI hardware and software tools. In particular, Torrence Robinson, formerly in charge
`of University Programs at TI in Houston, and now Cathy Wicks deserve many thanks for
`their constant and cheerful support.
`
`xi
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 11
`
`
`
`Contents
`
`1 Overview of the Hardware and Software Tools
`1.1 Some DSP Chip History and Typical Applications . . . . . . . . . . . . . . .
`1.2 The TMS320C6713 Floating-Point DSP . . . . . . . . . . . . . . . . . . . . .
`1.2.1 The ’C6000 Central Processing Unit (CPU)
`. . . . . . . . . . . . . .
`1.2.2 Memory Organization for the TMS320C6713 DSK . . . . . . . . . . .
`1.2.3 Enhanced Direct Memory Access Controller (EDMA) . . . . . . . . .
`1.2.4
`Serial Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.2.5 Other Internal Peripherals . . . . . . . . . . . . . . . . . . . . . . . .
`1.2.6 Brief Description of the TMS320C6000 Instruction Set
`. . . . . . . .
`1.2.7 Parallel Operations and Pipelining . . . . . . . . . . . . . . . . . . .
`1.3 The TMS320C6713 DSP Starter Kit (DSK)
`. . . . . . . . . . . . . . . . . .
`1.3.1 The Audio Interface Onboard the TMS320C6713 DSK . . . . . . . .
`1.4 Software Support for the DSK Board and ’C6x DSP’s . . . . . . . . . . . . .
`1.4.1 The Board Support Library (BSL)
`. . . . . . . . . . . . . . . . . . .
`1.4.2 The Chip Support Library . . . . . . . . . . . . . . . . . . . . . . . .
`1.5 Code Composer Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.5.1 Project Files and Building Programs
`. . . . . . . . . . . . . . . . . .
`1.5.2 The Optimizing Compiler and Assembler . . . . . . . . . . . . . . . .
`1.5.3 The Linker
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.5.4 Building Programs from Command Line Prompts . . . . . . . . . . .
`1.5.5 The Archiver
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.5.6 Additional Code Composer Studio Features
`. . . . . . . . . . . . . .
`1.6 Other Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`1.6.1 Digital Filter Design Programs
`. . . . . . . . . . . . . . . . . . . . .
`1.6.2 Commercial Software . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Introductory Experiments
`. . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`1.7
`
`2 Learning to Use the Hardware and Software Tools
`2.1 Getting Started with a Simple Audio Loop Through Program . . . . . . . .
`2.1.1 A Linker Command File and Beginning C Program . . . . . . . . . .
`2.1.2 Properties of the AIC23 Codec
`. . . . . . . . . . . . . . . . . . . . .
`2.1.3 Creating a CCS Project for dskstart32.c . . . . . . . . . . . . . . .
`2.1.4 Experiment 2.1: Building and Testing dskstart32.c . . . . . . . . .
`2.2 More Details on the McBSP Serial Ports and Codecs
`. . . . . . . . . . . . .
`
`1
`2
`6
`6
`11
`11
`12
`13
`13
`16
`18
`20
`21
`21
`22
`22
`22
`23
`25
`25
`26
`26
`27
`27
`27
`28
`
`29
`29
`29
`35
`36
`37
`38
`
`xiii
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 12
`
`
`
`xiv
`
`Contents
`
`2.2.1 Basic McBSP Transmitter and Receiver Operation . . . . . . . . . .
`2.2.2 Example C Code for Reading from and Writing to the Codec . . . . .
`2.3 The ’C6000 Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.4 Generating a Sine Wave by Polling XRDY . . . . . . . . . . . . . . . . . . .
`2.4.1 Experiment 2.2: Instructions for the Polling Experiment
`. . . . . . .
`2.5 Generating a Sine Wave Using Interrupts . . . . . . . . . . . . . . . . . . . .
`2.5.1 The CPU Interrupt Priorities and Sources
`. . . . . . . . . . . . . . .
`2.5.2
`Interrupt Control Registers
`. . . . . . . . . . . . . . . . . . . . . . .
`2.5.3 What Happens When an Interrupt Occurs . . . . . . . . . . . . . . .
`2.5.4 TI Extensions to Standard C Interrupt Service Routines
`. . . . . . .
`2.5.5 Using the dsk6713bsl32 Library for Interrupts . . . . . . . . . . . . .
`2.5.6 Experiment 2.3: Generating Sine Waves by Using Interrupts . . . . .
`2.6 Generating a Sine Wave with the EDMA and a Table
`. . . . . . . . . . . .
`2.6.1 EDMA Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.6.2 EDMA Event Selection . . . . . . . . . . . . . . . . . . . . . . . . . .
`2.6.3 Registers for Event Processing
`. . . . . . . . . . . . . . . . . . . . .
`2.6.4 The Parameter RAM (PaRAM)
`. . . . . . . . . . . . . . . . . . . . .
`2.6.5
`Synchronization of EDMA Transfers
`. . . . . . . . . . . . . . . . . .
`2.6.6 Linking and Chaining EDMA Transfers . . . . . . . . . . . . . . . . .
`2.6.7 EDMA Interrupts to the CPU . . . . . . . . . . . . . . . . . . . . . .
`2.6.8 Experiment 2.4: Generating a Sine Wave Using the EDMA Controller
`
`3.5
`
`3 Digital Filters
`3.1 Discrete-Time Convolution and Frequency Responses . . . . . . . . . . . . .
`3.2 Finite Duration Impulse Response (FIR) Filters . . . . . . . . . . . . . . . .
`3.2.1 Block Diagram for Most Common Realization . . . . . . . . . . . . .
`3.2.2 Two Methods for Finding the Filter Coefficients to Achieve a Desired
`Frequency Response
`. . . . . . . . . . . . . . . . . . . . . . . . . . .
`3.3 Using Circular Buffers to Implement FIR Filters in C . . . . . . . . . . . . .
`3.4 Circular Buffers Using the ’C6000 Hardware . . . . . . . . . . . . . . . . . .
`3.4.1 How the Circular Buffer is Implemented . . . . . . . . . . . . . . . .
`3.4.2
`Indirect Addressing Through Registers . . . . . . . . . . . . . . . . .
`Interfacing C and Assembly Functions
`. . . . . . . . . . . . . . . . . . . . .
`3.5.1 Responsibilities of the Calling and Called Function . . . . . . . . . .
`3.5.2 Using Assembly Functions with C . . . . . . . . . . . . . . . . . . . .
`3.6 Linear Assembly Code and the Assembly Optimizer . . . . . . . . . . . . . .
`3.6.1 A Linear Assembly Convolution Function that Uses a Circular Buffer
`and Can be Called from C . . . . . . . . . . . . . . . . . . . . . . . .
`Infinite Duration Impulse Response (IIR) Filters . . . . . . . . . . . . . . . .
`3.7.1 Realizations for IIR Filters . . . . . . . . . . . . . . . . . . . . . . . .
`3.7.2 A Program for Designing IIR Filters
`. . . . . . . . . . . . . . . . . .
`3.7.3 Two Methods for Measuring a Phase Response . . . . . . . . . . . . .
`3.8 Laboratory Experiments for Digital Filters . . . . . . . . . . . . . . . . . . .
`3.8.1 Experiment 3.1: FIR Filters Entirely in C . . . . . . . . . . . . . . .
`
`3.7
`
`38
`41
`42
`43
`45
`46
`46
`46
`50
`51
`51
`53
`56
`56
`57
`58
`59
`60
`61
`62
`62
`
`67
`67
`68
`68
`
`69
`72
`75
`75
`76
`76
`76
`79
`79
`
`81
`89
`89
`92
`95
`96
`96
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 13
`
`
`
`Contents
`
`xv
`
`3.8.2 Experiment 3.2: FIR Filters Using C and Assembly . . . . . . . . . .
`3.8.3 Experiment 3.3: Implementing an IIR Filter . . . . . . . . . . . . . .
`3.9 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`97
`98
`98
`
`101
`4 The FFT and Power Spectrum Estimation
`4.1 The Discrete-Time Fourier Transform . . . . . . . . . . . . . . . . . . . . . . 101
`4.2 Data Window Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
`4.3 The Discrete Fourier Transform and its Inverse . . . . . . . . . . . . . . . . . 104
`4.4 The Fast Fourier Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
`4.5 Using the FFT to Estimate a Power Spectrum . . . . . . . . . . . . . . . . . 112
`4.6 Laboratory Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
`4.6.1 Experiment 4.1: FFT Experiments
`. . . . . . . . . . . . . . . . . . . 113
`4.6.2 Experiment 4.2: Making a Spectrum Analyzer . . . . . . . . . . . . . 114
`4.7 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
`
`121
`5 Amplitude Modulation
`5.1 Theoretical Description of Amplitude Modulation . . . . . . . . . . . . . . . 121
`5.1.1 Mathematical Formula for an AM Signal
`. . . . . . . . . . . . . . . . 121
`5.1.2 Example for Single Tone Modulation . . . . . . . . . . . . . . . . . . 122
`5.1.3 The Spectrum of an AM Signal
`. . . . . . . . . . . . . . . . . . . . . 123
`5.2 Demodulating an AM Signal by Envelope Detection . . . . . . . . . . . . . . 123
`5.2.1
`Square-Law Demodulation of AM Signals . . . . . . . . . . . . . . . . 124
`5.2.2 Hilbert Transforms and the Complex Envelope . . . . . . . . . . . . . 125
`5.3 Laboratory Experiments for AM Modulation and Demodulation . . . . . . . 127
`5.3.1 Experiment 5.1: Making an AM Modulator
`. . . . . . . . . . . . . . 128
`5.3.2 How to Capture DSK Output Samples with CCS for Plotting . . . . 129
`5.3.3 Experiment 5.2: Making a Square-Law Envelope Detector
`. . . . . . 130
`5.3.4 Experiment 5.3: Making an Envelope Detector Using the Hilbert Trans-
`form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
`5.4 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
`
`133
`6 DSBSC Amplitude Modulation and Coherent Detection
`6.1 Mathematical Form for a DSBSC-AM Signal . . . . . . . . . . . . . . . . . . 133
`6.2 The Ideal Coherent Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
`6.3 The Costas Loop as a Practical Approach to Coherent Demodulation . . . . 136
`6.4 Exercises and Experiments for the Costas Loop . . . . . . . . . . . . . . . . 138
`6.4.1 Theoretical Design Exercises . . . . . . . . . . . . . . . . . . . . . . . 139
`6.4.2 Hardware Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . 140
`6.5 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
`
`143
`7 Single-Sideband Modulation and Frequency Translation
`7.1 Single-Sideband Modulators . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
`7.2 Coherent Demodulation of SSB Signals . . . . . . . . . . . . . . . . . . . . . 145
`7.3 Frequency Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
`7.4 Laboratory Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 14
`
`
`
`xvi
`
`Contents
`
`. . . . . . . . . . . . . . 148
`7.4.1 Experiment 7.1: Making an SSB Modulator
`7.4.2 Experiment 7.2: Coherent Demodulation of an SSB Signal
`. . . . . . 148
`7.5 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
`
`151
`8 Frequency Modulation
`8.1 The FM Signal and Some of its Properties . . . . . . . . . . . . . . . . . . . 151
`8.1.1 Definition of Instantaneous Frequency and the FM Signal . . . . . . . 151
`8.1.2
`Single Tone FM Modulation . . . . . . . . . . . . . . . . . . . . . . . 152
`8.1.3 Narrow Band FM Modulation . . . . . . . . . . . . . . . . . . . . . . 154
`8.1.4 The Bandwidth of an FM Signal
`. . . . . . . . . . . . . . . . . . . . 154
`8.2 FM Demodulation by a Frequency Discriminator . . . . . . . . . . . . . . . . 154
`8.2.1 An FM Discriminator Using the Pre-Envelope . . . . . . . . . . . . . 155
`8.2.2 A Discriminator Using the Complex Envelope . . . . . . . . . . . . . 156
`8.3 Using a Phase-Locked Loop for FM Demodulation . . . . . . . . . . . . . . . 157
`8.4 Laboratory Experiments for Frequency Modulation . . . . . . . . . . . . . . 160
`8.4.1 Experiment 8.1: Measuring the Spectrum of an FM Signal
`. . . . . . 160
`8.4.2 Experiment 8.2: FM Demodulation Using a Frequency Discriminator
`161
`8.4.3 Experiment 8.3: Using a Phase-Locked Loop for FM Demodulation . 161
`8.5 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
`
`163
`9 Pseudo-Random Binary Sequences and Data Scramblers
`. . . . 164
`9.1 Using Shift Registers to Generate Pseudo-Random Binary Sequences
`9.1.1 The Linear Feedback Shift Register Sequence Generator
`. . . . . . . 164
`9.1.2 The Connection Polynomial and Sequence Period . . . . . . . . . . . 165
`9.1.3 Properties of Maximal Length Sequences . . . . . . . . . . . . . . . . 166
`9.2 Self Synchronizing Data Scramblers . . . . . . . . . . . . . . . . . . . . . . . 167
`9.2.1 The Scrambler
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
`9.2.2 The Descrambler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
`9.3 Theoretical and Simulation Exercises . . . . . . . . . . . . . . . . . . . . . . 169
`9.3.1 Exercises for a Shift Register Sequence Generator with a Primitive
`Connection Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . 169
`9.3.2 Exercises for a Shift Register Sequence Generator with an Irreducible
`but not Primitive Connection Polynomial . . . . . . . . . . . . . . . . 170
`9.3.3 Exercises for a Shift Register Sequence Generator with a Reducible
`Connection Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . 171
`9.4 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
`
`173
`10 The RS-232C Protocol and a Bit-Error Rate Tester
`10.1 The EIA RS-232C Serial Interface Protocol . . . . . . . . . . . . . . . . . . . 173
`10.2 Error Rate for Binary Signaling on the Gaussian Noise Channel
`. . . . . . . 176
`10.3 The Navtel Datatest 3 Bit Error Rate Tester . . . . . . . . . . . . . . . . . . 177
`10.4 Bit-Error Rate Test Experiment . . . . . . . . . . . . . . . . . . . . . . . . . 178
`10.5 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
`
`lhoarty.acct@gmail.com
`
`Dish
`Exhibit 1034, Page 15
`
`
`
`Contents
`
`xvii
`
`187
`11 Digital Data Transmission by Pulse Amplitude Modulation
`11.1 Description of a Baseband Pulse Amplitude Modulation System . . . . . . . 187
`11.2 Baseband Shaping and Intersymbol Interference . . . . . . . . . . . . . . . . 190
`11.2.1 The Nyquist Criterion for No ISI
`. . . . . . . . . . . . . . . . . . . . 190
`11.2.2 Raised Cosine Baseband Shaping Filters
`. . . . . . . . . . . . . . . . 191
`11.2.3 Splitting the Shaping Between the Transmit and Receive Filters . . . 192
`11.2.4 Eye Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
`11.3 Implementing the Transmit Filter by an Interpolation Filter Bank . . . . . . 194
`11.4 Symbol Error Probability with Additive Gaussian Noise . . . . . . . . . . . . 194
`11.5 Symbol Clock Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
`11.6 Simulation and Theoretical Exercises for PAM . . . . . . . . . . . . . . . . . 198
`11.6.1 Generating Four-Level Pseudo-Random PAM Symbols
`. . . . . . . . 198
`11.6.2 Eye Diagram for a PAM Signal Using a Raised Cosine Shaping Filter
`199
`11.6.3 Eye Diagram for a PAM Signal Using a Square-Root of Raised Cosine
`Shaping Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
`11.6.4 Theoretical Error Probability for a PAM System . . . . . . . . . . . . 200
`11.7 Hardware Exercises for PAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
`11.7.1 Generating a PAM Signal and Eye Diagram . . . . . . . . . . . . . . 200
`11.7.2 Testing the Square-Law Symbol Clock Frequency Generator
`. . . . . 201
`11.7.3 Optional Team Exercise . . . . . . . . . . . . . . . . . . . . . . . . . 202
`11.8 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
`
`205
`12 Variable Phase Interpolation
`12.1 Continuously Variable Phase Interpolation . . . . . . . . . . . . . . . . . . . 205
`12.1.1 Computing the Least-Squares Fits . . . . . . . . . . . . . . . . . . . . 208
`12.2 Quantized Variable Phase Interpolation . . . . . . . . . . . . . . . . . . . . . 208
`12.3 Closing the Tracking Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
`12.4 Changing the Sampling Rate by a Rational Factor . . . . . . . . . . . . . . . 211
`12.5 Experiments for Variable Phase Interpolation . . . . . . . . . . . . . . . . . 213
`12.5.1 Experiment 12.1: Open Loop Phase Shifting Experiments . . . . . . . 213
`12.5.2 Experiment 12.2: Making a Symbol Clock Tracking Loop . . . . . . . 213
`12.6 Additional References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
`
`215
`13 Fundamentals of Quadrature Amplitude Modulation
`13.1 A Basic QAM Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
`13.2 Two Constellation Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
`13.2.1 The 4×4 16-Point Constellation . . . . . . . . . . . . . . . . . . . . . 218
`13.2.2 A 4-Point Four Phase Constellation . . . . . . . . . . . . . . . . . . . 220
`13.3 A Modulator Structure Using Passband Shaping Filters . . . . . . . . . . . . 221
`13.4 Ideal QAM Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
`13.5 QAM Modulator Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . 224
`13.5.1 Steps to Follow in Making a Transmitter . . . . . . . . . . . .