Matrices, Vectors, and Scalars
Simulink® supports matrix signals, one-dimensional arrays, sample-based processing, and frame-based processing. This section describes how Communications Toolbox™ processes certain kinds of matrices and signals.
This documentation uses the unqualified words scalar and vector in ways that emphasize a signal's number of elements, not its strict dimension properties:
A scalar signal contains a single element. The signal could be a one-dimensional array with one element, or a matrix of size 1-by-1.
A vector signal contains one or more elements, arranged in a series. The signal could be a one-dimensional array, a matrix that has exactly one column, or a matrix that has exactly one row. The number of elements in a vector is called its length or, sometimes, its width.
In cases when it is important for a description or schematic to distinguish among different types of scalar signals or different types of vector signals, this document mentions the distinctions explicitly. For example, the terms one-dimensional array, column vector, and row vector distinguish among three types of vector signals.
The size of a matrix is the pair of numbers that indicate how many rows and columns the matrix has. The orientation of a two-dimensional vector is its status as either a row vector or column vector. A one-dimensional array has no orientation – this is sometimes called an unoriented vector.
A matrix signal that has more than one row and more than one column is called a full matrix signal.
Processing Rules
The following rules indicate how the blocks in the Communications Toolbox process scalar, vector, and matrix signals.
In their numerical computations, blocks that process scalars do not distinguish between one-dimensional scalars and one-by-one matrices. If the block produces a scalar output from a scalar input, the block preserves dimension.
For vector input signals:
The numerical computations do not distinguish between one-dimensional arrays and M-by-1 matrices.
Most blocks do not process row vectors and do not support multichannel functionality.
The block output preserves dimension and orientation.
The block treats elements of the input vector as a collection that arises naturally from the block's operation (for example, a collection of symbols that jointly represent a codeword) or as successive samples from a single time series.
Most blocks do not process matrix signals that have more than one row and more than one column. For blocks that do, a signal in the shape of an N-by-M matrix represents a series of N successive samples from M channels. An Input processing parameter on the block determines whether each element or column of the input signal is a channel.
Some blocks, such as the digital baseband modulation blocks, can produce multiple output values for each value of a scalar input signal. A Rate options parameter on the block determines if the additional samples are output by increasing the rate of the output signal or by increasing the size of the output signal.
Blocks that process continuous-time signals do not process frame-based inputs. Such blocks include the analog phase-locked loop blocks.
To learn which blocks processes scalar signals, vector signals, or matrices, refer to each block's individual Help page.