An algorithm for solving a particular nonlinear independent-component-analysis (ICA) problem, that differs from prior algorithms for solving the same problem, has been devised. The problem in question — of a type known in the art as a post nonlinear mixing problem — is a useful approximation of the problem posed by the mixing and subsequent nonlinear distortion of sensory signals that occur in diverse scientific and engineering instrumentation systems.

Mixing and Distortion Operations and their inverses are represented in these block-diagram representations of mixing and unmixing models.
Prerequisite for describing this particular post nonlinear ICA problem is a description of the post nonlinear mixing and unmixing models depicted schematically in the figure. The mixing model consists of a linear mixing part followed by a memoryless invertible nonlinear transfer part. The unmixing model consists of a nonlinear inverse transfer part followed by a linear unmixing part. The source signals are recovered if each operation in the unmixing sequence is the inverse of the corresponding operation in the mixing sequence.

More specifically, in the models,

s(n) = [s1(n),s2(n),...sN(n)]T

is an N×1 column vector representing N independent source signals at time n that one seeks to estimate. This vector is multiplied by A, an initially unknown N×N matrix that represents the linear mixing of the source signals. The N signals resulting from the mixing are represented by N×1 column vector

v(n) = [v1(n),v2(n),...vN(n)]T.

Each of these signals is then subjected to nonlinear distortion represented by a function that is initially unknown and could differ from the functions that represent the distortions of the other signals. For the ith mixture signal, the distorted signal is given by xi = fi(vi), where fi is one of the initially unknown nonlinear functions. Thus, the vector

x(n) = [x1(n),x2(n),...xN(n)]T

represents instrumentation signals presented for analysis. The distortion in signal xi is removed by means of a corresponding initially unknown inverse nonlinear function gi. Finally, the signals are unmixed by means of initially unknown matrix W to obtain output vector

u(n) = [u1(n),u2(n),...uN(n)]T.

In the ideal case, W would be the inverse of A and the output vector u would equal the vector, s, of source signals.

The particular nonlinear ICA problem is to calculate the nonlinear inverse functions gi and matrix W such that u calculated by use of them is a close approximation of s. For the purpose of the present algorithm for solving this problem, it is assumed that the inverse nonlinear functions gi are smooth and can be approximated by polynomials. The algorithm finds the components of the unmixing matrix W and the coefficients of the polynomial approximations of gi by a gradient-descent method. This algorithm utilizes the kurtosis of the components of the output vector u as an objective function (in effect, an error measure) that it seeks to minimize. In using the kurtosis, this algorithm stands in contrast to prior algorithms that utilize other objective functions, including statistical functions other than the kurtosis.

This work was done by Vu Duong and Allen Stubberud of Caltech for NASA’s Jet Propulsion Laboratory.

In accordance with Public Law 96-517, the contractor has elected to retain title to this invention. Inquiries concerning rights for its commercial use should be addressed to:

Innovative Technology Assets Management


Mail Stop 202-233

4800 Oak Grove Drive

Pasadena, CA 91109-8099

(818) 354-2240

E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.

Refer to NPO-43088, volume and number of this NASA Tech Briefs issue, and the page number.

NASA Tech Briefs Magazine

This article first appeared in the July, 2009 issue of NASA Tech Briefs Magazine.

Read more articles from this issue here.

Read more articles from the archives here.