The transformations are described in
https://en.wikipedia.org/wiki/Prototype_filter and in Proakis&Manolakis, Table 8.12, though with different variables:
Type |
Wikipedia |
Proakis |
lp2lp (scaling) |
$$i ω \to \left( \frac{ω_c'}{ω_c}\right) i ω$$ |
$$s → {Ω_p \over Ω_p'} s$$ |
lp2hp |
$$ \frac{iω}{ω_c'} \to \frac {ω_c}{iω}$$ |
$$s→{Ω_p Ω_p' \over s}$$ |
lp2bp |
$$\frac{iω}{ω_c'} \to Q \left(\frac{iω}{ω_0}+\frac {ω_0}{iω} \right)$$ |
$$s→Ω_p {s^2 + Ω_l Ω_u \over s(Ω_u - Ω_l)}$$ |
lp2bs |
$$\frac{ω_c'}{iω} \to Q \left(\frac{iω}{ω_0}+\dfrac {ω_0}{iω} \right)$$ |
$$s→Ω_p {s(Ω_u - Ω_l) \over s^2 + Ω_u Ω_l}$$ |
Using these variable substitutions:
- $iω → s$
- $Q → ω_0 / \mathrm{BW}$
-
$ω_c' → 1$ (all our prototypes are 1 rad/s)
-
$ω_c → ω_0$ (new corner frequency)
-
$Ω_p → 1$ (all our prototypes are 1 rad/s)
-
$Ω_p' → ω_0$ (new corner frequency)
-
$Ω_u - Ω_l → \mathrm{BW}$ (standard definition of bandwidth)
-
$\sqrt{Ω_u ⋅ Ω_l} → ω_0$ (center frequency is geometric average of corner frequencies)
- so $Ω_u ⋅ Ω_l → {ω_0}^2$
These transformations become:
Type |
Transformation |
lp2lp |
$$s → {s \over ω_0}$$ |
lp2hp |
$$s → {ω_0 \over s}$$ |
lp2bp |
$$s → {ω_0 \over \mathrm{BW}} \left ({s \over ω_0} + {ω_0 \over s} \right ) = {s^2 + {ω_0}^2 \over s ⋅ \mathrm{BW}}$$ |
lp2bs |
$$s → {\mathrm{BW} \over ω_0} ⋅ {1 \over {s \over ω_0} + {ω_0 \over s}} = {s ⋅ \mathrm{BW} \over s^2 + {ω_0}^2}$$ |
Then you write out the transfer function in poles/zeros form:
$$
\mathrm{H}(s) = k \cdot {
(s - z_0) (s - z_1) \cdots (s - z_m)
\over
(s - p_0) (s - p_1) \cdots (s - p_n)}
$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} s-z_i}
{\displaystyle \prod_{i=0}^{n} s-p_i}
$$
and then do each substitution:
$$s → {s \over ω_0}$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} \frac{s}{ω_0}-{z}i}
{\displaystyle \prod{i=0}^{n} \frac{s}{ω_0}-{p}_i}
$$
and then multiply repeatedly by $ω_0 \over ω_0$ for each pole and zero in order to get everything back into the regular form:
$$
\mathrm{H}(s) = k, {ω_0}^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} s-ω_0,{z}i}
{\displaystyle \prod{i=0}^{n} s-ω_0,{p}_i}
$$
So the poles and zeros each get scaled by $ω_0$, and the gain gets scaled by ${ω_0}^{(n-m)}$.
- $z_i → ω_0, z_i$
- $p_i → ω_0, p_i$
- $k → k ⋅ {ω_0}^{(n-m)}$
$$s → {ω_0 \over s}$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} {ω_0 \over s}-z_i}
{\displaystyle \prod_{i=0}^{n} {ω_0 \over s}-p_i}
$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} {ω_0 - s z_i \over s}}
{\displaystyle \prod_{i=0}^{n} {ω_0 - s p_i \over s}}
$$
multiply by $s \over s$ for each pole and zero
$$
\mathrm{H}(s) = k, s^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} {ω_0 - s z_i}}
{\displaystyle \prod_{i=0}^{n} {ω_0 - s p_i}}
$$
$$
\mathrm{H}(s) = k, s^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} {-z_i s + ω_0}}
{\displaystyle \prod_{i=0}^{n} {-p_i s + ω_0}}
$$
pull out the zs and ps
$$
\mathrm{H}(s) = k, s^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} -z_i \left(s + {ω_0 \over -z_i} \right)}
{\displaystyle \prod_{i=0}^{n} -p_i \left(s + {ω_0 \over -p_i} \right)}
$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} -z_i}
{\displaystyle \prod_{i=0}^{n} -p_i}
\cdot
s^{(n-m)}
\cdot
\frac
{\displaystyle \prod_{i=0}^{m} s - {ω_0 \over z_i}}
{\displaystyle \prod_{i=0}^{n} s - {ω_0 \over p_i}}
$$
So
- $z_i → {ω_0 \over z_i}$
- $p_i → {ω_0 \over p_i}$
-
$s^{(n-m)}$ means add $n-m$ zeros at the origin
- (unless function is improper, in which case m > n and add $m-n$ poles at the origin?)
- $k → k ⋅ \frac
{\displaystyle \prod_{i=0}^{m} -z_i}
{\displaystyle \prod_{i=0}^{n} -p_i}$
$$s → {s^2 + {ω_0}^2 \over s ⋅ \mathrm{BW}}$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} {s^2 + {ω_0}^2 \over s ⋅ \mathrm{BW}} - z_i}
{\displaystyle \prod_{i=0}^{n} {s^2 + {ω_0}^2 \over s ⋅ \mathrm{BW}} - p_i}
$$
common denominator:
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} {s^2 + {ω_0}^2 - s⋅\mathrm{BW} z_i\over s ⋅ \mathrm{BW}}}
{\displaystyle \prod_{i=0}^{n} {s^2 + {ω_0}^2 - s⋅\mathrm{BW} p_i\over s ⋅ \mathrm{BW}}}
$$
pull out the denominators:
$$
\mathrm{H}(s) = k ⋅ s^{(n-m)} ⋅ \mathrm{BW}^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} {s^2 - z_i \mathrm{BW} s + {ω_0}^2}}
{\displaystyle \prod_{i=0}^{n} {s^2 - p_i \mathrm{BW} s + {ω_0}^2}}
$$
quadratic factor:
$$
a x^2+b x+c
=a
\left(x+{b \over 2a}+{\sqrt{\left(b \over 2a\right)^2-{c \over a}}}\right)
\left(x+{b \over 2a}-{\sqrt{\left(b \over 2a\right)^2-{c \over a}}}\right)
$$
so:
$$
\mathrm{H}(s) = k ⋅ s^{(n-m)} ⋅ \mathrm{BW}^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} {s-{z_i \mathrm{BW} \over 2} ± {\sqrt{\left(-z_i \mathrm{BW}\over 2\right)^2 - {ω_0}^2}}}}
{\displaystyle \prod_{i=0}^{n} {s-{p_i \mathrm{BW} \over 2} ± {\sqrt{\left(-p_i \mathrm{BW}\over 2\right)^2 - {ω_0}^2}}}}
$$
substitute $p_{\mathrm{LP}i} = p_i ⋅ \mathrm{BW}/2$ (lowpass filter scaled to the desired bandwidth):
$$
\mathrm{H}(s) = k ⋅ s^{(n-m)} ⋅ \mathrm{BW}^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} {s - z_{\mathrm{LP}i} ± {\sqrt{{z_{\mathrm{LP}i}}^2 - {ω_0}^2}}}}
{\displaystyle \prod_{i=0}^{n} {s - p_{\mathrm{LP}i} ± {\sqrt{{p_{\mathrm{LP}i}}^2 - {ω_0}^2}}}}
$$
So
- $z_i → z_{\mathrm{LP}i} ± {\sqrt{{z_{\mathrm{LP}i}}^2 - {ω_0}^2}}$
- $p_i → p_{\mathrm{LP}i} ± {\sqrt{{p_{\mathrm{LP}i}}^2 - {ω_0}^2}}$
-
$s^{(n-m)}$ means add $n-m$ zeros at the origin (leaving another $n-m$ at infinity for bandpass shape)
- $k → k ⋅ \mathrm{BW}^{(n-m)}$
$$s → {s ⋅ \mathrm{BW} \over s^2 + {ω_0}^2}$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} {s ⋅ \mathrm{BW} \over s^2 + {ω_0}^2} - z_i}
{\displaystyle \prod_{i=0}^{n} {s ⋅ \mathrm{BW} \over s^2 + {ω_0}^2} - p_i}
$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} {s ⋅ \mathrm{BW} - z_i(s^2 + {ω_0}^2)\over s^2 + {ω_0}^2}}
{\displaystyle \prod_{i=0}^{n} {s ⋅ \mathrm{BW} - p_i(s^2 + {ω_0}^2)\over s^2 + {ω_0}^2}}
$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} {-z_i s^2 + \mathrm{BW}⋅s - z_i {ω_0}^2 \over s^2 + {ω_0}^2}}
{\displaystyle \prod_{i=0}^{n} {-p_i s^2 + \mathrm{BW}⋅s - p_i {ω_0}^2 \over s^2 + {ω_0}^2}}
$$
$$
\mathrm{H}(s) = k (s^2 + {ω_0}^2)^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} {-z_i s^2 + \mathrm{BW}⋅s - z_i {ω_0}^2}}
{\displaystyle \prod_{i=0}^{n} {-p_i s^2 + \mathrm{BW}⋅s - p_i {ω_0}^2}}
$$
quadratic factor:
$$
a x^2+b x+c
=a
\left(x+{b \over 2a}+{\sqrt{\left(b \over 2a\right)^2-{c \over a}}}\right)
\left(x+{b \over 2a}-{\sqrt{\left(b \over 2a\right)^2-{c \over a}}}\right)
$$
so:
$$
\mathrm{H}(s) = k \left(s±{\sqrt{-4 {ω_0}^2}\over 2}\right)^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} -z_i \left({s-{\mathrm{BW}\over2 z_i}±\sqrt{\left({-\mathrm{BW}\over2 z_i}\right)^2 - {-z_i {ω_0}^2 \over -z_i}}}\right)}
{\displaystyle \prod_{i=0}^{n} -p_i \left({s-{\mathrm{BW}\over2 p_i}±\sqrt{\left({-\mathrm{BW}\over2 p_i}\right)^2 - {-p_i {ω_0}^2 \over -p_i}}}\right)}
$$
simplify left and replace $z_{\mathrm{HP}i} = {\mathrm{BW}\over2 z_i}$ (high pass filter scaled to desired bandwidth)
$$
\mathrm{H}(s) = k (s±j ω_0)^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} -z_i \left({s-{z_{\mathrm{HP}i}}±\sqrt{{z_{\mathrm{HP}i}}^2 - {ω_0}^2}}\right)}
{\displaystyle \prod_{i=0}^{n} -p_i \left({s-{p_{\mathrm{HP}i}}±\sqrt{{p_{\mathrm{HP}i}}^2 - {ω_0}^2}}\right)}
$$
$$
\mathrm{H}(s) = k
\frac
{\displaystyle \prod_{i=0}^{m} -z_i}
{\displaystyle \prod_{i=0}^{n} -p_i}
⋅(s±j ω_0)^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} {s-{z_{\mathrm{HP}i}}±\sqrt{{z_{\mathrm{HP}i}}^2 - {ω_0}^2}}}
{\displaystyle \prod_{i=0}^{n} {s-{p_{\mathrm{HP}i}}±\sqrt{{p_{\mathrm{HP}i}}^2 - {ω_0}^2}}}
$$
So
- $z_i → z_{\mathrm{HP}i} ± {\sqrt{{z_{\mathrm{HP}i}}^2 - {ω_0}^2}}$
- $p_i → p_{\mathrm{HP}i} ± {\sqrt{{p_{\mathrm{HP}i}}^2 - {ω_0}^2}}$
- add $n-m$ zeros at $+j ω_0$ and $n-m$ zeros at $-j ω_0$ (center of stopband)
- $k → k ⋅ \frac
{\displaystyle \prod_{i=0}^{m} -z_i}
{\displaystyle \prod_{i=0}^{n} -p_i}$
$$
s → \frac{2}{T} \frac{z - 1}{z + 1}
$$
$$
\mathrm{H}(z) = k
\frac
{\displaystyle \prod_{i=0}^{m} \frac{2}{T} \frac{z - 1}{z + 1}-z_i}
{\displaystyle \prod_{i=0}^{n} \frac{2}{T} \frac{z - 1}{z + 1}-p_i}
$$
$$
\mathrm{H}(z) = k
\frac
{\displaystyle \prod_{i=0}^{m} \frac{\frac{2}{T}(z - 1)}{z + 1}-\frac{z_i(z + 1)}{z + 1}}
{\displaystyle \prod_{i=0}^{n} \frac{\frac{2}{T}(z - 1)}{z + 1}-\frac{p_i(z + 1)}{z + 1}}
$$
$$
\mathrm{H}(z) = k
\frac
{\displaystyle \prod_{i=0}^{m} \frac{\frac{2}{T}(z - 1) - z_i(z + 1)}{z + 1}}
{\displaystyle \prod_{i=0}^{n} \frac{\frac{2}{T}(z - 1) - p_i(z + 1)}{z + 1}}
$$
$$
\mathrm{H}(z) = k
\frac
{\displaystyle \prod_{i=0}^{m} \frac{\frac{2}{T}z - \frac{2}{T} - z_i z - z_i}{z + 1}}
{\displaystyle \prod_{i=0}^{n} \frac{\frac{2}{T}z - \frac{2}{T} - p_i p - p_i}{z + 1}}
$$
$$
\mathrm{H}(z) = k ⋅ (z + 1)^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} \frac{2}{T}z - z_i z - \frac{2}{T} - z_i}
{\displaystyle \prod_{i=0}^{n} \frac{2}{T}z - p_i p - \frac{2}{T} - p_i}
$$
$$
\mathrm{H}(z) = k ⋅ (z + 1)^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} \left(\frac{2}{T} - z_i\right) z - \left(\frac{2}{T} + z_i\right)}
{\displaystyle \prod_{i=0}^{n} \left(\frac{2}{T} - p_i\right) p - \left(\frac{2}{T} + p_i\right)}
$$
substitute $f_\mathrm{s} = {1 \over T}$
$$
\mathrm{H}(z) = k ⋅ (z + 1)^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} (2 f_\mathrm{s} - z_i) z - (2 f_\mathrm{s} + z_i)}
{\displaystyle \prod_{i=0}^{n} (2 f_\mathrm{s} - p_i) p - (2 f_\mathrm{s} + p_i)}
$$
$$
\mathrm{H}(z) = k ⋅ (z + 1)^{(n-m)}
\frac
{\displaystyle \prod_{i=0}^{m} (2 f_\mathrm{s} - z_i) \left(z - {2 f_\mathrm{s} + z_i \over 2 f_\mathrm{s} - z_i}\right)}
{\displaystyle \prod_{i=0}^{n} (2 f_\mathrm{s} - p_i) \left(p - {2 f_\mathrm{s} + p_i \over 2 f_\mathrm{s} - p_i}\right)}
$$
$$
\mathrm{H}(z) =
k {
\displaystyle \prod_{i=0}^{m} 2 f_\mathrm{s} - z_i
\over
\displaystyle \prod_{i=0}^{n} 2 f_\mathrm{s} - p_i}
⋅ ({z+1})^{(n-m)} ⋅
\frac
{\displaystyle \prod_{i=0}^{m} z - {2 f_\mathrm{s} + z_i \over 2 f_\mathrm{s} - z_i}}
{\displaystyle \prod_{i=0}^{n} z - {2 f_\mathrm{s} + p_i \over 2 f_\mathrm{s} - p_i}}
$$
- $\displaystyle z_i → \frac{2 f_\mathrm{s} + z_i}{2 f_\mathrm{s} - z_i}$
- add $n-m$ zeros at $-1$
- $\displaystyle p_i → \frac{2 f_\mathrm{s} + p_i}{2 f_\mathrm{s} - p_i}$
- $k → k \frac
{\displaystyle \prod_{i=0}^{m} 2 f_\mathrm{s} - z_i}
{\displaystyle \prod_{i=0}^{n} 2 f_\mathrm{s} - p_i}$
Written with StackEdit.