ex082400.m

来自「数字信号处理matlab程序97」· M 代码 · 共 40 行

M
40
字号
% 第八章: 例 8.24
%            椭圆低通滤波器设计
%                 ELLIP函数的应用
%
% 数字滤波器指标:
wp = 0.2*pi;                         % 数字通带频率(弧度)
ws = 0.3*pi;                         % 数字阻带频率(弧度)
Rp = 1;                              % 通带波动(dB)
As = 15;                             % 阻带衰减(dB) 

% 模拟原型指标
T = 1;                            % 置 T=1
OmegaP = (2/T)*tan(wp/2);            % 预修正原型通带频率
OmegaS = (2/T)*tan(ws/2);            % 预修正原型阻带频率
ep = sqrt(10^(Rp/10)-1);             % 通带波动参数
Ripple = sqrt(1/(1+ep*ep));          % 通带波动
Attn = 1/(10^(As/20));               % 阻带衰减

% 模拟椭圆原型滤波器阶次计算:
ep = sqrt(10^(Rp/10)-1);             %通带波动因子
A = 10^(As/20);                      %阻带波动因子
OmegaC = OmegaP;                  %模拟原型截止频率
k = OmegaP/OmegaS;                 %模拟原型传输比;
k1 = ep/sqrt(A*A-1);                 %模拟原型中间计算.
capk = ellipke([k.^2 1-k.^2]);
capk1 = ellipke([(k1 .^2) 1-(k1 .^2)]);
N = ceil(capk(1)*capk1(2)/(capk(2)*capk1(1)));
fprintf('\n*** 椭圆滤波器阶次=  %2.0f \n',N)
%%*** 椭圆滤波器阶次=  3

% 数字椭圆滤波器设计
wn = wp/pi;                          %以pi为单位的数字通带频率
[b,a]=ellip(N,Rp,As,wn);
[b0,B,A] = dir2cas(b,a)
%%b0 = 0.1214
%%B = 1.0000   -1.4211    1.0000
%%    1.0000    1.0000         0
%%A = 1.0000   -1.4928    0.8612
%%    1.0000   -0.6183         0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?