Software Defined Radio: Theory and Practice is a comprehensive resource covering software defined radio (SDR) from theory to practical applications. The book provides foundational knowledge for communication engineers and SDR enthusiasts. It covers digital modulation techniques, from basic to advanced techniques such as SC-OFDM and GMSK. The book then discusses RF channel impairments and strategies for eliminating them along with the use of channel equalization and modern frequency domain equalizers utilized in cellular telephony. Source and channel coding are introduced, and receiver analog design is thoroughly researched, comparing traditional and modern designs. The book includes important review topics such as complex numbers, fixed-point numeric formats, decision theory, Doppler, and more. Software Defined Radio: Theory and Practice offers a well-rounded approach to understanding and applying SDR, combining theoretical knowledge with practical exercises and simulations for a comprehensive learning experience. Software Defined Radio:Theory and Practice Contents Preface Chapter 1 Introduction 1.1 ORIGINS OF SDR 1.1.1 Speakeasy 1.1.2 Joint Tactical Radio System 1.2 SOFTWARE COMMUNICATIONS ARCHITECTURE 1.2.1 Other SCA Considerations 1.2.2 SDR Currently 1.3 RADIO HARDWARE CHOICES FOR SDR 1.4 DSP SOFTWARE DEVELOPMENT CHOICES FOR SDR 1.4.1 GNU Radio Companion 1.4.2 Simulink 1.4.3 SDR Sharp 1.4.4 A Word About Interfaces REFERENCES Chapter 2Communication System Fundamentals 2.1 INTRODUCTION 2.2 BASIC MEASUREMENTS 2.2.1 dB, dBm, dBc 2.2.2 dBu 2.2.3 dBi, dBd 2.2.4 VU 2.2.5 Equivalent Isotropic Radiated Power 2.2.6 Energy per Bit to Noise Power Spectral Density 2.3 OTHER MEASUREMENTS 2.3.1 Error Vector Magnitude 2.3.2 Voltage StandingWave Ratio 2.4 SOME BASIC PROCEDURES 2.4.1 Impedance Matching 2.4.2 Signal Transmission 2.5 SATELLITE COMMUNICATIONS MEASUREMENTS 2.5.1 Antenna Noise Temperature 2.5.2 Satellite Receiver Sensitivity 2.6 LINK BUDGETS 2.6.1 Satellite Receiver Link Budget 2.6.2 Terrestrial Receiver Link Budget 2.7 IMPORTANT COMMUNICATIONS CONCEPTS 2.7.1 Nyquist Bandwidth Criteria 2.7.2 Nyquist Pulse Criteria 2.7.3 Shannon-Hartley Capacity Limit 2.8 QUESTIONS FOR DISCUSSION REFERENCES Chapter 3Modulation Types 3.1 INTRODUCTION 3.2 LINEAR MODULATION 3.2.1 Basic Parameters 3.2.2 Binary Phase Shift Keying 3.2.3 Quadriphase Shift Keying 3.2.4 BPSK Bit Error Analysis 3.2.5 QPSK Bit Error Analysis 3.2.6 BPSK and QPSK Bandwidth Efficiency 3.2.7 Differential BPSK 3.2.8 Quadrature Amplitude Modulation 3.2.9 pi/4 DPSK 3.2.10 OFDM 3.2.11 Single-Carrier Frequency Division Multiplexing 3.3 NONLINEAR MODULATION 3.3.1 Basic Parameters 3.3.2 Frequency Shift Keying 3.3.3 Continuous Phase Modulation 3.3.4 Minimum Shift Keying 3.3.5 Gaussian Minimum Shift Keying 3.3.6 Pulse Position Modulation 3.4 DIRECT SEQUENCE WAVEFORMS 3.4.1 Spread Spectrum 3.5 QUESTIONS FOR DISCUSSION REFERENCES Chapter 4 RF Channels 4.1 INTRODUCTION 4.2 RF WAVE BASICS 4.2.1 Polarized Antennas 4.2.2 RF Spectrum Regions 4.3 RF PROPAGATION 4.3.1 Fixed Propagation Environment 4.3.2 Multipath in a Fixed Environment 4.3.3 Moving Propagation Environment 4.3.4 Multipath in a Constant Velocity Moving Environment 4.4 MULTIPATH MITIGATION 4.4.1 Spatial Diversity 4.4.2 Spatial Diversity for CDMA 4.4.3 Time Diversity 4.4.4 Frequency Diversity 4.4.5 Polarization Diversity 4.4.6 Space-Time Coding 4.4.7 Multiple Input-Multiple Output 4.5 QUESTIONS FOR DISCUSSION REFERENCES Chapter 5 Channel Equalizers 5.1 INTRODUCTION 5.2 EQUALIZERS USING LINEAR REGRESSION 5.2.1 LMS Linear Adaptive Equalizer 5.3 LMS EQUALIZER THEORY 5.3.1 The Orthogonality Principle 5.3.2 Equalizer LMS Adaptation Equation 5.4 FURTHER ADVANCES IN EQUALIZER DESIGN 5.5 QUESTIONS FOR DISCUSSION REFERENCES Chapter 6 Coding 6.1 INTRODUCTION 6.2 SOURCE CODING 6.2.1 Weather Station Encoding 6.2.2 Lempel-Ziv Coding 6.3 CHANNEL CODING 6.3.1 Block Codin 6.3.2 Block Coding Example 6.3.3 Convolutional Coding 6.3.4 Concatenated Coding 6.3.5 Trellis-Coded Modulation 6.4 QUESTIONS FOR DISCUSSION REFERENCES Chapter 7Analog Signal Processing 7.1 INTRODUCTION 7.2 COMPONENTS 7.2.1 RF Amplifiers 7.2.2 RF Mixers 7.2.3 Local Oscillators 7.2.4 RF Filters 7.3 RECEIVER CONFIGURATIONS 7.3.1 Nonzero IF Receiver 7.3.2 Zero IF Receiver 7.4 TRANSMITTER CONFIGURATIONS 7.4.1 SDR Transmitters 7.5 QUESTIONS FOR DISCUSSION REFERENCES Chapter 8 ADC and DAC Technology 8.1 ADC SAMPLING THEORY 8.1.1 Time-Domain 8.1.2 Frequency-Domain 8.2 ADC SPECIFICATIONS 8.2.1 Signal-to-Noise Ratio 8.2.2 ADC Nonlinearity 8.2.3 ADC Measurements 8.2.4 ADC Designs 8.3 DIGITAL TO ANALOG CONVERTERS 8.3.1 DAC Comparison with ADCs 8.3.2 DAC Specifications 8.3.3 Interpolating DAC 8.4 QUESTIONS FOR DISCUSSION REFERENCES Chapter 9 Digital Signal Processing 9.1 FUNDAMENTAL DSP CONCEPTS 9.1.1 Unit Delay 9.1.2 Z-Transform 9.1.3 Unit Circle 9.1.4 Poles and Zeros 9.1.5 Digital Filter Frequency Response 9.2 DIGITAL FILTER EXAMPLES 9.2.1 Example 1: Single Pole on Unit Circle 9.2.2 Example 2: Single Pole Inside Unit Circle 9.2.3 Example 3: Exponential Averaging Filter 9.2.4 Example 4: Cascade Integrator Comb 9.2.5 Example 5: Resonator 9.2.6 Example 6: Halfband Filters 9.2.7 Example 7: Upsampling Filters 9.2.8 Example 8: Down Sampling Filters 9.2.9 Example 9: Standard Filters 9.2.10 Example 10: Arbitrary Digital Filters 9.2.11 Example 11: Hilbert Transform 9.2.12 Example 12: Allpass Filter 9.3 DIGITAL SIGNAL PROCESSING CIRCUITS 9.3.1 Example 1: Spectral Inversion of Sampled Signal 9.3.2 Example 2: NZIF to Complex Baseband 9.3.3 Example 3: High Resolution Sinewave Generation 9.3.4 Example 4: Arctangent Approximation 9.4 QUANTIZING NOISE 9.4.1 Quantization Noise Due to Sampling 9.4.2 Multiplier Roundoff Noise 9.4.3 Overflow 9.5 QUESTIONS FOR DISCUSSION REFERENCES Chapter 10 Symbol and Carrier Tracking 10.1 SYMBOL TRACKING 10.1.1 Symbol Boundary Adjustment 10.1.2 Time-Domain Based Timing Error Detector 10.1.3 Frequency-Domain TED 10.1.4 Timing Closed-Loop Dynamics 10.1.5 Timing Resilience to Carrier Frequency Offset 10.2 CARRIER TRACKING 10.2.1 Coarse Frequency Offset 10.2.2 Symbol Rate Decision Directed Carrier Tracking 10.2.3 Costas Loop 10.3 QUESTIONS FOR DISCUSSION REFERENCES Chapter 11 ADSB Digital Signal Processing 11.1 INTRODUCTION 11.2 ADALM-PLUTO SDR HARDWARE 11.2.1 AD9363 Transceiver Interface 11.2.2 AD9363 Receive Antenna 11.3 ADSB DIGITAL SIGNAL PROCESSING 11.3.1 ADSB Preamble Detect 11.3.2 ADSB Packet Samples Tabulation 11.3.3 bitParser Block 11.4 ADSB PHY LAYER OUTPUT DETAILS 11.4.1 Aircraft ID, Type Code = 1,2,3,4 11.4.2 Aircraft Velocity, Type Code = 19 11.4.3 Aircraft Position, Type Code = 9:18 11.4.4 ADSB Message Logging REFERENCES Chapter 12 APSK Digital Signal Processing 12.1 APSK OVERVIEW 12.2 MODEM OVERVIEW 12.2.1 Modem Front End 12.2.2 Modem Back End 12.3 MODEM TRANSMITTER SIGNAL 12.4 MODEM RECEIVER FRONT END BLOCKS 12.4.1 IF to Complex Baseband 12.4.2 Sample Interpolator 12.4.3 Cubic Farrow Interpolator, Fixed Point (CFAfixed) 12.4.4 Sample Stacker 12.4.5 Root Raised Cosine Matched Filter 12.4.6 Timing Error Detector 12.4.7 Timing Loop Filter 12.5 MODEM BACK-END BLOCKS 12.5.1 Carrier Tracking 12.5.2 Equalizer 12.5.2 Equalizer 12.6 APSK SYSTEM TESTING 12.6.1 APSK Hardware Testing REFERENCES Chapter 13IEEE802.11a Digital Signal Processing 13.1 IEEE802.11A OVERVIEW 13.1.1 IEEE802.11a OFDM Basics 13.1.2 IEEE802.11a Frame Structure 13.1.3 IEEE802.11a Transmit Spectrum 13.2 IEEE802.11A TRANSMITTER OVERVIEW 13.3 IEEE802.11A CHANNEL OVERVIEW 13.4 IEEE802.11A RECEIVER OVERVIEW 13.5 IEEE802.11A TRANSMITTER DESIGN DETAILS 13.5.1 OFDM Generator 13.6 IEEE802.11A RECEIVER DESIGN DETAILS 13.6.1 Receiver Front-End Signal Path 13.6.2 Coarse Frequency Estimation 13.6.3 Preamble Detection and Alignment 13.6.4 Coarse Frame Timing 13.6.5 Fine Frame Timing 13.6.6 OFDM Receiver Back End 13.7 IEEE802.11A SYSTEM TESTING 13.7.1 Simulation Testing 13.7.2 SDR Hardware Testing REFERENCES Chapter 14More Fundamentals 14.1 INTRODUCTION 14.2 FIXED POINT NUMBER FORMATS 14.3 COMPLEX NUMBER REVIEW 14.3.1 Euler’s Formula 14.3.2 Phase Modulation 14.4 AMPLITUDE COMPANDING 14.4.1 μ-Law Analog Companding 14.4.2 μ-Law Digital Companding 14.5 POWER AMPLIFIERS AND PAPR 14.5.1 Peak to Average Power Ratio 14.5.2 Power Amplifiers 14.6 SAMPLES PER SYMBOL QUESTION 14.6.1 M = 2 or 4? 14.6.2 Resampler Output Noise Floor 14.6.3 Timing Error Detector Considerations 14.6.4 Equalizer Considerations 14.7 DECISION DETECTORS 14.7.1 Maximum Likelihood Detector 14.7.2 Maximum A Posteriori Detector 14.8 PREAMBLE NOTES 14.8.1 Existing Preambles 14.8.2 Frequency Domain Detection 14.9 DOPPLER DETAILS 14.9.1 Doppler Time Dilation 14.9.2 Adjacent Channel Interference 14.10 LOW COST SDR About the Author Index