Main Content

Delay or advance sequence

delays or advances the signal in `shifted_data`

= delayseq(`data`

,`delay`

)`data`

by the number of samples
specified in `delay`

. Positive values of `delay`

delay
the signal, while negative values advance the signal. Noninteger values of
`delay`

represent fractional delays or advances. For fractional delays,
the function interpolates between samples.

How the `delayseq`

function operates on `data`

depends on the dimensions of the `data`

and `delay`

arguments:

When

`delay`

is a scalar, the function applies the same delay to each column of`data`

.When

`delay`

is a vector:If

`data`

is a matrix, the length of the`delay`

vector must equal the number of columns in the matrix. The function applies a delay to each column using the corresponding`delay`

entry.If

`data`

is a column vector, the function creates a matrix where each column is the shift in the`data`

vector by each entry in`delay`

. The number of columns in`shifted_data`

equals the length of the`delay`

vector. The*k*^{th}column of`shifted_data`

is the result of shifting`data`

by`delay(k)`

.

specifies `shifted_data`

= delayseq(`data`

,`delay`

,`fs`

)`delay`

in seconds. `fs`

is the sampling
frequency of `data`

. If the product of `delay`

and
`fs`

is not an integer, `delayseq`

implements a
fractional delay or advance of the signal using interpolation.