octaveFilterBank
Octave and fractional-octave filter bank
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
where:
fr is the reference frequency, which is specified by the ReferenceFrequency property.
G is the octave ratio, which is either 2 or 100.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.