Documentation

## Representing Signals

### Numeric Arrays

The central data construct in the MATLAB® environment is the numeric array, an ordered collection of real or complex numeric data with two or more dimensions. The basic data objects of signal processing (one-dimensional signals or sequences, multichannel signals, and two-dimensional signals) are all naturally suited to array representation.

### Vector Representation

MATLAB represents ordinary one-dimensional sampled data signals, or sequences, as vectors. Vectors are 1-by-n or n-by-1 arrays, where n is the number of samples in the sequence. One way to introduce a sequence is to enter it as a list of elements at the command prompt. The statement

```x = [4 3 7 -9 1]; ```

creates a simple five-element real sequence in a row vector. Transposition turns the sequence into a column vector

```x = x'; ```
```x = 4 3 7 -9 1 ```

Column orientation is preferable for single channel signals because it extends naturally to the multichannel case. For multichannel data, each column of a matrix represents one channel. Each row of such a matrix then corresponds to a sample point. A three-channel signal that consists of `x`, `2x`, and `x`/π is

```y = [x 2*x x/pi] ```
```y = 4.0000 8.0000 1.2732 3.0000 6.0000 0.9549 7.0000 14.0000 2.2282 -9.0000 -18.0000 -2.8648 1.0000 2.0000 0.3183 ```

If the sequence has complex-valued elements, the transpose operator takes the conjugate of the sequence elements. To transform a complex-valued row vector into a column vector without taking conjugates, use the `.'` or non-conjugate transpose:

```x = [1-i 3+i 2+3*i 4-2*i]; % 1-by-4 vector x = x.'; % 4-by-1 vector```