RESPITE: The CASA Toolkit Page: Documentation: Block Library Index: Autocorrelator |

Autocorrelator

The ** Autocorrelator** transforms a frame of input data by performing a time-domain autocorrelation along one of its axes.

The name of the dimension to act on if given by the `AXIS` parameter. If an axis is not specified then, by default, `Autocorrelator` searches for a dimension called ``TIME". Finally, if there is no ``TIME" dimension it will act on the frame's outermost dimension. After operation the dimension operated on will be renamed ``LAG".

There are a number of parameters that specify exactly how to perform the autocorrelation.

`VERSION`This may be set to either

`STAF`or`MODIFIED_STAF`. When using the STAF (Short Time Autocorrelation Function) a copy of the window is gradually shifted against the original window and the dot product of the overlapping portions is calculated. As the shift is increased, the overlap gets smaller, and there are fewer terms contributing to the autocorrelation. This contrasts with the`MODIFIED_STAF`in which samples from beyond the extent of the original window are used to make sure that there are always an equal of number of terms contributing to the autocorrelation. (For a fuller explanation see Rabiner and Schafer, "Digitial Processing of Speech Signals")`NORMALISE`When NORMALISE is set to true, then the autocorrelation at each lag is divided by the autocorrelation at 0 lag. This makes the result independent of signal energy.

`WINDOW`This specifies the shaping to apply to each frame. This has a default value of RECTANGLE.

`WINDOW_SIZE`If not specified then for STAF the WINDOW_SIZE will be the same width as the axis along which the autocorrelation is being taken, and for MODIFIED_STAF it will be half this length (so that there is spare data for the padding).

`MAX_LAG`This is the maximum amount that the copies of the window are shifted with respect to each other. By default it is the same as the window's size. It may be set to a lower value.

When using

`MODIFIED_STAF`,`MAX_LAG`+`WINDOW_SIZE`must not exceed the width of the input frame, or if using 2-D frames, the width of the frame along the axis on which the autocorrelation is being performed. In no case should`MAX_LAG`exceed`WINDOW_SIZE`.

Inputs |
Meaning | Sample | 1-D frame | 2-D frame | >2-D frame |
---|---|---|---|---|---|

in1 |
input frame data | No | Yes | Yes | No |

Outputs |
Meaning |
---|---|

out1 |
frame data after autocorrelated |

Parameters |
Type | Default | Meaning |
---|---|---|---|

AXIS |
String | - | Name of the axis to operate on |

NORMALISE |
Boolean | false |
Apply normalisation? |

WINDOW |
{RECTANGLE, HAMMING, HANNING, TRIANGLE} | RECTANGLE | Window Shaping |

WINDOW_SIZE |
Integer | - | Size of window to employ |

MAX_LAG |
Integer | - | Maximum lag to compute |

VERSION |
{STAF, MODIFIED_STAF} | STAF | Type of autocorrelation to perform |

Documentation for CTKv1.1.4 - Last modified: Wed Jun 27 16:20:37 BST 2001