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**
Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.