Abstract:
This invention unifies a set of statistical signal processing, neuromorphic systems, and microelectronic implementation techniques for blind separation and recovery of mixed signals. A set of architectures, frameworks, algorithms, and devices for separating, discriminating, and recovering original signal sources by processing a set of received mixtures and functions of said signals are described. The adaptation inherent in the referenced architectures, frameworks, algorithms, and devices is based on processing of the received, measured, recorded or otherwise stored signals or functions thereof. There are multiple criteria that can be used alone or in conjunction with other criteria for achieving the separation and recovery of the original signal content from the signal mixtures. The composition adopts both discrete-time and continuous-time formulations with a view towards implementations in the digital as well as the analog domains of microelectronic circuits. This invention focuses on the development and formulation of dynamic architectures with adaptive update laws for multi-source blind signal separation/recovery. The system of the invention seeks to permit the adaptive blind separation and recovery of several unknown signals mixed together in changing interference environments with very minimal assumption on the original signals. The system of this invention has practical applications to non-multiplexed media sharing, adaptive interferer rejection, acoustic sensors, acoustic diagnostics, medical diagnostics and instrumentation, speech, voice, language recognition and processing, wired and wireless modulated communication signal receivers, and cellular communications. 
     This invention also introduces a set of update laws and links minimization of mutual information and the information maximization of the output entropy function of a nonlinear neural network, specifically in relation to techniques for blind separation, discrimination and recovery of mixed signals. The system of the invention seeks to permit the adaptive blind separation and recovery of several unknown signals mixed together in changing interference environments with very minimal assumption on the original signals.

