常用模拟低通滤波器的设计~经典 IIR 滤波器之椭圆滤波器

目录

常用模拟低通滤波器的设计——椭圆滤波器

1、ellipap 函数

2、ellipord 函数

3、ellip函数


常用模拟低通滤波器的设计~经典 IIR 滤波器之椭圆滤波器

椭圆滤波器又称考尔滤波器,是在通带和阻带范围内都具有等波纹的一种滤波器椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有最小的通带和阻带波动这一点区别于在通带和阻带都平坦的巴特沃斯滤波器,以及通带平坦、阻带等波纹或是阻带平坦、通带等波纹的切比雪夫滤波器。

椭圆滤波器的特点如下:

  1. 椭圆低通滤波器是一种零、极点型滤波器,它在有限频率范围内存在传输零点和极点。
  2. 椭圆滤波器的通带和阻带都具有等波纹特性,因此通带、阻带逼近特性良好。
  3. 对于同样的性能要求,它比之前两种滤波器所需用的阶数都低,而且它的过渡带比较窄。

    椭圆滤波器振幅平方函数为:A\left (\Omega ^{2} \right ) = \left | H_{a}(j\Omega ) \right |^{2} = \frac{1}{1+\varepsilon ^{2}R_{N}^{2}\left ( \Omega ,L \right )}

    其中,R_{N}\left ( \Omega , L \right ) 为雅可比椭圆函数,L 为一个表示波纹性质的参量。

在 Matlab 中,函数ellipap、ellipord、ellip 用于设计椭圆滤波器。

1、ellipap 函数

在 Matlab 中,函数 ellipap 用于设计椭圆模拟低通滤波器,其调用格式为:

  •   [z, p, k] = ellipap(n, Rp, Rs)      % 返回椭圆模拟低通滤波器的零点z、极点p 和增益 k   

说明:滤波器的阶数为 n ,通带中的纹波为 Rp dB,通带中的峰值为阻带 Rs dB。零点和极点以长度为 n 的列向量 z 和 p 返回,增益以标量 k 返回。如果 n 为奇数,则 z 的长度为 n-1。

       椭圆滤波器可以提供比巴特沃斯和切比雪夫滤波器更陡的幅降特性,但它们在通带和阻带上都是等波纹。在四种滤波器中,椭圆滤波器通常以最低的滤波器阶数满足给定的一组滤波器性能

       函数 ellipap 将椭圆滤波器的通带边缘角频率 w0 设置为 1 ,以获得归一化结果。通带边缘角频率是通带结束时的频率,滤波器的幅值响应为 10^{-\frac{Rp}{20}}

2、ellipord 函数

在 Matlab 中,利用 ellipord 函数可以求出所需要的滤波器的阶数和截止频率,滤波器在通带中的损耗不超过 Rp dB,在阻带中的衰减至少为 Rs dB。其调用格式为:

  •   [n, Wn] = ellipord(Wp, Ws, Rp, Rs)      % 返回数字椭圆滤波器的最小阶数 n ,截止频率 Wn      
  1. Wp为通带边缘频率,从 0~1 标准化,其中 1 对应 pi rad/sample.
  2. Ws为阻带边缘频率,从 0~1 标准化,其中 1 对应 pi rad/sample.
  3. Rp为通带波纹(dB)值.
  4. Rs为阻带最小衰减(dB)值.
  •  [n, Wn] = ellipord(Wp, Ws, Rp, Rs, 's')    % 设计模拟椭圆滤波器的最小阶数 n 和截止频率  Wn      

说明:设计模拟椭圆滤波器的最小阶数 n 和截止频率  Wn 。以 rad/s 为单位指定频率 Wp 和 Ws,通带或阻带可以是无限的。

3、ellip函数

Matlab 提供 ellip 函数用于求解椭圆滤波器的系数,函数调用格式为:

  •   [b, a] = ellip(n, Rp, Rs, Wp)      % 返回具有归一化通带边缘频率 Wp 的 n 阶低通数字滤波器的传递函数系数  

说明:该滤波器具有 Rp dB 为峰间通带波纹和 Rs dB 的阻带衰减,b 为 H(z)的分子多项式系数,a 为 H(z)的分母多项式系数。

  •  [b, a] = ellip(n, Rp, Rs, Wp, ftype)      % 根据 ftype 的值和 Ws 的元素数,设计低通、高通、带通或带阻椭圆滤波器,其中带通和带阻设计为 2n 级。
  •  [z, p, k] = ellip(____)    % 设计椭圆滤波器,并返回其零点、极点和增益  
  •  [A, B, C, D] = ellip(____)    % 设计数字椭圆滤波器,并返回指定其空间状态表示形式的矩阵 
  •  [ ____ ] = ellip(____, 's')    % 设计通带边缘角频率为Ws、阻带衰减为Rs 的模拟椭圆滤波器 

说明:滤波器的传递函数系数 b 和 a,零点z、极点p 、增益 k 、ftype的含义与 cheby1 函数中的相同 。

ftype 包括:'low'、'high'、'bandpass' 及 'stop',含义如下:

  • 'low':指定通带边缘频率为 Wp 的低通滤波器,为默认值。
  • 'high':指定通带边缘频率为 Wp 的高通滤波器。
  • 'bandpass' :指定 2n 阶的带通滤波器,如果 Wp 为两个元素向量,则默认为 'bandpass' 。
  • 'stop':如果 Wp 为两个元素向量,指定 2n 阶的带阻滤波器。

【例7-29】ellipord函数设计椭圆滤波器示例。

% 【例7-29】ellipord函数设计椭圆滤波器示例。
clc, clear, close all

Wp = 3*pi*4*12^3;
Ws = 2*pi*12*12^3;
rp = 2;
rs = 25; % 设计滤波器参数
wp = 1; ws = Ws/Wp; % 对参数归一化
[N, wc] = ellipord(wp, ws, rp, rs, 's'); % 计算滤波器阶数和阻带起始频率
[z, p, k] = ellipap(N, rp, rs); % 计算零点、极点、增益
[b, a] = zp2tf(z, p, k); % 计算系统函数系数多项式
w = 0:0.03*pi:2*pi;
[h,w] = freqs(b,a,w); % 模拟滤波器的频率响应
plot(w, 20*log10(abs(h)),'k');
xlabel('\lambda'); ylabel('A(\lambda)/dB');
title('模拟椭圆低通滤波器幅频响应曲线');  grid on;

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值