matlab实现滤波器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虽然matlab提供了很多产生低通滤波器的函数,而且也提供了将低通转换为高通、带通等滤波器的方法函数,以及数字化的函数。但是为了简化设计及设计者方便考虑,matlab还提供了更为简便的产生各种滤波器的方法。
1 besself
功能:贝塞尔(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 返 回一个2n阶模拟带通滤波器,其通带为W1<ω< W2。 [b,a] = besself(n,Wn,'ftype')用于设计高通和带阻滤波器,即 ·ftype=high时,返回截止频率为Wn的高通滤波器; ·ftype=stop时,Wn=[W1 W2] (W1 拟带阻滤波器。 [z,p,k] = besself(...)得到滤波器的零-极点增益模型,z、p、k分别为零点向量、 极点向量和增益系数。 [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<ω< W2。 [b,a] = butter(n,Wn,'ftype')用于设计数字高通和数字带阻滤波器,即 ·ftype = high时,返回截止频率为Wn的数字高通滤波器; ·ftype =stop时, Wn = [W1 W2] (W1 数字带阻滤波器 [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<ω< W2。 [b,a] = cheby1(n,Rp,Wn,'ftype')用于设计数字高通和数字带阻滤波器,即 ·ftype = high时,返回截止频率为Wn的数字高通滤波器; ·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)