⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bdrwedit.m

📁 AFD - Advanced Filter Design using MATLABMiroslav D. Lutovac, Dejan V. Tosicversion 1.00 released 15
💻 M
字号:
function matrixEn = bdrwedit(matrixE)
% matrixE = bdrwedit(matrixE);

% bdrwedit.m    BUTTON EDIT
%
% 10:08PM  9/16/99
%
%            Drawing Digital Filter Realizations
%
%   Authors: Miroslav D. Lutovac, Dejan V. Tosic, 1999.02.21
%                 lutovac@galeb.etf.bg.ac.yu
%                 tosic@telekom.etf.bg.ac.yu
%
%   Copyright (c) 1999 by Lutovac & Tosic
%   $Revision: 1.0 $  $Date: 1999/08/21 02:17:42 $
%
%   References:
%        Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
%           Advanced Filter Design for Signal Processing
%                   Using MATLAB and Mathematica
%

clc
[s1,s2] = size(matrixE);

title('GO TO  -->  COMMAND WINDOW')

disp(' ')
for indS = 2:s1
  disp([num2str(indS-1) '. ' matrixE(indS,:)])
end
indE = input('Edit item no. ? ');
indE = indE+1;

if (indE>1)&(indE<s1+1)

t1 = matrixE(indE,:);
i1 = find(t1-','==0);

disp(t1)

msi1 =  max(size(i1));
msi2 =  max(size(t1));

if     msi1 > 0
  a01 = t1(1:i1(1)-1);
  msi3 =  max(size(a01));
  ii1 = find(a01-'('==0);
  msi4 =  max(size(ii1));
  if     msi4 > 0
    a0 = t1(1 : ii1(1)-1);
    a1 = t1(ii1(1)+1 : msi3);
  end
  newa = [];
  if     msi4 > 0
    newa = [a0 '(' a1];
  end
  if msi1 > 1
    a2 = t1(i1(1)+1:i1(2)-1);
    abi=[];abi = find(a2-' '==0); 
    if isempty(abi) == 0
      for ind = length(abi):-1:1
        a2(abi(ind)) =[];
      end
    end
