A generic discrete time signal can be indicated by this expression here.

We have a set of numbers ordered in a sequence.

But we have seen that we have already four different categories of signals,

finite length, infinite length, periodic, finite support.

It would be very complicated to develop

the whole of signal processing theory if every time we had to stop and

specialize what we're saying with respect to the four categories that we see here.

So we need a common framework in which we can talk about signals

without worrying about which category they belong to.

This common framework is provided by vector space and linear algebra.

It is very convenient because it provides the same framework for

different classes of singles and also for continuous time signals.

It will provide an easy explanation of the Fourier transform,

an easy explanation of the sampling theorem and the interpolation theorem.

It will be useful in approximation and compression applications.

And it's fundamental in designing communications systems.

So all these advantages form too long a list

not to use vector space in signal processing.

The three take-home lessons that I would like you to remember from the next

modules, is that vector spaces are very general objects.

And vector spaces are defined by their properties not by

the shape of the vectors that they contain.

And once you know that the properties of vector space are satisfied,

then you can use all the tools for the space in all spaces.

And that's really the power of generalization of vector space

that will help us in dealing with different categories of signals.

If you are familiar with object-oriented programming,

perhaps you can think of vector space as of an abstract interface class.

Suppose you define a class called Polygon, and

every objected derived from this class will have to have a number of sides,

a length for the side, and the coordinate of the center of the polygon.

And then you can define some methods that describe

how you can manipulate these polygons.

For instance, you can resize a polygon by changing the size of the side, or

you can translate the polygon on the plane by changing the coordinates of the center.

And these methods will apply to all derived objects

independently on the number of sides.

So when you derive objects like triangles, all you need to do is instantiate a number

of sides for a triangle but the methods will remain the same.

A square will have four sides and so on, so forth.