Description:
RELATIONSHIP TO APPLICATIONS 
     This application is a U.S. National Stage filing of International Application No. PCT/US99/13550, filed Jun. 16, 1999, which claims priority to U.S. Provisional Application No. 60/089,750, filed June 18, 1998. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention pertains to systems for recovering original signal information or content by processing multiple measurements of a set of mixed signals. More specifically the invention pertains to adaptive systems for recovering several original signals from received measurements of their mixtures. In order to understand the problem solved by the invention, and the approach of the prior art to solve this problem, the following problem statement is helpful: With reference to FIG. 1 of the attached drawings, consider N independent signals s 1 (t), . . . , and S N (t). These signals may represent any of, or a combination of, independent speakers or speeches, sounds, music, radio-based or light based wireless transmissions, electronic or optic communication signals, still images, videos, etc. These signals may be delayed and superimposed with one another by means of natural or synthetic mixing in the medium or environment through which they propagate. One consequently desires an architecture, framework, or device  20  that, upon receiving the delayed and superimposed signals, works to successfully separate the independent signal sources using a set of appropriate algorithms and procedures for their applications. 
     2. Discussion of Related Art 
     The recovery and separation of independent sources is a classic but difficult signal processing problem. The problem is complicated by the fact that in many practical situations, many relevant characteristics of both the signal sources and the mixing media are unknown. 
     Two main categories of methods are used: 
     1. Neurally inspired adaptive algorithms (e.g., U.S. Pat. Nos. 5,383,164 and 5.315,532), and 
     2. Conventional discrete signal processing (e.g., U.S. Pat. Nos. 5,208,786 and 5.539,832). 
     Neurally inspired adaptive arhitectures and algorithms follow a method originally proposed by J. Herault and C. Jutten, now called the Herault-Jutten (or HJ) algorithm. The suitability of this set of methods for CMOS integration have been recognized. However, the standard HJ algorithm is at best heuristic with suggested adaptation laws that have been shown to work mainly in special circumstances. The theory and analysis of prior work pertaining to the HJ algorithm are still not sufficient to support or guarantee the success encountered in experimental simulations. Herault and Jutten recognize these analytical deficiencies and they describe additional problems to be solved. Their proposed algorithm assumes a linear medium and filtering or no delays. Specifically, the original signals are assumed to be transferred by the medium via a matrix of unknown but constant coefficients. To summarize, the Herault-Jutten method (i) is restricted to the full rank and linear static mixing environments, (ii) requires matrix inversion operations, and (iii) does not take into account the presence of signal delays. In many practical applications, however, filtering and relative delays do occur. Accordingly, previous work fails to successfully separate signals in many practical situations and real world applications. 
     Conventional signal processing approaches to signal separation originate mostly in the discrete domain in the spirit of traditional digital signal processing methods and use the statistical properties of signals. Such signal separation methods employ computations that involve mostly discrete signal transforms and filter/transform function inversion. Statistical properties of the signals in the form of a set of cumulants are used to achieve separation of mixed signals where these cumulants are mathematically forced to approach zero. This constitutes the crux of the family of algorithms that search for the parameters of transfer functions that recover and separate the signals from one another. Calculating all possible cumulants, on the other hand, would be impractical and too time consuming for real time implementation. 
     The specifics of these methods are elaborated in these categories below. 
     1. Neurally Inspired Architectures and Algorithms for Signal Separation 
     These set of neurally inspired adaptive approaches to signal separation assume that the “statistically independent” signal vector S(t)=[s 1 (t), . . . , and s N (t)] T  is mixed to produce the signal vector M(t). The vector M(t) is received by the sensors (e.g, microphones, antenna, etc.). 
     Let the mixing environment be represented by the general (static or dynamic) operator ℑ. Then, 
     
       
           M ( t )=ℑ( S ( t ))  Equation (1) 
       
     
     There are several formulations that can be used to invert the mixing process, i.e., operator ℑ in a “blind” fashion where no apriori knowledge exists as to the nature or content of the mixing operator ℑ or the original sources S(t). We group these into two categories, static and dynamic. Additional distinctions can be made as to the nature of the employed adaptation criteria, e.g., information maximization, minimization of high order cumulants, etc. 
     1.1. The Static Case 
     The static case is limited to mixing by a constant nonsingular matrix. Let us assume that the “statistically independent” signal vector S(t)=[s 1 (t), . . . , and s N (t)] T  is mixed to produce the signal vector M(t). Specifically, let the mixing operator ℑ be represented by a constant matrix A, namely 
     
       
           M ( t )= AS ( t )  Equation (2) 
       
     
     In FIG. 2, two architectures that outline the modeling of the mixing and the separation environments and processes are shown. The architecture in FIG.  2 ( a ) necessarily computes the inverse of the constant mixing matrix A, which requires that A is invertible, i.e., A −1  exists. 
     The alternate architecture in FIG.  2 ( b ) does not impose this restriction in that upon convergence the off diagonal elements of the matrix D are exactly those of the off diagonal elements of the matrix A. In this case, however, diagonal elements of the matrix A are restricted to equal “1.0.” By setting the diagonal elements of D to zero, one essentially concludes that the mixing process is invertible even if the mixing matrix is not. 
     In both cases, S(t) is the set of unknown sources, M(t) is the set of mixtures, U(t) is the set of separated signals that estimate S(t), and Y(t) is the set of control signals used to update the parameters of the unmixing process. As shown in FIG. 2, the weight update utilizes a function of the output U(t). 
     In the first case, we labeled the unmixing matrix W, and in the second case we labeled it D. Note that D has zero diagonal entries. The update of the entries of these two matrices is defined by the criteria used for signal separation, discrimination or recovery, e.g., information maximization, minimization of higher order cumulants, etc. 
     As an example, one possible weight update rule for the case where 
     
       
           U ( t )= WM ( t )  Equation (3) 
       
     
     could be 
     
       
           {dot over (w)}   ij   =η[W   −T   +g ″( u )/ g ′( u ) M   T ] ij   Equation (4) 
       
     
     where η is sufficiently small, g is an odd function, and M is the set of mixtures, U is the set of outputs which estimate the source signals, subscript T denotes transpose, and −T denotes inverse of transpose. Note that the function g( ) plays an additional role in the update which can be related to the above diagram as 
     
       
           Y ( t )= g ( U ( t ))  Equation (5) 
       
     
     One uses Equation (4) to update the entries of W in Equation (3). Through this is an iterative update procedure, the entries of W converge so that the product WA is nearly equal to the identity matrix or a permutation of the identity matrix. 
     On the other hand, in the second case, one potentially useful rule for the update of the D matrix entries d ij  is generically described as 
     
       
           {dot over (d)}   ij   =ηf ( u   i ( t )) g ( u   j ( t ))  Equation (6) 
       
     
     where η is sufficiently small. In practice some useful functions for f(·) include a cubic function, and for g(·) include a hyperbolic tangent function. When using this procedure, one computationally solves for U(t) from Equation (7) below 
     
       
           U ( t )=[ I+D]   −1   M ( t )  Equation (7) 
       
     
     at each successive step and sample point. This computation is a potentially heavy burden, especially for high dimensional D. 
     1.2. The Dynamic Case 
     The dynamic mixing model accounts for more realistic mixing environments, defines such environment models and develops an update law to recover the original signals within this framework. 
     In the dynamic case, the matrix A is no longer a constant matrix. In reference to the feedback structure of the static example, it is simpler to view Equation (7) where U(t)=[I+D] −1 M(t) as an equation of the fast dynamic equation 
     
       
         τ {dot over (U)} ( t )=− U ( t )− DU ( t )+ M ( t )  Equation (8) 
       
     
     This facilitates the computation by initializing the differential equation in Equation (8) from an arbitrary guess. It is important however to ensure the separation of time scales between Equations (8) and the update procedure like the one defined by Equation (6). This may be ensured by making η in Equation (6) and τ in Equation (8) sufficiently small. 
     If we assume the dimensionality of M(t) is N, a set of differential equations that define the dynamic signal separation algorithm can be written as                    τ   i          u   i       =       -     u   i       -       ∑     j   ≠   i                         D   ij          u   i         +     m   i              
              for                 i     =   1     ,   ⋯   ,   N             Equation                   (   9   )                                  
     This enumerates N differential equations. In addition, the adaptation process for the entries of the matrix D can be defined by multiple criteria, e.g., the evaluation of functions f( ) and g( ) in Equation (6). FIG. 3 is a pictorial illustration of the dynamic model in feedback configuration. 
     Current methods outline little in the way of procedures for the application of adaptation criteria within the architectures defined thus far. Two implied procedures have been noted: 
     First is the application of the signal separation functions, adaptation procedures and criteria to arbitrary points of data—regardless of whether each of these points is practically and physically accessible or not. Thus, the adaptive separation procedure applies the adaptation functions and criteria to each element of the measured mixed signals individually and instantaneously, after which appropriate parameter updates are made. 
     The second type of procedure has been described in FIG.  2 ( a ) that uses Equation (3). In this case, the criteria is applied to the entire data set, or selected data points from the entire data set. Thus, the related adaptation process does not progress per sample, but utilizes the whole data set over which a constant, static mixing matrix is assumed to apply. Although this method is somewhat more robust than the first, it is essentially an off-line method not suitable for real time signal separation. Furthermore, when the assumption of a static constant matrix is incorrect, the accuracy of the unmixing process suffers. 
     1.3. Feedforward State Space 
     The architecture is shown in FIG.  7 . Let the n-dimensional source signal vector be s, and the m-dimensional measurement vector be M. The mixing environment may be described by the Linear Time-Invariant (LTI) state space: 
     
       
           {dot over ({overscore (X)})}={overscore (A)}{overscore (X)}+{overscore (B)}sM={overscore (C)}{overscore (X)}+{overscore (D)}s   Equation (10) 
       
     
     The parameter matrices {overscore (A)}, {overscore (B)}, {overscore (C)} and {overscore (D)} are of compatible dimensions. This formulation encompasses both continuous-time and discrete-time dynamics The dot on the state {overscore (X)} means derivative for continuous-time dynamics, it however means “advance” for discrete-time dynamics. The mixing environment is assumed to be (asymptotically) stable, i.e., the matrix {overscore (A)} has its eigenvalues in the left half complex plane. The (adaptive) network is proposed to be of the form 
     
       
           {dot over (X)}=AX+BMy=CX+DM,   Equation (11) 
       
     
     where y is the n-dimensional output, X is the internal state, and the parameter matrices are of compatible dimensions. For simplicity, assume that X has the same dimensions as {overscore (X)}. FIG.(7) depicts the feedforward form of this framework. 
     The first question is the following: Does there exist parameter matrices A, B, C, and D which would recover the original signals? The answer now follows. 
     Existence of Solutions to the Recovery Problem 
     We state that the (adaptive) dynamic network would be able to counter act the mixing environment, if the network parameters are set at (or attain via an adaptive scheme) the following values: 
     
       
           A=A*=T ( {overscore (A)}−{overscore (B)}[D]{overscore (C)} ) T   −1   Equation (12) 
       
     
     
       
           B=B*=T{overscore (B)}[D]   Equation (13) 
       
     
     
       
           C=C*=−[D]{overscore (C)}T   −1   Equation (14) 
       
     
     
       
           D=D*=[D]   Equation (15) 
       
     
     where [D] equals 
     D −1 : the inverse of D, if m=n, 
     ({overscore (D)} T {overscore (D)}) −1 D −T ; a pseudo-inverse, if m&gt;n, and 
     D −T ({overscore (DD)} T ) −1 : a pseudo-inverse if m&lt;n. 
     The matrices A*, B*, and C* can take on a family of values due to the nonsingular state-equivalent transformation T. We shall use T to render the network architecture “canonical” or simple from a realization view point. This formulation in effect generalizes the formulations in the literature, which are limited to FIR filters, predominantly for 2-dimensional sources and two measurements, into general n-dimensional sources, and m-dimensional measurements. Note that, this modeling includes the FIR filtering models, and extends to IIR filtering if A is nonzero. 
     While this feedforward form for the adaptive network is viable, we note a limitation for its applicability, namely, that the parameters of the mixing environment have to be such that the matrix A* is (asymptotically) stable. That is, for a stable mixing environment, the composite matrix of the adaptive network 
     
       
           A*={overscore (A)}−{overscore (B)}[D]{overscore (C)}   Equation (16) 
       
     
     must be (asymptotically) stable, i.e., has its eigenvalues in the left half complex plane. It is apparent that this requirement places a limiting condition on the allowable mixing environments which may exclude certain class of applications! 
     2. The Transfer Function Based Approach to Signal Separation 
     The representation of signal mixing and separation by transfer functions makes this approach a dynamic environment model and method. 
     Current methods thus define a structure for separating two signals by processing two mixture measurements, which was illustrated in FIG.  4 . 
     Other architectures for the separation functions in the transfer function domain results in three serious shortfalls which are all impediments to the design and implementation of a practical method and apparatus. First, this formulation, as expressed, precludes the generalization of the separation procedure to higher dimensions, where the dimensionality of the problem exceeds two. In other words, a practical formalization of the separation method does not exist when there are more than two mixtures and two sources. One can illustrate this by direct reference to other approaches, where matrix multiplication terms are written out, so that each scalar equation defines one of the entries of the resulting product matrix desired to be equal to zero. Since permutations of a diagonal matrix are also allowed, multiple sets of equations are created. For a two mixture problem, this results in two pairs (four total) of equations, each with two product terms. Beyond that the number of equations increases. To be precise the number of equations needed to describe the number of equations for a specific permutation of the N dimensional case is equal to (N 2 −N). For the two dimensional problem this value is 2. 
     Second, the inversion procedure for the transfer function is ad hoc and no recipe or teaching exists. The impact of dimensionality plays a crucial role in this. It is apparent from the method that the resulting architecture gives rise to networks requiring transfer components whose order is dependent on products of the transfer components of the mixing environment. Thus, one can not design a network architecture with a fixed order. 
     Third, the initial conditions can not be defined since the formulation is not in the time domain and can not be initialized with arbitrary initial conditions. Hence, the method is not suitable for real time or on line signal separation. 
     SUMMARY OF THE INVENTION 
     The present invention describes a signal processing system for separating a plurality of input signals into a plurality of output signals, the input signals being composed of a function of a plurality of source signals being associated with a plurality of sources, the output signals estimating the source signals or functions of source signals. The system comprises a plurality of sensors for detecting the input signals, an architecture processor for defining and computing a signal separation method, the signal separation method delimiting a signal separation architecture for computing the output signals, and an output processor for computing the output signals based on the signal separation method or architecture. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG.  1 . Signal separation, discrimination and recovery problem statement. 
     FIG.  2 . Architecture of the signal separation and recovery network in case of static mixing by matrix A. U(t) is the output which approximates the original source signals s(t). Y(t) contain the values that are used in updating the parameters of the unmixing processes, i.e., W in (a) and D in (b). 
     FIG.  2 ( a ). A static neural network structure for signal separation. U(t) approximates S(t). Y(t) is used for weight update of the network. 
     FIG.  2 ( b ) An alternate static neural network structure for signal separation. U(t) approximates S(t). Y(t) is used for weight update of the feedback network. 
     FIG.  3 . Architecture of the signal separation and recovery network in case of feedback dynamic mixing and separation models. U(t) approximates S(t). The function g defines the criteria used for weight update of the feedback network. 
     FIG.  4 . (a) Conventional transfer function representation for signal mixing and separation for a two signal system. The two signals U 1  and U 2  approximate S 1  and S 2 . G inverts the mixing process modeled as H. (b) The method is described only in two dimensions. The computation procedure and is neither practical nor extendible in the case of higher dimensional signals. Furthermore, the extension of the mixing environment to transfer function domain has also eliminated the time domain nature of the signals. This also causes the exclusion of the initial conditions from the set of equations. 
     FIG.  5 . Two mixing models for the state space time domain architecture. (a) General framework. (b) Special case where {overscore (A)} and {overscore (B)} are fixed, and its relation to conventional signal processing. Both models apply to multiple types of separation architectures. 
     FIG.  6 . Signal separation model for the state space time domain architecture. (a) General model and architecture. (b) Special case, only the model is shown without the arrows in (a) which depict parameter update procedures. 
     FIG.  7 . Feedforward state space architecture. 
     FIG.  8 . Feedback state space architecture. 
     FIGS.  9 . ( a ) Flowchart of the method of the present invention. ( b ) DSP implementation architecture. AID stands for analog to digital conversion, and D/A for digital to analog conversion. The internals of the DSP may include a variety of functional units as shown below. Different configurations are possible depending on the nature of the application, number of mixtures, desired accuracy, etc. 
     FIG.  10 . Audio application based on the signal separation and recovery procedures of this invention. Audio signals are converted electrical signals by the elements of the microphone array. Each element of the microphone array receives a different version (or mixture) of the sounds in the environment. Different arrangements of microphone elements can be designed depending on the nature of the application, number of mixtures, desired accuracy, and other relevant criteria. Following some signal conditioning and filtering, these mixture signals are converted from analog format to digital format, so that they can be stored and processed. The digital signal processor of the system is programmed in accordance with the procedures for signal separation and recovery procedures of this invention. The internals of the DSP may include a variety of functional units for various arithmetic and logic operations, and digital representation, data storage and retrieval means to achieve optimum performance. Circuits and structures shown in figure may undergo further integration towards realization of the whole system on a single to chip. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention seeks to recover and separate mixed signals transmitted through various media wherein the separation of signals is of such high quality as to substantially increase (i) the signal carrying capacity of the medium or channel, (ii) the quality of the received signal, or (iii) both. The media or channels may include a combination of wires, cables, fiber optics, wireless radio or light based frequencies or bands, as well as a combination of solid, liquid, gas particles, or vacuum. 
     The present invention also seeks to separate mixed signals through media or channel wherein a high quality of signal separation is achieved by hardware currently available or produceable by state of the art techniques. 
     The system of this invention introduces a set of generalized frameworks superior to the described preexisting approaches for coping with a range of circumstances unaddressed to date. Specifically, the feedback state space architecture shown in FIG.  8  and its continuous and discrete renditions are described. Moreover, the architecture is mapped onto a set of adaptive filters in both FIR and IIR form, commonly used by those skilled in the art of digital signal processing. In addition, many functions and procedures for the adaptive computation of parameters pertinent to the architectures of this invention are outlined. Both the architectures and the procedures for adaptive computation of parameters are designed for achieving on-line real time signal separation, discrimination and recovery. The most practically pertinent shortfalls of many other techniques, namely the failure to account for multiple or unknown number of signals in the mixing, noise generation, changing mixing conditions, varying signal strength and quality, and some nonlinear phenomena are addressed by the formulations of this invention. The invented method overcomes the deficiencies of other methods by extending the formulation of the problem to include two new sets of architectures and frameworks, as well as a variety of parameter adaptation criteria and procedures designed for separating and recovering signals from mixtures. 
     Introduction 
     This invention presents a framework that addresses the blind signal separation and recovery (or de-convolution) in dynamic environments. The original work was motivated by the work of Herault and Jutten and Comon. Most of the recent results have focused primary on establishing analytical foundation of the results reported by Herault, Jutten and Kullback. Several researchers have used a host of analytical tools that include applied mathematics, statistical signal processing, system theory, dynamical systems and neural networks. The challenge still exists in generalizing the environment to more general dynamic systems. 
     Several theoretical results and formulations address the blind separation and recovery of signals in dynamic environments. We consider state space dynamic models to represent the mixing environment and consequently the adaptive network used to perform the signal separation and recovery. We employ dynamic models which are easily, and directly, adapted to discrete as well as continuous time channels. The presented environment model and the adaptive network allow for the case when the mixing environment includes (state) feedback and memory. The feedback of the state/output corresponds to Infinite Impulse Response (IIR) filtering in the discrete-time case, where as the feedforward corresponds to the FIR formulation. 
     The emphasis of our method is in developing the network architecture, and the improved convergent algorithms, with a view towards efficient implementations. An improved approximation of the (nonlinear) mutual information/entropy function is used in order to ensure whitening and also to eliminate the assumption of output unit covariance. The improved expansion produces an odd polynomial in the network outputs which includes a linear term, as well as higher order terms—all absent from the expansion in other methods. It should be noted however, that some work has addressed only the static case where the mixing environment is represented by a constant matrix. Specifically, a formulation for an FIR filter was also converted into a static matrix mixing problem. 
     Method Summary 
     FIG.  9 ( a ) shows a process flow diagram of a method of the present invention. This includes (1) obtaining samples, (2) pre-processing of the samples. (3) computing outputs using the present value of the states or adaptive parameters, (4) computing adaptive parameters, (5) computing internal states, and storing and/or presenting of outputs. 
     Obtaining samples includes obtaining the multi channel data recorded through multiple sensors, e.g., microphones. Such data could also come from previously recorded outputs of said multiple sensors or mixtures thereof, e.g., mixed tracks of sounds. Data can be sampled on line for a real time or near real time process, or be recalled from a storage or recording media, e.g., tape, hard disk drive, etc. 
     Preprocessing of the samples include various processing techniques for manipulation of the obtained samples, including but not limited to up or down sampling to vary the effective sampling rate of data, application of various frequency filters, e.g., low, high, or band pass filters, or notch filters, linear or nonlinear operations between sensor outputs of the present or previous samples, e.g., weighted sum of two or more sensors, buffering, random, pseudorandom or deterministic selection and buffering, windowing of sampled data or functions of sampled data, and various linear and nonlinear transforms of the sampled data. 
     Computing outputs uses the states and parameters computed earlier. It is also possible delay this step until after the computation of adaptive parameters or after the computation of the internal states, or both. Moreover, alternately, outputs could be computed twice per sample set. 
     Computing of adaptive parameters may involve a method or multiple methods which use the derivatives of a function to compute the value of the function, the function defining the constraints imposed on the adaptive parameters. One or more such constraints can be used. A variety of methods and criteria specifically for computation of adaptive parameters are outlined in the present invention. 
     Computing of internal states involves invoking the structure of the architecture, along with the current or available values of adaptive parameters. The internal states may be in the form of a vector of states, scalar states, their samples in time, or their derivatives. The particular architecture defines the number of states. 
     Dynamic Architectures 
     Dynamic models encompass and describe more realistic environments. Both feedforward and feedback architectures of the state space approach can be implemented. Feedforward linear state space architecture was listed above. Throughout this description, we shall refer to the mathematical model for signal mixing as the mixing environment, while we refer to the mathematical model for the signal recovery as the (adaptive) network. 
     The method of this invention extends the environment to include more realistic models beyond a constant matrix, and develops successful update laws. A crucial first step is to include dynamic linear systems of the state space which are more general than FIR filters and transfer functions due to the inclusion of feedback and variations in initial conditions. Moreover, these models lend themselves to direct extension to nonlinear models. Another motivation of this work is to enable eventual implementation in analog or mixed mode micro-electronics. 
     The formulation addresses the feedback dynamic structures, where the environment is represented by a suitable realization of a dynamic linear system. 
     The Feedforward Linear Structure 
     The feedforward state space architecture was described in the introduction section and illustrated in FIG.  7 . 
     The Feedback Linear Structures 
     A more effective architecture than its feedforward precursor is the so-called (output) feedback network architecture, see FIG.  8 . This architecture leads to less restrictive conditions on the network parameters. Also, because of feedback, it inherits several known attractive properties of feedback systems including, robustness to errors and disturbances, stability, and increased bandwidth. These gains will become apparent from the following equations 
     Existence of Solutions to the Recovery Problem 
     If y is to converge to a solution proportional (via a permutation matrix P) to s, namely, y=Ps, then, the following parameter matrices of the (adaptive) network will constitute a solution that recovers the original signals: 
     
       
         
           A=A*=T{overscore (A)}T 
           −1 
         
       
     
     
       
         
           B=B*=T{overscore (B)}P 
           −1 
         
       
     
     
       
         
           C=C*={overscore (C)}T 
           −1 
         
       
     
     
       
         
           D=D*={overscore (D)}P 
           −1 
           −H 
         
       
     
     In addition to the expected desired properties of having feedback in the architecture of the network, we also achieve simplicity of solutions to the separation/recovery of signals. In this case, the architecture is not introducing additional constraints on the network. Note that H in the forward path of the network may in general represent a matrix in the simplest case, or a transfer function of a dynamic model. Furthermore, in the event that m=n, H may be chosen to be the identity matrix. 
     The elements of the procedure and its advantages are now apparent. Further generalizations of the procedures for developing the architectures can also account for non-minimum phase mixing environments. These steps are straightforward application of the above procedure and hence will not be elaborated upon. 
     An important generalization is to include nonlinearity as part of the architecture—explicitly. One model is to include nonlinearity as a static mapping of the measurement variable M(t). In this event, the adaptive network needs to include a compensating nonlinearity at its input stage. Thus, the input must include an “inverse-type” nonlinearity to counter act the measurement prior to further processing. This type of mixing environment is encountered in wireless applications that include satellite platforms. 
     The dynamic architecture defined in this proper way ensures that a solution to the blind signal separation does exist. We now move to the next step of defining the proper adaptive procedure/algorithm which would enable the network to converge to one of its possible solutions. Consequently, after convergence, the network will retain the variable for signal processing/recovery. 
     Discrete State Space Representation and Specialization to Discrete-time IIR and FIR Filters 
     Performance Measure/Functional 
     The mutual information of a random vector y is a measure of dependence among its components and is defined as follows: 
     In the Continuous Case:          L        (   y   )       =       ∫     y   ∈   Y                p   1          (   y   )          ln                            p   y          (   y   )           ∏     j   =   1       j   =   r                         p   y          (     y   j     )                                   y                                
     In the Discrete Case:          L        (   y   )       =       ∑     y   ∈   Y                p   y          (   y   )          ln                            p   y          (   y   )           ∏     j   =   1       j   =   r                         p   y          (     y   j     )                                           
     An Approximation of the Discrete Case:          L        (   y   )       ≅       ∑     k   =     k   0         k   1                           p   y     (     y        (   k   )       )                   ln                            p   y          (     y        (   k   )       )           ∏     j   =   1       j   =   r                         p   y     (       y   j          (   k   )       )                                         
     where p y (y) is the probability density function (pdf) of the random vector y, whereas p y     j   (y j ) is the probabilty density of the j-th component of the output vector v. The functional L(y) is always non-negative and is zero if and only if the components of the random vector y are statistically independent. This important measure defines the degree of dependence among the components of the signal vector. Therefore, it represents an appropriate functional for characterizing (the degree of) statistical independence. L(y) can be expressed in terms of the entropy          L        (   y   )       =       -     H        (   y   )         +       ∑   i                     H        (     y   i     )                                  
     where H(y):=−E[ln f y ], is the entropy of y, and E[·] denotes the expected value. 
     The General Nonlinear Discrete Time Non-stationary Dynamic Case 
     The Environment Model 
     Let the environment be modeled as the following nonlinear discrete-time dynamic (forward) processing model: 
       X   p ( k +1)= f   p   k ( X   p ( k ), s ( k ), w   1 *) 
     
       
           m ( k )= g   p   k ( X   p ( k ), s ( k ), w   2 *) 
       
     
     where s(k) is an n-dimensional vector of original sources, m(k) is the m-dimensional vector of measurements, X p (k) is the N p -dimensional state vector. The vector (or matrix) w 1 * represents constant/parameter of the dynamic equation, and w 2 * represents constant/parameter of the “output” equation. The functions f p (·) and g p (·) are differentiable. It is also assumed that existence and uniqueness of solutions of the differential equation are satisfied for each set of initial conditions X p (t 0 ) and a given waveform vector s(k). 
     The Processing Networks 
     The (processing) network may be represented by a dynamic (forward) network or a dynamic feedback network. 
     The Feedforward Network is 
     
       
           X ( k +1)= f   k ( X ( k ), m (k), w 1) 
       
     
     
       
           y ( k )= g   k ( X ( k ), m (k), w 2) 
       
     
     where k is the index, m(k) is the m-dimensional measurement, y(k) is the r-dimensional output vector, X(k) is the N-dimensional state vector. (Note that N and N p  may be different.) The vector (or matrix) w 1  represents the parameter of the dynamic equation, and w 2  represents the parameter of the “output” equation. The functions f(·) and g(·) are differentiable. It is also assumed that existence and uniqueness of solutions of the differential equation are satisfied for each set of initial conditions X(t 0 ) and a given measurement waveform vector m(k). 
     Update Law for the Discrete-time Dynamic Network: General Nonlinear Case 
     The update law is now developed for dynamic environments to recover the original signals. The environment here is modeled as a linear dynamical system. Consequently, the network will also be modeled as a linear dynamical system. 
     The network is a feedforward dynamical system. In this case, one defines the performance index            J   0          (       w   1     ,     w   2       )       =       ∑     k   =     k   0           k   1     -   1                         L   k          (     y   k     )                                
     subject to the discrete-time nonlinear dynamic network 
     
       
           X   k+1   =f   k ( X   k   ,m   k   ,w   1 ),  X   k     0     
       
     
     
       
           y   k   =g   k ( X   k   ,m   k   ,w   2 ) 
       
     
     It noted that this form of a general nonlinear time varying discrete dynamic model includes both the special architectures of multilayered recurrent and feedforward neural networks with any size and any number of layers. It is more compact, mathematically, to discuss this general case but its direct and straightforward specialization to feedforward and recurrent (feedback) models is strongly noted. 
     Then, the augmented cost function to be optimized becomes            J   0   ′          (       w   1     ,     w   2       )       =         ∑     k   =     k   0           k   1     -   1                         L   k          (     y   k     )         +       λ     λ   +   1     T          (         f   k          (       X   k     ,     m   k     ,     w   1       )       -     X     k   +   1         )                                
     The Hamiltonian is then defined as 
     
       
           H   k   =L   k ( y ( k ))+λ k+1   T   f   k ( X,m,w   1 ) 
       
     
     Consequently, the sufficient conditions for optimality are:                X     k   +   1       =                    ∂     H   k         ∂     λ     k   +   1           =       f   k          (       X   k     ,     m   k     ,     w   1       )                       λ   k     =                    ∂     H   k         ∂     X   k         =           (     f     X   k     k     )     T          λ     k   +   1         +       ∂     L   k         ∂     X   k                           Δ                   w   1       =                    -   η                       ∂     H   k         ∂     w   1           =       -   η                       (     f     w   1     k     )     T          λ     k   +   1                         Δ                   w   2       =                    -   η                       ∂     H   k         ∂     w   2           =       -   η                       ∂     L   k         ∂     w   2                                          
     The boundary conditions are as follows: the first equation, the state equation, uses an initial condition, while the second equation, the co-state equation, uses a final condition equal to zero. The parameter equations use initial values with small norm which may be chosen randomly or from a given set. 
     General Discrete Linear Dynamic Case 
     Environment 
     
       
           {overscore (X)}   p ( k +1)= {overscore (A)}{overscore (X)}   p ( k )+ {overscore (B)}s ( k ) 
       
     
     
       
           m ( k )= {overscore (C)}{overscore (X)}   p ( k )+ {overscore (D)}s ( k ) 
       
     
     Feedforward Network 
     
       
           X ( k +1)= AX ( k )+ Bm ( k ) 
       
     
     
       
           y ( k )= CX ( k )+ Dm ( k ) 
       
     
     The first question is the following: Does there exist parameter matrices of the processing network which would recover the original signals? The answer is yes, the explicit solutions of the parameters are given next. 
     Existence of Solution to the Recovery Problem 
     The Update Law for the Linear Dynamic Case                X     k   +   1       =                    ∂     H   k         ∂     λ     k   +   1           =         f   k          (     X   ,     m   ·     w   1         )       =       AX   k     +     Bm   k                         λ   k     =                    ∂     H   k         ∂     X   k         =             (     f     X   k     k     )     T          λ     k   +   1         +       ∂     L   k         ∂     X   k           =         A   k   T          λ   k       +       C   k   T            ∂     L   k         ∂     y   k                               Δ                 A     =                    -   η                       ∂     H   k         ∂   A         =         -   η                       (     f   A   k     )     T          λ     k   +   1         =       -     λ     k   +   1              X   k   T                         Δ                 B     =                    -   η                       ∂     H   k         ∂   B         =         -   η                       (     f   B   k     )     T          λ     k   +   1         =       -     λ     k   +   1              m   k   T                         Δ                 D     =                    -   η                       ∂     H   k         ∂   D         =         -   η                       ∂     L   k         ∂   D         =     η   (         [   D   ]       -   T       -         f   a          (   y   )            m   T         )                       Δ                 C     =                    -   η                       ∂     H   k         ∂   C         =         -   η                       ∂     L   k         ∂   C         =     η        (       -       f   α          (   y   )              X   T       )                                        
     Specialization to IIR and FIR Filters 
     The general discrete-time linear dynamics of the network are given as: 
     
       
           X ( k +1)= AX ( k )+ Bm ( k ) 
       
     
     
       
           y ( k )= CX ( k )+ Dm ( k ) 
       
     
     where m(k) is the m-dimensional vector of measurements, y(k) is the n-dimensional vector of (processed) outputs, and X(k) is the (mL) dimensional states (representing filtered versions of the measurements in this case). One may view the state vector as composed of he L m-dimensional state vectors X 1 , X 2 , . . . , X L . That is,          X   k     =       X        (   k   )       =     [                        X   1          (   k   )                   X   2          (   k   )               …               X   L          (   k   )                        ]                              
     Special Case: 
     Consider the case where the matrices and A and B are in the “controllable canonical form.” We represent the A and B block matrices as,          A   =     [                      A   11           A   12         …         A     1      L               I       0       …       0           …       I       …       0           0       0       I       0                    ]       ,                  and                 B     =     [                    I           0           …           0                    ]                              
     where each block sub-matrix A tj  may be simplified to a diagonal matrix, and each I is a block identity matrix with appropriate dimensions. 
     Then,                  X   1          (     k   +   1     )       =                    ∑     j   =   1     L                       A     1      j              X   j          (   k   )           +     m        (   k   )                         X   2          (     k   +   1     )       =                  X   1          (   k   )                 …                 X   L          (     k   +   1     )       =                  X     L   -   1            (   k   )                     y        (   k   )       =                    ∑     j   =   1     L                       C   j            X   j          (   k   )           +     Dm        (   k   )                                      
     This model represents an IIR filtering structure of the measurement vector m(k). In the event that the block matrices A ti  are zero, then the model is reduced to the special case of an FIR filter. 
       X   1 ( k +1)= m ( k ) 
     
       
           X   2 ( k +1)= X   1 ( k ) 
       
     
     
       
         . . . 
       
     
     
       
           X   L ( k +1)= X   L−1 ( k )  
       
       
         
           
             
               y 
                
               
                 ( 
                 k 
                 ) 
               
             
             = 
             
               
                 
                   ∑ 
                   
                     j 
                     = 
                     1 
                   
                   L 
                 
                  
                 
                     
                 
                  
                 
                   
                     C 
                     j 
                   
                    
                   
                     
                       X 
                       i 
                     
                      
                     
                       ( 
                       k 
                       ) 
                     
                   
                 
               
               + 
               
                 Dm 
                  
                 
                   ( 
                   k 
                   ) 
                 
               
             
           
         
                 
         
             
         
      
     
     The equations may be re-written in the well-known FIR form 
     
       
           X   1 ( k )= m ( k −1) 
       
     
     
       
           X   2 ( k )= X   1 ( k −1)= m ( k −2) 
       
     
     
       
         . . . 
       
     
     
       
           X   L ( k )= X   L−1 ( k −1)= m ( k−L )  
       
       
         
           
             
               y 
                
               
                 ( 
                 k 
                 ) 
               
             
             = 
             
               
                 
                   ∑ 
                   
                     j 
                     = 
                     1 
                   
                   L 
                 
                  
                 
                     
                 
                  
                 
                   
                     C 
                     i 
                   
                    
                   
                     
                       X 
                       j 
                     
                      
                     
                       ( 
                       k 
                       ) 
                     
                   
                 
               
               + 
               
                 Dm 
                  
                 
                   ( 
                   k 
                   ) 
                 
               
             
           
         
                 
         
             
         
      
     
     This last equation relates the measured signal m(k) and its delayed versions represented by X j (k), to the output y(k). 
     Special Canonical Representation Cases: 
     The matrices A and B are best represented in the “controllable canonical forms” or the form I format. That B is constant and A has only the first block rows as parameters in the IIR network case. In that event, No update equation for the matrix B are used. While for the matrix A only the first block rows are updated. Thus the update law for the matrix A is limited to          Δ                   A     1      i         =         -   η                       ∂     H   k         ∂     A     1      i             =         -       (     η        (     f     A     1      i       k     )       )     T            λ     k   +   1         =       -   η                       λ   1          (     k   +   1     )              X   i   T          (   k   )                                    
     Noting the form of the matrix A, the co-state equations can be expanded as                  λ   1          (   k   )       =                    λ   2          (     k   +   1     )       +       C   1   T            ∂     L   k         ∂     y   k              (   k   )                         λ   2          (   k   )       =                    λ   3          (     k   +   1     )       +       C   2   T            ∂     L   k         ∂     y   k              (   k   )                   ⋮                 λ   L          (   k   )       =                  C   L   T            ∂     L   k         ∂     y   k              (   k   )                       λ   1          (     k   +   1     )       =                  ∑     l   =   1     L                       C   l   T            ∂     L   k         ∂     y   k              (     k   +   l     )                                      
     Therefore, the update law for the block sub-matrices in A are:          Δ                   A     1      j         =         -   η            ∂     H   k         ∂     A     1      j             =         -   η                       λ   1          (     k   +   1     )              X   j   T          (   k   )         =       -   η            ∑     l   =   1     L                       C   l   T            ∂     L   k         ∂     y   k              (     k   +   l     )                     X   j   T                                      
     The [D] −T  represents the transpose of the pseudo-inverse of the D matrix. The update laws for the matrices D and C can be elaborated upon as follows: 
     
       
         Δ D =η([ D]   −T   −f   α ( y ) m   T )=η( I−f   α ( y )( Dm ) T )[ D]   −T   
       
     
     where I is a matrix composed of the r×r identity matrix augmented by additional zero row (if n&gt;r) or additional zero columns (if n&lt;r). In light of considering the “natural gradient,” an alternate update law in this case is 
     
       
         Δ D =η([ D]   −T   −f   α ( y ) m   T ) D   T   D =η( I−f   α ( y )( Dm ) T ) D   
       
     
     For the C matrix, the update equations can be written for each block matrix as follows:          Δ                   C   j       =         -   η            ∂     H   k         ∂     C   j           =         -   η            ∂     L   k         ∂     C   i           =     η        (       -       f   α          (   y   )              X   i   T       )                                  
     If one reduces the state space by eliminating the internal state, one reduces the system to a static environment where 
     
       
           m ( t )= {overscore (D)}S ( t ) 
       
     
     In discrete notation it is defined by 
     
       
           m ( k )= {overscore (D)}S ( k ) 
       
     
     Two types of (discrete) networks have been described for separation of statically mixed signals. These are the feedforward network where the separated signals y(k) are 
     
       
           y ( k )= WM ( k ) 
       
     
     and feedback network where y(k) is defined as 
     
       
           y ( k )= m ( k )− Dy ( k ) 
       
     
     
       
           y ( k )=( I+D ) −1   m ( k ) 
       
     
     Discrete update laws suggested for these are as follows 
     In case of the feedforward network, 
     
       
           W   t+1   =W   t   +μ{−f ( y ( k )) g   T ( y ( k ))+∝ I}   
       
     
     and in case of the feedback network, 
     
       
           D   t+1   =D   t   +μ{f ( y ( k )) g   T ( y ( k ))−∝ I}   
       
     
     where (∝I) may be replaced by time windowed averages of the diagonals of the f(y(k))g T (y(k)) matrix. 
     Note: One may also use multiplicative weights in the update. The following “dynamic” FIR models can demonstrate analogous update law modifications. 
     Environment Model: 
     In an FIR, single delay case, the mixed samples m(k) are defined by the equation          m        (   k   )       =             D   _     0          S        (   k   )         +       D   1          S        (     k   -   1     )           =       ∑     i   =   0     1                         D   _     i          S        (     k   -   i     )                                    
     Separating Feedforward Network Model 
     This network produces approximated source signals y(k) defined by          y        (   k   )       =       ∑     j   =   1     L                       W   j          M        (     k   -   j     )                                  
     Using the update laws for matrices W 0  to W L  as follows: 
     
       
         Δ W   0 =μ 0   {∝I−f ( y ( k )) g ( y ( k )) T } 
       
     
     
       
         Δ W   1 =−μ 1   {f ( y ( k )) g ( y ( k −1)} T   
       
     
     or 
     
       
         Δ W   1 =−μ t2   {f ( y ( k )) g ( y ( k −1)) T   +γf ( y ( k −1)) g ( y ( k ) T   
       
       
         
           
             
               
                 Δ 
                  
                 
                     
                 
                  
                 
                   W 
                   L 
                 
               
               = 
               
                 
                   - 
                   
                     μ 
                     L 
                   
                 
                  
                 
                   { 
                   
                     
                       f 
                        
                       
                         ( 
                         
                           y 
                            
                           
                             ( 
                             k 
                             ) 
                           
                         
                         ) 
                       
                     
                      
                     
                       [ 
                       
                         
                           ∑ 
                           
                             l 
                             = 
                             1 
                           
                           L 
                         
                          
                         
                             
                         
                          
                         
                           g 
                            
                           
                             ( 
                             
                               
                                 y 
                                  
                                 
                                   ( 
                                   
                                     k 
                                     - 
                                     l 
                                   
                                   ) 
                                 
                               
                               T 
                             
                             ) 
                           
                         
                       
                       ] 
                     
                   
                   } 
                 
                  
                 
                     
                 
                  
                 or 
               
             
              
             
                 
             
           
         
         
           
             
               Δ 
                
               
                   
               
                
               
                 W 
                 L 
               
             
             = 
             
               
                 - 
                 
                   μ 
                   L 
                 
               
                
               
                 { 
                 
                   
                     
                       f 
                        
                       
                         ( 
                         
                           y 
                            
                           
                             ( 
                             k 
                             ) 
                           
                         
                         ) 
                       
                     
                      
                     
                       [ 
                       
                         
                           ∑ 
                           
                             l 
                             = 
                             1 
                           
                           L 
                         
                          
                         
                             
                         
                          
                         
                           
                             g 
                              
                             
                               ( 
                               
                                 y 
                                  
                                 
                                   ( 
                                   
                                     k 
                                     - 
                                     l 
                                   
                                   ) 
                                 
                               
                               ) 
                             
                           
                           T 
                         
                       
                       ] 
                     
                   
                   + 
                   
                     
                       γ 
                        
                       
                         [ 
                         
                           
                             ∑ 
                             
                               l 
                               = 
                               1 
                             
                             L 
                           
                            
                           
                               
                           
                            
                           
                             f 
                              
                             
                               ( 
                               
                                 y 
                                  
                                 
                                   ( 
                                   
                                     k 
                                     - 
                                     l 
                                   
                                   ) 
                                 
                               
                               ) 
                             
                           
                         
                         ] 
                       
                     
                      
                     
                       g 
                       ( 
                       
                         
                           y 
                            
                           
                             ( 
                             k 
                             ) 
                           
                         
                         T 
                       
                       } 
                     
                   
                 
               
             
           
         
                 
         
             
         
      
     
     A specific update can be performed simply by means of adding the rate of change ΔW to W as 
     
       
         
           W 
           t+1 
           =W 
           t 
           +ΔW 
         
       
     
     or by another known integration method for computing values of variables from their derivatives. 
     Continuous Time Models 
     This invention introduces a set of update laws and links minimization of mutual information and the information maximization of the output entropy function of a nonlinear neural network, specifically in relation to techniques for blind separation, discrimination and recovery of mixed signals. The system of the invention enables the adaptive blind separation and recovery of several unknown signals mixed together in changing interference environments with very minimal assumption on the original signals. 
     In the previous section, discrete time models were developed. This section deals primarily with continuous time derivations. These continuous system derivations parallel those in the discrete case and described here to complement the continuous time models. It is noted that continuous time and discrete time derivations in the content of this invention for the large part are analogous of each other. Updates laws of one domain can also be converted to update laws of the other domain by those skilled in the art. 
     Performance Measure/Functional 
     The mutual information of a random vector y is a measure of dependence among its components and is defined as follows: 
     In the continuous case:          L        (   y   )       =       ∫     y   ∈   Y                p   y          (   y   )          ln                 p   y          (   y   )           ∏     j   =   1       j   =   r                         p     y   j            (     y   j     )                                   y                                
     In the discrete case:          L        (   y   )       =       ∑     y   ∈   Y     k                       p   y          (   y   )                   ln                            p   y          (   y   )           ∏     j   =   1       j   =   r                         p     y   j            (     y   j     )                                           
     An Approximation of the Discrete Case:          L        (   y   )       ≅       ∑     k   =     k   0       k                         p   y          (     y        (   k   )       )          ln                 p   y          (     y        (   k   )       )           ∏     j   =   1       j   =   r                         p     y   j            (       y   j          (   k   )       )                                           
     where p y (y) is the probability density function (pdf) of the random vector y, whereas p y (y j ) is the probabilty density of the j-th component of the output vector y. The functional L(y) is always non-negative and is zero if and only if the components of the random vector y are statistically independent. This important measure defines the degree of dependence among the components of the signal vector. Therefore, it represents an appropriate functional for characterizing (the degree of) statistical independence. L(y) can be expressed in terms of the entropy          L        (   y   )       =       -     H        (   y   )         +       ∑   i                     H        (     y   i     )                                  
     where H(y):=−E[ln f y ], is the entropy of y, and E[·] denotes the expected value. 
     Derivation of the Update Law 
     Assume a linear feedforward structure of the neural network as shown below.                           
     Then the probability density functions fo the (random vector) output and the mixed input variables are related as The mutual information of a random vector y is a measure of independence among its components and can be defined as:            f   y          (   u   )       =           f   m          (   u   )            W          .                            
     Thus,          L        (   y   )       =       -     H        (   y   )         +       ∑   i                     H        (     y   i     )                                  
     can be written as          L        (   y   )       =       -     H        (   M   )         -     ln           W          +       ∑   i                     H        (     y   i     )                                  
     To optimize (actually, minimize) L(y) as a function of W, knowledge (or approximation) of only the marginal entropies is required. Such information is not available, by hypothesis, and thus one needs to approximate these quantities in order to minimize L(y). Comon and Amari et, al. used respectively an Edgeworth and a Charlier-Gram expansion of the pdf&#39;s to approximate the marginal entropies. The approximation produces: 
       L ( y ):=Ø( M,y,W ) 
     the derivations lead to the following gradient update rule 
     
       
           {dot over (W)}=η[W   −T   −f   a ( y ) M   T ] 
       
     
     where functional approximation leads to a different function f a (y). Our work assumed a Charlier-Gram expansion and includes higher approximations than used previously. In our case, the function f a (y) is given by            f   a          (   y   )       =         71   12          y   15       -       355   12          y   13       +       190   3          y   11       -       4033   24          y   9       +       941   3          y   7       +       47   8          y   5       +     y   3     +   y                            
     As an example, the algorithm defined by the previous two equations converges when a uniform random noise and sine function are applied as unknown sources. One can use the natural gradient to express the update law defined previously as {dot over (W)}=η[W −T −f a (y)M T ] as 
     
       
           {dot over (W)}=η[L−f   a ( y ) y   T   ]W   
       
     
     In this case, simulations show that such an algorithm converges for a variety of signals. However, it fails if a random and a sine waveforms were used. These results will also apply if some nonlinear functions are used. Hence, in this case, both functions have similar effects. 
     Parameter Update Techniques for Continuous Dynamic Environments 
     We consider more realistic environments, define their models and apply the update law to recover the original signals. In our formulation, the environment is modeled as linear dynamic system. Consequently, the network will also be modeled as a linear dynamic system. 
     The update law is now developed for dynamic environments to recover the original signals. The environment here is modeled as a linear dynamical system. Consequently, the network will also be modeled as a linear dynamical system. 
     The Feedforward Case 
     The network is a feedforward dynamical system as in FIG.  7 . In this case, one defines the performance index          J        (     x   ,   w     )       =       ∫   0   T            ℒ        (     t   ,   x   ,     x   .     ,   λ   ,   w     )                          t                                
     where  is the Lagrangian and is defined as          ℒ        (     t   ,   x   ,     x   .     ,   λ   ,   w     )       =       φ        (     t   ,   x   ,   w     )       +       λ   T          (       x   .     -   Ax   -   Be     )                                
     where λ(t) is the adjoint state equation defined by          λ   .     =         -     A   T          λ     +       ∂   φ       ∂   x                                
     The functional φ may represent a scaled version of our measure of dependence I(y), w is a vector constructed of the rows of the parameter matrices C and D. Note that a canonical realization may be used so that B is constant. The matrix A, in the canonical representation, may have only N-parameters, where N is the dimension of the state vector X. The parameters, A, C, and D, represented generically by wp, will be updated using the general gradient descent form:            w   .        p     =       -   η            ∂   ℒ       ∂   wp                                
     Therefore, using the performance index defined as            I        (   y   )       =       -     H        (   y   )         +       ∑   i                     H        (     y   i     )             ,                          
     the matrices C and D are updated according to 
     
       
           {dot over (D)} =η( I−f   a ( y ) y   T ) D   
       
     
     
       
           {dot over (C)} =γ( I−f   a ( y ) x   T ) C   
       
     
     where f a (·) is given by a variety of nonlinear expansive odd-functions which include hyperbolic sine, and the inverse of a sigmiodal function. 
     In one specific computation/approximation, the function is given as            f   a          (   y   )       =         71   12          y   15       -       355   12          y   13       +       190   3          y   11       -       4033   24          y   9       +       941   3          y   7       +       47   8          y   5       +     y   3     +   y                            
     The essential features in using the above equation for f a (y) are summarized as follows: 
     1. it is analytically derived and justified. 
     2. it includes a linear term in y and thus enables the performance of second order statistics necessary for signal whitening, 
     3. it contains higher order terms which emanate from the 4th order cumulant statistics in the output signal y, and 
     4. it does not make the assumption that the output signal has unity covariance. 
     The function for f a (y) represents the only function used in the literature to date with the above characteristics. This function, therefore, exceeds the limitations of the other analytically derived functions. 
     Computer simulations confirm that the algorithm converges if the function for f a (y) defined above is used. 
     The Feeback Architecture 
     The (output) feedback architecture of FIG. 8 may be simplified in realization with the following (canonical) state-space representation: 
     The Environment:                      X   _     .     i     =                      A   _     i            X   _     i       +         B   _     i          S   _           ,                1   ≤   i   ≤   L                 M   =                    ∑     i   =   1     L                         C   _     i            X   _     i         +       D   _                     S   _                                      
     The network:                    X   .     i     =                    A   i          X   i       +       B   i        y         ,     1   ≤   i   ≤   L                 Z   =                    ∑     i   =   1     L                       C   i          X   i         +   Dy                 y   =                M   -   Z                                  
     where each X i  represents a state vector of the environment of the same dimension as the source signals, and each X i  represents a state of the network of the same dimension as the output signal. For simplicity, we assumed the same number, L, of the state vectors in both environment and network. 
     Now, using the performance index            I        (   y   )       =       -     H        (   y   )         +       ∑   i                     H        (     y   i     )             ,                          
     the matrices C i  and D are updated according to 
     
       
           {dot over (D)}=ηD (− I+f   a ( y ) y   T ) 
       
     
     
       
           {dot over (C)}   i   =γC   i (− I+f   a ( y ) x   T)   
       
     
     A simpler update law which was verified to work in certain cases may be satisfactory in special applications: 
     
       
           {dot over (D)}=ηf   a ( y ) y   T   
       
     
     
       
           {dot over (C)}   i   =γf   a ( y ) x   i   T   
       
     
     Computer simulations performed demonstrated the performance of the two equations above. 
     It should be clear that the states may, in the simple FIR filtering, represent simple delays of the sources, while the states in the network represent delays in the fed back output signals. However, this view is a simple consideration of the delays of the signal that occur in real physical applications. The framework, therefore, is more general since it may consider arbitrary delays including those of IIR filtering and continuous-time physical effects. 
     Observations 
     Connection to Information Maximization 
     One can rewrite the averaged mutual information in terms of the entropy of the output vector of a nonlinear network with a weight matrix followed by an activation function nonlinear. This view would link the about analytical approach with the information-maximization approach. To see the connection, we now proceed as follows. Using          (         f   y          (   u   )       =           f   m          (   u   )            W          .       )     ,                          
     one can re-express the mutual information criterion as          I        (   y   )       =     E        [     ln                       f   M          (   u   )              W               ∏   i            f   yi          (     u   i     )               ]                 ∫         f   y          (   u   )          ln                       f   M          (   u   )              W               ∏   i            f   yi          (     u   i     )                                u                                           
     One can now view the expression             W           Π                     f   yi          (     u   i     )                              
     as the Jacobian of a nonlinear (activation) function applied to the output vector components. Thus if we were to insert an activation function nonlinearity, following the linear mapping of the weight matrix, we would render the expression for          I        (   y   )       =     ∫         f   y          (   u   )          ln                       f   y          (   u   )           ∏   i            f   yi          (     u   i     )                              u                                
     equals to 
     
       
           I ( y )= E [ln  f   y ( u )] 
       
     
     Note that, in this last step, we took the liberty in using the same symbol f to stand for the unknown joint probability function of the vector output of the non linear activation function. 
     Thus now one can state that the minimization of          I        (   y   )       =     ∫         f   y          (   u   )          ln                       f   y          (   u   )           ∏   i            f   yi          (     u   i     )                              u                                
     is equivalent to the minimization of I(y)=E[ln f y (u)]. One observes that minimizing the quantity I(y)=E[ln f y (u)] is, by definition, equal to the maximization of the entropy function of the output of the nonlinear activation function. Note that the nonlinear activation function used is constructed so that its derivative is necessarily equal to the marginal probability distributions. Hence this establishes the exact link between the analytical approach pursued herein with other discussions. This bypasses the generally invalid assumptions made previously which assume that 
     H(y|e) 
     does not depend on the weight matrix. 
     We note that the crux of the matter in the formulation is to determine an approximation to the marginal probability density functions. Such an approximation needs to rely on the statistical properties of the processed signals and justified by analytical means. 
     Stochastic Versus Deterministic Update 
     Two key points should be noted, One is that while the formulation adopts a stochastic functional, in the eventual implementation of the update laws, only deterministic functions of the output variable y are used. The second point is that the update laws of {dot over (W)}=η[W −T −f a (y)M T ] or {dot over (W)}=η[L−f a (y)y T ]W are applied on line. In contrast, the application of the update laws described before are applied using a window and selecting random output samples to emulate the stochastic process in the update law. 
     Implementation of the Architectures and Update Laws 
     A direct hardware implementation of a practical extension of the HJ network to a first-order dynamic network has been reported previously with experimental results. Direct implementations represent an avenue of effective implementation of the architectures and algorithms for the fastest execution of the recovery network. 
     Another paradigm includes DSP architectures. For a DSP based emulation of the signal separation algorithm families discussed here, it will be up to the tradeoffs in a particular application to identify the best processor architecture and numerical representations, e.g., floating or fixed point. To achieve a highly integrated solution (e.g., one chip) will require embedding a DSP core either from a pre-designed device or designed from standard silicon cell libraries. 
     The compiler front-end to the DSP assembler and linker forms a direct bridge from a high level language coded algorithm simulation environment to DSP emulation. In addition, a similar direct link exists between many computing environments and the DSP emulation environments, for example, C/C++ library and compilers for various processors. 
     Programmable logic can be an integral part of the related development process. A programmable DSP core (a DSP processor that is designed for integration into a custom chip) can be integrated with custom logic to differentiate a system and reduce system cost, space, and power consumption.