C++ algorithms for digital signal processing
Book information
Description
Cover CONTENTS PREFACE LIST OF KEY SYMBOLS 1 DIGITAL SIGNAL PROCESSING FUNDAMENTALS 1.1 Sequences 1.1.1 The Sampling Function 1.1.2 Sampled Signal Spectra 1.1.3 Continuous- and Discrete Time Signal Spectra 1.1.4 The Impulse Sequence 1.2 Linear Time Invariant Operators 1.2.1 Causality 1.2.2 Difference Equations 1.2.3 The z-transform Description of Linear Operators 1.2.4 Frequency Domain Transfer Function of an Operator 1.2.5 Frequency Response Relationship to the z-transform 1.2.6 Summary of Linear Operators 1.3 Digital Filters 1.3.1 FIR Filters 1.3.2 Linear Phase in FIR Filters 1.3.3 IIR Filters 1.3.4 Example Filter Responses 1.3.5 Filter Specifications 1.3.6 Filter Structures 1.4 The Discrete Fourier Transform 1.4.1 Form of the DFT 1.4.2 Properties of the DFT 1.4.3 Power Spectrum 1.4.4 Averaged Periodograms 1.4.5 The Fast Fourier Transform 1.4.6 FFT Example Result 1.5 Nonlinear Operators 1.5.1 Clipping and Compression 1.5.2 μ-law and A-law Compression 1.5.3 Filtering by Sorting: Median and Min/Max Filters 1.6 Linear Algebra: Matrices and Vectors 1.6.1 Vectors 1.6.2 Properties of Matrix Mathematics 1.7 Probability and Random Processes 1.7.1 Basic Probability 1.7.2 Random Variables 1.7.3 Mean, Variance, and Gaussian Random Variables 1.7.4 Quantization of Sequences 1.7.5 Random Processes, Autocorrelation, and Spectral Density 1.7.6 Modeling Real-World Signals With AR Processes 1.8 Adaptive Filters and Systems 1.8.1 Wiener Filter Theory 1.8.2 LMS Algorithms 1.9 Two-Dimensional Signal Processing 1.9.1 The Two-Dimensional Fourier Transform 1.9.2 Two-Dimensional Convolution 1.9.3 Using the FFT to Speed Up Two-Dimensional Processing 1.9.4 Two-Dimensional Filtering in the Transform Domain 1.10 References 2 PROGRAMMING FUNDAMENTALS 2.1 The Elements of DSP Programming 2.2 Variables and Data Types 2.2.1 Types of Numbers 2.2.2 Arrays 2.2.3 Text Data Types: Characters and Strings 2.3 Operators 2.3.1 Assignment Operators 2.3.2 Arithmetic and Bitwise Operators 2.3.3 Combined Operators 2.3.4 Logical Operators 2.3.5 Operator Overloading 2.3.6 Operator Precedence and Type Conversion 2.4 Program Control 2.4.1 Conditional Execution: if-else 2.4.2 The switch Statement 2.4.3 Single-Line Conditional Expressions 2.4.4 Loops: while, do-while, and for 2.4.5 Program Jumps: break, continue, and goto 2.4.6 Exception Handling 2.5 Functions 2.5.1 Defining and Declaring Functions 2.5.2 Storage Class, Privacy, and Scope 2.5.3 Function Prototypes 2.5.4 Templates 2.6 Macros and the C Preprocessor 2.6.1 Conditional Preprocessor Directives 2.6.2 Macros 2.6.3 Inline Functions 2.6.4 Constant Variables 2.7 Pointers, Arrays, and References 2.7.1 Special Pointer Operators 2.7.2 Pointers and Dynamic Memory Allocation 2.7.3 Arrays of Pointers 2.7.4 References 2.8 Structures 2.8.1 Declaring and Referencing Structures 2.8.2 Member Functions 2.8.3 Constructors and Destructors 2.8.4 Pointers to Structures 2.9 Classes 2.9.1 Member Access Identifiers 2.9.2 Operator Overloading 2.9.3 Inheritance 2.9.4 Complex Numbers 2.10 Input and Output 2.10.1 cin, cout, and cerr 2.10.2 Accessing Disk Files 2.11 Common C++ Programming Pitfalls 2.11.1 Special String Characters 2.11.2 Array Indexing 2.11.3 Misusing Pointers 2.12 Comments on Programming Style 2.12.1 Software Quality 2.12.2 Structured Programming 2.13 References 3 USER INTERFACE AND DISK STORAGE ROUTINES 3.1 User Interface 3.1.1 String Input 3.1.2 Numerical Input 3.2 Formatted Disk Storage 3.2.1 Open Formatted Data File Routines 3.2.2 Formatted Data Access Routines 3.2.3 Trailer Access Routines 3.3 Graphic Display of Data 3.4 Exercises 3.5 References 4 FILTERING ROUTINES 4.1 Digital Versus Analog Filters 4.2 FIR Filters 4.2.1 Floating-Point FIR Filters 4.2.2 Integer FIR Filters 4.3 IIR Filters 4.3.1 IIR Filter Design 4.3.2 IIR Filter Function 4.4 Real-Time Filters 4.4.1 FIR Real-Time Filters 4.4.2 Real-Time Filtering Examples 4.5 Interpolation and Decimation 4.5.1 FIR Interpolation 4.5.2 FIR Sample Rate Modification and Pitch Shifting 4.6 Complex Filters 4.6.1 Hilbert Transform Real-to-Complex Conversion 4.7 Filtering to Remove Noise 4.7.1 Noise Generation 4.7.2 Statistics Calculation 4.7.3 Signal-to-Noise Ratio Improvement 4.7.4 Filtering Quantization Noise 4.8 Nonlinear Filtering 4.8.1 Sorting 4.8.2 Median Filtering 4.8.3 Speech Compression 4.9 Oscillators and Waveform Synthesis 4.9.1 IIR Filters as Oscillators 4.9.2 Table-Generated Waveforms 4.10 Adaptive Filtering and Modeling of Signals 4.10.1 LMS Signal Enhancement 4.10.2 ARMA Modeling of Signals 4.10.3 AR Frequency Estimation 4.11 Exercises 4.12 References 5 DISCRETE FOURIER TRANSFORM ROUTINES 5.1 The Discrete Fourier Transform Routine 5.2 The Inverse Discrete Fourier Transform 5.3 The Fast Fourier Transform Routine 5.4 The Inverse FFT Routine 5.5 Windowing Routines 5.6 Magnitude, Phase, and Logarithmic Displays 5.7 Optimizing The FFT for Real Input Sequences 5.8 Fourier Transform Examples 5.8.1 FFT Test Routine 5.8.2 DFT Test Routine 5.8.3 Inverse FFT Test Routine 5.8.4 Real FFT Test Routine 5.9 Fast Convolution Using the FFT 5.10 Power Spectral Estimation 5.11 Interpolation Using the Fourier Transform 5.12 Exercises 5.13 References 6 MATRIX AND VECTOR ROUTINES 6.1 Vector Operations 6.1.1 Vector Arithmetic 6.1.2 Example Vector Operations 6.1.3 Cross Correlation and Autocorrelation 6.2 Matrix Operations 6.2.1 Matrix Element Manipulation 6.2.2 Matrix Arithmetic 6.2.3 Matrix Inversion 6.2.4 Matrix Determinant 6.2.5 Example Matrix Routine 6.3 Matrix Disk Storage 6.4 Least Squares Curve Fitting 6.4.1 Least Squares Routine 6.4.2 Curve-Fitting Examples 6.5 Exercises 6.6 References 7 IMAGE PROCESSING ROUTINES 7.1 Transform Techniques in Image Processing 7.1.1 Discrete Cosine Transform Image Compression 7.1.2 Coefficient Quantization in the Compressed Image 7.1.3 Block Coding 7.1.4 Discrete Cosine Transform Functions 7.1.5 Image Compression Routine 7.1.6 Image Recovery Routine 7.1.7 Compression And Recovery of an Image 7.2 Histogram Processing 7.2.1 Histogram Function 7.2.2 Histogram-Flattening Routine 7.2.3 Histogram-Flattening Example 7.3 Two-Dimensional Convolution 7.3.1 Convolution Speed-Up 7.3.2 Two-Dimensional Convolution Function 7.3.3 Example Convolution Routine 7.3.4 Two-Dimensional FFT Convolution 7.3.5 Edge Detection Using Convolution 7.3.6 Edge Detection Routine 7.4 Nonlinear Processing of Images 7.4.1 Median Filtering 7.4.2 Erosion And Dilation 7.5 Exercises 7.6 References APPENDIX A: STANDARD C++ CLASS LIBRARY A.1 Math Functions A.1.1 Trigonometric Functions A.1.2 Exponential, Log, Power, Square Root A.1.3 Hyperbolic Functions A.1.4 Absolute Value, Floor, Ceiling A.1.5 Euclidean Distance A.2 Character String Functions A.2.1 Convert String to Double-Precision Number A.2.2 Convert String to Integer A.2.3 Number to String Conversion A.2.4 String Manipulation Functions A.3 Memory Allocation Operators A.4 Standard Input/Output Classes A.4.1 Get a Character from a Stream A.4.2 Get a String from a Stream A.4.3 Get a Block of Data from a Stream A.4.4 Get a Class from a Stream A.4.5 Send a Character to a Stream A.4.6 Send a String or Block of Data to a Stream A.4.7 Open a File A.4.8 Determine the Position of a File Pointer A.4.9 Reposition a File Pointer A.4.10 Close a File A.4.11 Formatted Output Conversion A.4.12 Formatted Input Conversion A.5 Other Standard Functions A.5.1 Random Number Generator A.5.2 Quick General Sort A.5.3 Terminate a Process and Close Files APPENDIX B: DSP FUNCTION LIBRARY AND PROGRAMS B.1 Library Functions B.1.1 User Interface Functions B.1.2 Disk Storage Functions B.1.3 Filter Functions B.1.4 DFT Functions B.1.5 Matrix Functions B.1.6 Image-Processing Functions B.2 Programs B.2.1 WINPLOT Program B.2.2 File Format Conversion Programs INDEX A B C D E F G H I K L M N O P Q R S T U V W Z
Similar books
MySQL® Notes for Professionals book
2018 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36
2010 · PDF
THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.
1858 · PDF
Idries Shah 27 Books Collection : A Perfumed Scorpion, A Veiled Gazelle, Caravan of Dreams, Darkest England, Destination Mecca, Evenings with Idries Shah, Knowing How to Know, Learning How to Learn, Letters and Lectures of Idries Shah, Neglected aspects of Sufi study, Observations, Oriental Magic, Reflections, Seeker after Truth, Special Illumination, Special Problems in the study of Sufi ideas, Sufi thought and action, Tales of the Dervishes, The Dermis Probe, The Elephant in the Dark, The Englishman Handbook, Idries Shah Antology, The Magic Monastery, The natives are restless, wisdom of the Idiots PDF.
2022 · PDF
The travels of Capts. Lewis and Clarke from St. Louis, by way of the Missouri and Columbia rivers, to the Pacific ocean; performed in the years 1804, 1805 & 1806, by order of the government of the United States. Containing delineations of the manners, customs, religion, &c. of the Indians, comp. from various authentic sources, and original documents, and a summary of the Statistical view of the Indian nations, from the official communication of Meriwether Lewis. Illustrated with a map of the country, inhabited by the western tribes of Indians
1809 · PDF
Professional Linux kernel architecture ''Wrox programmer to programmer''--Cover. - ''What you are reading right now is the result of an evolution over more than seven years: After two years of writing, the first edition was published in German by Carl Hanser Verlag in 2003. It then described kernel 2.6.0. The test was used as a basis for the low-level design documentation for the EAL4+ security evaluation of Red Hat Enterprise Linux 5, requiring to update it to kernel 2.6.18 (if the EAL acronym does not mean anything to you, then Wikipedia is once more your friend). Hewlett-Packard sponsored the translation into English and has, thankfully, granted the rights to publish the result. Updates to kernel 2.6.24 were then performed specifically for this book''--P. ix
2008 · PDF