#
Multivariable Polynomial Matrix Spectral Factorization

**Overview**

This program solves the polynomial matrix spectral factorization problem.

**Introduction**

The multivariable spectral factorization problem can be mathematically defined as follows:

Given

A(z^-1)A'(z)+R = D(z^-1)R~D'(z) ,

where

A(z^-1)=A0+A1z^-1+A2z^-2

R is a matrix and ' is transpose,

we find the polynomial matrix spectral factor:

D(z^-1)=D0+D1z^-1+D2z^-2

using feedback. This algorithm is useful for optimal Wiener filtering problems and H infinity filtering/control.

The example VI shows the original zeros of A and the zeros of the spectral factor D. When R=0 the two sets of zeros will of course coincide (except in the case when A has non-minimum phase terms in which case any non-minimum phase zeros get reflected back inside the unit circle of the z-plane).

**Steps to Implement or Execute Code**

1. Open msfact.llb

2. Run the main.vi

**Requirements**

**Software**

LabVIEW 8.6 or newer

**Hardware**

N/A

**Additional Notes**

See A control theoretical approach to the multivariable spectral factorization problem for more details.

**This document has been updated to meet the current required format for the NI Code Exchange. For more details visit this discussion thread**