Name: Dr. Peter Tsang Room: G6505 Ext:
Introduction to Digital Signal Processing Digital Filter Design Multi-rate Signal Processing Wavelet Applications
A.N. Akansu et. al., “Multiresolution Signal Decomposition”, Academic Press. P.P. Vaidyanathan, “Multirate Systems and Filter Banks”, Prentice Hall. Students are strongly recommended to look for reference books in the library
Course Assessment: 100% Laboratory Sessions : 1 st weeks 8 2 nd weeks 10 to 13 Subject to change if necessary Special Arrangement Class cancellation: Week 5 (6 th Oct 2007)
Expected outcome from students: 1.Familiarize with FIR and IIR Digital Filter Design. 2.Establish the concept of Multi-resolution Signal Decomposition. 3.Understanding the basic mathematical framework of Wavclet Decomposition. 4.Capable of designing and building Digital Filters, Multi-resolution and Wavelet filter banks. 5.Applying Wavelet Decomposition in image processing.
x(t)x(t) System y(t) = G{x(t)} Input signal Transfer function (filter) Allow certain frequency band to pass, and reject others Output signal Figure 1 Signal Processing
x(t)x(t) Input signal Non-recursive system Output signal h FF (t) Feed forward response y(t) = G{x(t)} Figure 2 Signal Processing
x(t)x(t) Input signal Non-recursive system Output signal h FF (t) y(t) = x(t) * h FF (t) (1) y(t) = G{x(t)} Figure 3 Signal Processing
ConvolutionConvolution y(t) = x(t) * h (t) h( ) x( )x( ) y(0)= AREA[h( ) x(- )] y(1)= AREA[h( ) x(1- )]
ConvolutionConvolution y(t) = x(t) * h (t) h( ) x( )x( ) y(2)= AREA[h( ) x(2- )] y(3)= AREA[h( ) x(3- )]
x(t)x(t) Input signal Recursive system Output signal h FF (t) h FB (t) + Feed backward response y(t) = G{x(t)} Figure 4 Signal Processing
y(t) = x(t) * h FF (t) + x(t)x(t) Input signal Recursive system Output signal h FF (t) h FB (t) + y(t) * h FB (t) (2) Figure 5 y(t) = G{x(t)} Signal Processing
Analog systems are implemented with analog circuits built up with resistors, capacitors, inductors and transistors. Both input and output signals are continuous waveforms. Signal Processing
Digital Signal Processing - a five steps process Step 1 - Sampling x(t)x(t) x(nT S ) TSTS Figure 6
Step 2 - Analog to Digital Conversion (ADC) x(nT S ) x(n) = [x(0), x(1), x(2), , x(N-2), x(N-1)] Figure 7 Digital Signal Processing - a five steps process
Step 3 - Computation on input data sequence y(n) = 0.25x(n-1) + 0.5x(n) x(n+1) (3) e.g. A simple Low Pass Filter Digital Signal Processing - a five steps process
Step 4 - Digital to Analog Conversion (DAC) y(nT S ) y(n) = [y(0), y(1), y(2), , y(N-2), y(N-2)] Figure 8 Digital Signal Processing - a five steps process
Step 5 Interpolation y(t)y(t) y(nT S ) Figure 9 Digital Signal Processing - a five steps process
x(t)x(t) x(n)x(n) ADC Digital Filter DAC + Int. y(n)y(n) y(t)y(t) y(n) = G{x(n)} Figure 10 Digital Signal Processing
Digital Signal Processing - key issues 1. Build a mathematical model of the system. 2. Design algorithms and formulations for the model 3. Apply the algorithms to the input data and calculate the output data 4. convert the data to the time domain
Models and Algorithms 1. A model is a mathematical description on the response of the system 2. An algorithm is the realization of the model Model: H(s) = 1/(s+b) R C Analog realization
1. A model is a mathematical description on the response of the system 2. An algorithm is the realization of the model Model: H(s) = 1/(s+b) Digital realization y(n) = w 1 x(n-1) + w 2 x(n) + w 3 x(n+1) Models and Algorithms
Analog System: Determine transfer function H(s) Built circuit equivalent to H(s) Digital system: Given H(s), how to determine the equation and parameters? Solution: A standardized equation for the class of linear time-invariant (LTI) systems. Models and Algorithms
What is an LTI system? x1(n)x1(n) Digital Filter Linear y1(n)y1(n) x2(n)x2(n) Digital Filter y2(n)y2(n) Figure 11
x1(n)x1(n) Digital Filter Linear y1(n)y1(n) x2(n)x2(n) Digital Filter y2(n)y2(n) x 1 (n) + x 2 (n) Digital Filter y 1 (n) + y 2 (n) Figure 12 What is an LTI system?
Time Invariant Same response to every part of the input sequence Digital Filter y (n) = G{x(n)} x (n-n o ) Digital Filter y (n-n o ) = G{x(n-n o )} x (n)x (n) Figure 13 What is an LTI system?
Generalised LTI system (4) y (n) = a k y(n-k) + k=1 M b k x(n-k) k= -N F NFNF
y (n) = a k y(n-k) + k=1 M b k x(n-k) k= -N F NFNF Modifying parameters { M, N F, a k and b k } gives different responses (filtering functions). (4) Generalised LTI system
Summary Designing analog systems Identify the desire filter response (e.g. HP, LP, etc.)
Determine the mathematical representation of the response H(s) Summary Designing analog systems
Identify the desire filter response (e.g. HP, LP, etc.) Determine the mathematical representation of the response H(s) Implement the filter circuit with RLC transistors and FETs Summary Designing analog systems
Digitize the input analog signal into a sequence of data x(n) = [x(0), x(1), x(2), x(N-1)] Summary Designing digital systems
Digitize the input analog signal into a sequence of data x(n) = [x(0), x(1), x(2), x(N-1)] Identify the desire digital filter response (e.g. HP, LP, etc.) Summary Designing digital systems
Digitize the input analog signal into a sequence of data x(n) = [x(0), x(1), x(2), x(N-1)] Identify the desire digital filter response (e.g. HP, LP, etc.) Determine the mathematical representation of the digital response G(n) Summary Designing digital systems
Digitize the input analog signal into a sequence of data x(n) = [x(0), x(1), x(2), x(N-1)] Identify the desire digital filter response (e.g. HP, LP, etc.) Determine the mathematical representation of the digital response G(n) Implement the digital filter with the Generalised LTI architecture Summary Designing digital systems
What is it? It sounds simple, but something does not fit in
What is it? It sounds simple, but something does not fit in The sequence of data x(n) = [x(0), x(1), x(2), x(N-1)] seems to be unrelated to time and frequency.
In fact, the data may have nothing to do with time. e.g., the intensity of a row of pixels in an image x(0) = 255 x(1) = 255 x(2) = 128 x(3) = 128 x(4) = 255 x(5) = 255 x(n)= [ 255,255,128,128,255,255] Figure 14
So what is meant by frequency in the digital domain?
Number of cycles or repetitions within a sequence of data
Number of cycles or repetitions within a sequence of data. Consider a 12 points sampling lattice x(n) n 1 cycle Figure 15
Number of cycles or repetitions within a sequence of data. Consider a 12 points sampling lattice x(n) n 2 cycle Figure 16
Maximum number of cycles that can be represented in a sampling lattice x(n) n Consider a 12 points sampling lattice Figure 17
Number of cycles or repetitions within a sequence of data. Maximum number of cycles = N/ x(n) n Figure 18
Assuming that the sampling frequency is 1 Hertz or 2 radians/second The maximum frequency that can be represented is 1/2 Hertz or radians/second
Assuming that the sampling frequency is 1 Hertz or 2 radians/second The maximum frequency that can be represented is 1/2 Hertz or radians/second The resolution in the frequency domain is 1 cycle, i.e. 1/N Hertz or 2
x(n) f 0 22 N 22 N 22 N 22 N A typical spectrum Mirror Image Mirror Image Mirror Image Figure 19
The bandwidth of any set of sequence is restricted to [0, ]
The resolution in the frequency domain is 2 /N
The bandwidth of any set of sequence is restricted to [0, ] The resolution in the frequency domain is 2 /N All real sequences have symmetrical USB and LSB
The bandwidth of any set of sequence is restricted to [0, ] The resolution in the frequency domain is 2 /N All real sequences have symmetrical USB and LSB The ‘frequency’ of the sequence is relative to the sampling frequency which is taken as 1 Hz or 2 radians/second
The bandwidth of any set of sequence is restricted to [0, ] The resolution in the frequency domain is 2 /N All real sequences have symmetrical USB and LSB The ‘frequency’ of the sequence is relative to the sampling frequency which is taken as 1 Hz or 2 radians/second
How to obtain the Spectrum from a Sequence of Data? For analog waveform, we use Fourier Transform (5) (6) Forward Transform Inverse Transform
How to obtain the Spectrum from a Sequence of Data? For digital sequence, we use Discrete Fourier Transform (7) (8) Forward Transform Inverse Transform with (9)
What are ‘n’ and ‘k’? Forward Transform n is an index to each sample of the waveform n n=1 n=2n=3
What are ‘n’ and ‘k’? Forward Transform k is an index to each frequency component in the spectrum Each frequency component is calculated with a value of ‘k’, e.g. The first (D.C.) component corresponds to k=0 The second component corresponds to k=1, and so on
How to obtain the Spectrum from a Sequence of Data? For digital filter design, the z Transform is often used as well. (See suplementary notes) (10) Forward z Transform Unlike Fourier Transform, there is no simple inverse transform relation for z Transform.
How to obtain the Spectrum from a Sequence of Data? For digital filter design, the z Transform is often used as well (10) Forward z Transform Unlike Fourier Transform, there is no simple inverse transform relation for z Transform. z is a complex variable which can be represented as: z = re j
The basic meaning of ‘z’ r z = re j Real Img Figure 20 A 2-D variable