Accelerating the pace of engineering and science

# 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';
```

resulting in

```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]
```

This results in

```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]; %1X4
x=x.'; %4X1```