Memoryless and Non-Memoryless Systems
Consider a time-domain system with input x and output y, where for all t ∈ Time,
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]
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.
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.