📄 afdedit.m
字号:
% afdedit.m AFD specification editor (script)
% 3:59 31/1/99
%
% Authors: Dejan V. Tosic, Miroslav D. Lutovac, 1999.02.08
% tosic@telekom.etf.bg.ac.yu
% lutovac@galeb.etf.bg.ac.yu
%
% Copyright (c) 1999 by Tosic & Lutovac
% $Revision: 1.0 $ $Date: 1999/02/08 03:07:42 $
%
% References:
% Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
% Advanced Filter Design for Signal Processing
% Using MATLAB and Mathematica
%% calls:
%% afdcheck.m, afdorder.m, afda2k.m
if fig2 & find(get(0,'Children')==fig2)
figure(fig2)
delete(ebt)
else
fig2 = figure;
set(fig2, 'Name', 'Edit Specification' ...
, 'NumberTitle', 'off' ...
, 'Position', initsize+[340,-50,-300,-200] ...
, 'Color',[0.25,0,0.50])
end
delete(gca);
axis off;
ebb0close = uicontrol('String', 'close', 'Units', 'normalized' ...
, 'Position', [0.85 0.9 0.15 0.06] ...
, 'CallBack', 'close(fig2); fig2=0; clear ebt');
ebb1save = uicontrol('String', 'save', 'Units', 'normalized' ...
, 'Position', [0.85 0.8 0.15 0.06] ...
, 'CallBack', ['tmpspeca=[filnumb,speca];', ...
'[savefile,savepath]=uiputfile(''tmpspec.dat'',''Save specification'');', ...
'if savefile~=0;', ...
'eval([''save '',savepath,savefile,'' tmpspeca -ascii'']);', ...
'end;']);
et8 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.1 0.15 0.06] ...
, 'String', 'ninc');
eb8 = uicontrol('Style', 'edit' ...
, 'String', num2str(ninc) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.1 0.15 0.06] ...
, 'CallBack', ['ninc1=eval(get(eb8,''String''));', ...
'if ninc1>nincmax;', ...
'ninc=nincmin;', ...
'elseif ninc1<nincmin;', ...
'ninc=nincmax;', ...
'else;', ...
'ninc=ninc1;', ...
'end;', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);']);
et9 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.13 0.02 0.35 0.06] ...
, 'String', [num2str(nincmin),'<=ninc<=',num2str(nincmax)]);
if filnumb==1
text(0,1.0, 'Lowpass');
et1 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.8 0.15 0.06] ...
, 'String', 'Fpass');
eb1 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(1)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.8 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb1,''String''));', ...
'speca1=speca;', ...
'speca1(1)=newspeca;', ...
'if afdcheck(speca1,filnumb);', ...
'speca(1)=newspeca;', ...
'speck(1)=speca(1);', ...
'[nmin,nmax,nincmin,nincmax] = afdorder(speck,filnumb);', ...
'ninc=0;', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(et9,''String'',[num2str(nincmin),''<=ninc<='',num2str(nincmax)]);', ...
'end;', ...
'set(eb1,''String'',num2str(speca(1)));']);
et2 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.7 0.15 0.06] ...
, 'String', 'Fstop');
eb2 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(2)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.7 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb2,''String''));', ...
'speca1=speca;', ...
'speca1(2)=newspeca;', ...
'if afdcheck(speca1,filnumb);', ...
'speca(2)=newspeca;', ...
'speck(2)=speca(2);', ...
'[nmin,nmax,nincmin,nincmax] = afdorder(speck,filnumb);', ...
'ninc=0;', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(et9,''String'',[num2str(nincmin),''<=ninc<='',num2str(nincmax)]);', ...
'end;', ...
'set(eb2,''String'',num2str(speca(2)));']);
et3 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.6 0.15 0.06] ...
, 'String', 'Apass');
eb3 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(3)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.6 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb3,''String''));', ...
'speca1=speca;', ...
'speca1(3)=newspeca;', ...
'if afdcheck(speca1,filnumb);', ...
'speca(3)=newspeca;', ...
'speck(3)=afda2k(speca(3));', ...
'[nmin,nmax,nincmin,nincmax] = afdorder(speck,filnumb);', ...
'ninc=0;', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(et9,''String'',[num2str(nincmin),''<=ninc<='',num2str(nincmax)]);', ...
'end;', ...
'set(eb3,''String'',num2str(speca(3)));']);
et4 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.5 0.15 0.06] ...
, 'String', 'Astop');
eb4 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(4)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.5 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb4,''String''));', ...
'speca1=speca;', ...
'speca1(4)=newspeca;', ...
'if afdcheck(speca1,filnumb);', ...
'speca(4)=newspeca;', ...
'speck(4)=afda2k(speca(4));', ...
'[nmin,nmax,nincmin,nincmax] = afdorder(speck,filnumb);', ...
'ninc=0;', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(et9,''String'',[num2str(nincmin),''<=ninc<='',num2str(nincmax)]);', ...
'end;', ...
'set(eb4,''String'',num2str(speca(4)));']);
ebt = [eb1, eb2, eb3, eb4, ...
et1, et2, et3, et4, ...
eb8, et8, ...
ebb0close, ebb1save];
elseif filnumb==2
text(0,1.0, 'Highpass');
et1 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.8 0.15 0.06] ...
, 'String', 'Fstop');
eb1 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(1)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.8 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb1,''String''));', ...
'speca1=speca;', ...
'speca1(1)=newspeca;', ...
'if afdcheck(speca1,filnumb);', ...
'speca(1)=newspeca;', ...
'speck(1)=speca(1);', ...
'[nmin,nmax,nincmin,nincmax] = afdorder(speck,filnumb);', ...
'ninc=0;', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(et9,''String'',[num2str(nincmin),''<=ninc<='',num2str(nincmax)]);', ...
'end;', ...
'set(eb1,''String'',num2str(speca(1)));']);
et2 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.7 0.15 0.06] ...
, 'String', 'Fpass');
eb2 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(2)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.7 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb2,''String''));', ...
'speca1=speca;', ...
'speca1(2)=newspeca;', ...
'if afdcheck(speca1,filnumb);', ...
'speca(2)=newspeca;', ...
'speck(2)=speca(2);', ...
'[nmin,nmax,nincmin,nincmax] = afdorder(speck,filnumb);', ...
'ninc=0;', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(et9,''String'',[num2str(nincmin),''<=ninc<='',num2str(nincmax)]);', ...
'end;', ...
'set(eb2,''String'',num2str(speca(2)));']);
et3 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.6 0.15 0.06] ...
, 'String', 'Apass');
eb3 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(3)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.6 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb3,''String''));', ...
'speca1=speca;', ...
'speca1(3)=newspeca;', ...
'if afdcheck(speca1,filnumb);', ...
'speca(3)=newspeca;', ...
'speck(3)=afda2k(speca(3));', ...
'[nmin,nmax,nincmin,nincmax] = afdorder(speck,filnumb);', ...
'ninc=0;', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(et9,''String'',[num2str(nincmin),''<=ninc<='',num2str(nincmax)]);', ...
'end;', ...
'set(eb3,''String'',num2str(speca(3)));']);
et4 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.5 0.15 0.06] ...
, 'String', 'Astop');
eb4 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(4)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.5 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb4,''String''));', ...
'speca1=speca;', ...
'speca1(4)=newspeca;', ...
'if afdcheck(speca1,filnumb);', ...
'speca(4)=newspeca;', ...
'speck(4)=afda2k(speca(4));', ...
'[nmin,nmax,nincmin,nincmax] = afdorder(speck,filnumb);', ...
'ninc=0;', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(et9,''String'',[num2str(nincmin),''<=ninc<='',num2str(nincmax)]);', ...
'end;', ...
'set(eb4,''String'',num2str(speca(4)));']);
ebt = [eb1, eb2, eb3, eb4, ...
et1, et2, et3, et4, ...
eb8, et8, ...
ebb0close, ebb1save];
elseif filnumb==3
text(0,1.0, 'Bandpass');
et1 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.8 0.15 0.06] ...
, 'String', 'Fstop1');
eb1 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(1)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.8 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb1,''String''));', ...
'speca1=speca;', ...
'speca1(1)=newspeca;', ...
'if afdcheck(speca1,filnumb);', ...
'speca(1)=newspeca;', ...
'speck(1)=speca(1);', ...
'[nmin,nmax,nincmin,nincmax] = afdorder(speck,filnumb);', ...
'ninc=0;', ...
'set(b16n,''String'',[''n='',num2str(nmin+ninc)]);', ...
'set(eb8,''String'',num2str(ninc));', ...
'set(et9,''String'',[num2str(nincmin),''<=ninc<='',num2str(nincmax)]);', ...
'end;', ...
'set(eb1,''String'',num2str(speca(1)));']);
et2 = uicontrol('Style', 'text' ...
, 'Units', 'normalized' ...
, 'Position', [0.15 0.7 0.15 0.06] ...
, 'String', 'Fpass1');
eb2 = uicontrol('Style', 'edit' ...
, 'String', num2str(speca(2)) ...
, 'Units', 'normalized' ...
, 'Position', [0.31 0.7 0.15 0.06] ...
, 'CallBack', ['newspeca=eval(get(eb2,''String''));', ...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -