-
Notifications
You must be signed in to change notification settings - Fork 10
sig.filterbank
It is often interesting to decompose the audio signal into a series of audio signals of different frequency register, from low frequency channels to high frequency channels. This enables thus to study each of these channels separately. The decomposition is performed by a bank of filters, each one selecting a particular range of frequency values.
sig.filterbank accepts as input data type either:
-
sig.signal
objects, where the audio waveform can be segmented (usingsig.segment
), -
file name(s),
'Folder'
or'Folders'
keywords, etc.
sig.filterbank('Frame',…)
performs a frame decomposition after filterbank decomposition, with by default a frame length of 500 ms and 10% overlapping. For the specification of other frame configuration using additional parameters, cf. this page.
sig.filterbank(…,'CutOff',
f)
specifies an array of non-overlapping low-pass, band-pass and high- pass eliptic filters (Scheirer, 1998). The array of cut-off frequencies f has to be specified as next parameter. This parameter needs to be specified.
- If this array of frequencies begins with
-Inf
, the first filter is low-pass. - If this array of frequencies ends with
Inf
, the last filter is high-pass.
sig.filterbank(…,'Order',
o)
specifies the order of the filters. The default is set to o = 4 (Scheirer, 1998)
sig.filterbank(…,'Hop',
h)
specifies the degree of spectral overlapping between successive channels.
- If h = 1 (default value), the filters are non-overlapping.
- If h = 2, the filters are half-overlapping.
- If h = 3, the spectral hop factor between successive filters is a third of the whole frequency region, etc.
sig.filterbank(…,'Channel',
c)
– or sig.filterbank(…,'Channels',
c)
– only output the channels whose ranks are indicated in the array c (default: c = (1:N), where N is the number of channels )
Auditory modelling of filterbank decomposition is available in aud.filterbank.