Matlab基础——切比雪夫I型滤波器(一)
cheb1ord 、 chey1 and freqz
切比雪夫Ⅰ型滤波器在通带或阻带上频率响应幅度等波纹波动的滤波器。滤波器通常工作在时域上。
切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。
文章目录
语法
cheb1ord
①
[n,Wp] = cheb1ord(Wp,Ws,Rp,Rs)
解释
返回Chebyshev类型I滤波器的最低阶n,该滤波器在通带中损失不超过Rp dB,并且在阻带中具有至少Rs dB的衰减。还返回相应截止频率Wp的标量(或矢量)。
Wp | 带角频率Wp,即截止频率,是一个标量或两个元素向量,值介于0和1之间,1对应于标准化的奈奎斯特频率——*截止频率 / 奈氏频率 (奈氏频率:大于或等于采样频率的二分之一) |
---|---|
Ws | 阻带转角频率Ws是一个标量或二元向量,其值介于0和1之间,1对应于标准化的奈奎斯特频率。 类似于Wp |
Rp | 允许的最大通带损耗(dB) |
Rs | 阻带从通带下降的数值 |
②
[n,Wp] = cheb1ord(Wp,Ws,Rp,Rs,‘s’)
为模拟切比雪夫I型滤波器找到最小阶数n和截止频率Wp。
cheby1
切比雪夫Ⅰ型滤波器设计
[b,a] = cheby1(n,Rp,Wp)
[b,a] = cheby1(n,Rp,Wp,ftype)
解释:n为阶数,Rp为通带中损失上限,Wp为截止频率—一般通过cheb1ord获得参数
返回的到滤波器系数矩阵[b,a]
[z,p,k]=cheby1(n,Rp,E(f))设计低通、高通、带通或带阻数字Chebyshev I型滤波器,并返回其零点、极点和增益。E(f)表示为输入信号的函数。
freqz
数字滤波器的频率响应—自动控制理论的频域响应(没有经过线性化处理)
[h,w] = freqz(b,a,n)
[h,w] = freqz(sos,n)
[h,w] = freqz(d,n)
横坐标:w/pi,频率
纵坐标:20*log(10)*abs(h)
滤波器类型阻带和通带规范
滤波器类型 | 阻带和通带条件 | 阻带 | 通带 |
---|---|---|---|
低通 | Wp < Ws | (Ws,1) | (0,Wp) |
高通 | Wp > Ws | (0,Ws) | (Wp,1) |
带通 | Ws(1) < Wp (1)< Wp(2)<Ws(2) | (0,Ws(1))and(Ws(2),1) | (Wp(1),Wp(2)) |
带阻 | Wp(1) < Ws(1)<Ws(2)<Wp(2) | (0,Wp(1))and(Wp(2),1) | (Ws(1),Ws(2)) |
类似于脑电的滤波,选择高通与低通串联或者带通。
例子
对于以1000赫兹采样的数据,设计一个低通滤波器,其通带纹波小于3分贝(定义为0至40赫兹),阻带纹波至少60分贝(定义为150赫兹至奈奎斯特频率)。
Matlab代码如下
fs=1000;%采样频率
fn=fs/2;%奈奎斯特频率
Wp=40/fn;Ws=150/fn;%低通滤波器的通过频带(0-40),阻带(150-fn)
Rp=3;Rs=60;%通带波纹与阻带波纹的设置--通常依据现实情况判断
[n,Wn]=cheb1ord(Wp,Ws,Rp,Rs);%获得构建切比雪夫滤波器的最小阶数
[b,a]=cheby1(n,Rp,Wn);%设计切比雪夫Ⅰ型滤波器
freqz(b,a);%频域响应