List of Figures
List of Tables
1
Principles of Communications with Focus on AM
1.1
What You Will Learn
1.2
Heterodyning via mixers
1.3
Examples of Analog Amplitude Modulation
1.3.1
DSB-SC
1.3.2
SSB and VSB
1.3.3
AM
1.4
Radio Receiver Architectures
1.4.1
Amplifiers
1.4.2
Advanced:
Filtering issues
1.4.3
Homodyne (direct conversion) receivers
1.4.4
Homodyne, heterodyne and superheterodyne radio receivers
1.4.5
Advanced:
Practical superheterodyne receiver
1.5
Concepts and Elements of Communication Systems
1.5.1
Tx and Rx are designed according to the channel
1.5.2
Modulation
1.5.3
Duplexing: Sharing the channel in full-duplex systems
1.5.4
TDD/FDD versus TDM/FDM versus TDMA/FDMA
1.5.5
Thermal noise and receiver noise floor
1.6
Signal to Noise Ratio (SNR)
1.6.1
SNR definition for AWGN
1.6.2
Signal to interference plus noise ratio (SINR) definition
1.6.3
SNR definition for non-dispersive flat-fading channel
1.6.4
Carrier-to-noise density ratio
1.6.5
General comments on SNR estimation
1.7
Link Budget
1.7.1
Sensitivity and link margin
1.7.2
Free-space propagation
1.7.3
Free-space path loss
1.7.4
Path loss and other losses in link budgets
1.7.5
Path loss using the COST Hata model
1.7.6
Noise factor and noise figure
1.7.7
Advanced:
Noise figure for a cascade of devices
1.7.8
Examples of link budgets
1.8
Applications
1.9
Comments and Further Reading
1.10
Exercises
2
Baseband Digital Modulation with Focus on PAM
2.1
What You Will Learn
2.2
Definition of a Digital Communication System
2.3
Concepts and Elements of a Digital Communication System
2.3.1
Block diagram of a digital communication system
2.3.2
Number of bits per second can vary over the stages
2.3.3
Source coding
2.3.4
Channel coding
2.3.5
Modulation
2.3.6
Demodulation
2.3.7
Synchronization and Coherent Demodulation
2.3.8
Digital signals in digital communications
2.3.9
Bit and symbol rates
2.3.10
Error rates: BER, SER and BLER
2.4
Types of Communication Systems Simulation
2.4.1
Sample versus symbol-based simulations
2.4.2
PSD-based simulation
2.4.3
Baseband versus passband simulations
2.4.4
Link versus system-level simulations
2.5
Digital Versus Analog Communication Systems
2.6
EVM and MER
2.7
M-PAM: A Concrete Example of Digital Modulation
2.7.1
Generation of symbols from a PAM constellation
2.7.2
Average energy of PAM constellations
2.7.3
PAM detection
2.7.4
Symbol-based PAM simulation
2.7.5
Flat PSD of symbol-based PAM signals
2.7.6
Sample-based (oversampled) PAM simulation
2.7.7
Interpreting the shaping pulse as the impulse response of a LIT
2.7.8
Advanced:
Power of PAM signals
2.8
Simple Binary Modulations: ASK, FSK and PSK
2.9
Characterizing and Comparing Digital Modulations
2.9.1
Linear versus non-linear modulation
2.9.2
Modulation with memory versus memoryless
2.9.3
Differential encoding
2.9.4
Brief comparison of modulations
2.10
Baseband Line Codes
2.11
Advanced:
PSDs of Digitally Modulated Baseband Signals
2.11.1
Examples of PSDs
2.12
Signal Spaces and Constellations
2.12.1
Signals as linear combinations of orthogonal functions
2.12.2
Constellations
2.12.3
Recovering the symbols via correlative decoding
2.12.4
Interpreting digital modulation as transforms
2.13
Simple example of M-PAM simulation over AWGN
2.14
Applications
2.15
Comments and Further Reading
2.16
Exercises
3
Passband Digital Modulation with Focus on QAM
3.1
What You Will Learn
3.2
Passband Signals and the Rationale of QAM
3.3
QAM Represented with Real-Valued Signals
3.4
QAM Generation Using Complex-Valued Signals
3.5
QAM Demodulation Using Complex-Valued Signals
3.5.1
PAM-based detector scheme for square QAM
3.5.2
QAM demodulation of complex-valued signals with lowpass filter
3.5.3
Advanced:
QAM demodulation of complex-valued signals via phase splitter
3.6
Quadrature (or IQ) Sampling
3.7
Baseband Representations of Signals and Passband Channels
3.8
Orthogonal Modulations and FSK
3.9
Applications
3.10
Comments and Further Reading
3.11
Exercises
4
Channels: Modeling, Simulating and Mitigating their Effects
4.1
What You Will Learn
4.2
Channel Models
4.2.1
LTI Gaussian channel
4.2.2
Flat-fading channel
4.2.3
Discrete-time scalar AWGN
4.2.4
Discrete-time vector AWGN
4.2.5
Continuous-time AWGN channel
4.2.6
LTI channel with non-white additive noise
4.3
Optimal Receivers for AWGN: Matched Filters or Correlators
4.3.1
Motivation to matched filtering
4.3.2
Relation between matched filtering and correlative decoding
4.3.3
Orthogonal expansion of white Gaussian noise
4.3.4
SNR at the output of a continuous-time matched filter
4.3.5
Discrete-time matched filtering
4.3.6
Characteristics of the matched filter
4.3.7
Simulations with matched filtering
4.3.8
Proof sketch of the optimality of matched filtering for AWGN
4.4
Receivers to Combat ISI and Their Analysis
4.4.1
Intersymbol interference (ISI)
4.4.2
Pulse response
4.4.3
Examples of intersymbol interference (ISI) in PAM
4.4.4
Some practical aspects concerning the “pulse” to study ISI
4.4.5
Nyquist Criterion for Zero ISI
4.4.6
Cursor, precursor ISI and postcursor ISI
4.5
Raised Cosine Shaping Pulses (Filters)
4.6
Matched Filtering and the Square-Root Raised Cosine
4.7
Eye Diagrams
4.8
Distinguishing Nyquist Criterion and Sampling Theorem
4.9
Equalization and System Identification
4.9.1
System identification using least squares (LS)
4.9.2
Zero-forcing (ZF) equalization criterion
4.9.3
Least squares FIR equalizer based on estimated channel
4.9.4
FIR equalizer: LS direct estimation with training sequence
4.9.5
Probabilistic approach to LS FIR system identification
4.10
Channel Capacity
4.10.1
Capacity of AWGN channels
4.10.2
Water filling
4.10.3
Capacity of the frequency-selective LTI Gaussian channel
4.10.4
Revisiting the capacity of flat fading continuous-time AWGN
4.11
Synchronization
4.11.1
Carrier recovery
4.11.2
Carrier recovery using FFT
4.11.3
Phase-locked loop (PLL)
4.11.4
Continuous-time PLL for tracking sinusoids
4.11.5
Discrete-time PLL (DPLL) for tracking sinusoids
4.11.6
Design of PLL and DPLL
4.11.7
Discrete-time PLL (DPLL) for tracking digitally modulated... decision directed...
4.12
Channel Model with Frequency Offset
4.13
Applications
4.14
Comments and Further Reading
4.15
Exercises
5
Optimal Receivers and Probability of Error for AWGN
5.1
What You Will Learn
5.1.1
Probability distribution of received signal at AWGN output
5.1.2
Using symbol-based simulations for AWGN
5.2
Detection Theory and Probability of Error for AWGN Channels
5.3
MAP and ML Receivers for Symbol-by-Symbol Decisions
5.4
MAP and ML Receivers for Symbol Sequences in Dispersive Channels
5.5
Estimating Probability of Error for PAM
5.5.1
The union bound
5.6
Estimating Probability of Error for QAM
5.6.1
Estimating probability of error for PSK
5.6.2
Statistical validity of error probability estimations
5.7
Comparing modulation schemes
5.8
The Gap Approximation
5.8.1
The PAM 6-dB rule: each extra bit requires 6 dB
5.8.2
The QAM 3-dB rule: each extra bit requires 3 dB
5.9
Comments and Further Reading
5.10
Review Exercises
5.11
Exercises
6
Multicarrier systems
6.1
What You Will Learn
6.2
DMT and OFDM Multicarrier Modulations
6.3
DMT Modulation via Matlab/Octave Code
6.4
DMT/OFDM rate estimation
6.5
DMT / OFDM in Matrix Notation
6.6
Total Transmit Power Estimation
6.7
Operation modes: RA, MA and PA (FM)
6.8
Applications
6.9
Comments and Further Reading
6.10
Exercises
A
Useful Mathematics
A.1
Euler’s Equation
A.2
Trigonometry
A.3
Manipulating Complex Numbers and Rational Functions
A.4
Manipulating Complex Exponentials
A.5
Geometric Series
A.6
Sum of Squares
A.7
Summations and Integrals
A.8
Partial Fraction Decomposition
A.9
Calculus
A.10
Sinc Function
A.11
Rectangular Integration Defining Normalization Factors
A.11.1
Two normalizations for the histogram
A.11.2
Two normalizations for power distribution using FFT
A.12
Linear Algebra
A.12.1
Inner products and norms
A.12.2
Projection of a vector using inner product
A.12.3
Orthogonal basis allows inner products to transform signals
A.12.4
Moore-Penrose pseudoinverse
A.13
Gram-Schmidt orthonormalization procedure
A.14
Principal component analysis (PCA)
A.15
Fourier Analysis: Properties
A.16
Fourier Analysis: Pairs
A.17
Probability and Stochastic Processes
A.18
Probability
A.18.1
Joint and conditional probability
A.18.2
Random variables
A.18.3
Expected value
A.18.4
Orthogonal versus uncorrelated
A.18.5
PDF of a sum of two independent random variables
A.19
Stochastic Processes
A.19.1
Proper and circular complex-valued random variables
A.19.2
Rotationally symmetric signal constellations
A.19.3
Cyclostationary random processes
A.19.4
Two examples of cyclostationary signals
A.19.5
Converting a WSC into WSS by randomizing the phase
A.20
Estimation Theory
A.20.1
Probabilistic estimation theory
A.20.2
Minimum mean square error (MMSE) estimators
A.21
One-dimensional Linear Prediction Over Time
A.21.1
The innovations process
A.21.2
Autoregressive (AR) linear prediction
A.22
Advanced:
Vector Prediction Exploring Spatial Correlation
A.23
Spatial Whitening Applied to Interference Mitigation
A.24
Space-Time Prediction
A.25
Non-linear Decorrelation
A.26
Noise Prediction and DFE
A.27
Decibel (dB) and Related Definitions
A.28
Insertion Loss and Insertion Frequency Response
A.29
Discrete and Continuous-Time Impulses
A.29.1
Discrete-time impulse function
A.29.2
Why defining the continuous-time impulse? Some motivation
A.29.3
Definition of the continuous-time impulse as a limit
A.29.4
Continuous-time impulse is a distribution, not a function
A.29.5
Mathematical properties of the continuous-time impulse
A.29.6
Convolution with an impulse
A.29.7
Applications of the impulse
A.30
System Properties
A.30.1
Linearity (additivity and homogeneity)
A.30.2
Time-invariance (or shift-invariance)
A.30.3
Memory
A.30.4
Causality
A.30.5
Invertibility
A.30.6
Stability
A.30.7
Properties of linear and time-invariant (LTI) systems
A.31
Fixed and Floating-Point Number Representations
B
Useful Softwares and Programming Tricks
B.1
The GNU Radio (GR) Project
B.1.1
For those willing to stop reading and run code
B.1.2
Basic facts about GR
B.2
GR-Based SDR Hardware (USRP, RTL-SDR Dongle, etc.)
B.2.1
Universal Software Radio Peripheral (USRP)
B.3
Using GNU Radio and USRP
B.4
Matlab and Octave
B.4.1
Octave Installation
B.5
Manipulating signals stored in files
B.5.1
Hex / Binary File Editors
B.5.2
ASCII Text Files: Unix/Linux versus Windows
B.5.3
Binary Files: Big versus Little-endian
B.5.4
Some Useful Code to Manipulate Files
B.5.5
Interpreting binary files with complex headers
C
Analog and Digital Signals
C.1
What You Will Learn
C.2
Analog, Digital and Discrete-Time Signals
C.2.1
Advanced:
Ambiguous notation: whole signal or single sample
C.2.2
Digitizing signals
C.2.3
Discrete-time signals
C.3
Basic Signal Manipulation and Representation
C.3.1
Manipulating the independent variable
C.3.2
When the independent variable is not an integer
C.3.3
Frequently used manipulations of the independent variable
C.3.4
Using impulses to represent signals
C.3.5
Using step functions to help representing signals
C.3.6
The rect function
C.4
Block or Window Processing
C.4.1
Block processing without overlapping
C.4.2
Advanced:
Block processing with overlapped windows
C.5
Advanced:
Complex-Valued and Sampled Signals
C.5.1
Complex-valued signals
C.5.2
Sampled signals
C.6
Signal Categorization
C.6.1
Even and odd signals
C.6.2
Random signals and their generation
C.6.3
Periodic and aperiodic signals
C.6.4
Power and energy signals
C.7
Modeling the Stages in A/D and D/A Processes
C.7.1
Modeling the sampling stage in A/D
C.7.2
Oversampling
C.7.3
Mathematically modeling the whole A/D process
C.7.4
Sampled to discrete-time (S/D) conversion
C.7.5
Continuous-time to discrete-time (C/D) conversion
C.7.6
Discrete-time to sampled (D/S) conversion
C.7.7
Reconstruction
C.7.8
Discrete-time to continuous-time (D/C) conversion
C.7.9
Analog to digital (A/D) and digital to analog (D/A) conversions
C.7.10
Sampling theorem
C.7.11
Advanced:
Different notations for S/D conversion
C.8
Relating Frequencies of Continuous and Discrete-Time Signals
C.8.1
Units of continuous-time and discrete-time angular frequencies
C.8.2
Mapping frequencies in continuous and discrete-time domains
C.8.3
Nyquist frequency
C.8.4
Frequency normalization in Python and Matlab/Octave
C.9
An Introduction to Quantization
C.9.1
Quantization definitions
C.9.2
Implementation of a generic quantizer
C.9.3
Uniform quantization
C.9.4
Granular and overload regions
C.9.5
Design of uniform quantizers
C.9.6
Design of optimum non-uniform quantizers
C.9.7
Quantization stages: classification and decoding
C.9.8
Binary numbering schemes for quantization decoding
C.9.9
Representing numbers in fixed-point
C.9.10
IEEE 754 floating-point standard
C.9.11
Quantization examples
C.10
Correlation: Finding Trends
C.10.1
Autocorrelation function
C.10.2
Cross-correlation function
C.11
Advanced:
A Linear Model for Quantization
C.12
Advanced:
Power and Energy in Discrete-Time
C.12.1
Power and energy of discrete-time signals
C.12.2
Power and energy of signals represented as vectors
C.12.3
Advanced:
Power and energy of vectors whose elements are not time-ordered
C.12.4
Power and energy of discrete-time random signals
C.12.5
Advanced:
Relating power in continuous and discrete-time
C.13
Applications
C.14
Comments and Further Reading
D
Transforms and Signal Representation
D.1
What You Will Learn
D.2
Linear Transform
D.2.1
Matrix multiplication corresponds to a linear transform
D.2.2
Basis: standard, orthogonal and orthonormal
D.3
Advanced:
Inner Products to Obtain the Transform Coefficients
D.4
Block Transforms
D.4.1
Advanced:
Unitary or orthonormal transforms
D.4.2
DCT transform
D.4.3
DFT transform
D.4.4
Haar transform
D.4.5
Advanced:
Properties of orthogonal and unitary transforms
D.5
Fourier Transforms and Series
D.5.1
Fourier series for continuous-time signals
D.5.2
Discrete-time Fourier series (DTFS)
D.5.3
Continuous-time Fourier transform using frequency in Hertz
D.5.4
Continuous-time Fourier transform using frequency in rad/s
D.5.5
Discrete-time Fourier transform (DTFT)
D.6
Relating spectra of digital and analog frequencies
D.7
Advanced:
Summary of equations for DFT / FFT Usage
D.7.1
Advanced:
Three normalization options for DFT / FFT pairs
D.8
Laplace Transform
D.8.1
Motivation to the Laplace transform
D.8.2
Advanced:
Laplace transform basis functions
D.8.3
Laplace transform of one-sided exponentials
D.8.4
Region of convergence for a Laplace transform
D.8.5
Inverse Laplace of rational functions via partial fractions
D.8.6
Calculating the Fourier transform from a Laplace transform
D.9
Z Transform
D.9.1
Relation between Laplace and Z transforms
D.9.2
Advanced:
Z transform basis functions
D.9.3
Some pairs and properties of the Z-transform
D.9.4
Region of convergence for a Z transform
D.9.5
Inverse Z of rational functions via partial fractions
D.9.6
Calculating the DTFT from a Z transform
D.10
Applications
D.11
Comments and Further Reading
E
Analog and Digital Systems
E.1
What You Will Learn
E.2
Contrasting Signals and Systems
E.3
A Quick Discussion About Filters
E.3.1
Cutoff and natural frequencies
E.3.2
Filter masks
E.4
Linear Time-Invariant Systems
E.4.1
Impulse response and convolution for LTI systems
E.4.2
Advanced:
Convolution properties
E.4.3
Advanced:
Convolution via correlation and vice-versa
E.4.4
Advanced:
Discrete-time convolution in matrix notation
E.4.5
Approximating continuous-time via discrete-time convolution
E.4.6
Frequency response: Fourier transform of the impulse response
E.4.7
Fourier convolution property
E.4.8
Circular and fast convolutions using FFT
E.5
Advanced:
Sampling and Signal Reconstruction Revisited
E.5.1
A proof sketch of the sampling theorem
E.5.2
Energy and power of a sampled signal
E.5.3
Energy / power conservation after sampling and reconstruction
E.5.4
Sampling theorem uses a strict inequality
E.5.5
Undersampling or passband sampling
E.5.6
Sampling a complex-valued signal
E.5.7
Signal reconstruction and D/S conversion revisited
E.6
Advanced:
First and Second-Order Analog Systems
E.6.1
First-order systems
E.6.2
Second-order systems
E.7
Advanced:
Bandwidth and Quality Factor
E.7.1
Bandwidth and quality factor of poles
E.7.2
Bandwidth and quality factor of filters
E.8
Importance of Linear Phase (or Constant Group Delay)
E.9
Advanced:
Surface acoustic wave (SAW) and other filters
E.10
Introduction to Digital Filters
E.10.1
Designing simple filters using specialized software
E.10.2
Distinct ways of specifying the “ripple” deviation in filter design
E.10.3
LCCDE digital filters
E.10.4
FIR, IIR, AR, MA and ARMA systems
E.10.5
Filter frequency scaling
E.10.6
Filter bandform transformation: Lowpass to highpass, etc.
E.11
IIR Filter Design
E.11.1
Direct IIR filter design
E.11.2
Indirect IIR filter design
E.11.3
Methods to convert continuous into discrete-time system functions
E.11.4
Summary of methods to convert continuous-time system function into discrete-time
E.12
Bilinear Transformation: Definition and Properties
E.12.1
Bilinear mapping between s and z planes and vice-versa
E.12.2
Non-linear frequency warping imposed by bilinear
E.12.3
Tracking the frequency warping provoked by bilinear
E.12.4
Advanced:
Properties of the bilinear transformation
E.13
System Design with Bilinear Transformation
E.13.1
Bilinear for IIR filter design
E.13.2
Bilinear for matching a single frequency
E.13.3
Bilinear for mimicking G(s)
E.14
FIR Filter Design
E.14.1
A FIR filter does not have finite poles
E.14.2
The coefficients of a FIR coincide with its impulse response
E.14.3
Algorithms for FIR filter design
E.14.4
FIR design via least-squares
E.14.5
FIR design via windowing
E.14.6
Two important characteristics: FIRs are always stable and can have linear phase
E.14.7
Examples of linear and non-linear phase filters
E.14.8
Zeros close to the unit circle may impact the phase linearity
E.14.9
Four types of symmetric FIR filters
E.15
Realization of Digital Filters
E.15.1
Structures for FIR filters
E.15.2
Structures for IIR filters
E.15.3
Running a digital filter using filter or conv
E.15.4
Advanced:
Effects of finite precision
E.16
Advanced:
Minimum Phase Systems
E.17
Advanced:
Multirate Processing
E.17.1
Upsampler and interpolator
E.17.2
Downsampler and decimator
E.18
Applications
E.19
Comments and Further Reading
F
Spectral Estimation Techniques
F.1
What You Will Learn
F.2
Introduction
F.3
Windows for spectral analysis
F.3.1
Popular windows
F.3.2
Figures of merit applied to windows
F.3.3
Leakage
F.3.4
Picket-fence effect
F.3.5
Advanced:
Only a bin-centered sinusoid leads to an FFT without visible leakage
F.3.6
Frequency resolution of the overall spectral analysis
F.3.7
Example of using windows in spectral analysis
F.4
Energy spectral density (ESD)
F.4.1
ESD of discrete-time signals
F.4.2
Advanced:
Different definitions of ESD and their units
F.4.3
Units of ESD when angular frequencies are adopted
F.5
Power spectral density (PSD)
F.5.1
Main property of a PSD
F.5.2
PSD definitions
F.5.3
Advanced:
PSD of random signals
F.5.4
Advanced:
PSD of deterministic and periodic signals
F.5.5
Advanced:
Fourier modulation theorem applied to PSDs
F.6
Mean-square (MS) spectrum
F.7
Filtering Random Signals and the Impact on PSDs
F.7.1
Response of LTI systems to random inputs
F.7.2
Filtering continuous-time signals that have a white PSD
F.7.3
Advanced:
Filtering discrete-time signals that have a white PSD
F.8
Nonparametric PSD Estimation via Periodogram
F.8.1
Periodogram of periodic signals and energy signals
F.8.2
Examples of continuous-time PSD estimation with periodograms
F.8.3
Relation between MS spectrum and periodogram
F.8.4
Estimation of discrete-time PSDs using the periodogram
F.8.5
Examples of discrete-time PSD estimation
F.8.6
Estimating the PSD from Autocorrelation
F.9
Nonparametric PSD Estimation via Welch’s method
F.9.1
The periodogram variance does not decrease with
N
F.9.2
Welch’s method for PSD estimation
F.10
Parametric PSD Estimation via Autoregressive (AR) Modeling
F.10.1
Advanced:
Spectral factorization
F.10.2
AR modeling of a discrete-time PSD
F.10.3
AR modeling of a continuous-time PSD
F.10.4
Advanced:
Yule-Walker equations and LPC
F.10.5
Examples of autoregressive PSD estimation
F.11
Time-frequency Analysis using the Spectrogram
F.11.1
Definitions of STFT and spectrogram
F.11.2
Advanced:
Wide and narrowband spectrograms
F.12
Applications
F.13
Comments and Further Reading
Text Conventions
Main Abbreviations
Main Symbols
Digital Communications with Python, Matlab or Octave
GitHub
PDF
Home
⇐
Previous
⇑
Up
Next
⇒
Contents
List of Figures
List of Tables
Preface
1
Principles of Communications with Focus on AM
1.1
What You Will Learn
1.2
Heterodyning via mixers
1.3
Examples of Analog Amplitude Modulation
1.3.1
DSB-SC
1.3.2
SSB and VSB
1.3.3
AM
1.4
Radio Receiver Architectures
1.4.1
Amplifiers
1.4.2
Advanced:
Filtering issues
1.4.3
Homodyne (direct conversion) receivers
1.4.4
Homodyne, heterodyne and superheterodyne radio receivers
1.4.5
Advanced:
Practical superheterodyne receiver
1.5
Concepts and Elements of Communication Systems
1.5.1
Tx and Rx are designed according to the channel
1.5.2
Modulation
1.5.3
Duplexing: Sharing the channel in full-duplex systems
1.5.4
TDD/FDD versus TDM/FDM versus TDMA/FDMA
1.5.5
Thermal noise and receiver noise floor
1.6
Signal to Noise Ratio (SNR)
1.6.1
SNR definition for AWGN
1.6.2
Signal to interference plus noise ratio (SINR) definition
1.6.3
SNR definition for non-dispersive flat-fading channel
1.6.4
Carrier-to-noise density ratio
1.6.5
General comments on SNR estimation
1.7
Link Budget
1.7.1
Sensitivity and link margin
1.7.2
Free-space propagation
1.7.3
Free-space path loss
1.7.4
Path loss and other losses in link budgets
1.7.5
Path loss using the COST Hata model
1.7.6
Noise factor and noise figure
1.7.7
Advanced:
Noise figure for a cascade of devices
1.7.8
Examples of link budgets
1.8
Applications
1.9
Comments and Further Reading
1.10
Exercises
2
Baseband Digital Modulation with Focus on PAM
2.1
What You Will Learn
2.2
Definition of a Digital Communication System
2.3
Concepts and Elements of a Digital Communication System
2.3.1
Block diagram of a digital communication system
2.3.2
Number of bits per second can vary over the stages
2.3.3
Source coding
2.3.4
Channel coding
2.3.5
Modulation
2.3.6
Demodulation
2.3.7
Synchronization and Coherent Demodulation
2.3.8
Digital signals in digital communications
2.3.9
Bit and symbol rates
2.3.10
Error rates: BER, SER and BLER
2.4
Types of Communication Systems Simulation
2.4.1
Sample versus symbol-based simulations
2.4.2
PSD-based simulation
2.4.3
Baseband versus passband simulations
2.4.4
Link versus system-level simulations
2.5
Digital Versus Analog Communication Systems
2.6
EVM and MER
2.7
M-PAM: A Concrete Example of Digital Modulation
2.7.1
Generation of symbols from a PAM constellation
2.7.2
Average energy of PAM constellations
2.7.3
PAM detection
2.7.4
Symbol-based PAM simulation
2.7.5
Flat PSD of symbol-based PAM signals
2.7.6
Sample-based (oversampled) PAM simulation
2.7.7
Interpreting the shaping pulse as the impulse response of a LIT
2.7.8
Advanced:
Power of PAM signals
2.8
Simple Binary Modulations: ASK, FSK and PSK
2.9
Characterizing and Comparing Digital Modulations
2.9.1
Linear versus non-linear modulation
2.9.2
Modulation with memory versus memoryless
2.9.3
Differential encoding
2.9.4
Brief comparison of modulations
2.10
Baseband Line Codes
2.11
Advanced:
PSDs of Digitally Modulated Baseband Signals
2.11.1
Examples of PSDs
2.12
Signal Spaces and Constellations
2.12.1
Signals as linear combinations of orthogonal functions
2.12.2
Constellations
2.12.3
Recovering the symbols via correlative decoding
2.12.4
Interpreting digital modulation as transforms
2.13
Simple example of M-PAM simulation over AWGN
2.14
Applications
2.15
Comments and Further Reading
2.16
Exercises
3
Passband Digital Modulation with Focus on QAM
3.1
What You Will Learn
3.2
Passband Signals and the Rationale of QAM
3.3
QAM Represented with Real-Valued Signals
3.4
QAM Generation Using Complex-Valued Signals
3.5
QAM Demodulation Using Complex-Valued Signals
3.5.1
PAM-based detector scheme for square QAM
3.5.2
QAM demodulation of complex-valued signals with lowpass filter
3.5.3
Advanced:
QAM demodulation of complex-valued signals via phase splitter
3.6
Quadrature (or IQ) Sampling
3.7
Baseband Representations of Signals and Passband Channels
3.8
Orthogonal Modulations and FSK
3.9
Applications
3.10
Comments and Further Reading
3.11
Exercises
4
Channels: Modeling, Simulating and Mitigating their Effects
4.1
What You Will Learn
4.2
Channel Models
4.2.1
LTI Gaussian channel
4.2.2
Flat-fading channel
4.2.3
Discrete-time scalar AWGN
4.2.4
Discrete-time vector AWGN
4.2.5
Continuous-time AWGN channel
4.2.6
LTI channel with non-white additive noise
4.3
Optimal Receivers for AWGN: Matched Filters or Correlators
4.3.1
Motivation to matched filtering
4.3.2
Relation between matched filtering and correlative decoding
4.3.3
Orthogonal expansion of white Gaussian noise
4.3.4
SNR at the output of a continuous-time matched filter
4.3.5
Discrete-time matched filtering
4.3.6
Characteristics of the matched filter
4.3.7
Simulations with matched filtering
4.3.8
Proof sketch of the optimality of matched filtering for AWGN
4.4
Receivers to Combat ISI and Their Analysis
4.4.1
Intersymbol interference (ISI)
4.4.2
Pulse response
4.4.3
Examples of intersymbol interference (ISI) in PAM
4.4.4
Some practical aspects concerning the “pulse” to study ISI
4.4.5
Nyquist Criterion for Zero ISI
4.4.6
Cursor, precursor ISI and postcursor ISI
4.5
Raised Cosine Shaping Pulses (Filters)
4.6
Matched Filtering and the Square-Root Raised Cosine
4.7
Eye Diagrams
4.8
Distinguishing Nyquist Criterion and Sampling Theorem
4.9
Equalization and System Identification
4.9.1
System identification using least squares (LS)
4.9.2
Zero-forcing (ZF) equalization criterion
4.9.3
Least squares FIR equalizer based on estimated channel
4.9.4
FIR equalizer: LS direct estimation with training sequence
4.9.5
Probabilistic approach to LS FIR system identification
4.10
Channel Capacity
4.10.1
Capacity of AWGN channels
4.10.2
Water filling
4.10.3
Capacity of the frequency-selective LTI Gaussian channel
4.10.4
Revisiting the capacity of flat fading continuous-time AWGN
4.11
Synchronization
4.11.1
Carrier recovery
4.11.2
Carrier recovery using FFT
4.11.3
Phase-locked loop (PLL)
4.11.4
Continuous-time PLL for tracking sinusoids
4.11.5
Discrete-time PLL (DPLL) for tracking sinusoids
4.11.6
Design of PLL and DPLL
4.11.7
Discrete-time PLL (DPLL) for tracking digitally modulated... decision directed...
4.12
Channel Model with Frequency Offset
4.13
Applications
4.14
Comments and Further Reading
4.15
Exercises
5
Optimal Receivers and Probability of Error for AWGN
5.1
What You Will Learn
5.1.1
Probability distribution of received signal at AWGN output
5.1.2
Using symbol-based simulations for AWGN
5.2
Detection Theory and Probability of Error for AWGN Channels
5.3
MAP and ML Receivers for Symbol-by-Symbol Decisions
5.4
MAP and ML Receivers for Symbol Sequences in Dispersive Channels
5.5
Estimating Probability of Error for PAM
5.5.1
The union bound
5.6
Estimating Probability of Error for QAM
5.6.1
Estimating probability of error for PSK
5.6.2
Statistical validity of error probability estimations
5.7
Comparing modulation schemes
5.8
The Gap Approximation
5.8.1
The PAM 6-dB rule: each extra bit requires 6 dB
5.8.2
The QAM 3-dB rule: each extra bit requires 3 dB
5.9
Comments and Further Reading
5.10
Review Exercises
5.11
Exercises
6
Multicarrier systems
6.1
What You Will Learn
6.2
DMT and OFDM Multicarrier Modulations
6.3
DMT Modulation via Matlab/Octave Code
6.4
DMT/OFDM rate estimation
6.5
DMT / OFDM in Matrix Notation
6.6
Total Transmit Power Estimation
6.7
Operation modes: RA, MA and PA (FM)
6.8
Applications
6.9
Comments and Further Reading
6.10
Exercises
A
Useful Mathematics
A.1
Euler’s Equation
A.2
Trigonometry
A.3
Manipulating Complex Numbers and Rational Functions
A.4
Manipulating Complex Exponentials
A.5
Geometric Series
A.6
Sum of Squares
A.7
Summations and Integrals
A.8
Partial Fraction Decomposition
A.9
Calculus
A.10
Sinc Function
A.11
Rectangular Integration Defining Normalization Factors
A.11.1
Two normalizations for the histogram
A.11.2
Two normalizations for power distribution using FFT
A.12
Linear Algebra
A.12.1
Inner products and norms
A.12.2
Projection of a vector using inner product
A.12.3
Orthogonal basis allows inner products to transform signals
A.12.4
Moore-Penrose pseudoinverse
A.13
Gram-Schmidt orthonormalization procedure
A.14
Principal component analysis (PCA)
A.15
Fourier Analysis: Properties
A.16
Fourier Analysis: Pairs
A.17
Probability and Stochastic Processes
A.18
Probability
A.18.1
Joint and conditional probability
A.18.2
Random variables
A.18.3
Expected value
A.18.4
Orthogonal versus uncorrelated
A.18.5
PDF of a sum of two independent random variables
A.19
Stochastic Processes
A.19.1
Proper and circular complex-valued random variables
A.19.2
Rotationally symmetric signal constellations
A.19.3
Cyclostationary random processes
A.19.4
Two examples of cyclostationary signals
A.19.5
Converting a WSC into WSS by randomizing the phase
A.20
Estimation Theory
A.20.1
Probabilistic estimation theory
A.20.2
Minimum mean square error (MMSE) estimators
A.21
One-dimensional Linear Prediction Over Time
A.21.1
The innovations process
A.21.2
Autoregressive (AR) linear prediction
A.22
Advanced:
Vector Prediction Exploring Spatial Correlation
A.23
Spatial Whitening Applied to Interference Mitigation
A.24
Space-Time Prediction
A.25
Non-linear Decorrelation
A.26
Noise Prediction and DFE
A.27
Decibel (dB) and Related Definitions
A.28
Insertion Loss and Insertion Frequency Response
A.29
Discrete and Continuous-Time Impulses
A.29.1
Discrete-time impulse function
A.29.2
Why defining the continuous-time impulse? Some motivation
A.29.3
Definition of the continuous-time impulse as a limit
A.29.4
Continuous-time impulse is a distribution, not a function
A.29.5
Mathematical properties of the continuous-time impulse
A.29.6
Convolution with an impulse
A.29.7
Applications of the impulse
A.30
System Properties
A.30.1
Linearity (additivity and homogeneity)
A.30.2
Time-invariance (or shift-invariance)
A.30.3
Memory
A.30.4
Causality
A.30.5
Invertibility
A.30.6
Stability
A.30.7
Properties of linear and time-invariant (LTI) systems
A.31
Fixed and Floating-Point Number Representations
B
Useful Softwares and Programming Tricks
B.1
The GNU Radio (GR) Project
B.1.1
For those willing to stop reading and run code
B.1.2
Basic facts about GR
B.2
GR-Based SDR Hardware (USRP, RTL-SDR Dongle, etc.)
B.2.1
Universal Software Radio Peripheral (USRP)
B.3
Using GNU Radio and USRP
B.4
Matlab and Octave
B.4.1
Octave Installation
B.5
Manipulating signals stored in files
B.5.1
Hex / Binary File Editors
B.5.2
ASCII Text Files: Unix/Linux versus Windows
B.5.3
Binary Files: Big versus Little-endian
B.5.4
Some Useful Code to Manipulate Files
B.5.5
Interpreting binary files with complex headers
C
Analog and Digital Signals
C.1
What You Will Learn
C.2
Analog, Digital and Discrete-Time Signals
C.2.1
Advanced:
Ambiguous notation: whole signal or single sample
C.2.2
Digitizing signals
C.2.3
Discrete-time signals
C.3
Basic Signal Manipulation and Representation
C.3.1
Manipulating the independent variable
C.3.2
When the independent variable is not an integer
C.3.3
Frequently used manipulations of the independent variable
C.3.4
Using impulses to represent signals
C.3.5
Using step functions to help representing signals
C.3.6
The rect function
C.4
Block or Window Processing
C.4.1
Block processing without overlapping
C.4.2
Advanced:
Block processing with overlapped windows
C.5
Advanced:
Complex-Valued and Sampled Signals
C.5.1
Complex-valued signals
C.5.2
Sampled signals
C.6
Signal Categorization
C.6.1
Even and odd signals
C.6.2
Random signals and their generation
C.6.3
Periodic and aperiodic signals
C.6.4
Power and energy signals
C.7
Modeling the Stages in A/D and D/A Processes
C.7.1
Modeling the sampling stage in A/D
C.7.2
Oversampling
C.7.3
Mathematically modeling the whole A/D process
C.7.4
Sampled to discrete-time (S/D) conversion
C.7.5
Continuous-time to discrete-time (C/D) conversion
C.7.6
Discrete-time to sampled (D/S) conversion
C.7.7
Reconstruction
C.7.8
Discrete-time to continuous-time (D/C) conversion
C.7.9
Analog to digital (A/D) and digital to analog (D/A) conversions
C.7.10
Sampling theorem
C.7.11
Advanced:
Different notations for S/D conversion
C.8
Relating Frequencies of Continuous and Discrete-Time Signals
C.8.1
Units of continuous-time and discrete-time angular frequencies
C.8.2
Mapping frequencies in continuous and discrete-time domains
C.8.3
Nyquist frequency
C.8.4
Frequency normalization in Python and Matlab/Octave
C.9
An Introduction to Quantization
C.9.1
Quantization definitions
C.9.2
Implementation of a generic quantizer
C.9.3
Uniform quantization
C.9.4
Granular and overload regions
C.9.5
Design of uniform quantizers
C.9.6
Design of optimum non-uniform quantizers
C.9.7
Quantization stages: classification and decoding
C.9.8
Binary numbering schemes for quantization decoding
C.9.9
Representing numbers in fixed-point
C.9.10
IEEE 754 floating-point standard
C.9.11
Quantization examples
C.10
Correlation: Finding Trends
C.10.1
Autocorrelation function
C.10.2
Cross-correlation function
C.11
Advanced:
A Linear Model for Quantization
C.12
Advanced:
Power and Energy in Discrete-Time
C.12.1
Power and energy of discrete-time signals
C.12.2
Power and energy of signals represented as vectors
C.12.3
Advanced:
Power and energy of vectors whose elements are not time-ordered
C.12.4
Power and energy of discrete-time random signals
C.12.5
Advanced:
Relating power in continuous and discrete-time
C.13
Applications
C.14
Comments and Further Reading
D
Transforms and Signal Representation
D.1
What You Will Learn
D.2
Linear Transform
D.2.1
Matrix multiplication corresponds to a linear transform
D.2.2
Basis: standard, orthogonal and orthonormal
D.3
Advanced:
Inner Products to Obtain the Transform Coefficients
D.4
Block Transforms
D.4.1
Advanced:
Unitary or orthonormal transforms
D.4.2
DCT transform
D.4.3
DFT transform
D.4.4
Haar transform
D.4.5
Advanced:
Properties of orthogonal and unitary transforms
D.5
Fourier Transforms and Series
D.5.1
Fourier series for continuous-time signals
D.5.2
Discrete-time Fourier series (DTFS)
D.5.3
Continuous-time Fourier transform using frequency in Hertz
D.5.4
Continuous-time Fourier transform using frequency in rad/s
D.5.5
Discrete-time Fourier transform (DTFT)
D.6
Relating spectra of digital and analog frequencies
D.7
Advanced:
Summary of equations for DFT / FFT Usage
D.7.1
Advanced:
Three normalization options for DFT / FFT pairs
D.8
Laplace Transform
D.8.1
Motivation to the Laplace transform
D.8.2
Advanced:
Laplace transform basis functions
D.8.3
Laplace transform of one-sided exponentials
D.8.4
Region of convergence for a Laplace transform
D.8.5
Inverse Laplace of rational functions via partial fractions
D.8.6
Calculating the Fourier transform from a Laplace transform
D.9
Z Transform
D.9.1
Relation between Laplace and Z transforms
D.9.2
Advanced:
Z transform basis functions
D.9.3
Some pairs and properties of the Z-transform
D.9.4
Region of convergence for a Z transform
D.9.5
Inverse Z of rational functions via partial fractions
D.9.6
Calculating the DTFT from a Z transform
D.10
Applications
D.11
Comments and Further Reading
E
Analog and Digital Systems
E.1
What You Will Learn
E.2
Contrasting Signals and Systems
E.3
A Quick Discussion About Filters
E.3.1
Cutoff and natural frequencies
E.3.2
Filter masks
E.4
Linear Time-Invariant Systems
E.4.1
Impulse response and convolution for LTI systems
E.4.2
Advanced:
Convolution properties
E.4.3
Advanced:
Convolution via correlation and vice-versa
E.4.4
Advanced:
Discrete-time convolution in matrix notation
E.4.5
Approximating continuous-time via discrete-time convolution
E.4.6
Frequency response: Fourier transform of the impulse response
E.4.7
Fourier convolution property
E.4.8
Circular and fast convolutions using FFT
E.5
Advanced:
Sampling and Signal Reconstruction Revisited
E.5.1
A proof sketch of the sampling theorem
E.5.2
Energy and power of a sampled signal
E.5.3
Energy / power conservation after sampling and reconstruction
E.5.4
Sampling theorem uses a strict inequality
E.5.5
Undersampling or passband sampling
E.5.6
Sampling a complex-valued signal
E.5.7
Signal reconstruction and D/S conversion revisited
E.6
Advanced:
First and Second-Order Analog Systems
E.6.1
First-order systems
E.6.2
Second-order systems
E.7
Advanced:
Bandwidth and Quality Factor
E.7.1
Bandwidth and quality factor of poles
E.7.2
Bandwidth and quality factor of filters
E.8
Importance of Linear Phase (or Constant Group Delay)
E.9
Advanced:
Surface acoustic wave (SAW) and other filters
E.10
Introduction to Digital Filters
E.10.1
Designing simple filters using specialized software
E.10.2
Distinct ways of specifying the “ripple” deviation in filter design
E.10.3
LCCDE digital filters
E.10.4
FIR, IIR, AR, MA and ARMA systems
E.10.5
Filter frequency scaling
E.10.6
Filter bandform transformation: Lowpass to highpass, etc.
E.11
IIR Filter Design
E.11.1
Direct IIR filter design
E.11.2
Indirect IIR filter design
E.11.3
Methods to convert continuous into discrete-time system functions
E.11.4
Summary of methods to convert continuous-time system function into discrete-time
E.12
Bilinear Transformation: Definition and Properties
E.12.1
Bilinear mapping between s and z planes and vice-versa
E.12.2
Non-linear frequency warping imposed by bilinear
E.12.3
Tracking the frequency warping provoked by bilinear
E.12.4
Advanced:
Properties of the bilinear transformation
E.13
System Design with Bilinear Transformation
E.13.1
Bilinear for IIR filter design
E.13.2
Bilinear for matching a single frequency
E.13.3
Bilinear for mimicking G(s)
E.14
FIR Filter Design
E.14.1
A FIR filter does not have finite poles
E.14.2
The coefficients of a FIR coincide with its impulse response
E.14.3
Algorithms for FIR filter design
E.14.4
FIR design via least-squares
E.14.5
FIR design via windowing
E.14.6
Two important characteristics: FIRs are always stable and can have linear phase
E.14.7
Examples of linear and non-linear phase filters
E.14.8
Zeros close to the unit circle may impact the phase linearity
E.14.9
Four types of symmetric FIR filters
E.15
Realization of Digital Filters
E.15.1
Structures for FIR filters
E.15.2
Structures for IIR filters
E.15.3
Running a digital filter using filter or conv
E.15.4
Advanced:
Effects of finite precision
E.16
Advanced:
Minimum Phase Systems
E.17
Advanced:
Multirate Processing
E.17.1
Upsampler and interpolator
E.17.2
Downsampler and decimator
E.18
Applications
E.19
Comments and Further Reading
F
Spectral Estimation Techniques
F.1
What You Will Learn
F.2
Introduction
F.3
Windows for spectral analysis
F.3.1
Popular windows
F.3.2
Figures of merit applied to windows
F.3.3
Leakage
F.3.4
Picket-fence effect
F.3.5
Advanced:
Only a bin-centered sinusoid leads to an FFT without visible leakage
F.3.6
Frequency resolution of the overall spectral analysis
F.3.7
Example of using windows in spectral analysis
F.4
Energy spectral density (ESD)
F.4.1
ESD of discrete-time signals
F.4.2
Advanced:
Different definitions of ESD and their units
F.4.3
Units of ESD when angular frequencies are adopted
F.5
Power spectral density (PSD)
F.5.1
Main property of a PSD
F.5.2
PSD definitions
F.5.3
Advanced:
PSD of random signals
F.5.4
Advanced:
PSD of deterministic and periodic signals
F.5.5
Advanced:
Fourier modulation theorem applied to PSDs
F.6
Mean-square (MS) spectrum
F.7
Filtering Random Signals and the Impact on PSDs
F.7.1
Response of LTI systems to random inputs
F.7.2
Filtering continuous-time signals that have a white PSD
F.7.3
Advanced:
Filtering discrete-time signals that have a white PSD
F.8
Nonparametric PSD Estimation via Periodogram
F.8.1
Periodogram of periodic signals and energy signals
F.8.2
Examples of continuous-time PSD estimation with periodograms
F.8.3
Relation between MS spectrum and periodogram
F.8.4
Estimation of discrete-time PSDs using the periodogram
F.8.5
Examples of discrete-time PSD estimation
F.8.6
Estimating the PSD from Autocorrelation
F.9
Nonparametric PSD Estimation via Welch’s method
F.9.1
The periodogram variance does not decrease with
N
F.9.2
Welch’s method for PSD estimation
F.10
Parametric PSD Estimation via Autoregressive (AR) Modeling
F.10.1
Advanced:
Spectral factorization
F.10.2
AR modeling of a discrete-time PSD
F.10.3
AR modeling of a continuous-time PSD
F.10.4
Advanced:
Yule-Walker equations and LPC
F.10.5
Examples of autoregressive PSD estimation
F.11
Time-frequency Analysis using the Spectrogram
F.11.1
Definitions of STFT and spectrogram
F.11.2
Advanced:
Wide and narrowband spectrograms
F.12
Applications
F.13
Comments and Further Reading
Glossary
Text Conventions
Main Abbreviations
Main Symbols
Bibliography
Digital Signal Processing with Python, Matlab or Octave
GitHub
PDF
Home
⇐
Previous
⇑
Up
Next
⇒