MATLAB中滤波器设计系列四 滤波器最小阶数的选择 最小相位滤波器

在上篇文中提到,若给定了滤波器的性能指标,那么我们需要做的就是选择合适的阶数。怎么去理解“合适的阶数”呢?我们不去谈书上的定义概念,结合自己的经验给出个很容易理解的说法:合适的阶数就是说在满足性能指标要求的前提下的最小阶数。换句话说,我们需要做的就是根据给定的指标选择最小阶数。

因为在确定滤波器最小阶数的同时,我们也可以确定截止频率,那么本文中我们就可以解决两个问题,滤波器最小阶数选择和截止频率选择。

首先我们来了解一下滤波器选择最小阶数和截止频率的原理。以巴特沃斯滤波器为例,设N为滤波器最小阶数,wc为截止频率,wp为通带截止频率,ws为阻带截止频率,Rp(dB)为通带波纹,Rs(dB)为阻带衰减,则:

N=ceil(log10((10^(Rp/10)-1)/(10^(Rs/10)-1))/(2*log10(wp/ws)));%ceil为向上取整

wc1=wp/((10^(Rp/10)-1)^(1/(2*N)));

wc2=ws/((10^(Rs/10)-1)^————(1/(2*N)));

程序输出两个截止频率,分别对应着通带波纹和阻带衰减,但为了保留更多的信息,低通滤波器一般选用大的截止频率。

清楚了滤波器最小阶数和截止频率的选取原理,下面我们来看MATLAB自带的最小阶数和截止频率的选取函数:

[n,wc]=buttord(wp,ws,Rp,Rs,'s');

[n,wc]=cheb1ord(wp,ws,Rp,Rs,'s');

[n,wc]=cheb2ord(wp,ws,Rp,Rs,'s');

[n,wc]=ellipord(wp,ws,Rp,Rs,'s');

其中's'表示模拟滤波器,缺省时,该函数适用于数字滤波器。

对于一般的低通或高通,wp、ws仅包含一个元素,当wp<ws,对应低通滤波器,当wp>ws,对应高通滤波器。

对于带通或带阻,wp、ws一般包含两个元素,分别表示两个过渡带的通带截止频率和阻带截止频率。我们可以这么理解:wp=[通带(下)通带(上)],ws=[阻带(下)阻带(上)],当然,“下”<“上”。对于带通:阻带下<通带下<通带上<阻带上;对于带阻:通带下<阻带下<阻带上<通带上。

wc包含两个元素(第一个小于第二个),分别为通带和阻带之间的界限频率,函数会自动选择合适的频率作为截止频率。

MATLAB中滤波器设计系列(四)滤波器最小阶数的选择 最小相位滤波器

了解了滤波器阶数和截止频率的选择,结合前面所讲内容,我们就可以一步步设计模拟滤波器了。下一讲主要讨论滤波器的一般设计步骤,同时也对前面内容作简单复习。

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/293367.html

更多阅读

matlab中如何定义函数 matlab输入函数表达式

matlab中如何定义函数——简介许多时候希望将特定的代码(算法)书写成函数的形式,提高代码的可封装性与重复性,简化代码设计,提高执行效率!下面简单介绍一下matlab中的函数定义与使用。matlab中如何定义函数——工具/原料matlab 7.0及以上

matlab中的最大值和最小值_待_雪 函数最大值和最小值

matlab中的的最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。1.求向量的最大值和最小值求一个向量X的最大值的函数有两种调用格式,分别是:(1) y=max(X):返回向量X的最

声明:《MATLAB中滤波器设计系列四 滤波器最小阶数的选择 最小相位滤波器》为网友我不羡慕任何人分享!如侵犯到您的合法权益请联系我们删除