Title: Fast Signal Processing Algorithms
1Fast Signal Processing Algorithms
2Motivation
- Why signal processing
- What is digital signal processing
- Why fast algorithms
- What algorithms
3Why Signal Processing?
- Signals are buried in noise
- Signals are mixed with interferences
- Useful features are to be extracted from signals
(spectral analysis) - Signals are made suitable for transmission
- .
4Why DSP?
- Digital signals can be the results of sampling
continuous-time signals (such as voice signals)
or discrete in nature (such as text in emails) - Signals are expressed as numbers
- Signal processing can be realized by mathematical
operations using computers
5Why DSP?
- The purposes of DSP are
- Enhance the signals (noise reduction,
interference elimination etc) - Present signal in a simple way (source coding)
- Extract feature of signals
- .
6What is DSP?
Output
DSP DSP chips or General purpose computer
Input
- Input and output are discrete sequences.
7Why Fast Algorithms?
- For achieving a specific signal processing task,
we wish that - Less computation
- Less memory occupation
- Short time delay
8What Algorithms
- Two Fundamental problems in DSP
- Signal analysis spectral analysis, discrete
orthogonal transforms etc - System analysis Behavior of discrete systems
with discrete input sequence system impulse
response, system functions, and input-output
relationship - We will focus on the algorithms for signal
analysis
9What Algorithms
- The focus of the subject will be
- Orthogonal transforms
- DFT
- DCT (Discrete Cosine Transform)
- Discrete Hartkey Transforms
- Discrete Hadamard transforms
- Multirate techniques
- Polyphase decomposition and filtering
- Discrete Wavelet Transforms
10Fast Signal Processing AlgorithmsWeek 1
- Discrete Fourier Transform
11Outline
- What is spectrum
- Spectrum analysis of analog signals
- Spectral analysis of discrete sequence
- Discrete Fourier Transform (DFT) and Fast Fourier
Transform (FFT)
12What is spectrum
- Light Spectrum Sun light contains a range of
components differing in - Color ? Wavelength ?Frequency
- The detailed structure of a beam of light in
terms of those components is called the spectrum
13What is spectrum
- Spectrum analysis refers to the task of working
out the spectrum, that is - What color (wavelength or frequency) component
does the light beam contain - How strong are those components (magnitude)
14Electromagnetic Spectrum
15Spectrum Analysis of Signals
- A signals is also a wave and can also be
considered as a combination of components with
different frequencies. The detailed structure is
also called the spectrum of the signal. - Therefore signal spectrum analysis refers to the
task that, for a given signal - Determines what frequency components it contains,
and - the details of (amplitude, and phase) of those
components
16Spectrum of analog signals
- For a time-continuous signal s(t)
- It can be decomposed as Fourier series if it is
periodic with period T
where
and where
17Spectrum of analog signals
- For a time-continuous signal s(t)
- If the s(t) is not periodic, Fourier Transform
can be used
where
is the Fourier Transform of x(t)
and is referred to as the spectrum of the signal
18Spectrum of analog signals
- The spectrum of a periodic time-continuous signal
consist of discrete frequency components, called
harmonics - The spectra of non-periodic time-continuous
signals are continuous in frequency.
19Spectrum of Discrete signals
- Lets assume that the discrete-time signal
results from periodic sampling of a
continuous-time signal with sampling interval Ts
that is
20Spectrum of Discrete signals
- Therefore the Fourier Transform of x(n) is
21Spectrum of Discrete signals
Considering that
is called normalized angular frequency
22Spectrum of Discrete signals
For simplicity the spectrum of discrete x(n) is
defined as
is the normalized angular frequency. The above
is also called the Discrete-time Fourier
Transform (DTFT)
23Spectrum of Discrete signals
Assuming that sampling frequency Fs is higher
than the Nyquist frequency (double of the highest
frequency component), then
or
We have
24Spectrum of Discrete signals
It is not convenient to have continuous spectrum
if the spectrum analysis is done by computers.
For this reason we take N samples of the spectrum
with their frequencies uniformly distributed
between
25Discrete Fourier Transform
that is
The above equation is referred to as the
Discrete Fourier Transform (DFT) of the sequence
x(n) for n0, 1, N-1
26Discrete Fourier Transform
It can be shown that
The above equations are the DFT pair.
27DFT
The inverse transform saying that x(n) can be
considered as linear combination of complex
exponential sequence
X(k) is the complex amplitude of the kth complex
exponential sequence. Hence X(k) give the
spectrum.
28Discrete Fourier Transform
DFT in Matrix form
29Discrete Fourier Transform
It can be shown that
Recall the definition of unitary matrix, the DFT
is also called an unitary transform up to the
factor of N
30DFT Some properties
Circular time shift by L samples of x(n)
31DFT Some properties
Multiplication in the frequency domain. Assume
that There are two signals x1(n) and x2(n)
The inverse DFT of y(n) is
Multiplication in the frequency domain means a
circular Convolution in the time domain
32Spectrum of Non-periodic Signals
Lets have a look of the DTFT again
- The spectrum is determined by all the signal
samples. - For example, the signal lasts 1 year, and the
spectrum can only be obtained after 1 year!
33Spectrum of Discrete signals
- There are two ways to solve the problem
- Block-based spectrum analysis
- Running-based (sample based,or sliding-window
based) analysis
34Spectrum of Discrete signals
Block-based spectrum analysis we usually take a
period of observation and compute its spectrum
Each observation is a time-duration limited
signal
35Spectrum of Discrete signals
- How to determine the segment size?
- The resolution of DFT in spectrum (space between
adjacent DFT bins) is - Larger segment size gives more accurate spectrum
estimation (higher resolution)
36Spectrum analysis of non-periodic signals
- We could increase the segment size until the DFT
does not yield more details of the spectrum. - The segment size is called natural segment size.
37Spectrum analysis of non-periodic signals
- How do we computer DFT of the segment?
- Assume that a segment contains L signal samples.
We would like to use N-point DFT for two reasons - Fast computation e.g FFT.
- Change the resolution of spectrum analysis
- Note that NgtL
38Spectrum analysis of non-periodic signals
- The N-point DFT of L-point signal samples is
- The computation can be performed by
- padding some zeros so that the signal length is N
- Compute the N-point DFT using FFT
39Spectrum analysis of non-periodic signals
Consider the long signal again
There are two sharp edges for each segment,
which may results in some high frequency
components which in fact do not exist
40Spectrum analysis of non-periodic signals
A window function is applied to each segment to
smooth the edges.
41Spectrum analysis of non-periodic signals
- Many window functions have been proposed and
studied - Hamming
- Hanning
- Blackman
- etc
42Fact computation of DFTs
sliding window
43Spectrum of Discrete signals
Assuming there are N samples within the
observation period, the DTFT reduces to
Note the spectrum is still continuous in
frequency
44DFT zero padding
We want to compute the spectrum of a signal
For equidistant frequencies
Where gives the resolution. N-point DFT
gives the spectrum at the following frequency
points
45DFT zero padding
If N is small, the resolution will be too low and
the results will not be satisfactory. For this
reason we increase the length of DFT by padding
zeros to the sequence
The DFT will be
46DFT zero padding
It is equivalent to
and the resolution now is
47DFT zero padding
For example, we have a sequence of 128 samples,
the sampling frequency is 1kHz, the 128 point
DFT will give the spectrum of the signal with
frequency resolution of 1/128 kHz. However, if
we pad 128 zeros and do 256 point DFT, the
resolution will be 1/256 kHz. Therefore zero
padding is used to increase the resolution of
spectrum analysis
48Fast Computation
- We should be able to determine the block size
based on - Given resolution requirement
- We wish to have efficient algorithms for compute
the - block-based DFT
- We should also have efficient algorithms for
sliding - window based
-