留个坑,这几天就填
butterworth
又称最平幅度特性滤波器.
幅度平方响应
∣
H
a
(
j
Ω
)
∣
2
=
1
1
+
(
Ω
Ω
c
)
2
N
|H_a(j\Omega)|^2 = \frac{1}{1+(\frac {\Omega}{\Omega_c})^{2N}}
∣ H a ( j Ω ) ∣ 2 = 1 + ( Ω c Ω ) 2 N 1 其中N为滤波器阶数,
Ω
c
\Omega_c
Ω c 为低通滤波器的截至频率.
在这里我们注意到,对于给定的
Ω
c
\Omega_c
Ω c 来说,无论N的取值为何,只要
Ω
=
Ω
c
\Omega=\Omega_c
Ω = Ω c ,则一定有
∣
H
a
(
j
Ω
)
∣
=
1
2
|H_a(j\Omega)|=\frac {1}{\sqrt {2}}
∣ H a ( j Ω ) ∣ = 2
1 ,以分贝来记,-3dB增益不变 . 针对这一特性,我们可以得到关于butterworth的一个缺点.考虑如下滤波器,其通带衰减最大不能超过1dB,通带截至频率为
f
p
f_p
f p .可以看到
f
p
f_p
f p 显然小于-3dB处频率
f
c
f_c
f c ,所以在
(
f
p
,
f
c
)
(f_p,f_c)
( f p , f c ) 这一区间内,对频率分量的振幅衰减缓慢增长,且最大衰减不会超过3dB,在
f
>
f
c
f>f_c
f > f c 处,才能达到迅速衰减. 所以,butterworth低通的带宽是有剩余的,或者说不能实现在通带截止频率后的快速衰减,尤其是对
f
p
≠
f
c
f_p\neq f_c
f p = f c 的情况来说.
那么参数N又是控制什么的呢?N控制着滤波器的衰减特性.如下是matlab中的仿真 N越大,则通带内幅度特性越平坦,过渡带衰减越快.
归一化原型
为了方便于滤波器设计,是有一个系数表可供我们去查询的.但是这里的截止频率是归一化的,直白一点就是
Ω
c
=
1
\Omega_c=1
Ω c = 1 . 所以要想查表,就必须先把所需的滤波器截止频率归一化,然后再去对应表中数据查找. 得到归一化的滤波器设计后,再去归一化,对横轴缩放,让截止频率移动到你想要的位置.
H
a
(
s
)
=
H
a
n
(
s
′
)
∣
s
′
=
s
Ω
c
=
H
a
n
(
s
Ω
c
)
H_a(s)=H_{an}(s')|_{s'=\frac{s}{\Omega_c}}=H_{an}(\frac{s}{\Omega_c})
H a ( s ) = H a n ( s ′ ) ∣ s ′ = Ω c s = H a n ( Ω c s )
参数确定
Ω
p
\Omega_p
Ω p 为所需通带截止频率,
R
p
R_p
R p (dB)为
Ω
p
\Omega_p
Ω p 处
∣
H
a
(
j
Ω
p
)
∣
|H_a(j\Omega_p)|
∣ H a ( j Ω p ) ∣ 的衰减的最大值;
−
20
lg
∣
H
a
(
j
Ω
p
)
∣
≤
R
p
(1.1)
-20\lg |H_a(j\Omega_p)| \le R_p \tag{1.1}
− 2 0 lg ∣ H a ( j Ω p ) ∣ ≤ R p ( 1 . 1 )
Ω
s
\Omega_{s}
Ω s 为所需阻带截止频率,
A
s
A_{s}
A s (dB)为
Ω
s
\Omega_{s}
Ω s 处
∣
H
a
(
j
Ω
s
)
∣
|H_a(j\Omega_{s})|
∣ H a ( j Ω s ) ∣ 的衰减的最小值;
−
20
lg
∣
H
a
(
j
Ω
s
)
∣
≥
A
s
(1.2)
-20\lg |H_a(j\Omega_s)| \ge A_s \tag{1.2}
− 2 0 lg ∣ H a ( j Ω s ) ∣ ≥ A s ( 1 . 2 ) 联立
(
1.1
)
(1.1)
( 1 . 1 ) 与
(
1.2
)
(1.2)
( 1 . 2 ) 得
N
≥
lg
1
0
0.1
A
s
−
1
1
0
0.1
R
p
−
1
2
lg
Ω
s
Ω
p
N \ge \frac {\lg \frac{10^{0.1A_s}-1}{10^{0.1R_p}-1}}{2\lg \frac{\Omega_s}{\Omega_p}}
N ≥ 2 lg Ω p Ω s lg 1 0 0 . 1 R p − 1 1 0 0 . 1 A s − 1 令
λ
s
=
Ω
s
Ω
p
\lambda_s=\frac{\Omega_s}{\Omega_p}
λ s = Ω p Ω s ,
g
=
1
0
0.1
A
s
−
1
1
0
0.1
R
p
−
1
g=\sqrt{\frac{10^{0.1A_s}-1}{10^{0.1R_p}-1}}
g = 1 0 0 . 1 R p − 1 1 0 0 . 1 A s − 1
,则
N
≥
lg
g
lg
λ
s
N \ge \frac{\lg g}{\lg \lambda_s}
N ≥ lg λ s lg g
确定N之后,根据
Ω
p
\Omega_p
Ω p 和
Ω
s
\Omega_s
Ω s 确定一个合适的
Ω
c
\Omega_c
Ω c ,使得选取的
Ω
c
\Omega_c
Ω c 能够满足在
Ω
p
\Omega_p
Ω p 处通过,
Ω
s
\Omega_s
Ω s 处衰减.
如果
R
p
=
3
d
B
R_p=3dB
R p = 3 d B 则此时
Ω
p
=
Ω
c
\Omega_p=\Omega_c
Ω p = Ω c
若不等,则确定
Ω
c
\Omega_c
Ω c 的取值区间 由
(
1.1
)
(1.1)
( 1 . 1 ) 与
(
1.2
)
(1.2)
( 1 . 2 ) 可推得
Ω
c
≥
Ω
p
2
N
1
0
0.1
R
p
−
1
=
Ω
c
p
Ω
c
≤
Ω
s
2
N
1
0
0.1
A
s
−
1
=
Ω
c
s
\Omega_c \ge \frac{\Omega_p}{ ^{2N} \sqrt{10^{0.1R_p}-1}} = \Omega_{cp} \\ \Omega_c \le \frac{\Omega_s}{ ^{2N} \sqrt{10^{0.1A_s}-1}} = \Omega_{cs}
Ω c ≥ 2 N 1 0 0 . 1 R p − 1
Ω p = Ω c p Ω c ≤ 2 N 1 0 0 . 1 A s − 1
Ω s = Ω c s 故
Ω
c
p
≤
Ω
c
≤
Ω
c
s
\Omega_{cp}\le\Omega_c\le\Omega_{cs}
Ω c p ≤ Ω c ≤ Ω c s
chebyshevⅠ
切比雪夫Ⅰ型滤波器在通带内是等波纹的,阻带内单调减.
幅度平方响应
∣
H
a
(
j
Ω
)
∣
2
=
1
1
+
ε
2
G
N
2
(
Ω
Ω
c
)
|H_a(j\Omega)|^2=\frac{1}{1+\varepsilon^2 G_N^2(\frac{\Omega}{\Omega_c})}
∣ H a ( j Ω ) ∣ 2 = 1 + ε 2 G N 2 ( Ω c Ω ) 1
0
<
ε
<
1
0<\varepsilon<1
0 < ε < 1 为带通波稳参数,
ε
\varepsilon
ε 越大,波纹越大
Ω
c
\Omega_c
Ω c 为截止频率,表示幅度响应衰减到指定值时的截止频率.与butterworth滤波器不同,不特指3dB处频率 N为滤波器阶数,也等于通带内起伏波纹的极值数
C
N
(
x
)
C_N(x)
C N ( x ) 为切比雪夫多项式 与butterworth相同的时,chebyshev在N变动时也存在定点.当
Ω
=
Ω
c
\Omega=\Omega_c
Ω = Ω c 时,无论N取何值,都有
∣
H
a
(
j
Ω
)
∣
=
1
1
+
ε
2
|H_a(j\Omega)|=\frac{1}{1+\varepsilon^2}
∣ H a ( j Ω ) ∣ = 1 + ε 2 1 .因此,把
Ω
c
\Omega_c
Ω c 称为chebyshev的截止频率.
归一化原型
与butterworth一样,chebyshev也有其归一化的低通原型滤波器,其规定的
Ω
c
=
1
\Omega_c=1
Ω c = 1 .在设计时,求得N与
δ
1
\delta_1
δ 1 可查表得系数.之后做去归一化得到所需滤波器. 也可以根据如下公式求出系统函数得极点
γ
=
1
ε
+
1
ε
2
+
1
a
=
1
2
(
γ
1
N
−
γ
−
1
N
)
b
=
1
2
(
γ
1
N
+
γ
−
1
N
)
s
k
=
−
a
sin
[
π
2
N
(
2
k
−
1
)
]
+
j
b
cos
[
π
2
N
(
2
k
−
1
)
]
\gamma = \frac 1\varepsilon + \sqrt{\frac{1}{\varepsilon^2}+1} \\ a=\frac 12 (\gamma^{\frac 1N}-\gamma^{-\frac 1N}) \\ b=\frac 12 (\gamma^{\frac 1N}+\gamma^{-\frac 1N}) \\ s_k=-a\sin[\frac{\pi}{2N}(2k-1)]+jb\cos[\frac{\pi}{2N}(2k-1)]
γ = ε 1 + ε 2 1 + 1
a = 2 1 ( γ N 1 − γ − N 1 ) b = 2 1 ( γ N 1 + γ − N 1 ) s k = − a sin [ 2 N π ( 2 k − 1 ) ] + j b cos [ 2 N π ( 2 k − 1 ) ] 得到归一化系统函数
H
a
n
(
s
)
=
1
ε
2
N
−
1
∏
k
=
1
N
(
s
−
s
k
)
H_{an}(s)=\frac{\frac{1}{\varepsilon 2^{N-1}}}{\prod_{k=1}^N (s-s_k)}
H a n ( s ) = ∏ k = 1 N ( s − s k ) ε 2 N − 1 1
参数确定
已知通带截止频率
Ω
c
\Omega_c
Ω c 及通带波纹
δ
1
\delta_1
δ 1 ; 阻带截止频率
Ω
s
\Omega_s
Ω s 及阻带波纹
δ
2
\delta_2
δ 2
N
≥
c
h
−
1
[
1
ε
1
0
0.1
δ
2
−
1
]
c
h
−
1
(
Ω
s
Ω
c
)
ε
2
=
1
0
0.1
δ
1
−
1
N\ge \frac{ch^{-1} [\frac 1\varepsilon \sqrt{10^{0.1\delta_2}-1}]}{ch^{-1} (\frac{\Omega_s}{\Omega_c})} \\ \varepsilon^2 = 10^{0.1\delta_1}-1
N ≥ c h − 1 ( Ω c Ω s ) c h − 1 [ ε 1 1 0 0 . 1 δ 2 − 1
] ε 2 = 1 0 0 . 1 δ 1 − 1
chebyshev Ⅱ
也叫反向chebyshev滤波器.在通带内单调,阻带具有波纹特性
ellipse
同一参数下,四类滤波器幅频响应比较
clear all
clc
fs= 1e4 ;
Ts= 1 / fs;
fpass= 3e3 ;
fstop= 4e3 ;
Ap= 1 ;
As= 30 ;
Wp= fpass/ fs;
Ws= fstop/ fs;
[ N, Wn] = buttord ( Wp, Ws, Ap, As) ;
[ butter_z, butter_p, butter_k] = butter ( N, Wn) ;
sos = zp2sos ( butter_z, butter_p, butter_k) ;
[ butter_h, butter_w] = freqz ( sos, 1024 ) ;
[ cheby1_z, cheby1_p, cheby1_k] = cheby1 ( N, Ap, Wp) ;
sos = zp2sos ( cheby1_z, cheby1_p, cheby1_k) ;
[ cheby1_h, cheby1_w] = freqz ( sos, 1024 ) ;
[ cheby2_z, cheby2_p, cheby2_k] = cheby2 ( N, As, Wp) ;
sos= zp2sos ( cheby2_z, cheby2_p, cheby2_k) ;
[ cheby2_h, cheby2_w] = freqz ( sos, 1024 ) ;
[ ellip_z, ellip_p, ellip_k] = ellip ( N, Ap, As, Wp) ;
sos = zp2sos ( ellip_z, ellip_p, ellip_k) ;
[ ellip_h, ellip_w] = freqz ( sos, 1024 ) ;
figure
plot ( butter_w/ pi, 20 * log10 ( abs ( butter_h) ) ) ;
hold on
plot ( cheby1_w/ pi, 20 * log10 ( abs ( cheby1_h) ) ) ;
plot ( cheby2_w/ pi, 20 * log10 ( abs ( cheby2_h) ) ) ;
plot ( ellip_w/ pi, 20 * log10 ( abs ( ellip_h) ) ) ;
grid on
xlabel ( 'Normalized Frequency (pi rad/sample)' )
ylabel ( 'Attenuation (dB)' )
legend ( 'butter' , 'cheby1' , 'cheby2' , 'ellip' )
axis ( [ 0 1 - 40 3 ] )