List of Figures
List of Tables
Preface
1
Analog and Digital Signals
2
Transforms and Signal Representation
3
Analog and Digital Systems
4
Spectral Estimation Techniques
A
Useful Mathematics
B
Useful Concepts About Signal and Systems
Glossary
Bibliography
Index
Digital Signal Processing with Python, Matlab or Octave
GitHub
PDF
Home
⇐
Previous
⇑
Up
Next
⇒
List of Figures
1.1
Example of analog signal. Note the abscissa is continuous and the amplitude is not quantized, assuming an infinite number of possible values.
1.2
Example of digital signal obtained by digitalizing the analog signal in Figure 1.1
1.3
Example of discrete-time signal
1.4
Example of a discrete-time cosine generated with Listing 1.1.
1.5
Spectrum magnitude in volts (top) and phase in radians (bottom) of the signal composed of two cosines, as indicated in Eq. (1.2). The magnitude of the component at 3500 Hz is relatively small and does not show up.
1.6
Spectrum magnitude in dBm (top) and phase in radians (bottom) of the signal composed of two cosines, as indicated in Eq. (1.2).
1.7
PSD (top) and spectrogram (bottom) of the signal composed of two cosines, as indicated in Eq. (1.2).
1.8
Magnitude spectrum (dBm) and phase spectrum (rad) of a signal formed by concatenating two cosine waveforms with different frequencies, amplitudes, and phases.
1.9
PSD (top) and spectrogram (bottom) of a signal formed by concatenating two cosine waveforms with different frequencies, amplitudes, and phases.
1.10
All twelve DTMF symbols, each formed by the sum of one low-frequency component (697, 770, 852, or 941 Hz) and one high-frequency component (1209, 1336, or 1477 Hz).
1.11
Representation of signals related by
y
[
n
]
=
x
[
−
n
]
.
1.12
Examples of manipulating the independent variable: time-shift, contraction and dilation.
1.13
Three examples of simultaneously scaling and shifting a signal
x
(
t
)
.
1.14
Examples of manipulating the independent variable (in this case
x
) of a
sinc
function.
1.15
Graph of a continuous-time sinc function centered at
t
=
0.5
s, obtained with Listing 1.4.
1.16
Graphs of continuous and discrete-time signals obtained with the rect function in Listing 1.5.
1.17
Graph of the signal described in Eq. (1.8).
1.18
The top representation shows non-overlapping windows of
L
=
4
samples, with both non-windowed indexing
x
[
n
]
and windowed indexing
x
[
k
,
m
]
. The bottom representation shows overlapping windows with
L
=
4
and shift
S
=
1
sample using non-windowed indexing.
1.19
Interpreting Eq. (1.11) to obtain
M
=
3
windows of
L
=
5
samples from a total of
N
=
13
samples using a shift of
S
=
3
samples.
1.20
Signals classification including the sampled signals.
1.21
Example of sampled signal
1.22
Even and odd components of a signal
x
[
n
]
representing a finite-duration segment of the step function
u
[
n
]
. Note the symmetry properties:
x
e
[
n
]
=
x
e
[
−
n
]
and
x
o
[
n
]
=
−
x
o
[
−
n
]
.
1.23
Even and odd components of a signal
x
[
n
]
=
n
2
u
[
n
]
representing a parabolic function.
1.24
Even and odd components of a signal
x
[
n
]
representing a triangle that starts at
n
=
21
and has its peak with an amplitude
x
[
60
]
=
40
at
n
=
60
. Note that the peak amplitude of the two components is 20.
1.25
Waveform representation of a random signal with 100 samples draw from a Gaussian distribution
N
(
0
,
1
)
.
1.26
Histogram of the signal in Figure 1.25 with 10 bins.
1.27
Example of histogram with
B
=
3
bins. The centers are 1.5, 2.5 and 3.5, all marked with ’
×
’. The bin edges are
1
,
2
,
3
and 4.
1.28
PDF estimate from the histogram in Figure 1.26
1.29
Comparison of normalized histogram and the correct Gaussian
N
(
4
,
0.09
)
when using 10,000 samples and 100 bins
1.30
Graph of the signal
x
[
n
]
=
sin
(
0.2
n
)
.
1.31
Graph of the signal
x
[
n
]
=
sin
(
(
3
π
∕
17
)
n
)
.
1.32
An impulse train with unitary areas and
T
s
=
125
μ
s.
1.33
Example of a sampled signal obtained with a sampling frequency smaller than the required for accurately representing the original signal (shown in dotted lines).
1.34
Example of discrete-time cosines generated with sampling intervals of
125
μ
s (top) and 625 ns (bottom) to illustrate the better representation achieved by using a smaller sampling interval
T
s
, which corresponds to adopting a larger oversampling factor.
1.35
Complete process of A/D conversion with intermediate A/DT stage and four signals: analog (A)
x
(
t
)
, sampled (S)
x
s
(
t
)
, discrete-time (DT)
x
[
n
]
and digital (D)
x
q
[
n
]
.
1.36
Example of S/DT conversion assuming
T
s
=
0.2
s.
1.37
Example of DT/S conversion assuming
T
s
=
0.2
s. It implements the inverse operation of Figure 1.36.
1.38
Example of ZOH reconstruction using the signals of Example 1.26 with
T
s
=
0.2
s. In this case,
x
[
n
]
=
0.5
δ
[
n
]
−
2.8
δ
[
n
−
1
]
+
1.3
δ
[
n
−
2
]
+
3.5
δ
[
n
−
3
]
−
1.7
δ
[
n
−
4
]
+
1.1
δ
[
n
−
5
]
)
+
4
δ
[
n
−
6
]
.
1.39
Example of D/A of signal
x
q
[
n
]
=
δ
[
n
]
−
3
δ
[
n
−
1
]
+
3
δ
[
n
−
2
]
(with quantized amplitudes) with DT/S (in this case the discrete-time signal is digital) using
T
s
=
0.2
s and reconstruction using sinc functions.
1.40
Identification of the individual scaled sinc functions (dashed lines) after DT/S with
T
s
=
0.2
s and signal reconstruction of
x
q
[
n
]
=
δ
[
n
]
−
3
δ
[
n
−
1
]
+
3
δ
[
n
−
2
]
in Figure 1.39.
1.41
Signal reconstruction of a signal with quantized amplitudes using ZOH.
1.42
Complete DSP processing chain.
1.43
Sampling and sinc-based perfect reconstruction of a cosine as implemented in function
ak_sinc_reconstruction.m
.
1.44
Single sinc parcel from Figure 1.45 corresponding to the sinc centered at
t
=
−
0.8
s as dashed line and the reconstructed signal as a solid line.
1.45
All individual parcels in dashed lines corresponding to each sinc and the summation as reconstructed signal (solid line) of Listing 1.11.
1.46
Sampling and reconstruction of
x
(
t
)
=
sinc
(
t
∕
0.2
)
−
3
sinc
(
(
t
−
0.2
)
∕
0.2
)
+
3
sinc
(
(
t
−
0.4
)
∕
0.2
)
using
T
s
=
0.1
s.
1.47
Sinc parcels used in the reconstruction of
x
(
t
)
of Figure 1.46.
1.48
Example of failing to reconstruct the signal
x
(
t
)
=
cos
(
2
π
2.5
t
−
0.5
π
)
using
F
s
=
2
f
max
=
5
Hz.
1.49
Reconstruction of signal given by Eq. (1.8) fails because the sampling theorem is not obeyed.
1.50
Sinc parcels used in the signal reconstructed as depicted in Figure 1.49.
1.51
Versions of the Nyquist frequency in continuous and discrete-time.
1.52
Input/output mapping for the
non-uniform
quantizer specified by
ℳ
=
{
−
4
,
−
1
,
0
,
3
}
.
1.53
Input/output relation of a 3-bits quantizer with
Δ
=
1
.
1.54
Input/output relation of a 3-bits quantizer with
Δ
=
0.5
.
1.55
Theoretical and estimated Gaussian probability density functions with thresholds represented by dashed lines and the output levels indicated with circles in the abscissa.
1.56
Input/output mapping for the quantizer designed with a Gaussian input and outputs given by
ℳ
=
[
−
6.8
,
−
4.2
,
−
2.4
,
−
0.8
,
0.8
,
2.4
,
4.2
,
6.8
]
.
1.57
Results for the quantizer designed with the mixture of Eq. (1.44) as input.
1.58
A quantizer
Q
is composed by the classification and decoding stages, denoted as
Q
~
c
and
Q
~
d
, respectively.
1.59
Fixed-point representation Q3.4 of the real number 5.0625.
1.60
Example of conversion using proportion when the dynamic ranges of both analog and digital signal are available
1.61
A sinusoid of period
N=8
samples and its autocorrelation, which is also periodic each 8 lags
1.62
The a) unbiased and b) raw (unscaled) autcorrelations for the sinusoid of Figure 1.61 with a new period of
N=15
samples.
1.63
Sinusoid of amplitude 4 V immersed in AWGN of power 25 W. The bottom graph is a zoom showing the first 100 samples.
1.64
Autocorrelations of sine plus noise
1.65
Continuous-time version of the AWGN channel model.
1.66
Scatter plot of customer age versus purchased units for three products.
1.67
Autocorrelation of the sunspot data.
1.68
Autocorrelation of a cosine of 300 Hz
1.69
First graph shows signals
x
(
t
)
and
y
(
t
−
0.25
)
contaminated by AWGN at a SNR of 10 dB.
1.70
Example of continuous-time signal.
2.1
Rotation of a vector
x
by an angle
𝜃
=
π
∕
2
radians using
y
=
A
x
with
A
given by Eq. (2.2).
2.2
The first three (
k
=
0
,
1
,
2
) and the last (
k
=
31
) basis functions for a 32-point DCT.
2.3
Angles
Ω
k
=
0
,
π
∕
2
,
π
and
3
π
∕
2
rad (or, equivalently, discrete-time angular frequencies) used by a DFT of
N
=
4
points when
k
varies from
k
=
0
to 3, respectively.
2.4
Angles
Ω
k
=
0
,
2
π
∕
5
,
4
π
∕
5
,
6
π
∕
5
and
8
π
∕
5
rad (that in degrees corresponds to
0
,
72
∘
,
144
∘
,
−
144
∘
,
−
72
∘
) used by a DFT of
N
=
5
points when
k
varies from
k
=
0
to 4, respectively.
2.5
Mapping between angular frequencies
Ω
k
and the corresponding DFT coefficient
X
[
k
]
for
N
=
6
.
2.6
Mapping between angular frequencies
Ω
k
and the corresponding DFT coefficient
X
[
k
]
for
N
=
5
.
2.7
The angles corresponding to
W
N
on the unit circle, for
N
=
3
,
4
,
5
,
6
.
2.8
Computational cost of the DFT calculated via matrix multiplication versus an FFT algorithm. Note that
N
=
4096
are used in standards such as VDSL2, for example, and it is clearly unreasonable to use matrix multiplication.
2.9
The first four (
k
=
0
,
1
,
2
,
3
) and the last (
k
=
31
) basis functions for a 32-point Haar.
2.10
Basis functions
k
=
0
,
17
and the last four (
k
=
28
,
29
,
30
,
31
) for a 32-point Haar.
2.11
Fourier series basis functions for analyzing signals with period
T
0
=
1
∕
50
seconds. Because the basis functions are complex-valued signals, the plots show their real (top) and imaginary (bottom) parts.
2.12
Spectrum of
x
(
t
)
=
4
+
10
cos
(
2
π
50
t
+
2
)
+
4
sin
(
2
π
150
t
−
1
)
.
2.13
Unilateral spectrum of (real) signal
x
(
t
)
=
4
+
10
cos
(
2
π
50
t
+
2
)
+
4
sin
(
2
π
150
t
−
1
)
.
2.14
DTFS / DFT of
x
[
n
]
=
10
cos
(
π
6
n
+
π
∕
3
)
calculated with
N
=
12
.
2.15
Complete representation of the DTFS / DFT of
x
[
n
]
=
10
cos
(
π
6
n
+
π
∕
3
)
indicating the periodicity
X
[
k
]
=
X
[
k
+
N
]
.
2.16
Example of a Fourier transform
X
(
f
)
and its equivalent representation
X
(
ω
)
with
ω
in rad/s.
2.17
Fourier transform of
x
(
t
)
=
6
cos
(
10
πt
)
represented in Hertz and radians per second, indicating the scaling of the impulses areas by the factor
2
π
.
2.18
Example of bins when using an
N
-point DFT with
N
=
4
. The bin centers are
0
,
π
∕
2
,
π
and
3
π
∕
2
, all marked with ’
×
’.
2.19
Spectrum
X
(
f
)
(top) and
X
(
e
jΩ
)
when
F
s
=
60
Hz.
2.20
Real part of
e
(
−
σ
+
j
10
π
)
t
. The values of
σ
are
−
0.3
and 0.3 for the first (left) and second graphs, respectively.
2.21
Three poles (marked with ‘x’) and zero (marked with ‘o’) of Eq. (2.54).
2.22
Magnitude (in dB) of
X
(
s
)
=
s
−
1
s
3
+
4
s
2
+
9
s
+
10
=
s
−
1
(
s
+
2
)
(
s
+
1
−
j
2
)
(
s
+
1
+
j
2
)
(Eq. (2.54)).
2.23
Phase (in rad) of Eq. (2.54).
2.24
Graph of the magnitude (in dB) of
X
(
s
)
=
s
−
1
s
3
+
4
s
2
+
9
s
+
10
=
s
−
1
(
s
+
2
)
(
s
+
1
−
j
2
)
(
s
+
1
+
j
2
)
(Figure 2.22) with the identification of the corresponding values of the Fourier transform (magnitude).
2.25
The values of the magnitude of the Fourier transform corresponding to Figure 2.24.
2.26
Two dimensional representation of Figure 2.25 obtained with the command
freqs
in Matlab/Octave showing the peak at
ω
=
2
rad/s due to the respective pole.
2.27
Magnitude (in dB) of
X
(
z
)
=
z
+
0.9
(
z
−
0.8
)
(
z
−
0.5
−
j
0.6
)
(
z
−
0.5
+
j
0.6
)
(Eq. (2.68)).
2.28
Phase (in rad) of Eq. (2.68).
2.29
Pole / zero diagram for Eq. (2.68).
2.30
Graph of the magnitude (in dB) of
X
(
z
)
=
z
+
0.9
(
z
−
0.8
)
(
z
−
0.5
−
j
0.6
)
(
z
−
0.5
+
j
0.6
)
(Figure 2.27) with the identification of the corresponding values of the DTFT (unit circle
|
z
|
=
1
).
2.31
The values of the magnitude of the DTFT corresponding to Figure 2.30.
2.32
Magnitude (top) and phase (bottom) of the DTFT corresponding to Eq. (2.68). These plots can be obtained with the Matlab/Octave command
freqz
and are a more convenient representation than, e. g., Figure 2.31.
2.33
Signal
x
[
n
]
=
δ
[
n
−
11
]
analyzed by 32-point DCT and Haar transforms.
2.34
A segment of one channel of the original ECG data.
2.35
Original and reconstructed ECG signals with DCT of
N
=
32
points and discarding 26 (high-frequency) coefficients.
2.36
Performance of five DCT-based ECG coding schemes. The number of points is varied
N
∈
{
4
,
8
,
32
,
64
,
128
}
and
K
=
1
,
2
,
…
,
M
−
1
.
2.37
A zoom of the eye region of the Lenna image.
2.38
Alternative representation of the DTFS / DFT of
x
[
n
]
=
10
cos
(
π
6
n
+
π
∕
3
)
using
fftshift
.
2.39
Five cosine signals
x
i
[
n
]
=
10
cos
(
Ω
i
n
)
with frequencies
Ω
i
=
0
,
2
π
∕
32
,
4
π
∕
32
,
π
,
31
π
∕
16
for
i
=
0
,
1
,
2
,
16
,
32
, and the real part of their DTFS using
N
=
32
points.
2.40
Analysis with DFT of 32 points of
x
[
n
]
composed by three sinusoids and a DC level.
2.41
Spectrum of a signal
x
[
n
]
=
4
cos
(
(
2
π
∕
6
)
n
)
with period of 6 samples obtained with a 16-point DFT, which created spurious components.
2.42
Explicitly repeating the block of
N
cosine samples from Figure 2.41 to indicate that spurious components are a manifest of the lack of a perfect cosine in time-domain.
2.43
Three periods of each signal: pulse train
x
[
n
]
with
N
=
10
and
N
1
=
5
and amplitude assumed to be in volts (a), the magnitude (b) and phase (c) of its DTFS.
2.44
Behavior when
N
1
of Figure 2.43 is decreased from
N
1
=
4
to 1.
2.45
DTFT of an aperiodic pulse with
N
1
=
5
non-zero samples and DTFT estimates obtained via a DFT of
N
=
20
points.
2.46
A version of Figure 2.45 using a DFT of
N
=
256
points.
2.47
A version of Figure 2.45 using
freqz
with 512 points representing only the positive part of the spectrum.
2.48
Reproducing the graphs generated by
freqz
in Figure 2.47.
2.49
DFT with
N
=
8
points of a signal sampled at
F
s
=
100
kHz.
3.1
Diagram of systems, emphasizing the linear and time-invariant (LTI) systems and the systems described by linear, constant-coefficient differential (or difference) equations (LCCDE).
3.2
Example of convolution between
x
[
n
]
=
2
δ
[
n
]
−
3
δ
[
n
−
1
]
+
4
δ
[
n
−
2
]
and
h
[
n
]
=
−
2
δ
[
n
]
+
δ
[
n
−
1
]
+
2
δ
[
n
−
2
]
.
3.3
Example of interpreting graphically the convolution in Figure 3.2.
3.4
Convolution of a pulse
p
(
t
)
=
4
rect
(
5
t
−
0.1
)
with itself, obtained with Listing 3.7.
3.5
Frequency response of
H
(
ω
)
=
1
jω
+
2
represented in polar form: magnitude (top) and phase (bottom).
3.6
Frequency response represented in polar form: magnitude (top) and phase (bottom).
3.7
Version of Figure 3.6 obtained with the command
freqz(1,[1 -0.7])
.
3.8
Ideal magnitude specifications for lowpass and highpass filters.
3.9
Magnitude of the frequency response of a practical analog filter in linear scale (
|
H
(
f
)
|
, top) and in dB (
20
lo
g
10
|
H
(
f
)
|
), which should be compared to the ideal case of Figure 3.8.
3.10
Relations between natural frequency
ω
n
, pole center frequency
ω
0
, decay rate
α
and damping ratio
ζ
for a pair of complex conjugate poles.
3.11
Magnitude of the frequency response for the SOS expressed by Eq. (3.18) and Eq. (3.21).
3.12
Time-domain performance parameters for an underdamped system based on its step response.
3.13
Two examples of ready-to-simulate circuits made available by Paul Falstad at [ url3fac].
3.14
Bandwidth
BW
=
f
2
−
f
1
defined by the cutoff frequencies where the gain falls
−
3
dB below the reference value at
f
0
.
3.15
DTFT magnitude in dB of a 4-th order Butterworth filter with cutoff frequency of 50 Hz and the equivalent ideal filter with absolute bandwidth of 102.4 Hz.
3.16
Effect of adding a linear phase
e
−
j
2
π
N
0
k
∕
N
(
N
0
=
4
and
N
=
50
) to the DTFS of
x
[
n
]
resulting in a delayed version
y
[
n
]
=
x
[
n
−
4
]
.
3.17
Effect of adding the specified nonlinear phase (top) to the pulse in Figure 3.16, which leads to a distorted signal (bottom).
3.18
Example of specification masks for designing low and highpass filters.
3.19
Example of specification mask for designing bandpass filters.
3.20
Lowpass active analog filter designed with Texas Instruments’ software.
3.21
Frequency response of filters designed in Listing 3.11. The magnitude specification masks are indicated. Note that the phase was unwrapped with the command
unwrap
for better visualization.
3.22
The canonical interface of a digital filter
H
(
z
)
with the analog world via A/D and D/A processes.
3.23
Comparison of two analog filters with its digital counterpart of Eq. (3.40). The “ideal” analog corresponds to Eq. (3.39) while the “10% tolerance” corresponds to its realization using the schematic of Figure 3.20.
3.24
Comparison of analog filter specification (a) and two corresponding digital versions assuming
F
s
=
2000
Hz: (b) was obtained with
ω
=
Ω
F
s
and (c) uses the convention adopted in Matlab/Octave.
3.25
Performance of a commercial SAW filter. The insertion gain
IG
(
f
)
at two resolutions at the left plot and superimposed to the group delay at the right.
3.26
Performance of a commercial ceramic filter.
3.27
Result of converting
x
[
n
]
with spectrum
X
(
e
jΩ
)
into
x
s
(
t
)
with
X
s
(
ω
)
=
X
(
e
jω
T
s
)
via a DT/S conversion using
F
s
=
10
Hz.
3.28
Spectrum
X
s
(
f
)
of a sampled signal
x
s
(
t
)
obtained by the convolution between
X
(
f
)
and
P
(
f
)
as indicated in Eq. (3.54).
3.29
Spectra
X
(
f
)
,
X
s
(
f
)
and
X
(
e
jΩ
)
corresponding to the respective time-domain signals
x
(
t
)
,
x
s
(
t
)
and
x
[
n
]
observed in a A/DT (analog to discrete-time) conversion.
3.30
Spectra
X
(
e
jΩ
)
,
X
s
(
f
)
and
X
(
f
)
corresponding to the respective time-domain signals
x
[
n
]
,
x
s
(
t
)
and
x
(
t
)
observed in a DT/A (discrete-time to analog) conversion and ideal reconstruction.
3.31
Ideal reconstruction filter.
3.32
Passband signal with
BW
=
25
Hz and center frequency
f
c
=
70
Hz.
3.33
Result of sampling
X
(
f
)
in Figure 3.32 with
F
s
=
56
Hz.
3.34
Sampling with
F
s
=
450
Hz a complex-valued signal with non-symmetrical spectrum.
3.35
Extended version of Figure 1.42 using a DAC with a ZOH reconstruction filter and incorporating the filters
A
(
s
)
and
R
(
s
)
. Quantization is not considered here.
3.36
Reconstruction of a digital signal with
BW
=
25
kHz and
F
s
=
200
kHz using an analog filter with cutoff frequency
f
c
=
25
kHz.
3.37
Same as Figure 3.36, but for a signal with
BW
=
f
c
=
80
kHz.
3.38
Examples (a) and (b) of bilinear mappings from the unit circle in
z
to
s
plane. Mappings (c) and (d) of chosen points in
s
to
z
plane. Each example shows the points identified by numbers in their original and mapped planes.
3.39
Version of Figure 1.51 in which the mapping between
ω
and
Ω
uses the bilinear transformation instead of the fundamental equation
ω
=
Ω
F
s
of Eq. (1.35).
3.40
Bilinear leads to a nonlinear warping between
ω
(rad/s) and
Ω
(rad). This example uses
F
s
=
0.5
Hz such that
ω
=
tan
(
Ω
∕
2
)
.
3.41
Relation imposed by the bilinear transformation between
ω
(rad/s) and
Ω
(rad) for
F
s
=
100
Hz. In this case, the frequency
ω
0
=
540
.
4
rad/s is mapped to
Ω
0
=
2.433
±
k
2
π
rad.
3.42
|
H
(
f
)
|
corresponding to
H
(
s
)
=
101
(
s
−
1
)
(
s
−
1
)
∕
[
(
s
+
1
)
(
s
+
1
−
j
10
)
(
s
+
1
+
j
10
)
]
of Eq. (3.84), to illustrate the bilinear transformation.
3.43
Frequency responses from
H
(
z
)
obtained via the bilinear transformation of
H
(
s
)
in Eq. (3.84) using
F
s
=
1, 3, 5 and 7 Hz.
3.44
Magnitude (in dB) for bilinear transformations of
H
(
s
)
.
3.45
Frequency responses of
H
s
(
ω
a
)
given by Eq. (3.86),
H
z
(
e
jΩ
)
obtained via
bilinear
and
H
z
(
e
j
ω
d
T
s
)
(from top to bottom).
3.46
Three categories of bilinear applications and the respective choices of the sampling frequency
F
s
in the bilinear transformation depends on the application, and can be arbitrary in the case of digital filter design.
3.47
Steps of IIR filter design using the bilinear transformation when the filter requirements are in discrete-time (frequencies in radians).
3.48
Version of Figure 1.51 and Figure 3.39 that considers both the bilinear transformation and the conversion of continuous to discrete-time via
ω
=
Ω
F
s
.
3.49
Steps for designing an IIR filter
H
(
z
)
using the bilinear transformation, assuming a lowpass filter. The set of requirements can be in discrete (
Φ
) or continuous-time (
ϕ
) domain.
3.50
Steps for matching a single frequency
ω
m
using the bilinear transformation when a continuous-time system function
G
(
s
)
and
F
s
are provided.
3.51
Version of Figure 3.45 for which
bilinear
used pre-warping for obtaining
ω
a
=
ω
d
=
20
rad/s.
3.52
Mask for a differentiator filter specified with the syntax for arbitrary filter magnitudes.
3.53
Frequency response of filters obtained with
firls
.
3.54
FIR design described in both time and frequency domains.
3.55
Group delay and phase for a channel represented by a symmetric FIR with linear phase and constant group delay of 3 samples.
3.56
Group delay and phase for a channel represented by a non-symmetric FIR
h=[0.3 -0.4 0.5 0.8 -0.2 0.1 0.5]
with non-linear phase.
3.57
Impulse and frequency responses for the four types of symmetric FIR filters exemplified in Listing 3.31.
3.58
Two distinct realizations of
y
[
n
]
=
5
x
[
n
]
−
5
x
[
n
−
1
]
.
3.59
Two structures for FIR realizations.
3.60
Two alternatives for implementing the digital filter of Eq. (3.105).
3.61
IIR of Eq. (3.105) implemented with the transposed direct form II. The intermediate diagram in (a) is obtained by transposing Figure 3.59c, while (b) simply reorganizes it.
3.62
Realization of Eq. (3.105) with transposed direct form II second order sections.
3.63
The original magnitude response of the 8-th order filter and its 16-bits per coefficient Q7.8 quantized version (
b
i
=
7
and
b
f
=
8
).
3.64
Zeros and poles for the original and quantized filters discussed in Figure 3.63.
3.65
Magnitude of quantized filter with Q10.15 using 26 bits (
b
i
=
10
and
b
f
=
15
) and the original filter of order 8 in Figure 3.63.
3.66
Magnitude responses for original filter of order 14 and its quantized version with
b
=
26
bits (
b
i
=
10
and
b
f
=
15
).
3.67
Zeros and poles for the corresponding filter in Figure 3.66. Note the occurrence of poles outside the unit circle, which make the quantized filter unstable.
3.68
Example of filter outputs with floating-point double precision and fixed-point using Q2.3 generated with Listing 3.36.
3.69
Frequency responses of
H
non
(
z
)
and its minimum-phase counterpart
H
min
(
z
)
.
3.70
Group delay for the non-minimum and minimum phase systems of Figure 3.69.
3.71
Original spectrum
X
(
e
jΩ
)
(top) and its upsampled version
Q
(
e
jΩ
)
=
X
(
e
jLΩ
)
with
L
=
4
(bottom).
3.72
Zoom of the bottom plot of Figure 3.71: due to the upsampling by
L
=
4
,
Q
(
e
jΩ
)
has four replicas of the original lowpass spectrum.
3.73
Original spectrum
Z
(
e
jΩ
)
(top) and the result
Y
(
e
jΩ
)
(bottom) of downsampling it by
M
=
3
.
3.74
Magnitudes of frequency responses for two resonators with
H
(
s
)
as in Eq. (3.17).
3.75
Poles (left) and magnitude
|
H
(
ω
)
|
(right) for the sixth-order Butterworth filter of Listing 3.39.
3.76
Similar to Figure 3.75, but with a sixth-order Chebyshev Type 1 filter.
3.77
Zero-pole plot (top) and magnitude in dB (bottom) for the sixth-order elliptic filter of Listing 3.39.
3.78
Impulse response and group delay of IIR filter obtained with
[B,A]=butter(8,0.3)
.
3.79
Input signal
x
[
n
]
and its FFT.
3.80
Input
x
[
n
]
and output
y
[
n
]
signals obtained via convolution with truncated
h
[
n
]
.
3.81
Input
x
[
n
]
and output
y
[
n
]
signals obtained via
filter
.
3.82
Output
y
[
n
]
aligned with the input
x
[
n
]
and corresponding error
x
[
n
]
−
y
[
n
]
.
3.83
Filtering in blocks of
N
=
5
samples but not updating the filter’s memory.
3.84
Linear phase FIR channel obtained with
h=fir1(10,0.8)
.
3.85
IIR channel obtained with
[B,A]=butter(5,0.8)
.
3.86
Spectrum of a band-limited even and real-valued signal
x
[
n
]
.
4.1
Selected windows
w
[
n
]
of duration
N
=
32
samples in time-domain.
4.2
The DTFTs
W
(
e
jΩ
)
of the windows in Figure 4.1.
4.3
Some key parameters of a window in frequency domain.
4.4
The DTFT of windows in Figure 4.1 with their values normalized such that
|
W
(
e
jΩ
)
|
=
1
for
Ω
=
0
rad.
4.5
Comparison of DTFT and DFT/FFT of a bin-centered signal
x
[
n
]
=
6
cos
(
(
α
2
π
∕
N
fft
)
n
)
, with
α
=
8
and
N
fft
=
32
, using a rectangular window.
4.6
Comparison of DTFT and DFT/FFT of a non-bin-centered signal
x
[
n
]
=
6
cos
(
(
α
2
π
∕
N
fft
)
n
)
, with
α
=
8.5
and
N
fft
=
32
, using a rectangular window.
4.7
Comparison of DTFT and DFT/FFT of a bin-centered signal
x
[
n
]
=
6
cos
(
(
α
2
π
∕
N
fft
)
n
)
, with
α
=
8
and
N
fft
=
32
, using a flattop window.
4.8
Comparison of DTFT and DFT/FFT of a non-bin-centered signal
x
[
n
]
=
6
cos
(
(
α
2
π
∕
N
fft
)
n
)
, with
α
=
8.5
and
N
fft
=
32
, using a flattop window.
4.9
Comparison of DTFT and DFT/FFT of a non-bin-centered signal
x
[
n
]
=
6
cos
(
(
α
2
π
∕
N
fft
)
n
)
, with
α
=
8.5
and
N
fft
=
32
, using a Hann window.
4.10
DFT filter bank with rectangular window of
N
fft
=
8
samples. The circles mark the DFT bin centers. The filter for
k
=
3
is emphasized.
4.11
DFT filter bank with Kaiser window of
N
fft
=
8
samples. The filter for
k
=
6
is emphasized.
4.12
Relationship between zero locations and spectrum for a rectangular window with
N
=
32
samples.
4.13
Relationship between roots location and spectrum for a Kaiser window with
N
=
32
samples.
4.14
Spectrum leakage when a cosine
x
[
n
]
=
3
cos
(
Ω
c
n
)
, with
Ω
c
=
1
rad, is windowed with a rectangular window
w
[
n
]
of duration
N
=
14
samples.
4.15
Spectrum leakage when the cosine
x
[
n
]
=
3
cos
(
n
)
of Figure 4.14 is now windowed with a rectangular window
w
[
n
]
of duration
N
=
50
samples.
4.16
Spectrum leakage when the cosine
x
[
n
]
=
3
cos
(
n
)
of Figure 4.14 is now windowed with a rectangular window
w
[
n
]
of duration
N
=
1000
samples.
4.17
Comparison of DTFT and DFT/FFT for bin-centered
x
[
n
]
=
6
cos
(
(
α
2
π
∕
N
fft
)
n
)
, with
α
=
2
and
N
fft
=
8
using a rectangular window.
4.18
Version of Figure 4.17 for a (worst-case) not bin-centered
x
[
n
]
=
6
cos
(
(
α
2
π
∕
N
fft
)
n
)
, with
α
=
2.5
and
N
fft
=
8
using a rectangular window.
4.19
Comparison of DTFT and DFT/FFT for a constant signal
x
[
n
]
=
6
cos
(
(
α
2
π
∕
N
)
n
)
=
A
, with
α
=
0
(centered at DC) and
N
=
8
, using a rectangular window.
4.20
Comparing FFT results for non-periodic and a periodic but not bin-centered signals.
4.21
Comparison of DTFT and DFT for
x
[
n
]
=
6
cos
(
(
α
2
π
∕
N
)
n
)
with
α
=
50
(left) and
α
=
30
.
5
(right)
N
=
256
using a rectangular window.
4.22
Comparison of spectra obtained with four windows in case both sinusoids are bin-centered (left plots) and not (right plots).
4.23
Individual spectra of the two sinusoids superimposed obtained using the Kaiser window.
4.24
Individual spectra of the two sinusoids superimposed, obtained using the rectangular window.
4.25
Important categories of signals. Some of these features need to be taken in account when defining the PSD function.
4.26
PSD
S
x
(
f
)
of a continuous-time white noise with
N
0
∕
2
=
3
W/Hz (top) and its discrete-time counterpart
S
x
(
e
jΩ
)
obtained with
F
s
=
200
Hz (bottom).
4.27
ESD, PSD and MS spectrum with respective units, and two methods for estimating PSDs that can also be used to estimate the ESD and MS spectrum.
4.28
Periodogram of
x
[
n
]
=
10
cos
(
(
2
π
∕
64
)
n
)
in dBW/Hz estimated by
periodogram.m
with a
1024
-point FFT and assuming
F
s
=
8
kHz.
4.29
Periodogram of two bin-centered sinusoids at 250 and 500 Hz, calculated via Matlab and its definition.
4.30
Periodograms of two bin-centered sinusoids at 250 and 500 Hz, calculated with the rectangular and Hamming windows.
4.31
Periodograms of two non-bin-centered sinusoids at
f1=507.8125
and
f2=257.8125
Hz calculated with the rectangular and Hamming windows.
4.32
Periodograms of a cosine contaminated by AWGN at an SNR of
−
3
dB with an FFT of
N
=
1024
points (top plot) and 16384 (bottom). In this case the SNR cannot be inferred directly from the noise level.
4.33
Discrete-time PSD of
x
[
n
]
=
10
cos
(
(
2
π
∕
8
)
n
)
in linear scale estimated with periodograms.
4.34
Periodogram and MS spectrum for a sum of sinusoids. Both are in dB scale.
4.35
Periodograms of a white noise with power equal to 600 W estimated with
N
=
300
(top) and
N
=
3000
(bottom) samples.
4.36
PSD of a filtered white noise
x
[
n
]
estimated via the autocorrelation.
4.37
PSD of a white noise
x
[
n
]
with power equal to 600 W estimated by Welch’s method with
M
=
32
(top) and
M
=
256
(bottom) samples per segment.
4.38
PSD of a filtered white noise
x
[
n
]
estimated by Welch’s method.
4.39
The prediction-error filter is
A
(
z
)
=
1
−
A
~
(
z
)
, where
A
~
(
z
)
provides a prediction
y
~
[
n
]
of the current
n
-th signal sample
y
[
n
]
, based on previous samples
y
[
n
−
1
]
,
…
,
y
[
n
−
P
]
.
4.40
PSDs estimated from a realization
y
[
n
]
of a autoregressive process. The model adopted for the AR-based estimation matches the one used to generate
y
[
n
]
.
4.41
PSDs estimated from a realization
y
[
n
]
of a moving average process that does not match the model adopted for the AR-based estimation.
4.42
Example of narrowband spectrogam of a speech signal.
4.43
Example of wideband spectrogam of a speech signal.
4.44
DTFT magnitude of a cosine of frequency
Ω
c
=
1.7279
rad.
4.45
DTFT and FFT magnitudes of a cosine of frequency
Ω
c
=
2.1206
rad.
4.46
Spectrogram and tracks of the first four formant frequencies estimated via LPC for a speech sentence “We were away”.
4.47
Eight DTMF symbols, each one with a 100 ms duration.
A.1
The perpendicular line for obtaining the projection
p
xy
of a vector
x
onto
y
in
ℝ
2
.
A.2
Projections of a vector
x
and
y
onto each other.
B.1
PMF for a dice result.
B.2
Obtaining probability from a pdf (density function) requires integrating over a range.
B.3
Example of a finite-duration random signal.
B.4
Example of five realizations of a discrete-time random process.
B.5
Example of evaluating a random process at time instants
n
=
4
and
n
=
6
, which correspond to the values of two random variables
X
[
4
]
and
X
[
6
]
.
B.6
Example of a joint pdf of the continuous random variables
X
[
4
]
and
X
[
6
]
.
B.7
Correlation for data in matrix
victories
.
B.8
Version of Figure B.7 using an image.
B.9
Comparison between the 3-d representation of the autocorrelation matrix in Figure B.7 and the one using lags as in Eq. (B.34).
B.10
Comparison between autocorrelation representations using images instead of 3-d graphs as in Figure B.9.
B.11
Representation of a WSS autocorrelation matrix that depends only on the lag
l
.
B.12
Suggested taxonomy of random processes.
B.13
Correlation for random sequences with two equiprobable values:
B.14
Alternative representation of the correlation values for the polar case of Figure B.13.
B.15
One-dimensional ACF
R
X
[
l
]
for the data corresponding to Figure B.13 (unipolar and polar codes).
B.16
ACF estimated using ergodicity and waveforms with 1,000 samples for each process.
B.17
PDF for a dice roll result when the random variable is assumed to be continuous.
B.18
A 3-d representation of the system
H
(
z
)
=
3
−
2
z
−
1
.
B.19
Comparison of step sizes for IEEE 754 floating points with single and double precision
Digital Signal Processing with Python, Matlab or Octave
GitHub
PDF
Home
⇐
Previous
⇑
Up
Next
⇒