Table Of ContentK.S. Thyagarajan
Introduction to Digital Signal
Processing Using MATLAB
with Application to Digital
Communications
K.S.Thyagarajan
ExtensionProgram
UniversityofCalifornia,SanDiego
SanDiego,CA,USA
ISBN978-3-319-76028-5 ISBN978-3-319-76029-2 (eBook)
https://doi.org/10.1007/978-3-319-76029-2
LibraryofCongressControlNumber:2018935280
©SpringerInternationalPublishingAG,partofSpringerNature2019
Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartofthe
materialisconcerned,specificallytherightsoftranslation,reprinting,reuseofillustrations,recitation,
broadcasting,reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionorinformation
storageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodology
nowknownorhereafterdeveloped.
Theuseofgeneraldescriptivenames,registerednames,trademarks,servicemarks,etc.inthispublication
doesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant
protectivelawsandregulationsandthereforefreeforgeneraluse.
The publisher, the authors and the editors are safe to assume that the advice and information in this
bookarebelievedtobetrueandaccurateatthedateofpublication.Neitherthepublishernortheauthorsor
theeditorsgiveawarranty,expressorimplied,withrespecttothematerialcontainedhereinorforany
errorsoromissionsthatmayhavebeenmade.Thepublisherremainsneutralwithregardtojurisdictional
claimsinpublishedmapsandinstitutionalaffiliations.
Printedonacid-freepaper
ThisSpringerimprintispublishedbytheregisteredcompanySpringerInternationalPublishingAGpartof
SpringerNature.
Theregisteredcompanyaddressis:Gewerbestrasse11,6330Cham,Switzerland
Preface
Thefieldofdigitalsignalprocessingiswellmaturedandhasfoundapplicationsin
mostcommercialaswellashouseholditems.Itstartedinthe1960swhencomputers
were used only inthe academic institutions. Moreover, these computers were built
aroundvacuumtubeswithlimitedmemoryandslowprocessingpower.Thissitua-
tionwasnotconducivetorapidadvancementsindigitalsignalprocessingtheory.As
the computer technology advanced due to the invention of microprocessors and
semiconductor memories, the field of digital signal processing also simultaneously
progressed. Today, digital signal processing is used in a myriad of fields such as
communications, medicine, forensics, imaging, and music, to name a few. It is,
therefore,necessaryforanaspiranttolearnthebasicsofdigitalsignalprocessingso
astobeabletoapplyhisorherknowledgeinthisfieldtocareeradvancement.
There are many excellent textbooks on digital signal processing in the market.
This book, though, is meant to serve working professionals who are looking for
onlinecoursestocompletecertificateprogramsinareassuchaselectricalengineer-
ing, systems engineering, communications, and embedded systems. Since these
professional engineers are time-constrained, it is important that the textbook they
aresupposedtofollowshouldbeeasytounderstand,brief,anduptothepoint,and
should contain the necessary supplements as aids to understanding the materials.
Withthesefactorsinmind,thisbookisbasedonmyonlinecourseindigitalsignal
processingattheUniversityofCaliforniaExtensionProgram,SanDiego.Thisbook
uses MATLAB tools to make understanding of the materials easier. In my experi-
enceinteachingthisonlinecourse,Ifoundthatstudentscomefromdifferentfields,
butmostlyfromdigitalcommunications–hardwareandsoftware.Therefore,Ifindit
appropriate to include applications of digital signal processing in digital
communications.Thestudentsarerequiredtohaveacollege-levelmathbackground
tofullyunderstandthetopicsdiscussedinthisbook.
After a brief introduction to areas such as audio/speech processing, digital
communications, and digital image processing, Chap. 2 starts with the discussion
v
vi Preface
on discrete-time signals and systems. It characterizes the various discrete-time
signals and systems in mathematical terms followed by examples to clarify the
subject matter. Chapter 2 also describes the process of converting continuous-time
signalstodiscrete-timesequences.TheZ-transformisintroducedinChap.3.Since
Z-transform isvery useful in both analysis and design of discrete-time systems, its
propertiesareelaboratedwithseveralexamples.Nexttherepresentationofdiscrete-
timesignalsandsystemsinthefrequencydomainisdiscussedinChap.4.Here,the
connection between the Z-transform and discrete-time Fourier transform is
explained. Several examples are worked out to make the subject matter clearer.
Sincedigitalsignalprocessingimpliescomputationalmethods,Chapt.5introduces
theconceptofdiscreteFouriertransform.Italsodealswiththerelationshipbetween
discrete-time Fourier transform and discrete Fourier transform. Again, MATLAB-
basedexamplesareincluded.
Once the signals and systems are described in the time and frequency domains,
Chap.6thendealswiththedesignofinfiniteimpulseresponse(IIR)digitalfilters.It
treats the design of IIR digital filters based on analytical methods as well as on
computer-based techniques. In addition, real-life systems are simulated using
MATLAB/Simulinktool.Continuingfurther,Chap.7discussesthedesignoffinite
impulse response(FIR)digitalfiltersusing boththeanalyticalandcomputer-based
methods. Many examples are included to aid the students in understanding the
materialbetter.ItisnotenoughjusttolearnthedesignofIIRandFIRdigitalfilters.
A professional engineer must know how to implement these filters in various real-
time applications. Therefore,Chap.8isincluded,whichdeals with the signal flow
graphs of digital filters. It describes both canonical and noncanonical structures to
implementIIRandFIRdigitalfilters.Knowinghowtodrawthesignalflowgraphs
ofdigitalfiltersmakesonetoimplementthemeitherinsoftwareorhardware.Even
though discrete Fourier transform (DFT) is introduced in Chap. 5, it does not deal
with the efficient implementation of the DFTs. Chapter 9 describes efficient com-
putational methods to calculate the DFT of a sequence. It further deals with short-
timeFouriertransform,zoomFFT,etc.
So far these chapters describe discrete-time signals and systems and various
designtechniques.InChap.10,theapplicationofdigitalsignalprocessingmethods
in wireless communications in general and digital communications in particular is
discussed. The chapter deals with reducing the intersymbol interference, pulse
shaping, detection of binary data using matched filters, channel equalization,
phase-locked loop, orthogonal frequency division multiplexing, and software-
defined radio, all using digital signal processing. Examples based on MATLAB
arepresentedalongwithSIMULINK-baseddigitalcommunicationssystem.Codes
forallMATLABandSIMULINK.
Ithank Tony Babaian for giving methe opportunity toteach theonlinecourses
titledDSPIandDSPforwirelesscommunications.MysincerethankstoSveteslav
Maricforeditingthebookdraft.Ialsothankthestudentsfortheirfeedbackonthe
contents of the application of DSP in wireless communications. I am indebted to
Preface vii
Mathworks for their continued support in providing MATLAB license, which
enabledmetodevelopthisandmyotherbooks.MythanksgotoSpringerPublishing
Companyandtheirstaffforpublishingmybook.Iamextremelygratefultomywife
Vasú,forsuggestingtowritethisbook.Withoutherkindandgentleencouragement,
Iwouldnothavebeenabletoeventhinkofwritingthisbook,letalonecompletingit.
SanDiego,CA,USA K.S.Thyagarajan
Contents
1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 WhatIsDigitalSignalProcessing. . . . . . . . . . . . . . . . . . . . . . 1
1.2 AFewApplicationsofDigitalSignalProcessing. . . . . . . . . . . 5
1.3 ATypicalDigitalSignalProcessingSystem. . . . . . . . . . . . . . . 10
1.4 Continuous-TimeSignalsandSystems. . . . . . . . . . . . . . . . . . . 11
1.5 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 Discrete-TimeSignalsandSystems. . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 TypicalDiscrete-TimeSignals. . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3 Discrete-TimeSystems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4 ConvolutionSum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5 LinearDifferenceEquation. . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6 SamplingaContinuous-TimeSignal. . . . . . . . . . . . . . . . . . . . 39
2.7 ConversionofContinuous-TimeSignalstoDigitalSignals. . . . 44
2.8 PerformanceofA/DConverters. . . . . . . . . . . . . . . . . . . . . . . . 51
2.9 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.10 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3 Z-Transform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.1 Z-TransformDefinition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2 PropertiesofZ-Transform. . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.3 Z-TransformandDifferenceEquation. . . . . . . . . . . . . . . . . . . 74
3.4 PolesandZeros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.5 InverseZ-Transform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.6 MATLABExamples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
ix
x Contents
3.7 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.8 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4 FrequencyDomainRepresentationofDiscrete-Time
SignalsandSystems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.2 Discrete-TimeFourierTransform. . . . . . . . . . . . . . . . . . . . . . . 110
4.3 InverseDiscrete-TimeFourierTransform. . . . . . . . . . . . . . . . . 113
4.4 PropertiesofDTFT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.5 FrequencyDomainRepresentation
ofLTIDiscrete-TimeSystems. . . . . . . . . . . . . . . . . . . . . . . . . 118
4.6 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4.7 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5 DiscreteFourierTransform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.2 DefinitionofDFT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.3 RelationshipBetweenDTFTandDFT. . . . . . . . . . . . . . . . . . . 152
5.4 InverseDFT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.5 EffectofSamplingtheDTFTontheReconstructed
Sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.6 CircularConvolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.7 PropertiesoftheDFT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
5.8 LinearConvolutionUsingCircularConvolution. . . . . . . . . . . . 166
5.9 LinearConvolutionofaFinite-LengthSequence
withanInfinite-LengthSequence. . . . . . . . . . . . . . . . . . . . . . . 168
5.10 DiscreteTransforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
5.11 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
5.12 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
6 IIRDigitalFilters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
6.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
6.2 ImpulseInvarianceTechnique. . . . . . . . . . . . . . . . . . . . . . . . . 190
6.3 DesignofIIRDigitalFiltersintheFrequencyDomain. . . . . . . 194
6.4 DesignofIIRDigitalFiltersUsingFrequency
Transformation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
6.5 Computer-AidedDesignofIIRDigitalFilters. . . . . . . . . . . . . . 220
6.6 GroupDelay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
6.7 SimulationUsingSimulink. . . . . . . . . . . . . . . . . . . . . . . . . . . 231
6.8 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
6.9 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Contents xi
7 FIRDigitalFilters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7.1 TypesofLinear-PhaseFIRFilters. . . . . . . . . . . . . . . . . . . . . . 245
7.2 Linear-PhaseFIRFilterDesign. . . . . . . . . . . . . . . . . . . . . . . . 247
7.3 Computer-AidedDesignofLinear-PhaseFIRFilters. . . . . . . . . 276
7.4 Discrete-TimeHilbertTransformer. . . . . . . . . . . . . . . . . . . . . . 299
7.5 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
7.6 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
8 DigitalFilterStructures. . .. . . . .. . . .. . . .. . . .. . . . .. . . .. . . .. 313
8.1 SignalFlowGraph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
8.2 IIRDigitalFilterStructures. . . . . . . . . . . . . . . . . . . . . . . . . . . 315
8.3 FIRFilterStructures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
8.4 FiniteWordLengthEffect. . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
8.5 FIRLatticeStructure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
8.6 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
8.7 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
9 FastFourierTransform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
9.1 Brute-ForceComputationofDFT. . . . . . . . . . . . . . . . . . . . . . 385
9.2 FastFourierTransform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
9.3 SpectralAnalysisofDiscrete-TimeSequences. . . . . . . . . . . . . 394
9.4 Fixed-PointImplementationofFFT. . . . . . . . . . . . . . . . . . . . . 401
9.5 SlidingDiscreteFourierTransform. . . . . . . . . . . . . . . . . . . . . 402
9.6 EnergyCompactionPropertyRevisited. . . . . . . . . . . . . . . . . . 407
9.7 ZoomFFT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
9.8 ChirpFourierTransform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
9.9 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
9.10 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
10 DSPinCommunications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
10.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
10.2 SamplingRateConversion. . . . . . . . . . . . . . . . . . . . . . . . . . . 428
10.3 OversampledADC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
10.4 OversampledDAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
10.5 CancelationofInter-SymbolInterference. . . . . . . . . . . . . . . . . 442
10.6 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
10.7 Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Chapter 1
Introduction
Thefieldofdigitalsignalprocessingiswellmaturedandhasfoundapplicationsin
mostcommercialaswellashouseholditems.Itstartedinthe1960swhencomputers
were used only inthe academic institutions. Moreover, these computers were built
aroundvacuumtubeswithlimitedmemoryandslowprocessingpower.Thissitua-
tionwasnotconducivetorapidadvancementsindigitalsignalprocessingtheory.As
the computer technology advanced due to the invention of microprocessors and
semiconductor memories, the field of digital signal processing also simultaneously
progressed. Today, digital signal processing is used in a myriad of fields such as
communications, medicine, forensic, imaging, and music to name a few. It is,
therefore, necessary for an aspirant to learn the basics of digital signal processing
soastobeabletoapplyhisorherknowledgeinthisfieldtocareeradvancement.
1.1 What Is Digital Signal Processing
A signal can be considered, for example, as a voltage or current that varies as a
functionoftime.Adigitalsignal,ontheotherhand,canbeanysequenceofnumbers
that can be stored in a computer memory or a piece of hardware. Or, it may be
acquiredinrealtimefromasignalsource.Ifthissequenceofnumbersisrelatedor
meaningful, then, it is a useful signal or just signal. Figure 1.1 shows a signal
sequence. If the sequence of numbers is random, it can be considered as noise. In
Fig.1.2arandom sequenceisshown.Therefore,digitalsignalprocessingrefers to
anyoperationperformedonthedigitalsignal.Thisprocessingmaybecarriedoutin
real time or non-real time depending on the application. The type of digital signal
Electronic supplementary material: The online version of this article (https://doi.org/10.1007/
978-3-319-76029-2_1)containssupplementarymaterial,whichisavailabletoauthorizedusers.
©SpringerInternationalPublishingAG,partofSpringerNature2019 1
K.S.Thyagarajan,IntroductiontoDigitalSignalProcessingUsingMATLAB
withApplicationtoDigitalCommunications,
https://doi.org/10.1007/978-3-319-76029-2_1
2 1 Introduction
Fig.1.1 Anexampleofa Example of a discrete sequence
signalsequence 1
0.9
0.8
0.7
0.6
e
d
u
plit0.5
m
A0.4
0.3
0.2
0.1
0
0 5 10 15
n
Example of a noise sequence
4
3
2
1
e
d
plitu 0
m
A
-1
-2
-3
-4
0 5 10 15 20 25 30 35
n
Fig.1.2 Anexampleofarandomornoisesequence
processingdependsontheparticularapplicationinhand.Filteringisatypicalsignal
processingoperationinwhichunwantedcomponentsorfeaturescanberemovedor
filtered out from an input digital signal. Consider an example of a signal, which
consists of components of two sinusoidal frequencies at 1500 Hz and 4000 Hz,
respectively,asshowninFig.1.3a.Wewanttoremovetheunwantedcomponentat