%    disp(a2)
    if msi1 > 2
      a3 = t1(i1(2)+1:i1(3)-1);
      abi=[];abi = find(a3-' '==0); 
      if isempty(abi) == 0
        for ind = length(abi):-1:1
          a3(abi(ind)) =[];
        end
      end
      if msi1 > 3
        a4 = t1(i1(3)+1:i1(4)-1);
        abi=[];abi = find(a4-' '==0); 
        if isempty(abi) == 0
          for ind = length(abi):-1:1
            a4(abi(ind)) =[];
          end
        end
        if msi1 > 4
          a5 = t1(i1(4)+1:i1(5)-1);
          abi=[];abi = find(a5-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a5(abi(ind)) =[];
            end
          end
        end
      end
    end
  end
end

if     msi1 > 5
  a6 = t1(i1(5)+1:i1(6)-1);
          abi=[];abi = find(a6-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a6(abi(ind)) =[];
            end
          end
  if msi1 > 6
    a7 = t1(i1(6)+1:i1(7)-1);
          abi=[];abi = find(a7-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a7(abi(ind)) =[];
            end
          end
    if msi1 > 7
      a8 = t1(i1(7)+1:i1(8)-1);
          abi=[];abi = find(a8-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a8(abi(ind)) =[];
            end
          end
      if msi1 > 8
        a9 = t1(i1(8)+1:i1(9)-1);
          abi=[];abi = find(a9-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a9(abi(ind)) =[];
            end
          end
        if msi1 > 9
          a10 = t1(i1(9)+1:i1(10)-1);
          abi=[];abi = find(a10-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              a10(abi(ind)) =[];
            end
          end
        end
      end
    end
  end
end

aend =  t1(i1(msi1)+1:msi2);
          abi=[];abi = find(aend-' '==0); 
          if isempty(abi) == 0
            for ind = length(abi):-1:1
              aend(abi(ind)) =[];
            end
          end

if length(a0)==7
if sum(abs(a0 - 'drawdel')) == 0
%  olda4 = ['new DELAY label ? '];
%  newa4 = input(olda4,'s');
%  a4 = ['''' newa4  ''''];
  olda5 = ['DELAY (samples) ? '];
  newa5 = input(olda5,'s');
  a5 = ['''-' newa5  ''''];
end

if sum(abs(a0 - 'drawadd')) == 0
%  olda7 = ['new SUM label = '];
%  newa7 = input(olda7,'s');
%  a7 = ['''' newa7  ''''];
  disp('    n/a = 0           b')          
  disp('+ input = 1           |')
  disp(' output = 2       c--(+)--a')
  disp('- input = 3           |')
  disp('                      d')
  newa3 = input('a ? ');
  newa4 = input('b ? ');
  newa5 = input('c ? ');
  newa6 = input('d ? ');
  if ((newa3==0)|(newa3==1)|(newa3==2)|(newa3==3))==1,
      a3 = num2str(newa3); end 
  if ((newa4==0)|(newa4==1)|(newa4==2)|(newa4==3))==1,
    if ((eval(a3)==2)&(newa4==2))==0,
      a4 = num2str(newa4);
    end
  end 
  if ((newa5==0)|(newa5==1)|(newa5==2)|(newa5==3))==1,
    if ((eval(a3)==2|(eval(a4)==2))&(newa5==2))==0,
      a5 = num2str(newa5);
    end 
    if ((a3=='2'|(a4=='2'))&(a5=='2'))==1,
      a5 = '1';
    end 
  end
  if ((newa6==0)|(newa6==1)|(newa6==2)|(newa6==3))==1,
    if ((a3=='2'|(a4=='2')|(a5=='2'))&(newa6==2))==0,
      a6 = num2str(newa6);
    end 
    if ((a3=='2'|(a4=='2')|(a5=='2'))&(a6=='2'))==1,
      a6 = '1';
    end 
  end
  if ((a3~='2')&(a4~='2')&(a5~='2')&(a6~='2'))==1,
   a3 = '2';
  end 
end

if sum(abs(a0 - 'drawout')) == 0
  olda3 = ['OUT text = '];
  newa3 = input(olda3,'s');
  a3 = ['''' newa3  ''''];
end
end

if length(a0)==6
if sum(abs(a0 - 'drawin')) == 0
  olda3 = ['IN text = '];
  newa3 = input(olda3,'s');
  a3 = ['''' newa3  ''''];
end
end

if length(a0)==8
if sum(abs(a0 - 'drawmult')) == 0
  olda4 = ['Multiplication coefficient ? '];
  newa4 = input(olda4,'s');
  a4 = ['''' newa4  ''''];
%  olda5 = ['MULT. coef. = '];
%  newa5 = input(olda5,'s');
%  a5 = ['''' newa5  ''''];
end

%if sum(abs(a0 - 'drawnode')) == 0
%  olda3 = ['new NODE label = '];
%  newa3 = input(olda3,'s');
%  a3 = ['''' newa3  ''''];
%end
if sum(abs(a0 - 'drawtext')) == 0
  olda3 = ['TEXT = '];
  newa3 = input(olda3,'s');
  a3 = ['''' newa3  ''''];
end
end

if     msi1 > 0
  if msi1 > 1
    newa = [newa ',' a2];
    if msi1 > 2
      newa = [newa ',' a3];
      if msi1 > 3
        newa = [newa ',' a4];
        if msi1 > 4
          newa = [newa ',' a5];
        end
      end
    end
  end
end
if     msi1 > 5
  newa = [newa ',' a6];
  if msi1 > 6
    newa = [newa ',' a7];
    if msi1 > 7
      newa = [newa ',' a8];
      if msi1 > 8
        newa = [newa ',' a9];
        if msi1 > 9
          newa = [newa ',' a10];
        end
      end
    end
  end
end
          newa = [newa ',' aend];
%disp(newa)

matrixE(indE,1:61) ='                                                             ';
matrixE(indE,1:length(newa))=newa;

end

matrixEn = matrixE;

figure(1)

⌨️ 快捷键说明

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