
%-----------------


\newpage
{\bf \Huge NDProcess}
\leavevmode\leaders\hrule height 1mm \hfill
\vspace{0.25in}

{\bf Purpose}

\begin{quote}
Continuous-time process constructor.
\end{quote}

{\bf Syntax}

\begin{quote}
{\tt [rp] = NDProcess(basis, param, freqs, Coeff)}
\end{quote}

{\bf Description}

\begin{quote}
{\tt NDProcess} initializes {\tt rp} as a wide-sense-stationary
zero-mean process whose spectrum is defined by shifted and weighted
basis functions.  The quadruple {\tt(basis,param,freqs,Coeff)} is placed in a
global table and is referred to through its index, allowing multiple
processes to refer to the same base process.

\begin{itemize}
\item    {\tt basis} : basis function for the process's PSD. Currently
    allowed are {\tt 'Box'}, {\tt 'Triangle'}, {\tt 'Impulse'} and {\tt
    'Circle'}, if the PSD is to be composed of a single type of basis
    function. For a PSD composed of several types, basis must be a cell
    column vector with each individual basis function named. For
    example, {'Box'; 'Circle'; 'Circle'} specifies a PSD composed of a
    'Box' and two 'Circles'.

\item    {\tt param} : parameters for basis functions. For PSD composed of a
        single type of basis function, param should be a matrix,
        each row of which contains the parameters for another basis
        function. For several types, param should be a cell column
        vector with each entry the parameters for an individual
        basis function.
\begin{itemize}
\item        {\tt 'Box'}, {\tt 'Triangle'} : width parameters are required, one
        positive, real width for each dimension. For example, if
        this is a one-type PSD, param should be a matrix, each row
        of which contains the widths for another basis
        function. For a several-type PSD, each {\tt 'Box'} or {\tt 'Triangle'}
        entry should be a row vector.
\item        {\tt 'Circle'} : currently, only 2-D is supported. A positive,
        real radius parameter is required.
\item        {\tt }'Impulse' : no parameters required. For one-type PSD, use
        the empty matrix []. For several-type PSD, each {\tt 'Impulse'}
        entry should be the empty matrix [].
\end{itemize}

\item    {\tt freqs} : matrix of frequency shifts. Each row gives the shifts
        for another basis function. The PSD is the sum of basis
        functions at each of the frequency shifts in {\tt freqs}. The
        width of the {\tt freqs} matrix determines the dimension of the
        process.

\item    {\tt Coeff} : vector of coefficients of basis functions. Must have
        length equal to the number of rows of {\tt width} and {\tt freqs}.
\end{itemize}

\end{quote}

\newpage
{\bf \Huge NDProcess/char, display}
\leavevmode\leaders\hrule height 1mm \hfill
\vspace{0.25in}

{\bf Purpose}

\begin{quote}
Output functions for class NDProcess.
\end{quote}

{\bf Syntax}

\begin{quote}
{\tt c = char(rp)} \\
{\tt display(rp)}
\end{quote}

{\bf Descripition}

\begin{quote}
{\tt char} converts class NDProcess to character for output.
{\tt display} is command window display of class NDProcess.
\end{quote}


\newpage
{\bf \Huge NDProcess/get\_pool}
\leavevmode\leaders\hrule height 1mm \hfill
\vspace{0.25in}

{\bf Purpose}

\begin{quote}
Pool extraction function.
\end{quote}

{\bf Syntax}

\begin{quote}
{\tt pool = get\_pool(rp)}
\end{quote}

{\bf Description}

\begin{quote}
{\tt get\_pool} returns the pool of the system component of the process
{\tt rp}. 
\end{quote}

\newpage
{\bf \Huge NDProcess/minus}
\leavevmode\leaders\hrule height 1mm \hfill
\vspace{0.25in}

{\bf Purpose}

\begin{quote}
Process subtraction.
\end{quote}

{\bf Syntax}

