lecture objectives signal processing first · 1 12/11/2003 © 2003, jh mcclellan & rw schafer 1...
TRANSCRIPT
1
12/11/2003 © 2003, JH McClellan & RW Schafer 1
Signal Processing First
Lecture 10FIR Filtering Intro
12/11/2003 © 2003, JH McClellan & RW Schafer 4
LECTURE OBJECTIVES
INTRODUCE FILTERING IDEAWeighted AverageRunning Average
FINITE IMPULSE RESPONSE FILTERSFIRFIR FiltersShow how to compute the output y[n] from the input signal, x[n]
12/11/2003 © 2003, JH McClellan & RW Schafer 5
DIGITAL FILTERING
CONCENTRATE on the COMPUTERPROCESSING ALGORITHMSSOFTWARE (MATLAB)HARDWARE: DSP chips, VLSI
DSP: DIGITAL SIGNAL PROCESSING
COMPUTER D-to-AA-to-Dx(t) y(t)y[n]x[n]
12/11/2003 © 2003, JH McClellan & RW Schafer 6
The TMS32010, 1983
First PC plug-in board from Atlanta Signal Processors Inc.
12/11/2003 © 2003, JH McClellan & RW Schafer 7
Rockland Digital Filter, 1971
For the price of a small house, you could have one of these.
12/11/2003 © 2003, JH McClellan & RW Schafer 8
Digital Cell Phone (ca. 2000)
Free (?) with 2 year contract
2
12/11/2003 © 2003, JH McClellan & RW Schafer 9
DISCRETE-TIME SYSTEM
OPERATE on x[n] to get y[n]WANT a GENERAL CLASS of SYSTEMSANALYZE the SYSTEM
TOOLS: TIME-DOMAIN & FREQUENCY-DOMAIN
SYNTHESIZE the SYSTEM
COMPUTERy[n]x[n]
12/11/2003 © 2003, JH McClellan & RW Schafer 10
D-T SYSTEM EXAMPLES
EXAMPLES:POINTWISE OPERATORS
SQUARING: y[n] = (x[n])2
RUNNING AVERAGERULE: “the output at time n is the average of three consecutive input values”
SYSTEMy[n]x[n]
12/11/2003 © 2003, JH McClellan & RW Schafer 11
DISCRETE-TIME SIGNAL
x[n] is a LIST of NUMBERSINDEXED by “n”
STEM PLOT
12/11/2003 © 2003, JH McClellan & RW Schafer 12
3-PT AVERAGE SYSTEMADD 3 CONSECUTIVE NUMBERS
Do this for each “n”Make a TABLE
])2[]1[][(][ 31 ++++= nxnxnxny
12/11/2003 © 2003, JH McClellan & RW Schafer 15
PAST, PRESENT, FUTURE
“n” is TIME
12/11/2003 © 2003, JH McClellan & RW Schafer 16
ANOTHER 3-pt AVERAGER
Uses “PAST” VALUES of x[n]IMPORTANT IF “n” represents REAL TIME
WHEN x[n] & y[n] ARE STREAMS
])2[]1[][(][ 31 −+−+= nxnxnxny
3
12/11/2003 © 2003, JH McClellan & RW Schafer 17
GENERAL FIR FILTER
FILTER COEFFICIENTS {bk}DEFINE THE FILTER
For example,
∑=
−=M
kk knxbny
0][][
}1,2,1,3{ −=kb
12/11/2003 © 2003, JH McClellan & RW Schafer 19
GENERAL FIR FILTER
FILTER COEFFICIENTS {bk}
FILTER ORDER is MFILTER LENGTH is L = M+1
NUMBER of FILTER COEFFS is L
∑=
−=M
kk knxbny
0][][
12/11/2003 © 2003, JH McClellan & RW Schafer 20
GENERAL FIR FILTER
SLIDE a WINDOW across x[n]
∑=
−=M
kk knxbny
0][][
12/11/2003 © 2003, JH McClellan & RW Schafer 22
FILTERED STOCK SIGNAL
50-pt Averager
INPUT
OUTPUT
12/11/2003 © 2003, JH McClellan & RW Schafer 23
FILTERED STOCK SIGNAL
OUTPUT
INPUT
50-pt Averager 12/11/2003 © 2003, JH McClellan & RW Schafer 24
≠
==
00
01][
n
nnδ
SPECIAL INPUT SIGNALS
x[n] = SINUSOIDx[n] has only one NON-ZERO VALUE
1
n
UNIT-IMPULSE
FREQUENCY RESPONSE (LATER)
4
12/11/2003 © 2003, JH McClellan & RW Schafer 25
UNIT IMPULSE SIGNAL δ[n]
δ[n] is NON-ZEROWhen its argumentis equal to ZERO
]3[ −nδ3=n
12/11/2003 © 2003, JH McClellan & RW Schafer 26
MATH FORMULA for x[n]
Use SHIFTED IMPULSES to write x[n]
12/11/2003 © 2003, JH McClellan & RW Schafer 28
4-pt AVERAGER
CAUSAL SYSTEM: USE PAST VALUES])3[]2[]1[][(][ 4
1 −+−+−+= nxnxnxnxny
INPUT = UNIT IMPULSE SIGNAL = δ[n]
]3[]2[]1[][][][][
41
41
41
41 −+−+−+=
=nnnnny
nnxδδδδ
δ
What is the “IMPULSE RESPONSE”?
12/11/2003 © 2003, JH McClellan & RW Schafer 30
},0,0,,,,,0,0,{][ 41
41
41
41 KK=nh
4-pt Avg Impulse Response
δ[n] “READS OUT” the FILTER COEFFICIENTS
n=0“h” in h[n] denotes Impulse Response
1
n
n=0n=1
n=4n=5
n=–1
NON-ZERO When window overlaps δ[n]
])3[]2[]1[][(][ 41 −+−+−+= nxnxnxnxny
12/11/2003 © 2003, JH McClellan & RW Schafer 31
FIR IMPULSE RESPONSE
Convolution = Filter DefinitionFilter Coeffs = Impulse Response
∑=
−=M
kknxkhny
0][][][
CONVOLUTION
∑=
−=M
kk knxbny
0][][
12/11/2003 © 2003, JH McClellan & RW Schafer 32
FILTERING EXAMPLE
7-point AVERAGER
3-point AVERAGER
( )∑=
−=6
071
7 ][][k
knxny
( )∑=
−=2
031
3 ][][k
knxny
5
12/11/2003 © 2003, JH McClellan & RW Schafer 33
3-pt AVG EXAMPLE
USE PAST VALUES
400for)4/8/2cos()02.1(][ :Input ≤≤++= nnnx n ππ
12/11/2003 © 2003, JH McClellan & RW Schafer 34
7-pt FIR EXAMPLE (AVG)
CAUSAL: Use Previous
LONGER OUTPUT
400for)4/8/2cos()02.1(][ :Input ≤≤++= nnnx n ππ
12/11/2003 © 2003, JH McClellan & RW Schafer 35
FILTERING EXAMPLE
7-point AVERAGERRemoves cosine
By making its amplitude (A) smaller
3-point AVERAGERChanges A slightly
( )∑=
−=6
071
7 ][][k
knxny
( )∑=
−=2
031
3 ][][k
knxny