Mercurial > hg > octave-lyh
diff scripts/control/system/sys2fir.m @ 4462:3e48e60a1f8b
[project @ 2003-07-12 03:31:41 by jwe]
author | jwe |
---|---|
date | Sat, 12 Jul 2003 03:31:41 +0000 |
parents | 3234a698073a |
children | bdbee5282954 |
line wrap: on
line diff
--- a/scripts/control/system/sys2fir.m +++ b/scripts/control/system/sys2fir.m @@ -31,22 +31,23 @@ ## let sys2tf do most of the work - [num,den,tsam,inname,outname] = sys2tf(sys); + [num, den, tsam, inname, outname] = sys2tf (sys); alph = den(1); # scale to get monic denominator - den = den/alph; - num = num/alph; - l = length(den); - m = length(num); - if( norm(den(2:l)) ) - sysout(sys,"tf"); - error("denominator has poles away from origin"); - elseif( !is_digital(sys) ) - error("system must be discrete-time to be FIR"); - elseif(m != l) - warning(["sys2fir: deg(num) - deg(den) = ",num2str(m-l), ... - "; coefficients must be shifted"]); + den /= alph; + num /= alph; + l = length (den); + m = length (num); + if (norm (den(2:l))) + sysout (sys, "tf"); + error ("denominator has poles away from origin"); + elseif (! is_digital (sys)) + error ("system must be discrete-time to be FIR"); + elseif (m != l) + warning ("sys2fir: deg(num) - deg(den) = %d; coefficients must be shifted", + m-l); endif c = num; + endfunction