Matlab中直接生成模拟或数字滤波器的简易方法
- 格式:docx
- 大小:20.92 KB
- 文档页数:6
1 Matlab中直接生成模拟/数字滤波器的简易方法
虽然matlab提供了很多产生低通滤波器的函数,而且也提供了将低通转换为高通、带通等滤波器的方法函数,以及数字化的函数。但是为了简化设计及设计者方便考虑,matlab还提供了更为简便的产生各种滤波器的方法。
Matlab中直接生成模拟/数字滤波器的简易方法 ......................................................................... 1
1 bessel ..................................................................................................................................... 1
2 butter ..................................................................................................................................... 2
3 cheby1 .................................................................................................................................... 3
4 cheby2 .................................................................................................................................... 4
5 ellip ......................................................................................................................................... 5
6 yulewalk ................................................................................................................................. 6
1 bessel
功能:贝塞尔(Bessel)模拟滤波器设计。
格式:[b,a] = besself(n,Wn)
[b,a] = besself(n,Wn,'ftype')
[z,p,k] = besself(...)
[A,B,C,D] = besself(...)
说明:besself函数可以设计模拟低通、高通、带通和带阻贝塞尔(Bessel)滤波器。
[b,a] = besself(n,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶贝塞尔模拟低通滤波器,b、a分别为滤波器传递函数的分子和分母系数向量(降幂排列)。
当Wn为二元向量,即Wn=[W1 W2] (W1
[b,a] = besself(n,Wn,'ftype')用于设计高通和带阻滤波器,即
·ftype=high时,返回截止频率为Wn的高通滤波器;
·ftype=stop时,Wn=[W1 W2] (W1
极点向量和增益系数。
[A,B,C,D] = besself(...)得到滤波器的状态空间模型。
2 butter
功能:巴特沃思(Butterworth)模拟/数字滤波器设计。
格式:[b,a] = butter(n,Wn)
[b,a] = butter(n,Wn,'ftype')
[b,a] = butter(n,Wn,'s')
[b,a] = butter(n,Wn,'ftype','s')
[z,p,k] = butter(...)
[A,B,C,D] = butter(...)
说明:butter函数可以设计模拟或数字的低通、高通、带通和带阻Butterworth滤波器。Butterworth滤波器可以使通带内的幅频响应最大程度地平坦,但这也使得它的通带到阻带的过渡过程较慢。在这方面Chebyshev滤波器和椭圆滤波
器性能较好。
在设计数字滤波器时,butter函数中的参数Wn与besself函数有很大的区别,
它是一个相对量,其定义区间为Wn∈[0,1],其中1对应于0.5fs,fs为采样
频率(单位Hz);在设计模拟滤波器时,Wn采用真实频率,单位为Hz。
[b,a] = butter(n,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶Butterworth
数字低通滤波器,b、a分别为滤波器传递函数的分子和分母系数向量(降幂
排列)。
当Wn为二元向量,即Wn = [W1 W2] (W1
回一个2n阶数字带通滤波器,其通带为W1
[b,a] = butter(n,Wn,'ftype')用于设计数字高通和数字带阻滤波器,即
·ftype = high时,返回截止频率为Wn的数字高通滤波器;
·ftype =stop时, Wn = [W1 W2] (W1
数字带阻滤波器 3 [b,a] = butter(n,Wn,'s')和[b,a] = butter(n,Wn,'ftype','s')中加入了选项‘s’,用于
设计各种模拟Butterworth滤波器。
[z,p,k] = butter(...)得到滤波器的零-极点增益模型,z、p、k分别为零点向量、
极点向量和增益系数。
[A,B,C,D] = butter(...)得到滤波器的状态空间模型
3 cheby1
功能:切比雪夫(Chebyshev)I型模拟/数字滤波器设计。
格式:[b,a] = cheby1(n,Rp,Wn)
[b,a] = cheby1(n,Rp,Wn,'ftype')
[b,a] = cheby1(n,Rp,Wn,'s')
[b,a] = cheby1(n,Rp,Wn,'ftype','s')
[z,p,k] = cheby1(...)
[A,B,C,D] = cheby1(...)
说明:cheby1函数可以设计模拟或数字的低通、高通、带通和带阻ChebyshevI型滤波器。ChebyshevI型滤波器通带内为等波纹,阻带内单调,通带到阻带的过渡过程较快,代价是通带内波纹较大。
在设计数字滤波器时,cheby1函数中的参数Wn是一个相对量,其定义区间
为Wn∈[0,1],其中1对应于0.5fs,fs为采样频率(单位Hz);在设计模拟
滤波器时,Wn采用真实频率,单位为Hz。
[b,a] = cheby1(n,Rp,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶
ChebyshevI型数字低通滤波器,通带内波纹为Rp。b、a分别为滤波器传递函
数的分子和分母系数向量(降幂排列)。当Wn为二元向量,即Wn=[W1 W2]
(W1
带为W1
[b,a] = cheby1(n,Rp,Wn,'ftype')用于设计数字高通和数字带阻滤波器,即
·ftype = high时,返回截止频率为Wn的数字高通滤波器; 4 ·ftype = stop时, Wn = [W1 W2] (W1
[b,a] = cheby1(n,Rp,Wn,'s')和[b,a] = cheby1(n,Rp,Wn,'ftype','s')中加入了选项‘s’,用于设计各种模拟ChebyshevI型滤波器。
[z,p,k] = cheby1(...)得到滤波器的零-极点增益模型,z、p、k分别为零点向量、极点向量和增益系数。
[A,B,C,D] = cheby1(...)得到滤波器的状态空间模型。
4 cheby2
功能:切比雪夫(Chebyshev)II型模拟/数字滤波器设计。
格式:[b,a] = cheby2(n,Rs,Wn)
[b,a] = cheby2(n,Rs,Wn,'ftype')
[b,a] = cheby2(n,Rs,Wn,'s')
[b,a] = cheby2(n,Rs,Wn,'ftype','s')
[z,p,k] = cheby2(...)
[A,B,C,D] = cheby2(...)
说明:cheby2函数可以设计模拟或数字的低通、高通、带通和带阻ChebyshevII型滤波器。与ChebyshevI型滤波器不同,ChebyshevII型滤波器通带内为单调,阻带内等波纹。它的通带到阻带的过渡过程比较快,代价是通带内波纹较大。
在设计数字滤波器时,cheby2函数中的参数Wn是一个相对量,其定义区间为
Wn∈[0,1],其中1对应于0.5fs,fs为采样频率(单位Hz);在设计模拟滤波器时,Wn采用真实频率,单位为Hz。
[b,a] = cheby2(n,Rs,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶ChebyshevII型数字低通滤波器,阻带内波纹为Rs。b、a分别为滤波器传递
函数的分子和分母系数向量(降幂排列)。当Wn为二元向量,即Wn=[W1 W2]
(W1
为W1
[b,a] = cheby2(n,Rs,Wn,'ftype')用于设计数字高通和数字带阻滤波器,即