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

HirschWANoiseEstimation

This noise estimation technique, introduced by Hirsch and Ehrlicher (Proc. ICASSP `95) attempts to adapt its estimate to changes in the noise. It is based on a first order recursion to estimate the level of noise and uses an adaptive threshold to stop the recursion when the signal is most likely to be present. For each frequency channel, an estimate of the noise magnitude in frame *t* is obtained by:

ifx(t) <= B.N(t-1), thenN(t)=A.N(t-1)+ (1-A).x(t)

else ifx(t) > B.N(t-1), thenN(t)=N(t-1)

where *x* is the spectral magnitude (i.e. `in1`), *N* the noise magnitude estimation, and suitable values of *A* and *B* are around 0.98 and 2.0 respectively. The initialisation is the same as for the ** StationaryNoiseEstimation** block i.e. the initial noise estimate is formed by averaging the first

The constants *A* and *B* in the equations above are set via the block parameter `ALPHA` and `BETA` respectively.

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

in1 |
noisy spectral data | Yes | Yes | Yes |

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

out1 |
noise spectrum estimate |

out2 |
signal spectrum estimate |

out3 |
noise variance estimate |

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

NFRAMES |
Integer | - | Number of frames to use for initial noise estimate |

IGNORE_LARGE |
Boolean | False | Ignore larger values when making initial estimate |

ALPHA |
Integer | 0.98 | The value of A |

BETA |
Float | 2.0 | The value of B |

Documentation for CTKv1.1.4 - Last modified: Thu Jun 28 15:43:52 BST 2001