Signal Processing Design of
Integrated Analog and Digital
Filters
Prof. Paul Hasler
Types of Integrated Filters
Integrated Filters
Digital Filters
(Binary valued)
Analog Filters
(Continuous or multivalued)
Analog
Continuous-Time
Filters
Analog
Sampled-Data
Filters
Where to divide Analog and Digital?
A/D
Converter
Real
world
(analog)
DSP
Processor
Computer
(digital)
Real
world
(analog)
DSP
Processor
Computer
(digital)
ASP
IC
A/D
Specialized A/D
Analog-Digital Comparison
Low SNR: Analog / High SNR: Digital
[Sarpeskar 1997]
Analog-Digital Comparison
16bit
A/D
FFT
DSP
10 bit A/D
10
10 bit A/D
10
10 bit A/D
10
10 bit A/D
10
filter
filter
filter
filter
Input
Input
DSP
Application
Program
DSP
Application
Program
DSP
SNR < 10bits
• What if exponentially spaced FFT?
Practical Interpretation of Cost
Low SNR: Analog / High SNR: Digital
[Sarpeskar 1997]
Circuit Issues for Filters
Programmability / 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 limitations
Smallest Signal: Noise
Programmability / 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 limitations
Smallest Signal: Noise
Insensitivity to environmental fluctuations:
Power-supply:
Power Supply Rejection Ratio
(PSRR)
Temperature, etc.
Programmability / Tunability: flexibility and complexity
Available 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 several
problems 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 limitations
Smallest Signal: Noise
Insensitivity to environmental fluctuations:
Power-supply:
Power Supply Rejection Ratio
(PSRR)
Temperature, etc.
Programmability / Tunability: flexibility and complexity
Available 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 several
problems 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)
H
1
(s) H
2
(s) H
3
(s)
GND
V
1
[n]
V
out
[n]
GND
GND
Design of Analog Filters
H(s) or H(z)
H
1
(s) H
2
(s) H
3
(s)
GND
V
1
[n]
V
out
[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 functions
what inputs / outputs / internal variables
should be voltages / currents, etc.
Design of Analog Filters
H(s) or H(z)
H
1
(s) H
2
(s) H
3
(s)
GND
V
1
[n]
V
out
[n]
GND
GND
Design style constrains
partition
Design style
constrains
choice 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 log
10
( amplitude )
= 10 log
10
(signal power)
f
pb
Passband
H(s) or H(z) for a lowpass filter
Lowpass
log |H(s)|
log(frequency)
f
pb
f
sb
T
pb
T
sb
1
Passband
Transition Region
Stopband
H(s) or H(z) for a lowpass filter
Lowpass
log |H(s)|
log(frequency)
f
pb
f
sb
T
pb
T
sb
1
Normalized gain
StopBand Frequency
PassBand Frequency
StopBand
Minimum
Gain
PassBand
Minimum
Gain
Passband
Transition Region
Stopband
H(s) or H(z) for a Highpass filter
Highpass
log |H(s)|
log(frequency)
f
pb
f
sb
T
pb
T
sb
1
Normalized gain
StopBand Frequency
PassBand Frequency
StopBand
Minimum
Gain
PassBand
Minimum
Gain
Stopband
Transition Region
Passband
H(s) or H(z) for a Highpass filter
Bandpass
log |H(s)|
log(frequency)
f
pb1
f
sb1
T
pb
T
sb
1
Normalized gain
Low StopBand
Frequency
Low PassBand
Frequency
StopBand
Minimum
Gain
PassBand
Minimum
Gain
f
sb1
High StopBand
Frequency
f
pb2
High PassBand
Frequency
Passband
Transition Region
Transition Region
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
10
2
10
3
10
4
10
-3
10
-2
10
-1
10
0
Frequency (Hz)
Filter gain
N=1
N=9
N=33
17
25
Corner shifts with N
Rolloff is not initially
sharp…..
Butterworth Filter Design
T
pb
=
√
1
1 +
ε
2
Definition of
ε
:
Transfer Function: (low-pass)
T(s) =
1
1 + (-1)
N+1
ε
s
N
τ
N
T
pb
= 1/
√
2 for
ε
= 1
(
f
sb
τ
= 2
π
)
√
1
1 +
ε
2
ω
2N
τ
2N
|T(j
ω
)| =
Butterworth Filter Design
T
pb
=
√
1
1 +
ε
2
Definition of
ε
:
Transfer Function: (low-pass)
T(s) =
1
1 + j(-1)
N+1
ε
2
s
N
τ
N
T
pb
= 1/
√
2 for
ε
= 1
Need to solve to meet the specification of T
sb
at f
sb
: Filter Order (N)
(
f
pb
τ
= 2
π
)
T
sb
2
( 1 +
ε
2
(
f
sb
/
f
pb
)
2N
) = 1
√
1
1 +
ε
2
ω
2N
τ
2N
|T(j
ω
)| =
To meet specifications, one chooses
the next largest integer
Butterworth Filter Design
T
pb
=
√
1
1 +
ε
2
Definition of
ε
:
Transfer Function: (low-pass)
T(s) =
1
1 + j(-1)
N+1
ε
2
s
N
τ
N
T
pb
= 1/
√
2 for
ε
= 1
Need to solve to meet the specification of T
sb
at f
sb
: Filter Order (N)
(
f
sb
τ
= 2
π
)
T
sb
2
( 1 +
ε
2
(
f
sb
/
f
pb
)
2N
) = 1
√
1
1 +
ε
2
ω
2N
τ
2N
|T(j
ω
)| =
To meet specifications, one chooses
the 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
10
2
10
3
10
4
10
-1
10
0
10
1
Frequency (Hz)
Sub
-Filter gain
τ
= 1.5915e-005
Q = 3.83, 1.31, 0.821,
0.630, 0.541, 0.504
Specs:
ε
= 1, f
pb
=1e4,
f
sb
=1.5e4, T
sb
= 1e-2
10
2
10
3
10
4
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Frequency (Hz)
Filter gain
N = 12
Chebyshev Filter Design
T
pb
=
√
1
1 +
ε
2
Definition of
ε
:
T
pb
= 1/
√
2 for
ε
= 1
(
f
pb
τ
= 2
π
)
Transfer Function(low-pass)
√
1
1 +
ε
2
cos
2
( N cos
-1
(
ωτ
) )
|T(j
ω
)| =
ωτ
>1
√
1 +
ε
2
cosh
2
( N cosh
-1
(
ωτ
) )
=
ωτ
<1
Chebyshev Filter Design
T
pb
=
√
1
1 +
ε
2
Definition of
ε
:
T
pb
= 1/
√
2 for
ε
= 1
(
f
sb
τ
= 2
π
)
Transfer Function(low-pass)
Need to solve to meet the specification of T
sb
at f
sb
: Filter Order (N)
√
1
1 +
ε
2
cos
2
( N cos
-1
(
ωτ
) )
|T(j
ω
)| =
ωτ
>1
√
1 +
ε
2
cosh
2
( N cosh
-1
(
ωτ
) )
=
ωτ
<1
( 1 +
ε
2
cosh
2
( N cosh
-1
(f
sb
/ f
pb
) ) )
T
sb
= 1
Chebyshev Filter Design
T
pb
=
√
1
1 +
ε
2
Definition of
ε
:
T
pb
= 1/
√
2 for
ε
= 1
(
f
sb
τ
= 2
π
)
Transfer Function(low-pass)
Need to solve to meet the specification of T
sb
at f
sb
: Filter Order (N)
Pole locations:
Where k goes from 1, 2, ….N
√
1
1 +
ε
2
cos
2
( N cos
-1
(
ωτ
) )
|T(j
ω
)| =
ωτ
>1
√
1 +
ε
2
cosh
2
( N cosh
-1
(
ωτ
) )
=
ωτ
<1
( 1 +
ε
2
cosh
2
( N cosh
-1
(f
sb
/ f
pb
) ) )
T
sb
2
= 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
10
2
10
3
10
4
10
-3
10
-2
10
-1
10
0
Frequency (Hz)
Filter gain
10
2
10
3
10
4
10
-2
10
-1
10
0
10
1
Frequency (Hz)
Sub
-Filter gain
Specs:
ε
= 1, f
pb
=1e4,
f
sb
=1.5e4, T
sb
= 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
-sT
Simple 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
-sT
T
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
1
st
Order
Σ
1
st
Order
Σ
1
st
Order
Σ
1
st
Order
Σ
…
V
out
V
in
General Filter Topology
N*N parameters
N poles, N zeros for N-th order filter
Problem is underspecified…therefore can optimize
for 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
2
nd
Order
2
nd
Order
2
nd
Order
2
nd
Order
1
st
Order
V
in
V
out
Cascade of First and Second-Order Sections
Typical Filter Topologies
2
nd
Order
2
nd
Order
2
nd
Order
2
nd
Order
1
st
Order
V
out
V
in
1
st
Order
1
st
Order
Σ
1
st
Order
Σ
1
st
Order
Σ
1
st
Order
Σ
Σ
Σ
1
st
Order
1
st
Order
Σ
Σ
1
st
Order
1
st
Order
Σ
Σ
1
st
Order
…
…
V
out
V
in
Nearest Neighbor Feedback (
Inspired by LC ladder network filters
)
V
in
V
out
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.)