- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
This excellent text is designed to be an easy to read, practical guide for practitioners and researchers requiring an accessible reference text on digital signal processing. The book is split into six self contained chapters, allowing the reader to quickly locate and implement different aspects of the subject as required.
Digital signal processing is essential for improving the accuracy and reliability of a range of engineering systems, including communications, networking, and audio and video applications. Using a combination of programming and mathematical techniques, it clarifies, or…mehr
Andere Kunden interessierten sich auch für
- Craig MarvenA Simple Approach to Digital Signal Processing164,99 €
- Jonathan Y. SteinDigital Signal Processing314,99 €
- Belle A. ShenoiIntroduction to Digital Signal Processing and Filter Design167,99 €
- Bu-Chin WangDigital Signal Processing Tech170,99 €
- Saeed V. VaseghiAdvanced Digital Signal Processing and Noise Reduction191,99 €
- Ultrafast All-Optical Signal Processing Devices181,99 €
- Saeed V. VaseghiMultimedia Signal Processing154,99 €
-
-
-
This excellent text is designed to be an easy to read, practical guide for practitioners and researchers requiring an accessible reference text on digital signal processing. The book is split into six self contained chapters, allowing the reader to quickly locate and implement different aspects of the subject as required.
Digital signal processing is essential for improving the accuracy and reliability of a range of engineering systems, including communications, networking, and audio and video applications. Using a combination of programming and mathematical techniques, it clarifies, or standardizes the levels or states of a signal, in order to meet the demands of designing high performance digital hardware.
Written by authors with a wealth of practical experience working with digital signal processing, this text is an excellent step-by-step guide for practitioners and researchers needing to understand and quickly implement the technology. Split into six, self-contained chapters, Digital Signal Processing: A Practitioner's Approach covers:
_ basic principles of signal processing such as linearity, stability, convolution, time and frequency domains, and noise;
_ descriptions of digital filters and their realization, including fixed point implementation, pipelining, and field programmable gate array (FGPA) implementation;
_ Fourier transforms, especially discrete (DFT), and fast Fourier transforms (FFT);
_ case studies demonstrating difference equations, direction of arrival (DoA), and electronic rotating elements, and MATLAB programs to accompany each chapter.
A valuable reference for engineers developing digital signal processing applications, this book is also a useful resource for electrical and computer engineering graduates taking courses in signal processing.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Digital signal processing is essential for improving the accuracy and reliability of a range of engineering systems, including communications, networking, and audio and video applications. Using a combination of programming and mathematical techniques, it clarifies, or standardizes the levels or states of a signal, in order to meet the demands of designing high performance digital hardware.
Written by authors with a wealth of practical experience working with digital signal processing, this text is an excellent step-by-step guide for practitioners and researchers needing to understand and quickly implement the technology. Split into six, self-contained chapters, Digital Signal Processing: A Practitioner's Approach covers:
_ basic principles of signal processing such as linearity, stability, convolution, time and frequency domains, and noise;
_ descriptions of digital filters and their realization, including fixed point implementation, pipelining, and field programmable gate array (FGPA) implementation;
_ Fourier transforms, especially discrete (DFT), and fast Fourier transforms (FFT);
_ case studies demonstrating difference equations, direction of arrival (DoA), and electronic rotating elements, and MATLAB programs to accompany each chapter.
A valuable reference for engineers developing digital signal processing applications, this book is also a useful resource for electrical and computer engineering graduates taking courses in signal processing.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Verlag: Wiley & Sons
- 1. Auflage
- Seitenzahl: 224
- Erscheinungstermin: 1. Januar 2006
- Englisch
- Abmessung: 237mm x 162mm x 19mm
- Gewicht: 445g
- ISBN-13: 9780470017692
- ISBN-10: 0470017694
- Artikelnr.: 20781478
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- 06621 890
- Verlag: Wiley & Sons
- 1. Auflage
- Seitenzahl: 224
- Erscheinungstermin: 1. Januar 2006
- Englisch
- Abmessung: 237mm x 162mm x 19mm
- Gewicht: 445g
- ISBN-13: 9780470017692
- ISBN-10: 0470017694
- Artikelnr.: 20781478
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- 06621 890
Dr Kaluri V. Rangarao, Satyam Computer Services Ltd, Satyam Technology Center, Bahadurpally, RR District 500043, Andhra Pradesh, India. Dr Rangarao is currently Vice President of Satyam Computer Services, Ltd, India working in the areas of embedded software development and telecoms. Before this post, he has had 14 years experience in industry working with applications of digital signal processing, software engineering, real-time systems, digital image processing and product development. He is also a senior member of IEEE, Chairman of the Computer Society of India and has had over 10 journal and conference papers published on the subjects of signal processing and software development. Dr Ranjan K. Mallik, Associate Professor, Department of Electrical Engineering, Indian Institute of Technology - Delhi, Hauz Khas, New Delhi 11016, India. Dr Mallik is currently an Associate Professor in the Department of Electrical Engineering at the Indian Institute of Technology, Delhi. He has been teaching at the Institute since 1994 and is now conducting research in the areas of communication theory and systems, difference equations and linear algebra. He has had industry experience in the Defence Electronics Research Laboratory in India and has written over 60 journal and conference papers on digital signal processing and communication theory.
Foreword xiii
Preface xv
Acknowledgements xvii
1 Processing of Signals 1
1.1 Organisation of the Book 1
1.2 Classification of Signals 2
1.2.1 Spectral Domain 3
1.2.2 Random Signals 4
1.2.3 Periodic Signals 5
1.3 Transformations 6
1.3.1 Laplace and Fourier Transforms 6
1.3.2 The z-Transform and the Discrete Fourier Transform 6
1.3.3 An Interesting Note 8
1.4 Signal Characterisation 8
1.4.1 Non-parametric Spectrum or Fourier Spectrum 8
1.4.2 Parametric Representation 9
1.5 Converting Analogue Signals to Digital 11
1.5.1 Windowing 12
1.5.2 Sampling 12
1.5.3 Quantisation 14
1.5.4 Noise Power 15
1.6 Signal Seen by the Computing Engine 16
1.6.1 Mitigating the Problems 16
1.6.2 Anatomy of a Converter 16
1.6.3 The Need for Normalised Frequency 17
1.6.4 Care before Sampling 17
1.7 It Is Only Numbers 17
1.7.1 Numerical Methods 19
1.8 Summary 19
References 20
2 Revisiting the Basics 21
2.1 Linearity 21
2.1.1 Linear Systems 22
2.1.2 Sinusoidal Inputs 22
2.1.3 Stability 23
2.1.4 Shift Invariance 23
2.1.5 Impulse Response 23
2.1.6 Decomposing h k 26
2.2 Linear System Representation 26
2.2.1 Continuous to Discrete 27
2.2.2 Nomenclature 27
2.2.3 Difference Equations 27
2.2.4 Transfer Function 28
2.2.5 Pole-Zero Representation 29
2.2.6 Continuous to Discrete Domain 29
2.2.7 State Space Representation 30
2.2.8 Solution of Linear Difference Equations 32
2.3 Random Variables 32
2.3.1 Functions of a Random Variable 33
2.3.2 Reliability of Systems 34
2.4 Noise 35
2.4.1 Noise Generation 35
2.4.2 Fourier Transform and pdf of Noise 36
2.5 Propagation of Noise in Linear Systems 36
2.5.1 Linear System Driven by Arbitrary Noise 37
2.6 Multivariate Functions 37
2.6.1 Vectors of More Than Two Dimensions 38
2.6.2 Functions of Several Variables 38
2.6.3 System of Equations 39
2.7 Number Systems 41
2.7.1 Representation of Numbers 41
2.7.2 Fixed-Point Numbers 42
2.7.3 Floating-Point Numbers 43
2.8 Summary 43
References 43
3 Digital Filters 45
3.1 How to Specify a Filter 45
3.2 Moving-Average Filters 46
3.2.1 Area under a Curve 46
3.2.2 Mean of a Given Sequence 47
3.2.3 Mean over a Fixed Number of Samples 47
3.2.4 Linear Phase Filters 48
3.2.5 MA Filter with Complex Coefficients 50
3.3 Infinite Sequence Generation 52
3.3.1 Digital Counter 52
3.3.2 Noise Sequence 52
3.3.3 Numerically Controlled Oscillator 53
3.4 Unity-Gain Narrowband Filter 53
3.5 All-Pass Filter 54
3.5.1 Interpolation of Data Using an APF 55
3.5.2 Delay Estimation Using an APF 56
3.6 Notch Filter 57
3.6.1 Overview 58
3.7 Other Autoregressive Filters 58
3.8 Adaptive Filters 61
3.8.1 Varying r 61
3.8.2 Varying p 62
3.8.3 Criteria 63
3.8.4 Adaptation 63
3.9 Demodulating via Adaptive Filters 64
3.9.1 Demodulation Method 64
3.9.2 Step Size 67
3.9.3 Performance 67
3.10 Phase Shift via Adaptive Filter 68
3.11 Inverse Problems 69
3.11.1 Model Order Problem 69
3.11.2 Estimating Filter Coefficients 70
3.11.3 Target Tracking as an Inverse Problem 71
3.12 Kalman Filter 73
3.12.1 Estimating the Rate 73
3.12.2 Fitting a Sine Curve 74
3.12.3 Sampling in Space 76
3.13 Summary 78
References 78
4 Fourier Transform and Signal Spectrum 79
4.1 Heterodyne Spectrum Analyser 79
4.1.1 Spectrum Analyser 79
4.2 Discrete Fourier Transform 81
4.3 Decimating the Given Sequence 82
4.3.1 Sliding DFT 83
4.4 Fast Fourier Transform 83
4.4.1 Windowing Effect 83
4.4.2 Frequency Resolution 85
4.4.3 Decimation in Time 85
4.4.4 Decimation in Frequency 86
4.4.5 Computing Effort Estimate 88
4.5 Fourier Series Coefficients 88
4.5.1 Fourier Coefficients 88
4.6 Convolution by DFT 89
4.6.1 Circular Convolution 90
4.7 DFT in Real Time 91
4.7.1 Vehicle Classification 92
4.7.2 Instrument Classification 92
4.8 Frequency Estimation via DFT 93
4.8.1 Problem Definition 93
4.8.2 DFT Solution 94
4.9 Parametric Spectrum in RF Systems 95
4.9.1 Test Data Generation 97
4.9.2 Estimating the Parameter Vector 99
4.10 Summary 99
References 100
5 Realisation of Digital Filters 101
5.1 Evolution 101
5.2 Development Process 102
5.3 Analogue-to-Digital Converters 103
5.3.1 Successive Approximation Method 103
5.3.2 Flash Converters 103
5.3.3 Sigma-Delta Converters 104
5.3.4 Synchro-to-Digital Converters 105
5.4 Second-Order BPF 105
5.4.1 Fixed-Point Implementation 105
5.5 Pipelining Filters 107
5.5.1 Modelling Hardware Multipliers and Adders 107
5.5.2 Pipelining FIR Filters 108
5.5.3 Pipelining IIR Filters 109
5.5.4 Stability Issues 112
5.6 Real-Time Applications 113
5.6.1 Comparison of DSP Processors 113
5.7 Frequency Estimator on the DSP5630X 114
5.7.1 Modified Response Error Method 114
5.7.2 Algorithm to Code 117
5.8 FPGA Implementation of a Kalman Filter 117
5.8.1 Fixed-Point Implementation 118
5.9 Summary 119
References 119
6 Case Studies 121
6.1 Difference Equation to Program 121
6.2 Estimating Direction of Arrival 122
6.3 Electronic Rotating Elements 124
6.3.1 Problem Formulation 126
6.3.2 Finding the DoA 126
6.3.3 Straight-Line Fit 126
6.4 Summary 128
References 128
Appendix: MATLAB and C Programs 129
A. 1 Chapter 1 MATLAB Programs 129
A.. 1 Program f1_ 1234 129
A.1. 2 Program f1_ 56 130
A.1. 3 Program f1_ 78 131
A.1. 4 Program f11_ 901 132
A.1. 5 Program f11_ 23458 132
A. 2 Chapter 2 MATLAB Programs 134
A.2. 1 Program f 2_345 134
A.. 2 Program f 2_7 135
A.2. 3 Program f 2_7b 137
A.2. 4 Program f 2_8a 137
A.2. 5 Program f 2_89 138
A.2. 6 Program f 21_0123 139
A.2. 7 Program f 21_67 140
A. 3 Chapter 3 MATLAB Programs 141
A.3. 1 Program f3_ 1 141
A.3. 2 Program f3_1a 142
A.. 3 Program f3_ 2 142
A.3. 4 Program f_ 3 143
A.3. 5 Program f3_ 45 143
A.3. 6 Program f3_ 6 144
A.3. 7 Program f31_ 4 145
A.3. 8 Program f31_ 5 146
A.3. 9 Program f31_6a 147
A.3.10 Program f31_ 78 147
A.3.11 Program f3_ 789 148
A.3.12 Program f31_ 90 149
A.3.13 Program f31_9a 150
A.3.14 Program f3_6_1a 150
A.3.15 Program f3_ 65 151
A.3.16 Program f3_6_ 9 152
A.3.17 Program f3_61_ 01 153
A.3.18 Program f3_61_ 4 154
A.3.19 Program f32_6a 154
A. 4 Chapter 4 MATLAB Programs 155
A.4. 1 Program f_ 4 155
A.4. 2 Program f4_ 56 156
A.4. 3 Program f4_62_ 0 157
A.. 4 Program f4_6_ 2 159
A.4. 5 Program f4_61_5b 160
A. 5 Chapter 5 Programs 161
A.5. 1 MATLAB Program f5_7a 162
A.5. 2 MATLAB Program f5_ 1 162
A.5. 3 MATLAB Program f51_ 2 163
A.5. 4 MATLAB Program f51_ 3 165
A.. 5 c Program f51_ 2 165
A. 6 Chapter 6 MATLAB Programs 176
A.6. 1 Program f6_9b 176
A.6. 2 Program f6_ 3 177
A. 7 Library of Subroutines 177
A.7. 1 Program Expand 177
A.7. 2 Program freq 178
A.7. 3 Program freqt 178
A.7. 4 Program rbn_sig 179
A.7. 5 Program p2f 1 179
A7. 6 Program pulse 180
A. 7 Program forier 180
A.7. 8 Program spk 181
A.7. 9 Program pdf_y 181
A. 8 Some Useful Programs 182
A.8. 1 Program f2_grad 182
A.8. 2 Program f2_lemma 183
A.8. 3 Program f5_pipe 183
A.8. 4 Program f3_rate 184
Index 187
Preface xv
Acknowledgements xvii
1 Processing of Signals 1
1.1 Organisation of the Book 1
1.2 Classification of Signals 2
1.2.1 Spectral Domain 3
1.2.2 Random Signals 4
1.2.3 Periodic Signals 5
1.3 Transformations 6
1.3.1 Laplace and Fourier Transforms 6
1.3.2 The z-Transform and the Discrete Fourier Transform 6
1.3.3 An Interesting Note 8
1.4 Signal Characterisation 8
1.4.1 Non-parametric Spectrum or Fourier Spectrum 8
1.4.2 Parametric Representation 9
1.5 Converting Analogue Signals to Digital 11
1.5.1 Windowing 12
1.5.2 Sampling 12
1.5.3 Quantisation 14
1.5.4 Noise Power 15
1.6 Signal Seen by the Computing Engine 16
1.6.1 Mitigating the Problems 16
1.6.2 Anatomy of a Converter 16
1.6.3 The Need for Normalised Frequency 17
1.6.4 Care before Sampling 17
1.7 It Is Only Numbers 17
1.7.1 Numerical Methods 19
1.8 Summary 19
References 20
2 Revisiting the Basics 21
2.1 Linearity 21
2.1.1 Linear Systems 22
2.1.2 Sinusoidal Inputs 22
2.1.3 Stability 23
2.1.4 Shift Invariance 23
2.1.5 Impulse Response 23
2.1.6 Decomposing h k 26
2.2 Linear System Representation 26
2.2.1 Continuous to Discrete 27
2.2.2 Nomenclature 27
2.2.3 Difference Equations 27
2.2.4 Transfer Function 28
2.2.5 Pole-Zero Representation 29
2.2.6 Continuous to Discrete Domain 29
2.2.7 State Space Representation 30
2.2.8 Solution of Linear Difference Equations 32
2.3 Random Variables 32
2.3.1 Functions of a Random Variable 33
2.3.2 Reliability of Systems 34
2.4 Noise 35
2.4.1 Noise Generation 35
2.4.2 Fourier Transform and pdf of Noise 36
2.5 Propagation of Noise in Linear Systems 36
2.5.1 Linear System Driven by Arbitrary Noise 37
2.6 Multivariate Functions 37
2.6.1 Vectors of More Than Two Dimensions 38
2.6.2 Functions of Several Variables 38
2.6.3 System of Equations 39
2.7 Number Systems 41
2.7.1 Representation of Numbers 41
2.7.2 Fixed-Point Numbers 42
2.7.3 Floating-Point Numbers 43
2.8 Summary 43
References 43
3 Digital Filters 45
3.1 How to Specify a Filter 45
3.2 Moving-Average Filters 46
3.2.1 Area under a Curve 46
3.2.2 Mean of a Given Sequence 47
3.2.3 Mean over a Fixed Number of Samples 47
3.2.4 Linear Phase Filters 48
3.2.5 MA Filter with Complex Coefficients 50
3.3 Infinite Sequence Generation 52
3.3.1 Digital Counter 52
3.3.2 Noise Sequence 52
3.3.3 Numerically Controlled Oscillator 53
3.4 Unity-Gain Narrowband Filter 53
3.5 All-Pass Filter 54
3.5.1 Interpolation of Data Using an APF 55
3.5.2 Delay Estimation Using an APF 56
3.6 Notch Filter 57
3.6.1 Overview 58
3.7 Other Autoregressive Filters 58
3.8 Adaptive Filters 61
3.8.1 Varying r 61
3.8.2 Varying p 62
3.8.3 Criteria 63
3.8.4 Adaptation 63
3.9 Demodulating via Adaptive Filters 64
3.9.1 Demodulation Method 64
3.9.2 Step Size 67
3.9.3 Performance 67
3.10 Phase Shift via Adaptive Filter 68
3.11 Inverse Problems 69
3.11.1 Model Order Problem 69
3.11.2 Estimating Filter Coefficients 70
3.11.3 Target Tracking as an Inverse Problem 71
3.12 Kalman Filter 73
3.12.1 Estimating the Rate 73
3.12.2 Fitting a Sine Curve 74
3.12.3 Sampling in Space 76
3.13 Summary 78
References 78
4 Fourier Transform and Signal Spectrum 79
4.1 Heterodyne Spectrum Analyser 79
4.1.1 Spectrum Analyser 79
4.2 Discrete Fourier Transform 81
4.3 Decimating the Given Sequence 82
4.3.1 Sliding DFT 83
4.4 Fast Fourier Transform 83
4.4.1 Windowing Effect 83
4.4.2 Frequency Resolution 85
4.4.3 Decimation in Time 85
4.4.4 Decimation in Frequency 86
4.4.5 Computing Effort Estimate 88
4.5 Fourier Series Coefficients 88
4.5.1 Fourier Coefficients 88
4.6 Convolution by DFT 89
4.6.1 Circular Convolution 90
4.7 DFT in Real Time 91
4.7.1 Vehicle Classification 92
4.7.2 Instrument Classification 92
4.8 Frequency Estimation via DFT 93
4.8.1 Problem Definition 93
4.8.2 DFT Solution 94
4.9 Parametric Spectrum in RF Systems 95
4.9.1 Test Data Generation 97
4.9.2 Estimating the Parameter Vector 99
4.10 Summary 99
References 100
5 Realisation of Digital Filters 101
5.1 Evolution 101
5.2 Development Process 102
5.3 Analogue-to-Digital Converters 103
5.3.1 Successive Approximation Method 103
5.3.2 Flash Converters 103
5.3.3 Sigma-Delta Converters 104
5.3.4 Synchro-to-Digital Converters 105
5.4 Second-Order BPF 105
5.4.1 Fixed-Point Implementation 105
5.5 Pipelining Filters 107
5.5.1 Modelling Hardware Multipliers and Adders 107
5.5.2 Pipelining FIR Filters 108
5.5.3 Pipelining IIR Filters 109
5.5.4 Stability Issues 112
5.6 Real-Time Applications 113
5.6.1 Comparison of DSP Processors 113
5.7 Frequency Estimator on the DSP5630X 114
5.7.1 Modified Response Error Method 114
5.7.2 Algorithm to Code 117
5.8 FPGA Implementation of a Kalman Filter 117
5.8.1 Fixed-Point Implementation 118
5.9 Summary 119
References 119
6 Case Studies 121
6.1 Difference Equation to Program 121
6.2 Estimating Direction of Arrival 122
6.3 Electronic Rotating Elements 124
6.3.1 Problem Formulation 126
6.3.2 Finding the DoA 126
6.3.3 Straight-Line Fit 126
6.4 Summary 128
References 128
Appendix: MATLAB and C Programs 129
A. 1 Chapter 1 MATLAB Programs 129
A.. 1 Program f1_ 1234 129
A.1. 2 Program f1_ 56 130
A.1. 3 Program f1_ 78 131
A.1. 4 Program f11_ 901 132
A.1. 5 Program f11_ 23458 132
A. 2 Chapter 2 MATLAB Programs 134
A.2. 1 Program f 2_345 134
A.. 2 Program f 2_7 135
A.2. 3 Program f 2_7b 137
A.2. 4 Program f 2_8a 137
A.2. 5 Program f 2_89 138
A.2. 6 Program f 21_0123 139
A.2. 7 Program f 21_67 140
A. 3 Chapter 3 MATLAB Programs 141
A.3. 1 Program f3_ 1 141
A.3. 2 Program f3_1a 142
A.. 3 Program f3_ 2 142
A.3. 4 Program f_ 3 143
A.3. 5 Program f3_ 45 143
A.3. 6 Program f3_ 6 144
A.3. 7 Program f31_ 4 145
A.3. 8 Program f31_ 5 146
A.3. 9 Program f31_6a 147
A.3.10 Program f31_ 78 147
A.3.11 Program f3_ 789 148
A.3.12 Program f31_ 90 149
A.3.13 Program f31_9a 150
A.3.14 Program f3_6_1a 150
A.3.15 Program f3_ 65 151
A.3.16 Program f3_6_ 9 152
A.3.17 Program f3_61_ 01 153
A.3.18 Program f3_61_ 4 154
A.3.19 Program f32_6a 154
A. 4 Chapter 4 MATLAB Programs 155
A.4. 1 Program f_ 4 155
A.4. 2 Program f4_ 56 156
A.4. 3 Program f4_62_ 0 157
A.. 4 Program f4_6_ 2 159
A.4. 5 Program f4_61_5b 160
A. 5 Chapter 5 Programs 161
A.5. 1 MATLAB Program f5_7a 162
A.5. 2 MATLAB Program f5_ 1 162
A.5. 3 MATLAB Program f51_ 2 163
A.5. 4 MATLAB Program f51_ 3 165
A.. 5 c Program f51_ 2 165
A. 6 Chapter 6 MATLAB Programs 176
A.6. 1 Program f6_9b 176
A.6. 2 Program f6_ 3 177
A. 7 Library of Subroutines 177
A.7. 1 Program Expand 177
A.7. 2 Program freq 178
A.7. 3 Program freqt 178
A.7. 4 Program rbn_sig 179
A.7. 5 Program p2f 1 179
A7. 6 Program pulse 180
A. 7 Program forier 180
A.7. 8 Program spk 181
A.7. 9 Program pdf_y 181
A. 8 Some Useful Programs 182
A.8. 1 Program f2_grad 182
A.8. 2 Program f2_lemma 183
A.8. 3 Program f5_pipe 183
A.8. 4 Program f3_rate 184
Index 187
Foreword xiii
Preface xv
Acknowledgements xvii
1 Processing of Signals 1
1.1 Organisation of the Book 1
1.2 Classification of Signals 2
1.2.1 Spectral Domain 3
1.2.2 Random Signals 4
1.2.3 Periodic Signals 5
1.3 Transformations 6
1.3.1 Laplace and Fourier Transforms 6
1.3.2 The z-Transform and the Discrete Fourier Transform 6
1.3.3 An Interesting Note 8
1.4 Signal Characterisation 8
1.4.1 Non-parametric Spectrum or Fourier Spectrum 8
1.4.2 Parametric Representation 9
1.5 Converting Analogue Signals to Digital 11
1.5.1 Windowing 12
1.5.2 Sampling 12
1.5.3 Quantisation 14
1.5.4 Noise Power 15
1.6 Signal Seen by the Computing Engine 16
1.6.1 Mitigating the Problems 16
1.6.2 Anatomy of a Converter 16
1.6.3 The Need for Normalised Frequency 17
1.6.4 Care before Sampling 17
1.7 It Is Only Numbers 17
1.7.1 Numerical Methods 19
1.8 Summary 19
References 20
2 Revisiting the Basics 21
2.1 Linearity 21
2.1.1 Linear Systems 22
2.1.2 Sinusoidal Inputs 22
2.1.3 Stability 23
2.1.4 Shift Invariance 23
2.1.5 Impulse Response 23
2.1.6 Decomposing h k 26
2.2 Linear System Representation 26
2.2.1 Continuous to Discrete 27
2.2.2 Nomenclature 27
2.2.3 Difference Equations 27
2.2.4 Transfer Function 28
2.2.5 Pole-Zero Representation 29
2.2.6 Continuous to Discrete Domain 29
2.2.7 State Space Representation 30
2.2.8 Solution of Linear Difference Equations 32
2.3 Random Variables 32
2.3.1 Functions of a Random Variable 33
2.3.2 Reliability of Systems 34
2.4 Noise 35
2.4.1 Noise Generation 35
2.4.2 Fourier Transform and pdf of Noise 36
2.5 Propagation of Noise in Linear Systems 36
2.5.1 Linear System Driven by Arbitrary Noise 37
2.6 Multivariate Functions 37
2.6.1 Vectors of More Than Two Dimensions 38
2.6.2 Functions of Several Variables 38
2.6.3 System of Equations 39
2.7 Number Systems 41
2.7.1 Representation of Numbers 41
2.7.2 Fixed-Point Numbers 42
2.7.3 Floating-Point Numbers 43
2.8 Summary 43
References 43
3 Digital Filters 45
3.1 How to Specify a Filter 45
3.2 Moving-Average Filters 46
3.2.1 Area under a Curve 46
3.2.2 Mean of a Given Sequence 47
3.2.3 Mean over a Fixed Number of Samples 47
3.2.4 Linear Phase Filters 48
3.2.5 MA Filter with Complex Coefficients 50
3.3 Infinite Sequence Generation 52
3.3.1 Digital Counter 52
3.3.2 Noise Sequence 52
3.3.3 Numerically Controlled Oscillator 53
3.4 Unity-Gain Narrowband Filter 53
3.5 All-Pass Filter 54
3.5.1 Interpolation of Data Using an APF 55
3.5.2 Delay Estimation Using an APF 56
3.6 Notch Filter 57
3.6.1 Overview 58
3.7 Other Autoregressive Filters 58
3.8 Adaptive Filters 61
3.8.1 Varying r 61
3.8.2 Varying p 62
3.8.3 Criteria 63
3.8.4 Adaptation 63
3.9 Demodulating via Adaptive Filters 64
3.9.1 Demodulation Method 64
3.9.2 Step Size 67
3.9.3 Performance 67
3.10 Phase Shift via Adaptive Filter 68
3.11 Inverse Problems 69
3.11.1 Model Order Problem 69
3.11.2 Estimating Filter Coefficients 70
3.11.3 Target Tracking as an Inverse Problem 71
3.12 Kalman Filter 73
3.12.1 Estimating the Rate 73
3.12.2 Fitting a Sine Curve 74
3.12.3 Sampling in Space 76
3.13 Summary 78
References 78
4 Fourier Transform and Signal Spectrum 79
4.1 Heterodyne Spectrum Analyser 79
4.1.1 Spectrum Analyser 79
4.2 Discrete Fourier Transform 81
4.3 Decimating the Given Sequence 82
4.3.1 Sliding DFT 83
4.4 Fast Fourier Transform 83
4.4.1 Windowing Effect 83
4.4.2 Frequency Resolution 85
4.4.3 Decimation in Time 85
4.4.4 Decimation in Frequency 86
4.4.5 Computing Effort Estimate 88
4.5 Fourier Series Coefficients 88
4.5.1 Fourier Coefficients 88
4.6 Convolution by DFT 89
4.6.1 Circular Convolution 90
4.7 DFT in Real Time 91
4.7.1 Vehicle Classification 92
4.7.2 Instrument Classification 92
4.8 Frequency Estimation via DFT 93
4.8.1 Problem Definition 93
4.8.2 DFT Solution 94
4.9 Parametric Spectrum in RF Systems 95
4.9.1 Test Data Generation 97
4.9.2 Estimating the Parameter Vector 99
4.10 Summary 99
References 100
5 Realisation of Digital Filters 101
5.1 Evolution 101
5.2 Development Process 102
5.3 Analogue-to-Digital Converters 103
5.3.1 Successive Approximation Method 103
5.3.2 Flash Converters 103
5.3.3 Sigma-Delta Converters 104
5.3.4 Synchro-to-Digital Converters 105
5.4 Second-Order BPF 105
5.4.1 Fixed-Point Implementation 105
5.5 Pipelining Filters 107
5.5.1 Modelling Hardware Multipliers and Adders 107
5.5.2 Pipelining FIR Filters 108
5.5.3 Pipelining IIR Filters 109
5.5.4 Stability Issues 112
5.6 Real-Time Applications 113
5.6.1 Comparison of DSP Processors 113
5.7 Frequency Estimator on the DSP5630X 114
5.7.1 Modified Response Error Method 114
5.7.2 Algorithm to Code 117
5.8 FPGA Implementation of a Kalman Filter 117
5.8.1 Fixed-Point Implementation 118
5.9 Summary 119
References 119
6 Case Studies 121
6.1 Difference Equation to Program 121
6.2 Estimating Direction of Arrival 122
6.3 Electronic Rotating Elements 124
6.3.1 Problem Formulation 126
6.3.2 Finding the DoA 126
6.3.3 Straight-Line Fit 126
6.4 Summary 128
References 128
Appendix: MATLAB and C Programs 129
A. 1 Chapter 1 MATLAB Programs 129
A.. 1 Program f1_ 1234 129
A.1. 2 Program f1_ 56 130
A.1. 3 Program f1_ 78 131
A.1. 4 Program f11_ 901 132
A.1. 5 Program f11_ 23458 132
A. 2 Chapter 2 MATLAB Programs 134
A.2. 1 Program f 2_345 134
A.. 2 Program f 2_7 135
A.2. 3 Program f 2_7b 137
A.2. 4 Program f 2_8a 137
A.2. 5 Program f 2_89 138
A.2. 6 Program f 21_0123 139
A.2. 7 Program f 21_67 140
A. 3 Chapter 3 MATLAB Programs 141
A.3. 1 Program f3_ 1 141
A.3. 2 Program f3_1a 142
A.. 3 Program f3_ 2 142
A.3. 4 Program f_ 3 143
A.3. 5 Program f3_ 45 143
A.3. 6 Program f3_ 6 144
A.3. 7 Program f31_ 4 145
A.3. 8 Program f31_ 5 146
A.3. 9 Program f31_6a 147
A.3.10 Program f31_ 78 147
A.3.11 Program f3_ 789 148
A.3.12 Program f31_ 90 149
A.3.13 Program f31_9a 150
A.3.14 Program f3_6_1a 150
A.3.15 Program f3_ 65 151
A.3.16 Program f3_6_ 9 152
A.3.17 Program f3_61_ 01 153
A.3.18 Program f3_61_ 4 154
A.3.19 Program f32_6a 154
A. 4 Chapter 4 MATLAB Programs 155
A.4. 1 Program f_ 4 155
A.4. 2 Program f4_ 56 156
A.4. 3 Program f4_62_ 0 157
A.. 4 Program f4_6_ 2 159
A.4. 5 Program f4_61_5b 160
A. 5 Chapter 5 Programs 161
A.5. 1 MATLAB Program f5_7a 162
A.5. 2 MATLAB Program f5_ 1 162
A.5. 3 MATLAB Program f51_ 2 163
A.5. 4 MATLAB Program f51_ 3 165
A.. 5 c Program f51_ 2 165
A. 6 Chapter 6 MATLAB Programs 176
A.6. 1 Program f6_9b 176
A.6. 2 Program f6_ 3 177
A. 7 Library of Subroutines 177
A.7. 1 Program Expand 177
A.7. 2 Program freq 178
A.7. 3 Program freqt 178
A.7. 4 Program rbn_sig 179
A.7. 5 Program p2f 1 179
A7. 6 Program pulse 180
A. 7 Program forier 180
A.7. 8 Program spk 181
A.7. 9 Program pdf_y 181
A. 8 Some Useful Programs 182
A.8. 1 Program f2_grad 182
A.8. 2 Program f2_lemma 183
A.8. 3 Program f5_pipe 183
A.8. 4 Program f3_rate 184
Index 187
Preface xv
Acknowledgements xvii
1 Processing of Signals 1
1.1 Organisation of the Book 1
1.2 Classification of Signals 2
1.2.1 Spectral Domain 3
1.2.2 Random Signals 4
1.2.3 Periodic Signals 5
1.3 Transformations 6
1.3.1 Laplace and Fourier Transforms 6
1.3.2 The z-Transform and the Discrete Fourier Transform 6
1.3.3 An Interesting Note 8
1.4 Signal Characterisation 8
1.4.1 Non-parametric Spectrum or Fourier Spectrum 8
1.4.2 Parametric Representation 9
1.5 Converting Analogue Signals to Digital 11
1.5.1 Windowing 12
1.5.2 Sampling 12
1.5.3 Quantisation 14
1.5.4 Noise Power 15
1.6 Signal Seen by the Computing Engine 16
1.6.1 Mitigating the Problems 16
1.6.2 Anatomy of a Converter 16
1.6.3 The Need for Normalised Frequency 17
1.6.4 Care before Sampling 17
1.7 It Is Only Numbers 17
1.7.1 Numerical Methods 19
1.8 Summary 19
References 20
2 Revisiting the Basics 21
2.1 Linearity 21
2.1.1 Linear Systems 22
2.1.2 Sinusoidal Inputs 22
2.1.3 Stability 23
2.1.4 Shift Invariance 23
2.1.5 Impulse Response 23
2.1.6 Decomposing h k 26
2.2 Linear System Representation 26
2.2.1 Continuous to Discrete 27
2.2.2 Nomenclature 27
2.2.3 Difference Equations 27
2.2.4 Transfer Function 28
2.2.5 Pole-Zero Representation 29
2.2.6 Continuous to Discrete Domain 29
2.2.7 State Space Representation 30
2.2.8 Solution of Linear Difference Equations 32
2.3 Random Variables 32
2.3.1 Functions of a Random Variable 33
2.3.2 Reliability of Systems 34
2.4 Noise 35
2.4.1 Noise Generation 35
2.4.2 Fourier Transform and pdf of Noise 36
2.5 Propagation of Noise in Linear Systems 36
2.5.1 Linear System Driven by Arbitrary Noise 37
2.6 Multivariate Functions 37
2.6.1 Vectors of More Than Two Dimensions 38
2.6.2 Functions of Several Variables 38
2.6.3 System of Equations 39
2.7 Number Systems 41
2.7.1 Representation of Numbers 41
2.7.2 Fixed-Point Numbers 42
2.7.3 Floating-Point Numbers 43
2.8 Summary 43
References 43
3 Digital Filters 45
3.1 How to Specify a Filter 45
3.2 Moving-Average Filters 46
3.2.1 Area under a Curve 46
3.2.2 Mean of a Given Sequence 47
3.2.3 Mean over a Fixed Number of Samples 47
3.2.4 Linear Phase Filters 48
3.2.5 MA Filter with Complex Coefficients 50
3.3 Infinite Sequence Generation 52
3.3.1 Digital Counter 52
3.3.2 Noise Sequence 52
3.3.3 Numerically Controlled Oscillator 53
3.4 Unity-Gain Narrowband Filter 53
3.5 All-Pass Filter 54
3.5.1 Interpolation of Data Using an APF 55
3.5.2 Delay Estimation Using an APF 56
3.6 Notch Filter 57
3.6.1 Overview 58
3.7 Other Autoregressive Filters 58
3.8 Adaptive Filters 61
3.8.1 Varying r 61
3.8.2 Varying p 62
3.8.3 Criteria 63
3.8.4 Adaptation 63
3.9 Demodulating via Adaptive Filters 64
3.9.1 Demodulation Method 64
3.9.2 Step Size 67
3.9.3 Performance 67
3.10 Phase Shift via Adaptive Filter 68
3.11 Inverse Problems 69
3.11.1 Model Order Problem 69
3.11.2 Estimating Filter Coefficients 70
3.11.3 Target Tracking as an Inverse Problem 71
3.12 Kalman Filter 73
3.12.1 Estimating the Rate 73
3.12.2 Fitting a Sine Curve 74
3.12.3 Sampling in Space 76
3.13 Summary 78
References 78
4 Fourier Transform and Signal Spectrum 79
4.1 Heterodyne Spectrum Analyser 79
4.1.1 Spectrum Analyser 79
4.2 Discrete Fourier Transform 81
4.3 Decimating the Given Sequence 82
4.3.1 Sliding DFT 83
4.4 Fast Fourier Transform 83
4.4.1 Windowing Effect 83
4.4.2 Frequency Resolution 85
4.4.3 Decimation in Time 85
4.4.4 Decimation in Frequency 86
4.4.5 Computing Effort Estimate 88
4.5 Fourier Series Coefficients 88
4.5.1 Fourier Coefficients 88
4.6 Convolution by DFT 89
4.6.1 Circular Convolution 90
4.7 DFT in Real Time 91
4.7.1 Vehicle Classification 92
4.7.2 Instrument Classification 92
4.8 Frequency Estimation via DFT 93
4.8.1 Problem Definition 93
4.8.2 DFT Solution 94
4.9 Parametric Spectrum in RF Systems 95
4.9.1 Test Data Generation 97
4.9.2 Estimating the Parameter Vector 99
4.10 Summary 99
References 100
5 Realisation of Digital Filters 101
5.1 Evolution 101
5.2 Development Process 102
5.3 Analogue-to-Digital Converters 103
5.3.1 Successive Approximation Method 103
5.3.2 Flash Converters 103
5.3.3 Sigma-Delta Converters 104
5.3.4 Synchro-to-Digital Converters 105
5.4 Second-Order BPF 105
5.4.1 Fixed-Point Implementation 105
5.5 Pipelining Filters 107
5.5.1 Modelling Hardware Multipliers and Adders 107
5.5.2 Pipelining FIR Filters 108
5.5.3 Pipelining IIR Filters 109
5.5.4 Stability Issues 112
5.6 Real-Time Applications 113
5.6.1 Comparison of DSP Processors 113
5.7 Frequency Estimator on the DSP5630X 114
5.7.1 Modified Response Error Method 114
5.7.2 Algorithm to Code 117
5.8 FPGA Implementation of a Kalman Filter 117
5.8.1 Fixed-Point Implementation 118
5.9 Summary 119
References 119
6 Case Studies 121
6.1 Difference Equation to Program 121
6.2 Estimating Direction of Arrival 122
6.3 Electronic Rotating Elements 124
6.3.1 Problem Formulation 126
6.3.2 Finding the DoA 126
6.3.3 Straight-Line Fit 126
6.4 Summary 128
References 128
Appendix: MATLAB and C Programs 129
A. 1 Chapter 1 MATLAB Programs 129
A.. 1 Program f1_ 1234 129
A.1. 2 Program f1_ 56 130
A.1. 3 Program f1_ 78 131
A.1. 4 Program f11_ 901 132
A.1. 5 Program f11_ 23458 132
A. 2 Chapter 2 MATLAB Programs 134
A.2. 1 Program f 2_345 134
A.. 2 Program f 2_7 135
A.2. 3 Program f 2_7b 137
A.2. 4 Program f 2_8a 137
A.2. 5 Program f 2_89 138
A.2. 6 Program f 21_0123 139
A.2. 7 Program f 21_67 140
A. 3 Chapter 3 MATLAB Programs 141
A.3. 1 Program f3_ 1 141
A.3. 2 Program f3_1a 142
A.. 3 Program f3_ 2 142
A.3. 4 Program f_ 3 143
A.3. 5 Program f3_ 45 143
A.3. 6 Program f3_ 6 144
A.3. 7 Program f31_ 4 145
A.3. 8 Program f31_ 5 146
A.3. 9 Program f31_6a 147
A.3.10 Program f31_ 78 147
A.3.11 Program f3_ 789 148
A.3.12 Program f31_ 90 149
A.3.13 Program f31_9a 150
A.3.14 Program f3_6_1a 150
A.3.15 Program f3_ 65 151
A.3.16 Program f3_6_ 9 152
A.3.17 Program f3_61_ 01 153
A.3.18 Program f3_61_ 4 154
A.3.19 Program f32_6a 154
A. 4 Chapter 4 MATLAB Programs 155
A.4. 1 Program f_ 4 155
A.4. 2 Program f4_ 56 156
A.4. 3 Program f4_62_ 0 157
A.. 4 Program f4_6_ 2 159
A.4. 5 Program f4_61_5b 160
A. 5 Chapter 5 Programs 161
A.5. 1 MATLAB Program f5_7a 162
A.5. 2 MATLAB Program f5_ 1 162
A.5. 3 MATLAB Program f51_ 2 163
A.5. 4 MATLAB Program f51_ 3 165
A.. 5 c Program f51_ 2 165
A. 6 Chapter 6 MATLAB Programs 176
A.6. 1 Program f6_9b 176
A.6. 2 Program f6_ 3 177
A. 7 Library of Subroutines 177
A.7. 1 Program Expand 177
A.7. 2 Program freq 178
A.7. 3 Program freqt 178
A.7. 4 Program rbn_sig 179
A.7. 5 Program p2f 1 179
A7. 6 Program pulse 180
A. 7 Program forier 180
A.7. 8 Program spk 181
A.7. 9 Program pdf_y 181
A. 8 Some Useful Programs 182
A.8. 1 Program f2_grad 182
A.8. 2 Program f2_lemma 183
A.8. 3 Program f5_pipe 183
A.8. 4 Program f3_rate 184
Index 187