IIR、FIR--滤波器函数使用方法(非常有用)Word文档格式.doc
- 文档编号:14562390
- 上传时间:2022-10-23
- 格式:DOC
- 页数:5
- 大小:39.50KB
IIR、FIR--滤波器函数使用方法(非常有用)Word文档格式.doc
《IIR、FIR--滤波器函数使用方法(非常有用)Word文档格式.doc》由会员分享,可在线阅读,更多相关《IIR、FIR--滤波器函数使用方法(非常有用)Word文档格式.doc(5页珍藏版)》请在冰豆网上搜索。
conv卷积和多项式乘法
conv2二维卷积
fftfilt基于FFT重叠加法的数据滤波
filter递归(IIR)或非递归(FIR)滤波器的数据滤波
firter2二维数字滤波
filtfilt零相位数字滤波
filtic函数filter初始条件确定
freqs模拟滤波器频率响应
freqspace频率响应的频率空间设置
freqz数字滤波器频率响应
grpdelay群延迟
impz数字滤波器的脉冲响应
latcfilt格型梯形滤波器实现
unwrap相位角展开
zplane零极点图
IIR与FIR
MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。
下面主要介绍前两个函数的使用。
与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。
在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。
一、巴特沃斯IIR滤波器的设计
在MATLAB下,设计巴特沃斯IIR滤波器可使用butter函数。
Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。
在期望通带平滑的情况下,可使用butter函数。
butter函数的用法为:
[b,a]=butter(n,Wn,/ftype/)
其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定。
buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。
buttord函数的用法为:
[n,Wn]=buttord(Wp,Ws,Rp,Rs)
其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。
当其值为1时代表采样频率的一半。
Rp和Rs分别是通带和阻带区的波纹系数。
不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则:
1.高通滤波器:
Wp和Ws为一元矢量且Wp>
Ws;
2.低通滤波器:
Wp和Ws为一元矢量且Wp<
3.带通滤波器:
Wp和Ws为二元矢量且Wp<
Ws,如Wp=[0.2,0.7],Ws=[0.1,0.8];
4.带阻滤波器:
Wp和Ws为二元矢量且Wp>
Ws,如Wp=[0.1,0.8],Ws=[0.2,0.7]。
二、切比雪夫I型IIR滤波器的设计
在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。
在MATLAB下可使用cheby1函数设计出契比雪夫I型IIR滤波器。
cheby1函数可设计低通、高通、带通和带阻契比雪夫I型滤IIR波器,其通带内为等波纹,阻带内为单调。
契比雪夫I型的下降斜度比II型大,但其代价是通带内波纹较大。
cheby1函数的用法为:
[b,a]=cheby1(n,Rp,Wn,/ftype/)
在使用cheby1函数设计IIR滤波器之前,可使用cheblord函数求出滤波器阶数n和截止频率Wn。
cheblord函数可在给定滤波器性能的情况下,选择契比雪夫I型滤波器的最小阶和截止频率Wn。
cheblord函数的用法为:
[n,Wn]=cheblord(Wp,Ws,Rp,Rs)
[B,A]=BUTTER(N,Wn)designsanNthorderlowpassdigitalButterworthfilterandreturnsthefiltercoefficientsinlengthN+1vectorsB(numerator)andA(denominator).
ThecutofffrequencyWnmustbe0.0<
Wn<
1.0,with1.0correspondingtohalfthesamplerate.
IfWnisatwo-elementvector,Wn=[W1W2],BUTTERreturnsanorder2NbandpassfilterwithpassbandW1<
W<
W2.
[B,A]=BUTTER(N,Wn,'
high'
)designsahighpassfilter.
low'
)designsalowpassfilter.
stop'
)isabandstopfilterifWn=[W1W2].
当设计低通和高通时,Wn是一个值,表示截止频率;
当设计带通和带阻时,Wn是一个二个元素的数组,表示通带或阻带的上下截止频率。
频率的归一化是对fs/2进行归一。
例如,fs=10000,则fs/2=5000,500归一化为0.1,1000归一化为0.2。
一个论坛上的例子:
fs=100;
%采样频率为100Hz
fc=30;
%截止频率为30Hz
[b,a]=butter(4,0.6,'
);
[h,w]=freqz(b,a);
plot(w/pi*fs/2,abs(h));
grid;
title('
AmplitudeResponse'
xlabel('
Frequency(Hz)'
ylabel('
Amplitude'
figure;
x=randn(1,fs*6);
y=filter(b,a,x);
subplot211;
plot(x);
title('
OriginalSignal'
subplot212;
plot(y);
OutputofHigh-passfilter'
其中信号是用随机数产生的,长6s。
笫1张图是高通滤波器的幅值响应曲线,笫2张图是信号滤波前后的波形.
1.buttord
(1)[N,wc]=buttord(wp,ws,αp,αs)
用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。
调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:
0≤wp≤1,0≤ws≤1。
1表示数字频率pi。
αp,αs分别为通带最大衰减和组带最小衰减(dB)。
当ws≤wp时,为高通滤波器;
当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。
N,wc作为butter函数的调用参数。
(2)[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’)
用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。
Ωp,Ωs,Ωc均为实际模拟角频率。
说明:
buttord函数使用阻带指标计算3dB截止频率,这样阻带会刚好满足要求,而通带会有富余。
2.buttap(N)
[z0,p0,k0]=buttap(N)
用于计算N阶巴特沃斯归一化(3dB截止频率Ωc=1)模拟低通原型滤波器系统函数的零、极点和增益因子。
如果要从零、极点模型得到系统函数的分子、分母多项式系数向量ba、aa,可调用
[B,A]=zp2tf(z0,p0,k0)
3.butter
(1)[b,a]=butter(N,wc,‘ftype’)
计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。
调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于pi归一化),一般是调用buttord
(1)格式计算N和wc。
系数b、a是按照z-1的升幂排列。
(2)[B,A]=butter(N,Ωc,‘ftype’,‘s’)
计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量ba、aa。
调用参数N和Ωc分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角频率),可调用buttord
(2)格式计算N和Ωc。
系数B、A按s的正降幂排列。
tfype为滤波器的类型:
◇ftype=high时,高通;
Ωc只有1个值。
◇ftype=stop时,带阻阻;
此时Ωc=[Ωcl,Ωcu],分别为带阻滤波器的通带3dB下截止频率和上截止频率。
◇ftype缺省时:
若Ωc只有1个值,则默认为低通;
若Ωc有2个值,则默认为带通;
其通带频率区间Ωcl<
Ω<
Ωcu。
注意:
所设计的带通和带阻滤波器系统函数是2N阶。
因为带通滤波器相当于N阶低通滤波器与N阶高通滤波器级联。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IIR FIR 滤波器 函数 使用方法 非常 有用