دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [Illustrated]
نویسندگان: Thomas Holton
سری:
ISBN (شابک) : 1108418449, 9781108418447
ناشر: Cambridge University Press
سال نشر: 2021
تعداد صفحات: 1058
[1062]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 29 Mb
در صورت تبدیل فایل کتاب Digital Signal Processing: Principles and Applications به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب پردازش سیگنال دیجیتال: اصول و کاربردها نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این کتاب درسی با ترکیب توضیحات واضح اصول اولیه، موضوعات پیشرفته و کاربردها با مشتقات ریاضی گام به گام، مقدمه ای جامع و در عین حال قابل دسترس برای پردازش سیگنال دیجیتال ارائه می دهد. همه موضوعات کلیدی شامل تبدیل فوریه گسسته، تبدیل z، تبدیل فوریه گسسته و FFT، تبدیل A/D و الگوریتمهای فیلتر FIR و IIR و همچنین موضوعات پیشرفتهتر مانند سیستمهای چند نرخی، کسینوس گسسته پوشش داده شده است. تبدیل و پردازش سیگنال طیفی بیش از 600 تصویر تمام رنگی، 200 مثال کاملاً کار شده، صدها مسئله تکلیف پایان فصل و مثالهای محاسباتی دقیق از الگوریتمهای DSP پیادهسازی شده در MATLAB® و C کمک میکند و به عملی کردن دانش کمک میکند. مجموعهای از مطالب تکمیلی به صورت آنلاین کتاب را همراهی میکند، از جمله برنامههای تعاملی برای مدرسان، مجموعه کاملی از راهحلها و تمرینهای آزمایشگاهی MATLAB®، که این متن را به متن ایدهآلی برای دورههای کارشناسی ارشد و کارشناسی ارشد در زمینه پردازش سیگنال دیجیتال تبدیل میکند.
Combining clear explanations of elementary principles, advanced topics and applications with step-by-step mathematical derivations, this textbook provides a comprehensive yet accessible introduction to digital signal processing. All the key topics are covered, including discrete-time Fourier transform, z-transform, discrete Fourier transform and FFT, A/D conversion, and FIR and IIR filtering algorithms, as well as more advanced topics such as multirate systems, the discrete cosine transform and spectral signal processing. Over 600 full-color illustrations, 200 fully worked examples, hundreds of end-of-chapter homework problems and detailed computational examples of DSP algorithms implemented in MATLAB® and C aid understanding, and help put knowledge into practice. A wealth of supplementary material accompanies the book online, including interactive programs for instructors, a full set of solutions and MATLAB® laboratory exercises, making this the ideal text for senior undergraduate and graduate courses on digital signal processing.
Cover Half-title Reviews Title page Copyright information Dedication Contents Preface Noteworthy features of the book Accessible, comprehensive text Good balance of theory and application Multi-level integration of Matlab® Examples and illustrations Detailed description of the book's chapters 1 Discrete-time signals and systems Introduction 1.1 Two signal processing paradigms 1.2 Advantages of digital signal processing 1.3 Applications of DSP 1.4 Signals 1.4.1 Signal classification 1.4.2 Discrete-time signals Table Plot Sequences generated by functions Features of sequences Sequence representation in Matlab 1.5 Basic operations on signals 1.5.1 Shift 1.5.2 Flip 1.5.3 Flip and shift 1.5.4 Time decimation 1.5.5 Time expansion 1.5.6 Operation on multiple sequences 1.6 Basic sequences 1.6.1 Impulse Use of discrete-time impulses in the synthesis and analysis of signals 1.6.2 Unit step Relation between the step and the impulse Use of the step as a switch 1.6.3 Pulse 1.6.4 Power-law sequences 1.6.5 Sinusoidal sequences Discrete-time frequency is different from continuous-time frequency Not all discrete-time sinusoidal sequences are periodic Not all discrete-time frequencies are unique 1.6.6 Complex exponential sequences 1.6.7 Sequence classification Energy and power signals Real and imaginary sequences Even and odd sequences 1.7 Systems 1.7.1 Discrete-time scalar multiplier 1.7.2 Offset 1.7.3 Squarer 1.7.4 Shift 1.7.5 Moving-window average 1.7.6 Summer 1.7.7 Switch 1.7.8 Linear constant-coefficient difference equation (LCCDE) 1.8 Linearity 1.8.1 The additivity property 1.8.2 The scaling property 1.8.3 Discrete-time scalar multiplier 1.8.4 Offset 1.8.5 Squarer 1.8.6 Shift 1.8.7 Moving-window average Scaling property 1.8.8 Summer 1.8.9 Switch 1.8.10 Linear constant-coefficient difference equation 1.8.11 The ''zero-in, zero-out'' property of linear systems 1.9 Time invariance 1.9.1 Discrete-time scalar multiplier 1.9.2 Offset 1.9.3 Squarer 1.9.4 Shift 1.9.5 Moving-window average 1.9.6 Summer 1.9.7 Switch 1.9.8 Linear constant-coefficient difference equation (LCCDE) 1.10 Causality 1.10.1 Discrete-time scalar multiplier 1.10.2 Offset 1.10.3 Squarer 1.10.4 Shift 1.10.5 Moving-window average 1.10.6 Summer 1.10.7 Switch 1.10.8 Linear constant-coefficient difference equation (LCCDE) 1.11 Stability 1.11.1 Discrete-time scalar multiplier 1.11.2 Offset 1.11.3 Squarer 1.11.4 Shift 1.11.5 Moving-window average 1.11.6 Summer 1.11.7 Switch 1.11.8 Linear constant-coefficient difference equation (LCCDE) Summary Problems Problem 1-1 Problem 1-2 Problem 1-3 Problem 1-4 Problem 1-5 Problem 1-6 Problem 1-7 Problem 1-8 Problem 1-9 Problem 1-10 Problem 1-11 Problem 1-12 Problem 1-13 Problem 1-14 Problem 1-15 Problem 1-16 Problem 1-17 Problem 1-18 Problem 1-19 Problem 1-20 Problem 1-21 Problem 1-22 Problem 1-23 Problem 1-24 Problem 1-25 Problem 1-26 Problem 1-27 Problem 1-28 Problem 1-29 Problem 1-30 Problem 1-31 Problem 1-32 Problem 1-33 Problem 1-34 Problem 1-35 2 Impulse response Introduction 2.1 FIR and IIR systems 2.1.1 Finite impulse response (FIR) systems 2.1.2 Infinite impulse response (IIR) systems 2.1.3 Response of a system to a flipped and shifted impulse Response of a system to a shifted impulse Response to a scaled impulse Impulse response of a linear time-invariant system 2.2 Convolution 2.2.1 Direct-summation method 2.2.2 Flip-and-shift method 2.2.3 Convolution examples Step response Response to a pulse 2.3 Properties of convolution 2.3.1 The commutative property 2.3.2 The associative property 2.3.3 The distributive property 2.4 Stability and causality 2.4.1 Stability Stability of FIR systems Stability of IIR systems 2.4.2 Causality 2.5 Convolution reinterpreted 2.5.1 Convolution as polynomial multiplication 2.5.2 Convolution using Matlab 2.5.3 Convolution as matrix multiplication 2.6 Deconvolution Deconvolution as polynomial division Deconvolution using Matlab Deconvolution via matrix inversion 2.7 Convolution of long sequences 2.7.1 Overlap-add method 2.7.2 Overlap-save method 2.8 Implementation issues Summary Problems Problem 2-1 Problem 2-2 Problem 2-3 Problem 2-4 Problem 2-5 Problem 2-6 Problem 2-7 Problem 2-8 Problem 2-9 Problem 2-10 Problem 2-11 Problem 2-12 Problem 2-13 Problem 2-14 Problem 2-15 Problem 2-16 Problem 2-17 Problem 2-18 Problem 2-19 Problem 2-20 Problem 2-21 Problem 2-22 Problem 2-23 Problem 2-24 Problem 2-25 Problem 2-26 Problem 2-27 Problem 2-28 Problem 2-29 Problem 2-30 Problem 2-31 Problem 2-32 Problem 2-33 Problem 2-34 Problem 2-35 Problem 2-36 3 Discrete-time Fourier transform Introduction 3.1 Complex exponentials and sinusoids 3.1.1 Response of LTI systems to complex exponentials Complex exponentials and the system function 3.1.2 Response of linear time-invariant systems to sinusoids 3.2 Discrete-time Fourier transform (DTFT) 3.2.1 Orthogonality of complex exponential sequences 3.2.2 Definition and derivation 3.2.3 Notation of the DTFT 3.2.4 Existence of the DTFT 3.2.5 The system function (again) 3.2.6 Periodicity of the DTFT 3.2.7 DTFT of finite-length sequences 3.2.8 DTFT of infinite-length sequences 3.3 Magnitude and phase description of the DTFT 3.3.1 Magnitude and phase of the DTFT of an impulse 3.3.2 Essential phase discontinuities 3.4 Important sequences and their transforms 3.5 Symmetry properties of the DTFT 3.5.1 Time reversal 3.5.2 Conjugate symmetry and antisymmetry Real sequences Imaginary sequences 3.5.3 Even and odd symmetry Even sequences Odd sequences 3.5.4 Consequences of symmetry Real-and-even sequences Real-and-odd sequences Imaginary sequences 3.5.5 Complex sequences 3.5.6 Symmetry summary 3.6 Response of a system to sinusoidal input 3.7 Linear-phase systems 3.7.1 Causal symmetric sequences 3.7.2 Causal antisymmetric sequences 3.7.3 Time delay and group delay Time delay Group delay 3.8 The inverse discrete-time Fourier transform Finite-length sequences Infinite-length sequences 3.9 Using Matlab to compute and plot the DTFT 3.10 DTFT properties 3.10.1 Linearity 3.10.2 Delay (shifting) property 3.10.3 Complex modulation (frequency shift) property Modulation by (-1)n 3.10.4 Convolution 3.10.5 Using the convolution property of the DTFT to do filtering Method #1: direct time-domain convolution Method #2: convolution by multiplication of transforms 3.10.6 Deconvolution and system identification using the convolution property Deconvolution System identification 3.10.7 Convolution properties 3.10.8 Understanding filtering in the frequency domain 3.10.9 Multiplication (windowing) property 3.10.10 Time- and band-limited systems A time-limited system cannot be band-limited A band-limited system cannot be time-limited 3.10.11 Spectral and temporal ambiguity 3.10.12 Time-reversal property 3.10.13 Differentiation property 3.10.14 Parseval's theorem 3.10.15 DC- and π-value properties 3.10.16 Using the DTFT to solve linear constant-coefficient difference equations 3.10.17 summary of DTFT properties 3.11 The relation between the DTFT and the Fourier series Summary Problems Problem 3-1 Problem 3-2 Problem 3-3 Problem 3-4 Problem 3-5 Problem 3-6 Problem 3-7 Problem 3-8 Problem 3-9 Problem 3-10 Problem 3-11 Problem 3-12 Problem 3-13 Problem 3-14 Problem 3-15 Problem 3-16 Problem 3-17 Problem 3-18 Problem 3-19 Problem 3-20 Problem 3-21 Problem 3-22 Problem 3-23 Problem 3-24 Problem 3-25 Problem 3-26 Problem 3-27 Problem 3-28 Problem 3-29 Problem 3-30 Problem 3-31 Problem 3-32 Problem 3-33 Problem 3-34 Problem 3-35 Problem 3-36 Problem 3-37 Problem 3-38 Problem 3-39 Problem 3-40 Problem 3-41 Problem 3-42 Problem 3-43 Problem 3-44 Problem 3-45 Problem 3-46 Problem 3-47 Problem 3-48 Problem 3-49 Problem 3-50 Problem 3-51 Problem 3-52 Problem 3-53 Problem 3-54 Problem 3-55 Problem 3-56 Problem 3-57 Problem 3-58 Problem 3-59 Problem 3-60 Problem 3-61 Problem 3-62 Problem 3-63 Problem 3-64 4 z-Transform Introduction 4.1 The z-transform 4.2 The singularities of H(z) 4.2.1 Pole-zero plots 4.2.2 Left-sided sequences 4.2.3 Relation between the z-transform and DTFT 4.2.4 Multiple poles and zeros Shifted impulse Right-sided sequence Left-sided sequence Double-sided convergent sequence Double-sided, non-convergent sequence 4.2.5 Finding the z-transform from the pole-zero plot 4.2.6 Complex poles and zeros 4.2.7 Some important transforms 4.2.8 Finite-length sequences 4.2.9 Plotting pole-zero plots with Matlab 4.3 Linear-phase FIR systems (1) Poles can only occur at the origin. Zeros can only be real or occur in complex conjugate pairs. (2) Zeros must occur at conjugate-reciprocal positions in the z-plane. (3) The product of the zeros is either +1 or -1. 4.3.1 Complex zeros 4.3.2 Real zeros 4.4 The inverse z-transform 4.4.1 All-zero systems 4.4.2 Distinct real poles 4.4.3 Complex poles 4.4.4 Multiple (repeated) poles 4.4.5 Improper rational functions 4.4.6 Using Matlab to compute the inverse z-transform 4.5 Properties of the z-transform 4.5.1 Linearity 4.5.2 Shifting property 4.5.3 Differentiation property 4.5.4 Time-reversal property 4.5.5 Convolution property 4.5.6 Applications of convolution 4.5.7 Initial-value theorem 4.5.8 Final-value theorem 4.6 Linear constant-coefficient difference equations (LCCDE) 4.6.1 LCCDE of FIR systems 4.6.2 LCCDE of IIR systems Zero-input response Zero-state response Total response 4.6.3 Relation between the LCCDE and H(z) 4.6.4 Using Matlab to solve LCCDEs 4.6.5 Inverse filter 4.7 The unilateral z-transform Summary Problems Problem 4-1 Problem 4-2 Problem 4-3 Problem 4-4 Problem 4-5 Problem 4-6 Problem 4-7 Problem 4-8 Problem 4-9 Problem 4-10 Problem 4-11 Problem 4-12 Problem 4-13 Problem 4-14 Problem 4-15 Problem 4-16 Problem 4-17 Problem 4-18 Problem 4-19 Problem 4-20 Problem 4-21 Problem 4-22 Problem 4-23 Problem 4-24 Problem 4-25 Problem 4-26 Problem 4-27 Problem 4-28 Problem 4-29 Problem 4-30 Problem 4-31 Problem 4-32 Problem 4-33 Problem 4-34 Problem 4-35 Problem 4-36 Problem 4-37 Problem 4-38 Problem 4-39 Problem 4-40 Problem 4-41 Problem 4-42 5 Frequency response Introduction 5.1 The computation of H(ω) from H(z) 5.2 Systems with a single real zero 5.2.1 Direct computation 5.2.2 Graphical method 5.3 Systems with a single real pole 5.4 Multiple real poles and zeros 5.5 Complex poles and zeros 5.6 3-D visualization of H(ω) from H(z) 5.7 Allpass filter 5.7.1 Real allpass filter 5.7.2 Multiple poles and zeros 5.7.3 Allpass filters with complex poles and zeros 5.7.4 General allpass filter 5.7.5 Systems with the same magnitude 5.7.6 Practical applications of allpass filters 5.8 Minimum-phase-lag systems Summary Problems Problem 5-1 Problem 5-2 Problem 5-3 Problem 5-4 Problem 5-5 Problem 5-6 Problem 5-7 Problem 5-8 Problem 5-9 Problem 5-10 Problem 5-11 6 A/D and D/A conversion Introduction 6.1 Overview of A/D and D/A conversion 6.2 Analog sampling and reconstruction 6.2.1 Analog sampling 6.2.2 The sampling theorem The sampling theorem in the frequency domain The sampling theorem in the time domain Reconstruction filters of different bandwidths Summary of the reconstruction process 6.2.3 The Nyquist sampling criterion 6.2.4 Oversampling, undersampling and critical sampling Critical sampling Oversampling Undersampling 6.2.5 Sampling a cosine Oversampling Undersampling Critical sampling 6.3 Conversion from continuous time to discrete time and back 6.3.1 The continuous-to-discrete (C/D) converter 6.3.2 Spectrum of the discrete-time sequence 6.3.3 The discrete-to-continuous (D/C) converter 6.3.4 Summary 6.4 Anti-aliasing and reconstruction filters 6.4.1 The anti-aliasing filter Ideal anti-aliasing filter Non-ideal anti-aliasing filter 6.4.2 A digital recording application 6.4.3 Reconstruction filter 6.4.4 Revised model of D/A conversion 6.5 Downsampling and upsampling 6.5.1 Downsampling Approach 1 (bad approach): Approach 2 (better approach): 6.5.2 Decimation and aliasing 6.5.3 Oversampling A/D converter in a digital recording application 6.5.4 Upsampling Approach 1 (bad approach): Approach 2 (better approach): 6.5.5 Upsampling a cosine Linear interpolation Aliasing in upsampling 6.5.6 Upsampling D/A converter in a digital recording application Approach I: sharp analog reconstruction filter Approach II: oversampling D/A converter 6.5.7 Resampling 6.6 Matlab functions for sample-rate conversion Resample Downsampling Upsampling 6.7 Quantization 6.7.1 Model of quantization Quantization Encoding 6.7.2 Quantization error 6.7.3 Noise reduction by oversampling Power spectral density of quantization noise Noise reduction in an oversampling A/D converter 6.7.4 Noise-shaping A/D converters Sampling discrete-time integrator Analysis of noise-shaping A/D converter 6.7.5 Sigma-delta A/D converters 6.8 A/D converter architecture 6.9 D/A converter architecture Summary Problems Problem 6-1 Problem 6-2 Problem 6-3 Problem 6-4 Problem 6-5 Problem 6-6 Problem 6-7 Problem 6-8 Problem 6-9 Problem 6-10 Problem 6-11 Problem 6-12 Problem 6-13 7 Finite impulse response filters Introduction 7.1 Linear-phase FIR filters 7.1.1 Types of linear-phase filters 7.1.2 Basic properties of linear-phase filters 7.1.3 Time-aligned and zero-phase FIR filters 7.2 Preliminaries of filter design 7.2.1 Specification of filter characteristics 7.2.2 The ideal lowpass filter 7.2.3 The optimum least-square-error FIR filter 7.2.4 Even- and odd-length causal filters 7.3 Window-based FIR filter design 7.3.1 Rectangular window filter Characteristics of the rectangular-window FIR filter as a function of N and ?c 7.3.2 Raised cosine window filters Hamming window Hann window Blackman window Comparison of raised-cosine windows Design formulas for window-based FIR filters Fractional bandwidth 7.3.3 Kaiser window 7.4 Highpass, bandpass and bandstop FIR filters Complementary filters Bandpass and bandstop filters Modulation method 7.5 Matlab implementation of window-based FIR filters 7.5.1 Matlab functions that implement FIR filtering conv filter filtfilt 7.6 Spline and raised-cosine FIR filters 7.6.1 FIR filters designed using splines 7.6.2 FIR filters designed using raised cosines 7.7 Frequency-sampled FIR filter design 7.7.1 Inverse DFT 7.7.2 Frequency sampling as interpolation 7.7.3 Design formulas 7.7.4 Simultaneous equations 7.7.5 Matlab implementation of frequency-sampled filters 7.8 Least-square-error FIR filter design 7.8.1 Discrete least-square-error FIR filters Matrix formulation of the discrete least-square-error filter Discrete weighted least-square-error filter 7.8.2 Integral least-square-error FIR filter design 7.9 Optimal lowpass filter design 7.10 Multiband filters 7.11 Differentiator 7.12 Hilbert transformer 7.12.1 Derivation of the Hilbert transformer 7.12.2 FIR implementation of a Hilbert transformer 7.12.3 FFT implementation of a Hilbert transformer 7.12.4 Applications of the Hilbert transformer AM demodulator QPSK demodulator Summary Problems Problem 7-1 Problem 7-2 Problem 7-3 Problem 7-4 Problem 7-5 Problem 7-6 Problem 7-7 Problem 7-8 Problem 7-9 Problem 7-10 Problem 7-11 Problem 7-12 Problem 7-13 Problem 7-14 Problem 7-15 Problem 7-16 Problem 7-17 Problem 7-18 Problem 7-19 Problem 7-20 Problem 7-21 Problem 7-22 Problem 7-23 Problem 7-24 Problem 7-25 Problem 7-26 Problem 7-27 Problem 7-28 Problem 7-29 Problem 7-30 Problem 7-31 Problem 7-32 Problem 7-33 Problem 7-34 Problem 7-36 Problem 7-37 Problem 7-38 Problem 7-39 8 Infinite impulse response filters Introduction 8.1 Definition of the IIR filter 8.2 Overview of analog filter design 8.2.1 Parameter definitions Passband Stopband Transition band 8.2.2 Butterworth filter Filter definition Mapping passband and stopband specifications to filter parameters The poles of the Butterworth filter Normalized filter Second-order sections 8.2.3 Chebyshev filter Chebyshev polynomials Mapping passband and stopband specifications to filter parameters The poles of the Chebyshev filter 8.2.4 Inverse Chebyshev filter Mapping passband and stopband specifications to filter parameters The poles and zeros of the inverse Chebyshev filter 8.2.5 Elliptic filter Filter definition The elliptic rational function Mapping passband and stopband specifications to filter parameters Poles and zeros of the elliptic filter 8.2.6 Summary 8.3 Impulse invariance 8.3.1 Impulse-invariance approach 8.3.2 Impulse-invariance design procedure 8.3.3 Mapping of the s-plane to the z-plane 8.4 Bilinear transformation 8.4.1 Forward-difference approximation 8.4.2 Backward-difference approximation 8.4.3 Bilinear transformation 8.4.4 Bilinear-transformation procedure 8.4.5 Cascade of second-order sections 8.5 Spectral transformations of IIR filters 8.5.1 Lowpass-to-lowpass transformation 8.5.2 Lowpass-to-highpass transformation 8.5.3 Lowpass-to-bandpass transformation 8.5.4 Lowpass-to-bandstop transformation Summary of spectral transformations 8.6 Zero-phase IIR filtering Summary Problems Problem 8-1 Problem 8-2 Problem 8-3 Problem 8-4 Problem 8-5 Problem 8-6 Problem 8-7 Problem 8-8 Problem 8-9 Problem 8-10 Problem 8-11 Problem 8-12 Problem 8-13 Problem 8-14 Problem 8-15 Problem 8-16 Problem 8-17 Problem 8-18 Problem 8-19 Problem 8-20 Problem 8-21 Problem 8-22 Problem 8-23 Problem 8-24 Problem 8-25 Problem 8-26 Problem 8-27 Problem 8-28 Problem 8-29 Problem 8-30 Problem 8-31 Problem 8-32 Problem 8-33 Problem 8-34 Problem 8-35 Problem 8-36 Problem 8-37 Problem 8-38 Problem 8-39 Problem 8-40 Problem 8-41 9 Filter architecture Introduction 9.1 Signal-flow graphs 9.2 Canonical filter architecture 9.2.1 First-order filters First-order FIR filter First-order IIR filter 9.2.2 Canonical filter architecture 9.3 Transposed filters 9.4 Cascade architecture 9.4.1 Allpass filters 9.4.2 Using Matlab to design cascade filters 9.5 Parallel architecture 9.5.1 Using Matlab to design parallel filters 9.6 FIR filters 9.7 Lattice and lattice-ladder filters 9.7.1 FIR lattice filters 9.7.2 Specialized FIR lattice filters 9.7.3 IIR lattice filters 9.7.4 Allpass lattice filters 9.7.5 Lattice-ladder IIR filters 9.7.6 Stability of IIR filters revisited 9.8 Coefficient quantization 9.8.1 Systems with poles 9.8.2 Systems with zeros 9.8.3 Systems with poles and zeros 9.8.4 Pairing poles and zeros 9.8.5 Coefficient quantization of lattice filters 9.9 Implementation issues 9.9.1 Software implementation 9.9.2 Hardware implementation Summary Problems Problem 9-1 Problem 9-2 Problem 9-3 Problem 9-4 Problem 9-5 Problem 9-6 Problem 9-7 Problem 9-8 Problem 9-9 Problem 9-10 10 Discrete Fourier transform (DFT) Introduction 10.1 Derivation of the DFT 10.1.1 The inverse discrete Fourier transform (IDFT) 10.1.2 Orthogonality of complex exponential sequences 10.1.3 Periodicity of the DFT 10.1.4 Conditions for the reconstruction of a sequence from the DFT 10.2 DFT of basic signals 10.2.1 DFT of an impulse 10.2.2 DFT of a pulse 10.2.3 DFT of a constant 10.2.4 DFT of a complex exponential sequence 10.2.5 DFT of a sinusoid 10.2.6 Resolution and frequency mapping of the DFT 10.2.7 summary (so far) 10.3 Properties of the DFT 10.3.1 Linearity 10.3.2 Complex conjugation 10.3.3 Symmetry properties of the DFT Real sequences General complex sequences 10.3.4 Circular time shifting 10.3.5 Circular time reversal 10.3.6 Circular frequency shift 10.3.7 Circular convolution 10.3.8 Multiplication 10.3.9 Parseval's theorem 10.3.10 summary of DFT properties 10.4 Matrix representation of the DFT 10.5 Using the DFT to increase resolution in the time and frequency domains 10.5.1 Increasing frequency resolution by zero-padding in the time domain 10.5.2 Upsampling in the time domain by zero-padding in the frequency domain 10.5.3 Recovery of the DTFT from the DFT Summary Problems Problem 10-1 Problem 10-2 Problem 10-3 Problem 10-4 Problem 10-5 Problem 10-6 Problem 10-7 Problem 10-8 Problem 10-9 Problem 10-10 Problem 10-11 Problem 10-12 Problem 10-13 Problem 10-14 Problem 10-15 Problem 10-16 Problem 10-17 Problem 10-18 Problem 10-18 Problem 10-19 Problem 10-20 Problem 10-21 Problem 10-22 Problem 10-23 Problem 10-24 11 Fast Fourier transform (FFT) Introduction 11.1 Radix-2 FFT transforms 11.1.1 Decimation-in-time FFT 11.1.2 Computational gain 11.1.3 Bit reversal 11.1.4 Decimation-in-frequency FFT 11.2 Radix-4 FFT 11.2.1 The radix-4 decomposition 11.2.2 The radix-4 transform as a combination of radix-2 transforms 11.3 Composite (mixed-radix) FFT 11.3.1 FFTs of composite size 11.3.2 Mixed radix-2 and radix-4 transform 11.3.3 Transposed and split-radix transforms 11.4 Inverse FFT 11.5 Matlab implementation 11.6 FFT of real sequences 11.6.1 Properties of DFTs (revisited) 11.6.2 N-point FFT of two real N-point sequences 11.6.3 N-point IFFT of two N-point transforms 11.6.4 N/2-point FFT of a real N-point sequence 11.6.5 N/2-point IFFT of an N-point transform 11.7 FFT resolution 11.7.1 Increasing the resolution of the FFT 11.7.2 Decreasing the resolution of the FFT 11.8 Fast convolution using the FFT 11.8.1 Convolution of fixed-length input sequences Speed of convolution 11.8.2 Block convolution using the FFT Overlap-add method Overlap-save method Choice of block size 11.8.3 Using both DIT and DIF transforms 11.8.4 Matlab support for convolution using the FFT 11.9 The Goertzel algorithm DTMF tone decoding 11.10 Iterative and recursive implementations 11.10.1 Iterative implementation 11.10.2 Recursive implementation 11.11 Implementation issues Multiplications and additions Memory and cache Fixed-point vs. floating-point Hardware implementations Summary Problems Problem 11-1 Problem 11-2 Problem 11-3 Problem 11-4 Problem 11-5 Problem 11-6 Problem 11-7 Problem 11-8 Problem 11-9 Problem 11-10 Problem 11-11 Problem 11-12 Problem 11-13 12 Discrete cosine transform (DCT) Introduction 12.1 The DCT 12.1.1 Periodically extended sequences 12.1.2 ''The'' discrete cosine transform (DCT-II) 12.1.3 The inverse discrete cosine transform (IDCT) 12.1.4 The four principal DCT variants 12.1.5 Properties of the DCT 12.1.6 Matrix form of the DCT and IDCT Parseval's theorem in matrix form 12.1.7 Energy compaction of the DCT 12.1.8 Implementation of the DCT-II and IDCT-II Computation of the DCT-II Computation of the IDCT-II 12.1.9 The modified discrete cosine transform (MDCT) 12.2 MPEG audio compression 12.2.1 The MP3 encoder 12.2.2 Hybrid filter bank and MDCT 12.2.3 The psychoacoustic model The absolute threshold of hearing Critical bands Masking 12.2.4 Bit allocation and quantization 12.2.5 Minimum entropy coding 12.3 JPEG image compression 12.3.1 Color processing 12.3.2 DCT transformation and quantization 12.3.3 Coefficient encoding 12.3.4 Implementation of 2D-DCT Summary Problems Problem 12-1 Problem 12-2 Problem 12-3 Problem 12-4 Problem 12-5 Problem 12-6 Problem 12-7 Problem 12-8 Problem 12-9 Problem 12-10 Problem 12-11 Problem 12-12 Problem 12-13 Problem 12-14 Problem 12-15 Problem 12-16 Problem 12-17 Problem 12-18 Problem 12-19 Problem 12-20 Problem 12-21 13 Multirate systems Introduction 13.1 Polyphase downsampling 13.1.1 Review of downsampling 13.1.2 Polyphase implementation of downsampling 13.1.3 Downsampling summary 13.2 Polyphase upsampling 13.2.1 Review of upsampling 13.2.2 Polyphase implementation of upsampling 13.2.3 Upsampling summary 13.3 Polyphase resampling 13.4 Transform analysis of polyphase systems 13.4.1 Basic decimation and expansion identities 13.4.2 Multirate identities of downsampling and upsampling z-transform of a decimated sequence z-transform of an expanded sequence Multirate downsampling identity Multirate upsampling identity 13.4.3 Transform analysis of polyphase downsampling 13.4.4 Transform analysis of polyphase upsampling 13.4.5 Transform analysis of polyphase resampling 13.4.6 Matlab implementation of polyphase sample-rate conversion algorithms 13.5 Multistage systems for downsampling and upsampling 13.5.1 Multistage downsampling 13.5.2 Multistage upsampling 13.6 Multistage and multirate filtering 13.6.1 Multistage interpolated FIR (IFIR) filters 13.6.2 Multirate lowpass filtering 13.7 Special filters for multirate applications 13.7.1 Half-band filters 13.7.2 Polyphase downsampling and upsampling using half-band filters 13.7.3 L-band (Nyquist) filters 13.8 Multirate filter banks Summary Problems Problem 13-1 Problem 13-2 Problem 13-3 Problem 13-4 Problem 13-5 Problem 13-6 Problem 13-7 Problem 13-8 Problem 13-9 Problem 13-10 Problem 13-11 Problem 13-12 Problem 13-13 Problem 13-14 Problem 13-15 Problem 13-16 Problem 13-17 Problem 13-18 Problem 13-19 14 Spectral analysis Introduction 14.1 Basics of spectral analysis 14.1.1 Spectral effects of windowing 14.1.2 Effect of window choice 14.1.3 Spectral spread and leakage Effect of main lobe width on spectral resolution Effect of spectral leakage on spectral resolution 14.1.4 Spectral effect of sampling 14.2 The short-time Fourier transform (STFT) 14.2.1 Constant overlap-add criterion 14.2.2 The spectrogram Spectrogram of a chirp Spectrogram of speech Time resolution vs. frequency resolution of the spectrogram 14.2.3 Implementation of the discrete STFT in Matlab 14.3 Nonparametric methods of spectral estimation 14.3.1 The periodogram Definition Bias of the periodogram Consistency of the periodogram 14.3.2 Bartlett's method Periodogram of random signal in noise 14.3.3 The modified periodogram 14.3.4 Averaged modified periodogram 14.3.5 Welch's method 14.3.6 Discrete-time periodograms 14.3.7 Matlab implementation of the periodogram functions 14.4 Parametric methods of spectral estimation 14.4.1 The ARMA model Autoregressive (AR) model The Yule-Walker equations 14.4.2 The Levinson-Durbin algorithm 14.4.3 Matlab implementation of the Levinson-Durbin algorithm 14.5 Linear prediction 14.5.1 Prediction error and the estimation of model order 14.5.2 Linear predictive coding (LPC) 14.5.3 The source-filter model 14.5.4 Linear predictive coding architecture Basic LPC architecture Example of using linear prediction in encoding and decoding 14.5.5 Alternative formulations of linear prediction equations Summary Problems Problem 14-1 Problem 14-2 Problem 14-3 Problem 14-4 Problem 14-5 Problem 14-6 Problem 14-7 Problem 14-8 Problem 14-9 A. Linear algebra A.1 Systems of linear equations A.2 Solution of an inhomogeneous system of equations A.2.1 Unique solution A.2.2 Infinite number of solutions A.2.3 No solution A.3 Solution of a homogeneous system of equations A.3.1 Trivial solution A.3.2 Infinite number of solutions A.4 Least-square-error optimization B. Numeric representations B.1 Integer representation B.1.1 Unsigned binary B.1.2 Signed-magnitude binary B.1.3 Two's-complement binary B.1.4 Offset binary B.1.5 Converting between binary formats B.2 Fixed-point (fractional) representation B.2.1 Rounding and truncation B.2.2 Arithmetic of fractional numbers B.3 Floating-point representation B.4 Computer representation of numbers C. Matlab tutorial C.1 Introduction to Matlab C.1.1 What is Matlab? C.1.2 What is Matlab not? C.2 The elements of Matlab C.2.1 Calculator functions C.2.2 Variables Variable basics ''Reserved'' variables Vectors and matrices C.2.3 Matlab functions Accessing array values Size of matrices and arrays Data types Structures C.3 Programming in Matlab C.3.1 Scripts C.3.2 Functions Function handles Anonymous functions C.3.3 Conditionals and loops C.3.4 Classes C.4 Matlab help C.5 Plotting C.6 The Matlab environment C.6.1 Command window and editor Command window Editor C.6.2 Debugging and writing ''clean'' code D. Probability and random processes D.1 Probability distribution and density functions D.1.1 Discrete probability density function D.1.2 Continuous probability density function Uniform PDF Gaussian PDF D.1.3 Joint, marginal and conditional probability distributions D.1.4 Expected value and moments D.1.5 Covariance and correlation D.2 Random processes D.2.1 Statistics of a random process Mean Autocorrelation Crosscorrelation Matrix form of correlation D.2.2 Stationary random processes Mean Autocorrelation Crosscorrelation D.2.3 White noise D.2.4 Filtered random processes D.2.5 The Wold decomposition D.2.6 Estimators Sample mean Sample autocorrelation Bias Consistency D.2.7 Ergodic processes D.3 Power spectral density D.3.1 Definition D.3.2 Power spectral density of a filtered random process D.3.3 Power spectral density of noise D.4 Matlab functions D.4.1 Random number generators Uniform random variables Gaussian random variable Random number generator D.4.2 Autocorrelation and crosscorrelation Problems Problem D1 Problem D2 Problem D3 Problem D4 Problem D5 References Basic linear systems theory DSP textbooks A/D and D/A conversion Probability and statistics FIR and IIR filtering DFT/FFT DCT Multirate systems Spectral analysis Index