Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Français - 日本語

Please note that the recommended version of Scilab is 6.1.1. This page might be outdated.
See the recommended documentation of this function

Manual Scilab >> CACSD > specfact

# specfact

spectral factor

### Calling Sequence

`[W0,L]=specfact(A,B,C,D)`

### Description

Given a spectral density matrix `phi(s)`:

```-1                   -1
R + C*(s*I-A) * B  +  B'*(-s*I-A') * C'  with R=D+D' > 0```

`specfact` computes `W0` and `L` such that `W(s)=W0+L*(s*I-A)^-1*B` is a spectral factor of of `PHI(s)`, i.e.

`phi(s)=W'(-s)*W(s)`

### Examples

```A=diag([-1,-2]);B=[1;1];C=[1,1];D=1;s=poly(0,'s');
W1=syslin('c',A,B,C,D);
phi=gtild(W1,'c')+W1;
phis=clean(ss2tf(phi))
clean(phis-horner(phis,-s)');   //check this is 0...
[A,B,C,D]=abcd(W1);
[W0,L]=specfact(A,B,C,D);
W=syslin('c',A,B,L,W0)
Ws=ss2tf(W);
horner(Ws,-s)*Ws```

### Authors

F. D.

 << sorder CACSD ss2des >>

 Scilab EnterprisesCopyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Wed Jan 26 16:24:36 CET 2011