Elliptic filter design
[b,a] = ellip(n,Rp,Rs,Wp)
[b,a] = ellip(n,Rp,Rs,Wp,ftype)
[z,p,k] = ellip(___)
[A,B,C,D] = ellip(___)
[___] = ellip(___,'s')
[
返回具有归一化通带边缘频率Wp的n阶低通数字椭圆滤波器的传递函数系数。b,a
] = ellip(n
,Rp
,Rs
,Wp
)
得到的滤波器具有峰峰值通带纹波的 Rp 分贝和从峰值通带值向下衰减的阻带衰减的 Rs 分贝。
设计一个6阶低通椭圆滤波器,具有5 dB的通带纹波,40 dB的阻带衰减和300 Hz的通带边缘频率,对于以1000 Hz采样的数据,它对应于 rad / sample。 绘制其幅度和相位响应。 用它来过滤1000个样本的随机信号。
[b,a] = ellip(6,5,40,0.6); freqz(b,a)
dataIn = randn(1000,1); dataOut = filter(b,a,dataIn);
[
设计低通,高通,带通或带阻椭圆滤波器,具体取决于ftype的值和Wp的元素数量。 将所得的带通和带阻设计是2n阶。b,a
] = ellip(n
,Rp
,Rs
,Wp
,ftype
)
Design a 6th-order elliptic bandstop filter with normalized edge frequencies of and rad/sample, 5 dB of passband ripple, and 50 dB of stopband attenuation. Plot its magnitude and phase responses. Use it to filter random data.
[b,a] = ellip(3,5,50,[0.2 0.6],'stop'); freqz(b,a) dataIn = randn(1000,1); dataOut = filter(b,a,dataIn);
[
设计低通,高通,带通或带阻数字椭圆滤波器,并返回其零点,极点和增益。 此语法可包括先前语法中的任何输入参数。z,p,k
] = ellip(___)
设计一个6阶高通椭圆滤波器,其通带边缘频率为300 Hz,对于以1000 Hz采样的数据,对应于rad / sample。 指定3 dB的通带纹波和50 dB的阻带衰减。 绘制幅度和相位响应。 将零,极点和增益转换为二阶段以供fvtool使用。
[z,p,k] = ellip(6,3,50,300/500,'high'); sos = zp2sos(z,p,k); fvtool(sos,'Analysis','freq')
当然也可以通过原来的方法:
clc
clear
close all
[b,a] = ellip(6,3,50,300/500,'high');
freqz(b,a)
[
设计低通,高通,带通或带阻数字椭圆滤波器,并返回指定其状态空间表示的矩阵。A,B,C,D
] = ellip(___)
Design a 20th-order elliptic bandpass filter with a lower passband frequency of 500 Hz and a higher passband frequency of 560 Hz. Specify a passband ripple of 3 dB, a stopband attenuation of 40 dB, and a sample rate of 1500 Hz. Use the state-space representation. Design an identical filter using designfilt
.
设计一个20阶椭圆带通滤波器与500Hz的低通频带频率和560赫兹的高通频带频率。 指定3 dB的通带纹波,40 dB的阻带衰减和1500 Hz的采样率。 使用状态空间表示。 使用designfilt设计相同的过滤器。
[A,B,C,D] = ellip(10,3,40,[500 560]/750); d = designfilt('bandpassiir','FilterOrder',20, ... 'PassbandFrequency1',500,'PassbandFrequency2',560, ... 'PassbandRipple',3, ... 'StopbandAttenuation1',40,'StopbandAttenuation2',40, ... 'SampleRate',1500);
Convert the state-space representation to second-order sections. Visualize the frequency responses using fvtool
.
将状态空间表示转换为二阶段。 使用fvtool可视化频率响应。
sos = ss2sos(A,B,C,D); fvt = fvtool(sos,d,'Fs',1500); legend(fvt,'ellip','designfilt')
[___] = ellip(___,'s')
设计了低通,高通,带通或带阻模拟椭圆滤波器,其通带边缘角频率Wp,通带纹波的Rp分贝和阻带衰减的Rs分贝。
最后一个就不介绍了,具体参考MATLAB数据手册,在命令窗口输入:
doc ellip
获得相关帮助。