Beruflich Dokumente
Kultur Dokumente
analysis
Juan P Bello
Digital Signals
Digital Signals
According to the sampling theorem: fs > 2fmax
Otherwise there is another, lower-frequency, signal that share
samples with the original signal (an alias).
LPF LPF
Anti-aliasing Anti-imaging
Block processing and spectrum
N samples
Memory buffer
k = 0,1,...,N "1
X(k) = X * (N " k)
|X(k)| (k)
0! N/2 N 0 N/2 N
0 N/2 0 N/2
Frequency resolution
As we now know, the frequency resolution is f = fs/N.
It can be seen that to increase resolution we need to increase N
However that implies a loss of temporal resolution
A possible solution is to zero-pad, i.e. to add zero-valued samples
until we reach the desired N-length.
Leaking
In theory the DFT of a sinusoid shows one spectral line at f0
DFT
f0
DFT
f0
Windowing
Segmenting is equivalent to multiplying the signal by a N-length
rectangular window of unitarian amplitude.
Multiplication in time-domain is equivalent to convolution in the
frequency domain
The transform of a rectangular window is a Sinc function (sin(x)/x).
We can have N = kT0, where k is a positive integer, thus
eliminating the discontinuities.
Alternatively we can use a window that smoothly reduces the
signal to zero at the boundaries
Possible examples include Hamming (H), Blackman (B),
Hanning, Triangular, Gaussian and Kaisser-Bessel windows.
Windowing
Time-frequency representation
The Short-time Fourier Transform (STFT)
Independent DFTs are calculated on windowed segments
The segments usually overlap to compensate for the loss of
temporal resolution
Produces a spectrogram (or phasogram)
Time-frequency representation
A waterfall representation (just a different view)
The Phase Vocoder
Phase Vocoder Basics
Phase vocoder refers to a group of signal processing techniques performed
in the spectral domain
X (n, k ) = X (n, k )e j! (n ,k )
Let us define:
2!
WN = e " j 2! / N "k = k
N
Computation of the time-varying spectrum can be seen as a
parallel bank of N bandpass filters with IR given by:
!
Leading to: "~ (n, k ) = " (n, k )+ ! k n
N /2
y (n) = ! y k (n)
k =0
FFT/IFFT Model
Phase unwrapping
Is the process of transforming the
cyclic phase (constrained to the
polar circle) to a linear function.
This is done by adding the
cumulative phase variation given
by kn
k is the frequency of the kth
sinusoid of our FFT analysis and is
equal to 2k/N.
2"k
!~ (n, k ) = n + ! (n, k )
N
As the converse of unwrapping we
define a principle argument
function (princarg) to map the
phase to the ]-,] range
Target and deviation phases
If a stable sinusoid with frequency k exists, we can calculate a target
phase value as the sum of the previous unwrapped phase plus the
expected phase increment.
This expected phase increment is equal to the frequency of the sinusoid
multiplied by the time shift (one hop size R).
"~d ((s + 1)R ) = princ arg["~ ((s + 1)R )! "~t ((s + 1)R )]
Instantaneous frequency
From the previous it follows that an expected unwrapped phase can be
calculated as the sum of the target plus the deviation phase:
Pop (15%)
Useful References
Zlzer, U. (Ed). DAFX: Digital Audio Effects. John Wiley and Sons (2002)
Chapter 1: Zlzer, U. Introduction.
Chapter 8: Arfib, D., Keiler, F. and Zlzer, U., Time-frequency Processing.
Chapter 10: Amatriain, X., Bonada, J., Loscos, A. and Serra, X. Spectral Processing.
Good read, Chapter 2: Dutilleux, P. and Zlzer, U. Filters