www.gusucode.com > signal 工具箱matlab源码程序 > signal/@dfilt/@abstractsos/df1df2tunconstrainedscale.m
function df1df2tunconstrainedscale(Hd,opts,L) %DF1DF2TUNCONSTRAINEDSCALE % Author(s): R. Losada % Copyright 1988-2003 The MathWorks, Inc. % Compute unconstrained scaling % Calculate cumulative scaling factors c = cscalefactors(Hd,opts); c = c(:); % Prepend a cumulative scale factor of 1 c = [1; c]; % Compute unconstrained scaling using scale factors scalefact = c(2:L+1)./c(1:L); if strcmpi(opts.ScaleValueConstraint,'unit'), scalefact = repmat(scalefact,1,3); Hd.sosMatrix(1:L,1:3) = Hd.sosMatrix(1:L,1:3).*scalefact; Hd.ScaleValues(L+1) = Hd.ScaleValues(L+1)/c(L+1); % Incorporate existing scale values scalevals = repmat(Hd.ScaleValues(1:L),1,3); Hd.sosMatrix(1:L,1:3) = Hd.sosMatrix(1:L,1:3).*scalevals; Hd.ScaleValues(1:L) = ones(L,1); else Hd.ScaleValues(1:L) = Hd.ScaleValues(1:L).*scalefact; Hd.ScaleValues(L+1) = Hd.ScaleValues(L+1)/c(L+1); end % [EOF]