编程序调用MATLAB滤波器设计函数ellipord和ellip分别设计这三个椭圆滤波器,并绘图显示其幅频响应特性曲线。
时间: 2024-03-05 08:48:54 浏览: 38
下面是一个MATLAB程序,用于调用ellipord和ellip函数设计三个椭圆滤波器,并绘制它们的幅频响应特性曲线:
```matlab
% 采样频率
Fs = 1000;
% 设计第一个椭圆滤波器
fpass1 = 100; % 通带截止频率
fstop1 = 150; % 阻带截止频率
apass1 = 1; % 通带最大衰减
astop1 = 60; % 阻带最小衰减
[n1, Wn1] = ellipord(fpass1/(Fs/2), fstop1/(Fs/2), apass1, astop1);
[b1, a1] = ellip(n1, apass1, astop1, Wn1);
% 设计第二个椭圆滤波器
fpass2 = 200; % 通带截止频率
fstop2 = 250; % 阻带截止频率
apass2 = 1; % 通带最大衰减
astop2 = 60; % 阻带最小衰减
[n2, Wn2] = ellipord(fpass2/(Fs/2), fstop2/(Fs/2), apass2, astop2);
[b2, a2] = ellip(n2, apass2, astop2, Wn2);
% 设计第三个椭圆滤波器
fpass3 = 300; % 通带截止频率
fstop3 = 350; % 阻带截止频率
apass3 = 1; % 通带最大衰减
astop3 = 60; % 阻带最小衰减
[n3, Wn3] = ellipord(fpass3/(Fs/2), fstop3/(Fs/2), apass3, astop3);
[b3, a3] = ellip(n3, apass3, astop3, Wn3);
% 绘制第一个椭圆滤波器的幅频响应特性曲线
figure;
freqz(b1, a1, 512, Fs);
title('Elliptic Filter 1');
% 绘制第二个椭圆滤波器的幅频响应特性曲线
figure;
freqz(b2, a2, 512, Fs);
title('Elliptic Filter 2');
% 绘制第三个椭圆滤波器的幅频响应特性曲线
figure;
freqz(b3, a3, 512, Fs);
title('Elliptic Filter 3');
```
该程序设计了三个椭圆滤波器,分别对应于三个不同的通带截止频率和阻带截止频率。使用ellipord函数计算出每个滤波器的阶数和截止频率,然后使用ellip函数设计滤波器。最后,使用freqz函数绘制滤波器的幅频响应特性曲线。