Volterra series. The Volterra series is a model for non-linear behavior similar to the Taylor series.  It differs from the Taylor series in its ability to capture "memory" effects. The Taylor series can be used for approximating the response of a nonlinear system to a given input if the output of the system depends strictly on the input at that particular time. In the Volterra series, the output of the nonlinear system depends on the input to the system at all other times. This provides the ability to capture the "memory" effect of devices like capacitors and inductors.

It has been applied in the fields of medicine (biomedical engineering) and biology, especially neuroscience. It is also used in electrical engineering to model intermodulation distortion in many devices, including power amplifiers and frequency mixers. Its main advantage lies in its generalizability: it can represent a wide range of systems. Thus, it is sometimes considered a non-parametric model. 
 
In mathematics, a Volterra series denotes a functional expansion of a dynamic, nonlinear, time-invariant functional. The Volterra series are frequently used in system identification. The Volterra series, which is used to prove the Volterra theorem, is an infinite sum of multidimensional convolutional integrals.

History
The Volterra series is a modernized version of the theory of analytic functionals from the Italian mathematician Vito Volterra, in his work dating from 1887. Norbert Wiener became interested in this theory in the 1920s due to his contact with Volterra's student Paul Lévy. Wiener applied his theory of Brownian motion for the integration of Volterra analytic functionals. The use of the Volterra series for system analysis originated from a restricted 1942 wartime report of Wiener's, who was then a professor of mathematics at MIT. He used the series to make an approximate analysis of the effect of radar noise in a nonlinear receiver circuit. The report became public after the war. As a general method of analysis of nonlinear systems, the Volterra series came into use after about 1957 as the result of a series of reports, at first privately circulated, from MIT and elsewhere. The name itself, Volterra series, came into use a few years later.

Mathematical theory
The theory of the Volterra series can be viewed from two different perspectives:
  An operator mapping between two function spaces (real or complex)
  A real or complex functional mapping from a function space into real or complex numbers

The latter functional mapping perspective is more frequently used due to the assumed time-invariance of the system.

Continuous time
A continuous time-invariant system with x(t) as input and y(t) as output can be expanded in the Volterra series as

 

Here the constant term  on the right side is usually taken to be zero by suitable choice of output level . The function  is called the n-th-order Volterra kernel. It can be regarded as a higher-order impulse response of the system. For the representation to be unique, the kernels must be symmetrical in the n variables . If it is not symmetrical, it can be replaced by a symmetrized kernel, which is the average over the n! permutations of these n variables .

If N is finite, the series is said to be truncated. If a, b, and N are finite, the series is called doubly finite.

Sometimes the n-th-order term is divided by n!, a convention which is convenient when taking the output of one Volterra system as the input of another ("cascading").

The causality condition: Since in any physically realizable system the output can only depend on previous values of the input, the kernels  will be zero if any of the variables  are negative. The integrals may then be written over the half range from zero to infinity.
So if the operator is causal, .

Fréchet's approximation theorem: The use of the Volterra series to represent a time-invariant functional relation is often justified by appealing to a theorem due to Fréchet. This theorem states that a time-invariant functional relation (satisfying certain very general conditions) can be approximated uniformly and to an arbitrary degree of precision by a sufficiently high finite-order Volterra series. Among other conditions, the set of admissible input functions  for which the approximation will hold is required to be compact. It is usually taken to be an equicontinuous, uniformly bounded set of functions, which is compact by the Arzelà–Ascoli theorem. In many physical situations, this assumption about the input set is a reasonable one. The theorem, however, gives no indication as to how many terms are needed for a good approximation, which is an essential question in applications.

Discrete time

The discrete-time case is similar to the continuous-time case, except that the integrals are replaced by summations:

where 
Each function  is called a discrete-time Volterra kernels.
If P is finite, the series operator is said to be truncated. If a, b and P are finite, the series operator is called a doubly finite Volterra series. If , the operator is said to be causal.

We can always consider, without loss of the generality, the kernel  as symmetrical. In fact, for the commutativity of the multiplication it is always possible to symmetrize it by forming a new kernel taken as the average of the kernels for all permutations of the variables .

For a causal system with symmetrical kernels we can rewrite the n-th term approximately in triangular form

Methods to estimate the kernel coefficients
Estimating the Volterra coefficients individually is complicated, since the basis functionals of the Volterra series are correlated. This leads to the problem of simultaneously solving a set of integral equations for the coefficients. Hence, estimation of Volterra coefficients is generally performed by estimating the coefficients of an orthogonalized series, e.g. the Wiener series, and then recomputing the coefficients of the original Volterra series. The Volterra series main appeal over the orthogonalized series lies in its intuitive, canonical structure, i.e. all interactions of the input have one fixed degree. The orthogonalized basis functionals will generally be quite complicated.

An important aspect, with respect to which the following methods differ, is whether the orthogonalization of the basis functionals is to be performed over the idealized specification of the input signal (e.g. gaussian, white noise) or over the actual realization of the input (i.e. the pseudo-random, bounded, almost-white version of gaussian white noise, or any other stimulus). The latter methods, despite their lack of mathematical elegance, have been shown to be more flexible (as arbitrary inputs can be easily accommodated) and precise (due to the effect that the idealized version of the input signal is not always realizable).

Crosscorrelation method
This method, developed by Lee and Schetzen, orthogonalizes with respect to the actual mathematical description of the signal, i.e. the projection onto the new basis functionals is based on the knowledge of the moments of the random signal.

We can write the Volterra series in terms of homogeneous operators, as

 

where

 

To allow identification orthogonalization, Volterra series must be rearranged in terms of orthogonal non-homogeneous G operators (Wiener series):

 

The G operators can be defined by the following:

 

 

whenever  is arbitrary homogeneous Volterra, x(n) is some stationary white noise (SWN) with zero mean and variance A.

Recalling that every Volterra functional is orthogonal to all Wiener functional of greater order, and considering the following Volterra functional:

 

we can write

 

If x is SWN,  and by letting , we have

 

So if we exclude the diagonal elements, , it is

 

If we want to consider the diagonal elements, the solution proposed by Lee and Schetzen is

 

The main drawback of this technique is that the estimation errors, made on all elements of lower-order kernels, will affect each diagonal element of order p by means of the summation , conceived as the solution for the estimation of the diagonal elements themselves. 
Efficient formulas to avoid this drawback and references for diagonal kernel element estimation exist

Once the Wiener kernels were identified, Volterra kernels can be obtained by using Wiener-to-Volterra formulas, in the following reported for a fifth-order Volterra series:

Multiple-variance method
In the traditional orthogonal algorithm, using inputs with high  has the advantage of stimulating high-order nonlinearity, so as to achieve more accurate high-order kernel identification.
As a drawback, the use of high  values causes high identification error in lower-order kernels, mainly due to nonideality of the input and truncation errors.

On the contrary, the use of lower  in the identification process can lead to a better estimation of lower-order kernel, but can be insufficient to stimulate high-order nonlinearity.

This phenomenon, which can be called locality of truncated Volterra series, can be revealed by calculating the output error of a series as a function of different variances of input.
This test can be repeated with series identified with different input variances, obtaining different curves, each with a minimum in correspondence of the variance used in the identification.

To overcome this limitation, a low  value should be used for the lower-order kernel and gradually increased for higher-order kernels.
This is not a theoretical problem in Wiener kernel identification, since the Wiener functional are orthogonal to each other, but an appropriate normalization is needed in Wiener-to-Volterra conversion formulas for taking into account the use of different variances.
Furthermore, new Wiener to Volterra conversion formulas are needed.

The traditional Wiener kernel identification should be changed as follows:

 

 

 

 

In the above formulas the impulse functions are introduced for the identification of diagonal kernel points.
If the Wiener kernels are extracted with the new formulas, the following Wiener-to-Volterra formulas (explicited up the fifth order) are needed:

 

 

 

 

 

 

As can be seen, the drawback with respect to the previous formula is that for the identification of the n-th-order kernel, all lower kernels must be identified again with the higher variance.
However, an outstanding improvement in the output MSE will be obtained if the Wiener and Volterra kernels are obtained with the new formulas.

Feedforward network
This method was developed by Wray and Green (1994) and utilizes the fact that a simple 2-fully connected layer  neural network (i.e., a multilayer perceptron) is computationally equivalent to the Volterra series and therefore contains the kernels hidden in its architecture. After such a network has been trained to successfully predict the output based on the current state and memory of the system, the kernels can then be computed from the weights and biases of that network.

The general notation for the n-th-order Volterra kernel is given by

 

where  is the order,  the weights to the linear output node,  the coefficients of the polynomial expansion of the output function of the hidden nodes, and  are the weights from the input layer to the non-linear hidden layer. It is important to note that this method allows kernel extraction up until the number of input delays in the architecture of the network. Furthermore, it is vital to carefully construct the size of the network input layer so that it represents the effective memory of the system.

Exact orthogonal algorithm
This method and its more efficient version (fast orthogonal algorithm) were invented by Korenberg.
In this method the orthogonalization is performed empirically over the actual input. It has been shown to perform more precisely than the crosscorrelation method. Another advantage is that arbitrary inputs can be used for the orthogonalization and that fewer data points suffice to reach a desired level of accuracy. Also, estimation can be performed incrementally until some criterion is fulfilled.

Linear regression
Linear regression is a standard tool from linear analysis. Hence, one of its main advantages is the widespread existence of standard tools for solving linear regressions efficiently. It has some educational value, since it highlights the basic property of Volterra series: linear combination of non-linear basis-functionals. For estimation, the order of the original should be known, since the Volterra basis functionals are not orthogonal, and thus estimation cannot be performed incrementally.

Kernel method
This method was invented by Franz and Schölkopf and is based on statistical learning theory. Consequently, this approach is also based on minimizing the empirical error (often called empirical risk minimization). Franz and Schölkopf proposed that the kernel method could essentially replace the Volterra series representation, although noting that the latter is more intuitive.

Differential sampling
This method was developed by van Hemmen and coworkers and utilizes Dirac delta functions to sample the Volterra coefficients.

See also
Wiener series
Polynomial signal processing

References

Further reading 
 Barrett J.F: Bibliography of Volterra series, Hermite functional expansions, and related subjects. Dept. Electr. Engrg, Univ.Tech. Eindhoven, NL 1977, T-H report 77-E-71. (Chronological listing of early papers to 1977) URL: http://alexandria.tue.nl/extra1/erap/publichtml/7704263.pdf
 Bussgang, J.J.; Ehrman, L.; Graham, J.W: Analysis of nonlinear systems with multiple inputs, Proc. IEEE, vol.62, no.8, pp. 1088–1119, Aug. 1974
 Giannakis G.B & Serpendin E: A bibliography on nonlinear system identification. Signal Processing, 81 2001 533–580. (Alphabetic listing to 2001) www.elsevier.nl/locate/sigpro
 Korenberg M.J. Hunter I.W: The Identification of Nonlinear Biological Systems: Volterra Kernel Approaches, Annals Biomedical Engineering (1996), Volume 24, Number 2.
 Kuo Y L: Frequency-domain analysis of weakly nonlinear networks, IEEE Trans. Circuits & Systems, vol.CS-11(4) Aug 1977; vol.CS-11(5) Oct 1977 2–6.  
 Rugh W J: Nonlinear System Theory: The Volterra–Wiener Approach. Baltimore 1981 (Johns Hopkins Univ Press) http://rfic.eecs.berkeley.edu/~niknejad/ee242/pdf/volterra_book.pdf
 Schetzen M: The Volterra and Wiener Theories of Nonlinear Systems, New York: Wiley, 1980.

Mathematical series
Functional analysis