# Memoryless and Non-Memoryless Systems

Consider a time-domain system with input *x* and output *y*, where
for all *t* ∈ *Time*,

*y*(

*t*) =

*x*

^{2}(

*t*).

This example defines a simple system, where the output signal at each
time depends only on the input at that time. Such systems are said to be
**memoryless** because you do not have to remember previous values (or
future values, for that matter) of the input in order to determine the
current value of the output.

Formally, given a domain *X* and range *Y *for signals and a function
*f*: *Y → Y*, we can define a memoryless
system

*S*:[* X → Y*] →
[* X → Y*]

by

*x*∈

*X*and ∀

*u*∈ [

*X → Y*], (

*S*(

*u*))(

*x*) =

*f*(

*u*(

*x*)).

## Difference equations

Memoryless systems are not nearly as interesting as systems with memory. For
example, consider a discrete-time system (one whose domain is signals whose
domain is *Integers*). Let the system be denoted by

*S*:[* Integers → R*] →
[* Integers → R*],

where *R *is some range (such as *Reals* or *Complex*). Suppose
that *y* = *S*(*x*) such that

∀ *n* ∈
*Integers*, *y*(*n*) = (*x*(*n*)
+ *x*(*n* − 1))/2.

This is clearly not memoryless, since the output at *n* depends not just
on *x*(*n*) but also on *x*(*n* −
1). This is an example of a difference equation, arguably misnamed since it
adds rather than subtracts neighboring values of *x*. In fact, this example
system computes a moving average, since at any *n* the output is the average
of the current and previous values of the input. A general expression for a
moving average is: ∀ *n* ∈
*Integers*

*y*(*n*) = (1/*M*) ∑_{(k=n−M+1
to n)} *x*(*k*) .

This is an *M*-point moving average, since at any *n* it gives the
average of the *M* most recent values of the input. We will study
more general forms of difference equations.

## Differential equations

Consider a continuous-time system

*S*:[* Reals → R*]
→ [* Reals →
R*]

with input *x* and output *y* = *S*(*x*) such that ∀
*t* ∈ *Reals*,

*y*(*t*) = (1/*M*) ∫
_{(t−M to t)} *x*(*τ*)
*d**τ*

Once again, this is clearly not memoryless. It also computes an average,
just like the moving average, but the sum has been replaced by its continuous
counterpart, the integral. Such a system also has the effect of smoothing
a signal. This is an example of an **integral equation**. It is
equivalent to a **differential equation** that can be obtained by differentiating
with respect to *t* on both sides. We will study it and many related
systems in detail.

All of the above examples give declarative definitions of systems. Imperative
definitions require giving a procedure for computing the output signal given
the input signal. It is obvious how to do that with the memoryless example and
the moving average. The above integral equation, however, is much harder to
define imperatively. An imperative description of such systems that is suitable
for computation on a computer requires approximation via solvers for differential
equations. **Simulink**, which is part of the Matlab package, provides such
solvers. Alternatively, an imperative description can be given in terms of analog
circuits or other physical systems that operate directly on the pertinent continuous
domain.