# octaveFilterBank

## Description

`octaveFilterBank`

decomposes a signal into octave or fractional-octave
subbands. An octave band is a frequency band where the highest frequency is twice the lowest
frequency. Octave-band and fractional octave-band filters are commonly used to mimic how
humans perceive loudness.

To apply a bank of octave-band or fractional octave-band filters:

Create the

`octaveFilterBank`

object and set its properties.Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects?

## Creation

### Syntax

### Description

returns an
octave filter bank. The objects filters data independently across each input channel over
time.`octFiltBank`

= octaveFilterBank

sets the `octFiltBank`

= octaveFilterBank(`bandwidth`

)`Bandwidth`

property to `bandwidth`

.

sets the `octFiltBank`

= octaveFilterBank(`bandwidth`

,`fs`

)`SampleRate`

property to `fs`

.

sets each property `octFiltBank`

= octaveFilterBank(___,`Name,Value`

)`Name`

to the specified `Value`

.
Unspecified properties have default values.

**Example: **```
octFiltBank = octaveFilterBank('1/2
octave','FrequencyRange',[62.5,12000])
```

creates a ½ octave-band filter bank,
`octFiltBank`

, with bandpass filters placed between 62.5 Hz and 12,000
Hz.

## Properties

## Usage

### Description

### Input Arguments

### Output Arguments

## Object Functions

To use an object function, specify the
System object™ as the first input argument. For
example, to release system resources of a System object named `obj`

, use
this syntax:

release(obj)

## Examples

## Algorithms

The `octaveFilterBank`

is implemented as a parallel structure of octave
filters. Individual octave filters are designed as described by `octaveFilter`

.

The ANSI S1.11-2004 standard [2] defines the center frequencies of the octave bands as

$${f}_{c}=\{\begin{array}{ll}{f}_{r}\times {G}^{(k-30)/b},\hfill & b\text{isodd}\hfill \\ {f}_{r}\times {G}^{(2k-59)/2b},\hfill & b\text{iseven}\hfill \end{array}$$

where:

*f*is the reference frequency, which is specified by the ReferenceFrequency property._{r}*G*is the octave ratio, which is either 2 or 10^{0.3}, depending on value of the OctaveRatioBase property.*b*is the number of bands per octave, which is the inverse of the bandwidth of the filter in octaves. Specify the bandwidth with the Bandwidth property.*k*is any integer and represents the band number.

The center frequency definition differs depending on whether *b* is odd,
such as for bandwidths of 1 octave or 1/3 octave, or even, such as for bandwidths of 1/2
octave or 1/6 octave. This ensures that the band edges of the whole octave band remain band
edges for all of the fractional bands.

## References

[1] Orfanidis, Sophocles J.
*Introduction to Signal Processing*. Englewood Cliffs, NJ: Prentice
Hall, 2010.

[2] Acoustical Society of America.
*American National Standard Specification for Octave-Band and
Fractional-Octave-Band Analog and Digital Filters*. ANSI S1.11-2004. Melville,
NY: Acoustical Society of America, 2009.

## Extended Capabilities

## Version History

**Introduced in R2019a**