📄 afdesign.m
字号:
% afdesign.m Advanced Filter Design Alternatives (main script)
%
% Authors: Dejan V. Tosic, Miroslav D. Lutovac, 1999.02.11
% tosic@telekom.etf.bg.ac.yu
% lutovac@galeb.etf.bg.ac.yu
%
% Copyright (c) 1999 by Tosic & Lutovac
% $Revision: 1.0 $ $Date: 1999/02/25 00:37:42 $
%
% References:
% Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
% Advanced Filter Design for Signal Processing
% Using MATLAB and Mathematica
%% calls:
%% afda2k.m, afddinfo.m, afdesbut.m
% spec format (spec is attenuation-limits spec)
% 4-number spec defaults to lowpass analog
% spec is a set of positive numbers, the first number is filter type specifier
% 1 -- lowpass 'l'
% 2 -- highpass 'h'
% 3 -- bandpass 'b'
% 4 -- band reject 'r'
% lowpass spec: 1, Fpass, Fstop, Apass, Astop
% highpass spec: 2, Fstop, Fpass, Apass, Astop
% bandpass spec: 3, Fstop1, Fpass1, Fpass2, Fstop2, Astop1, Apass, Astop2
% bandstop spec: 4, Fpass1, Fstop1, Fstop2, Fpass2, Apass1, Astop, Apass2
% (band reject)
clear all; close all; clc; disp('Advanced Filter Design');
% mainfig, editfig, zoomfig
fig1 = 0;
fig2 = 0;
fig3 = 0;
% demo init spec
speca = [3000 3225 0.2 40];
filnumb = 1;
filtype = 'l';
speck = speca;
speck(3:4) = afda2k(speca(3:4));
% demo design D1 parameters
desnumb = 1;
destype = 'D1';
nD = 8.0000000000000000e+000;
aD = 1.0750000000000000e+000;
eD = 2.1709110541636540e-001;
fpD= 3.0000000000000000e+003;
numD = [2.6295534298184940e-037, 0.0000000000000000e+000, ...
1.6645621891963680e-027, 0.0000000000000000e+000, ...
2.2655508867109020e-018, 0.0000000000000000e+000, ...
1.1193712576867830e-009, 0.0000000000000000e+000, ...
1.8554842946007200e-001];
denD = [6.2746718091214740e-035, 1.6905678026768590e-030, ...
7.8004444384509330e-026, 1.4895419716948210e-021, ...
3.2284901038606240e-017, 4.1800996648557700e-013, ...
4.9705515033058140e-009, 3.6487254752300700e-005, ...
1.8987040759519150e-001];
nmin = 8;
nmax = 16;
nincmin = 0;
nincmax = 8;
ninc = 0;
zoomfmin = 0;
zoomfmax = 2*speca(2);
zoomn = 100;
filname = ['lowpass '; 'highpass '; 'bandpass '; 'bandreject'];
eseconds = 2;
afddinfo
%-----------------------------------------------------------------%
fig1 = figure;
initaxis = get(gca,'Position');
moreaxis = 0;
axis off;
initsize = [120 120 560 420]+[80 0 0 100];
set(fig1, 'Name', 'Advanced Filter Design Alternatives' ...
, 'NumberTitle', 'off' ...
, 'Position', initsize);
svgasize = [0 0 800 562];
afdesbut;
text(0,1.05,'Advanced Filter Design for Signal Processing', 'FontWeight', 'bold')
text(0,1.0,'Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans', 'FontWeight', 'bold')
text(0,0.94,'Demo = load DEMO attenuation limits specification')
text(0,0.88,'Open = load USER attenuation limits specification')
text(0,0.82,'View = view CURRENT attenuation limits specification')
text(0,0.76,'Edit = edit CURRENT attenuation limits specification')
text(0,0.70,'Plot = plot attenuation versus frequency')
text(0,0.64,'Pass = plot attenuation versus frequency in passband')
text(0,0.58,'Tran = plot attenuation versus frequency in transition')
text(0,0.52,'Stop = plot attenuation versus frequency in stopband')
text(0,0.46,'Zoom = zoom attenuation characteristics')
text(0,0.40,'D1,D2,D3a,D3b,D4a,D4b,D5,2D5,3D5 = Design alternatives')
text(0,0.34,'n+ n- = increment/decrement order for the design')
%text(0,0.28,'white = toggle white/black background')
text(0,0.22,'grid = toggle grid on/off')
text(0,0.16,'full/small = full/small screen display')
%text(0,0.10,'color = set figure background color')
text(0,0.04,'close = close figure, exit/quit')
text(0,0.00,'reset = reset default values, reinitialize program')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -