Create a wavelet network nonlinearity estimator object
NL = wavenet
NL = wavenet(Name,Value)
creates
a default wavelet network nonlinearity estimator object for estimating
nonlinear ARX and HammersteinWiener models. Use dot notation to customize
the object properties, if needed.NL
= wavenet
creates
a wavelet network nonlinearity estimator object with properties specified
by one or more NL
= wavenet(Name,Value
)Name,Value
pair arguments. The
properties that you do not specify retain their default value.
wavenet
is an object that stores the wavelet
network nonlinearity estimator for estimating nonlinear ARX and HammersteinWiener
models.
Use wavenet
to define a nonlinear function $$y=F(x,\theta )$$,
where y is scalar, x is an m
dimensional
row vector of regressors, and θ represent
the parameters in wavelet expansion. The wavelet network function
is based on the following function expansion:
$$\begin{array}{l}F(x,\theta )=(xr)PL+{a}_{s\_1}f\left({b}_{s\_1}\left(\left(xr\right)Q{c}_{s\_1}\right)\right)+\dots \\ \text{}+{a}_{s\_ns}f\left({b}_{s\_ns}\left(\left(xr\right)Q{c}_{s\_ns}\right)\right)\\ \text{}+{a}_{w\_1}g\left({b}_{w\_1}\left(\left(xr\right)Q{c}_{w\_1}\right)\right)+\dots \\ \text{}+{a}_{w\_nw}g\left({b}_{w\_nw}\left(\left(xr\right)Q{c}_{w\_nw}\right)\right)+d\end{array}$$
$$f(z)={e}^{0.5z{z}^{T}}$$
$$g(z)\text{}=\text{}(mz{z}^{T}){e}^{0.5z{z}^{T}}$$
Here,
f(z) is a radial function called
the scaling function, and z is the input to the
scaling function. z is a 1byq row
vector. q is the number of components of x
used
in the scaling and wavelet functions.
g(z) is a radial function called the wavelet function, and z is the input to the wavelet function.
θ represents the following parameters of the nonlinearity estimator:
P and Q —
Projection matrices of size m
byp
and m
byq
,
respectively.
P and Q are determined
by principal component analysis of estimation data. Usually, p
= m
. If the components of x in the estimation
data are linearly dependent, then p<m
. The number
of columns of Q is q
. q
is
the number of components of x used in the scaling
and wavelet function.
When used in a nonlinear ARX model, q
is
equal to the size of the NonlinearRegressors
property
of the idnlarx
object. When
used in a HammersteinWiener model, m=q=1
and Q is
a scalar.
r – Mean value of the regressor
vector computed from estimation data, specified as a 1bym
vector.
a_{s}, b_{s}, a_{w}, and b_{w} — Scaling and wavelet parameters, specified as scalars. Parameters with the s subscript are scaling parameters, and parameters with the w subscript are wavelet parameters.
L — Specified as a p
by1
vector.
c_{s} and c_{w} –
Specified as a 1byq
vectors.
d — Output offset, specified as a scalar.
The value F(x)
is computed by evaluate(NL,x)
,
where NL
is the wavenet object.
For wavenet
object properties, see Properties.
Specify optional
commaseparated pairs of Name,Value
arguments. Name
is
the argument name and Value
is the corresponding value.
Name
must appear inside quotes. You can specify several name and value
pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
Use Name,Value
arguments to specify additional properties of wavenet
nonlinearity.
For example, NL= wavenet('NumberofUnits',5)
creates
a wavelet nonlinearity estimator object with five nonlinearity units
in wavelet expansion.

Number of nonlinearity units in wavelet expansion, specified as a positive integer or one of the following values:
Default:  

Inclusion of linear term, specified as one of the following values:
Default:  

Parameters in wavelet expansion, specified as a structure with the following fields:
The parameters are typically not assigned directly. They are
estimated by the identification algorithm (  

Options specifying the initial wavelet nonlinearity structure, specified as a structure with the following fields:

wavenet
can be used in both Nonlinear ARX
and HammersteinWiener models.
When used in a Nonlinear ARX model:
If the Focus
estimation option (see, nlarxOptions
) is
'prediction'
, wavenet
uses a fast, noniterative technique for estimating parameters [1]. Successive refinements after the first estimation use an
iterative algorithm.
If Focus
is 'simulation'
,
wavenet
uses an iterative technique for
estimating parameters.
To always use a noniterative or iterative algorithm, specify the
IterativeWavenet
option of nlarxOptions
.
When used in a HammersteinWiener model, wavenet
parameters
are determined by iterative minimization.
[1] Zhang, Q. “Using wavelet network in nonparametric estimation.” IEEE Trans. on Neural Networks, Vol. 8, Number 2, March 1997, pp. 227236.