signal processing design of integrated analog and digital filters
TRANSCRIPT
Signal Processing Design of Integrated Analog and Digital
FiltersProf. Paul Hasler
Types of Integrated Filters
Integrated Filters
Digital Filters(Binary valued)
Analog Filters(Continuous or multivalued)
AnalogContinuous-Time
Filters
AnalogSampled-Data
Filters
Where to divide Analog and Digital?
A/DConverter
Realworld(analog)
DSPProcessor
Computer(digital)
Realworld(analog)
DSPProcessor
Computer(digital)ASP
ICA/D
Specialized A/D
Analog-Digital ComparisonLow SNR: Analog / High SNR: Digital
[Sarpeskar 1997]
Analog-Digital Comparison
16bitA/D F
FT
DSP
10 bit A/D10
10 bit A/D10
10 bit A/D10
10 bit A/D10
filter
filter
filter
filter
Input
Input
DSPApplication
Program
DSPApplication
Program
DSP
SNR < 10bits
• What if exponentially spaced FFT?
Practical Interpretation of CostLow SNR: Analog / High SNR: Digital
[Sarpeskar 1997]
Circuit Issues for FiltersProgrammability / Tunability: flexibility and complexity
Available for digital (clocks/ crystals) as well as some analog (e.g. Floating-Gate) filters
Circuit Issues for Filters
High Signal-to-Noise Ratio (resolution):Ratio of the largest signal and the smallest signal
Largest signal: Harmonic Distortion (continuous-time filters), Range limitationsSmallest Signal: Noise
Programmability / Tunability: flexibility and complexityAvailable for digital (clocks/ crystals) as well as
some analog (e.g. Floating-Gate) filters
Circuit Issues for Filters
High Signal-to-Noise Ratio (resolution):Ratio of the largest signal and the smallest signal
Largest signal: Harmonic Distortion (continuous-time filters), Range limitationsSmallest Signal: Noise
Insensitivity to environmental fluctuations: Power-supply:Power Supply Rejection Ratio (PSRR)Temperature, etc.
Programmability / Tunability: flexibility and complexityAvailable for digital (clocks/ crystals) as well as
some analog (e.g. Floating-Gate) filters
Not a problem for digital filters, but can be the cause of severalproblems to other analog circuits
Circuit Issues for Filters
High Signal-to-Noise Ratio (resolution):Ratio of the largest signal and the smallest signal
Largest signal: Harmonic Distortion (continuous-time filters), Range limitationsSmallest Signal: Noise
Insensitivity to environmental fluctuations: Power-supply:Power Supply Rejection Ratio (PSRR)Temperature, etc.
Programmability / Tunability: flexibility and complexityAvailable for digital (clocks/ crystals) as well as
some analog (e.g. Floating-Gate) filters
Not a problem for digital filters, but can be the cause of severalproblems to other analog circuits
Typically, sampling in amplitude / time results in, • the more complexity is needed ( S/H blocks, anti-aliasing filters), • more power / lower-frequency / area
Design of Analog Filters
• Find the transfer function for a given filter
• “Partition” the transfer function, or an approximation, into simple parts that can be implemented.
• Implement the transfer function in a particular circuit technology
Design of Analog Filters
• Find the transfer function for a given filter
• “Partition” the transfer function, or an approximation, into simple parts that can be implemented.
• Implement the transfer function in a particular circuit technology
H(s) or H(z)
H1(s) H2(s) H3(s)
GND
V1[n]Vout[n]
GND
GND
Design of Analog Filters
H(s) or H(z)
H1(s) H2(s) H3(s)
GND
V1[n]Vout[n]
GND
GND
As basic building blocks we have • integrators, delay elements• first-order (low-pass / bandpass)• second order functions
(low-pass / bandpass / highpass)
The “circuit” design question is how to make these functionswhat inputs / outputs / internal variables
should be voltages / currents, etc.
Design of Analog Filters
H(s) or H(z)
H1(s) H2(s) H3(s)
GND
V1[n]Vout[n]
GND
GND
Design style constrainspartition
Design styleconstrainschoice of transfer function
Choosing H(s) or H(z) for a filter
Ideal lowpass filter• we can get other filters from lowpass
|H(s)|
frequency
Gain in db = 20 log10( amplitude )= 10 log10(signal power)
fpb
Passband
H(s) or H(z) for a lowpass filterLowpasslog |H(s)|
log(frequency)fpb fsb
Tpb
Tsb
1
Passband
Tra
nsiti
on R
egio
n
Stopband
H(s) or H(z) for a lowpass filterLowpasslog |H(s)|
log(frequency)fpb fsb
Tpb
Tsb
1Normalized gain
StopBand FrequencyPassBand Frequency
StopBandMinimum
Gain
PassBandMinimum
Gain
Passband
Tra
nsiti
on R
egio
n
Stopband
H(s) or H(z) for a Highpass filterHighpasslog |H(s)|
log(frequency)fpbfsb
Tpb
Tsb
1Normalized gain
StopBand Frequency PassBand Frequency
StopBandMinimum
Gain
PassBandMinimum
Gain
Stopband
Tra
nsiti
on R
egio
n
Passband
H(s) or H(z) for a Highpass filterBandpasslog |H(s)|
log(frequency)fpb1fsb1
Tpb
Tsb
1Normalized gain
Low StopBandFrequency
Low PassBandFrequency
StopBandMinimum
Gain
PassBandMinimum
Gain
fsb1
High StopBandFrequency
fpb2
High PassBandFrequency
PassbandT
rans
ition
Reg
ion
Tra
nsiti
on R
egio
n
Four Canonical Cont-Time Filters
Butterworth: Maximally flat in passband…moderate rolloff
Chebyshev : Faster rolloff by allowing ripples in passband or stopband
Elliptic: Fastest rollff by appowing ripples in both passband and stopband
Bessel: Near linear phase, slow rolloff
Classic Analog Filters (IIR digital filters):
Four Canonical Cont-Time Filters
Butterworth: Maximally flat in passband…moderate rolloff
Chebyshev : Faster rolloff by allowing ripples in passband or stopband
Elliptic: Fastest rollff by appowing ripples in both passband and stopband
Bessel: Near linear phase, slow rolloff
Other FIR (digital) filters….Other filter design (H(s) or H(z)) techniques: Optimization approaches
Should we choose H(s) or H(z) for our representation?Partially due to particular circuit tradeoffs
(tunability? tools? continuous tunability? Accuracy? power consumption?)
Classic Analog Filters (IIR digital filters):
What happens if we just cascade first order stages?
T(s) = 1
(1 + j sτ)N
What happens if we just cascade first order stages?
T(s) = 1
(1 + j sτ)N
102 103 10410-3
10-2
10-1
100
Frequency (Hz)
Filte
r gai
n
N=1N=9
N=33
17
25
Corner shifts with N
Rolloff is not initiallysharp…..
Butterworth Filter Design
Tpb = √
1
1 + ε2
Definition of ε:Transfer Function: (low-pass)
T(s) = 11 + (-1)N+1 ε sNτN
Tpb = 1/ √2 for ε = 1
(fsb τ = 2π )
√1
1 + ε2 ω2Nτ2N|T(jω)| =
Butterworth Filter Design
Tpb = √
1
1 + ε2
Definition of ε:Transfer Function: (low-pass)
T(s) = 11 + j(-1)N+1 ε2 sNτN
Tpb = 1/ √2 for ε = 1
Need to solve to meet the specification of Tsb at fsb : Filter Order (N)
(fpb τ = 2π )
Tsb2 ( 1 + ε2(fsb / fpb )2N ) = 1
√1
1 + ε2 ω2Nτ2N|T(jω)| =
To meet specifications, one choosesthe next largest integer
Butterworth Filter Design
Tpb = √
1
1 + ε2
Definition of ε:Transfer Function: (low-pass)
T(s) = 11 + j(-1)N+1 ε2 sNτN
Tpb = 1/ √2 for ε = 1
Need to solve to meet the specification of Tsb at fsb : Filter Order (N)
(fsb τ = 2π )
Tsb2 ( 1 + ε2(fsb / fpb )2N ) = 1
√1
1 + ε2 ω2Nτ2N|T(jω)| =
To meet specifications, one choosesthe next largest integer
Pole locations: (ε = 1)
1/τk = (1/τ)(sin( (2k-1)π/(2N) ) + j cos( (2k-1)π/(2N) ) ), k=1…N
T(jω) = 1
(1 + s τ1 ) (1 + s τ2 ) … (1 + s τN )
Butterworth Filter Design
102 103 10410-1
100
101
Frequency (Hz)
Sub
-Filt
er g
ain
τ = 1.5915e-005
Q = 3.83, 1.31, 0.821, 0.630, 0.541, 0.504
Specs: ε = 1, fpb =1e4, fsb =1.5e4, Tsb = 1e-2
102 103 10410-6
10-5
10-4
10-3
10-2
10-1
100
Frequency (Hz)
Filte
r gai
n
N = 12
Chebyshev Filter Design
Tpb = √
1
1 + ε2
Definition of ε:
Tpb = 1/ √2 for ε = 1
(fpb τ = 2π )
Transfer Function(low-pass)
√1
1 + ε2 cos2( N cos-1( ωτ ) )|T(jω)| = ωτ >1
√ 1 + ε2 cosh2( N cosh-1( ωτ ) )= ωτ <1
Chebyshev Filter Design
Tpb = √
1
1 + ε2
Definition of ε:
Tpb = 1/ √2 for ε = 1
(fsb τ = 2π )
Transfer Function(low-pass)
Need to solve to meet the specification of Tsb at fsb : Filter Order (N)
√1
1 + ε2 cos2( N cos-1( ωτ ) )|T(jω)| = ωτ >1
√ 1 + ε2 cosh2( N cosh-1( ωτ ) )= ωτ <1
( 1 + ε2 cosh2( N cosh-1(fsb / fpb ) ) ) Tsb = 1
Chebyshev Filter Design
Tpb = √
1
1 + ε2
Definition of ε:
Tpb = 1/ √2 for ε = 1
(fsb τ = 2π )
Transfer Function(low-pass)
Need to solve to meet the specification of Tsb at fsb : Filter Order (N)
Pole locations:
Where k goes from 1, 2, ….N
√1
1 + ε2 cos2( N cos-1( ωτ ) )|T(jω)| = ωτ >1
√ 1 + ε2 cosh2( N cosh-1( ωτ ) )= ωτ <1
( 1 + ε2 cosh2( N cosh-1(fsb / fpb ) ) ) Tsb2 = 1
1/τk = (1/τ)(sin( (2k-1)π/(2N) ) sinh( (1/N) sinh-1(1/ ε) )
+ j cos( (2k-1)π/(2N) ) cosh( (1/N) sinh-1(1/ ε) ) )
Chebyshev Filter Design
102 103 10410-3
10-2
10-1
100
Frequency (Hz)
Filte
r gai
n
102 103 10410-2
10-1
100
101
Frequency (Hz)
Sub
-Filt
er g
ain
Specs: ε = 1, fpb =1e4, fsb =1.5e4, Tsb = 1e-2
N = 6
τ = 22.034µs, Q = 3.4645
τ = 16.288µs, Q = 12.804
τ = 53.433µs, Q = 1.0459
Fewer stages, higher Qs….
Transformations between s and z
z-1 = e-sTSimple Transformation
s ~
z-1 ~ 1 - sT
(1 - z-1 ) T
1
T = sampling period
Transformations between s and z
Bilinear transform
s ~ ~
z-1 ~
1 - z-1
1 + z-1
1 – s T 1 + s T
T
1
z-1 = e-sT
~ s
1 - e-sT
1 + e-sTT
1
1 - ( 1 – sT + 0.5*(sT)2 -…)
1 + 1 – sT + 0.5*(sT)2 -… T
1
Simple Transformation
s ~
z-1 ~ 1 - sT
(1 - z-1 ) T
1
T = sampling period
~
General Filter Topology
1st OrderΣ 1st OrderΣ 1st OrderΣ 1st OrderΣ… VoutVin
General Filter Topology
N*N parameters
N poles, N zeros for N-th order filter
Problem is underspecified…therefore can optimizefor SNR, complexity, etc…
Partitioning H(s) for Circuit Implementation
“Partition” the transfer function into simple parts
• Factorization into first order and second order terms• Nearest neighbor feedback (~LC ladder filter network)• Addition of factors
(maybe out of an approximation of an FIR filter)• Additional feedback / feedforward terms
Similar for either H(s) or H(z)
Typical Filter Topologies
2nd Order 2nd Order 2nd Order 2nd Order 1st OrderVin Vout
Cascade of First and Second-Order Sections
Typical Filter Topologies
2nd Order 2nd Order 2nd Order 2nd Order 1st Order
Vout
Vin
1stO
rder
1st OrderΣ 1st OrderΣ 1st OrderΣ 1st OrderΣ
Σ
Σ
1stO
rder
1stO
rder
Σ
Σ
1stO
rder
1stO
rder
Σ
Σ
1stO
rder
…
…
Vout
Vin
Nearest Neighbor Feedback (Inspired by LC ladder network filters)
VinVout
Cascade of First and Second-Order Sections
Conclusions
Basic directions for integrated circuit filters
• Continuous or Discrete: Time and/or Amplitude
• High level specifications of filters
• Obtaining a filter function (H(s) or H(z))
• Implementing the filter function into basic blocks(first and second-order filter sections, integrators, delays, etc.)