\begin{quote}
{\tt [rpmin] = minus(rpa, rpb)}
\end{quote}

{\bf Description}

\begin{quote}
{\tt minus} gives the difference of the two random processes. Any
base processes shared by {\tt rpa} and {\tt rpb} have their systems combined.

{\tt [rpmin] = minus(rpa, rpb)} is called for the syntax `{\tt rpa - rpb}'.  
\end{quote}

\newpage
{\bf \Huge NDProcess/plot}
\leavevmode\leaders\hrule height 1mm \hfill
\vspace{0.25in}

{\bf Purpose}

\begin{quote}
Graphical display of random process.
\end{quote}

{\bf Syntax}

\begin{quote}
{\tt hand = plot(rp, f, options)}
\end{quote}

{\bf Description}

\begin{quote}
{\tt plot(rp)} graphs the power spectrum of the processes making up
{\tt rp} over the set frequencies for which the power spectrum has support.

{\tt plot(rp, f)} graphs the power spectrum of the processes
making up {\tt rp} at the frequencies given in the vector {\tt f}.

{\tt hand = plot(\ldots)} returns the plot handle.

{\tt options} can include:
\begin{itemize}
\item {\tt 'o'} or {\tt 'overlay'}: in addition to plotting the power
spectrum, overlays a plot of the individual base processes.
\item {\tt 'nooverlay'}: plots only the overall power spectrum. This is
the default.
\item {\tt 'p'} or {\tt 'print'}: uses options suitable for printer
output. This option will override some user-set plotting defaults.
\item {\tt 'noprint'}: uses default plotting options. This is the default.
\end{itemize}

\end{quote}



\newpage
{\bf \Huge NDProcess/plus}
\leavevmode\leaders\hrule height 1mm \hfill
\vspace{0.25in}

{\bf Purpose}

\begin{quote}
Process addition.
\end{quote}

{\bf Syntax}

\begin{quote}
{\tt [rpsum] = plus(rpa, rpb)}
\end{quote}

{\bf Description}

\begin{quote}
{\tt plus} gives the sum of the two random processes. Any
base processes shared by {\tt rpa} and {\tt rpb} have their systems combined.

{\tt [rpsum] = plus(rpa, rpb)} is called for the syntax `{\tt rpa + rpb}'.  
\end{quote}

%---DIV

\newpage
{\bf \Huge NDProcess/pwr}
\leavevmode\leaders\hrule height 1mm \hfill
\vspace{0.25in}

{\bf Purpose}

\begin{quote}
Power in random process.
\end{quote}

{\bf Syntax}

\begin{quote}
{\tt [P] = pwr(rp) }
\end{quote}

{\bf Description}

\begin{quote}
{\tt pwr} returns the power in process {\tt rp} as an optimizable
quadratic quantity of type \optquad.
\end{quote}

%-----------------

\newpage
{\bf \Huge NDProcess/times}
\leavevmode\leaders\hrule height 1mm \hfill
\vspace{0.25in}

{\bf Purpose}

\begin{quote}
Process convolution.
\end{quote}

{\bf Syntax}

\begin{quote}
{\tt [rpconv] = times(a, b)  }
\end{quote}

{\bf Description}

\begin{quote}
Result is convolution of a process with an affine sequence
(system). One input is a random process, and the other must be a sequence.

{\tt [rpconv] = times(a, b)} is called for the syntax `{\tt a .* b}'.
\end{quote}

%-----------------

\newpage
{\bf \Huge NDProcess/uminus}
\leavevmode\leaders\hrule height 1mm \hfill
\vspace{0.25in}

{\bf Purpose}

\begin{quote}
Process negation.
\end{quote}

{\bf Syntax}

\begin{quote}
{\tt [rpmin] = uminus(rp) }
\end{quote}

{\bf Description}

\begin{quote}
Negates the system associated with process {\tt rp}.

{\tt [rpmin] = uminus(rp)} is called for the syntax `{\tt -rp}'.

\end{quote}

%-----------------
