Main Content

Gammatone Filter Bank

Gammatone filter bank

  • Library:
  • Audio Toolbox / Filters

  • Gammatone filter bank block

Description

The Gammatone Filter Bank block decomposes a signal by passing it through a bank of gammatone filters equally spaced on the equivalent rectangular bandwidth (ERB) scale. Gammatone filter banks are designed to model the human auditory system.

Ports

Input

expand all

Audio input to the filter bank, specified as a scalar, vector, or matrix. If you specify the input as a matrix, the block treats the columns as independent audio channels. If you specify the input as a vector, the block treats the input as containing a single channel.

Data Types: single | double

Output

expand all

Audio output from the filter bank, returned as a scalar, vector, matrix, or 3-D array. The shape of output signal depends on the shape of input signal and Number of filters. If input is an M-by-N matrix, then output is an M-by-Number of filters-by-N array. If N is 1, then output is a matrix.

Data Types: single | double

Parameters

expand all

Frequency range of the filter bank, specified as a two-element row vector of monotonically increasing values in Hz.

Tunable: No

Number of filters in the filter bank, specified as a positive integer.

Tunable: No

Select this parameter to specify the sample rate from the input port.

Input sample rate, specified as a positive integer in Hz.

Tunable: No

Dependencies

To enable this parameter, set Inherit sample rate from input port to off.

Select this parameter to separate ports for each filter output.

Tunable: No

This button uses the fvtool function to visualize gammatone filter bank responses.

Type of simulation to run, specified as one of the following:

  • Interpreted execution –– Simulate model using the MATLAB® interpreter. This option shortens startup time and has simulation speed comparable to Code generation. In this mode, you can debug the source code of the block.

  • Code generation –– Simulate model using generated C code. The first time you run a simulation, Simulink® generates C code for the block. The C code is reused for subsequent simulations as long as the model does not change. This option requires additional startup time but the speed of the subsequent simulations is faster than Interpreted execution.

Tunable: No

Block Characteristics

Data Types

double | single

Direct Feedthrough

no

Multidimensional Signals

no

Variable-Size Signals

yes

Zero-Crossing Detection

no

Algorithms

expand all

References

[1] Slaney, Malcolm. "An Efficient Implementation of the Patterson-Holdworth Auditory Filter Bank." Apple Computer Technical Report 35, 1993.

[2] Patterson, R.D., K. Robinson, J. Holdsworth, D. Mckeown, C. Zhang, and M. Allerhand. "Complex Sounds and Auditory Images." Auditory Physiology and Perception. 1992, pp. 429–446.

[3] Aertsen, A. M. H. J., and P. I. M. Johannesma. "Spectro-temporal Receptive Fields of Auditory Neurons in the Grassfrog." Biological Cybernetics. Vol. 38, Issue 4, 1980, pp. 223–234.

[4] Glasberg, Brian R., and Brian CJ Moore. "Derivation of Auditory Filter Shapes from Notched-Noise Data." Hearing Research. Vol. 47. Issue 1-2, 1990, pp. 103–138.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced in R2021b