This is where navigation should be.

ERBFILTERS - ERB-spaced filters

Usage

[g,a,fc,L]=erbfilters(fs,Ls);
[g,a,fc,L]=erbfilters(fs,Ls,...);

Input parameters

fs Sampling rate (in Hz).
Ls Signal length.

Output parameters

g Cell array of filters.
a Downsampling rate for each channel.
fc Center frequency of each channel.
L Next admissible length suitable for the generated filters.

Description

[g,a,fc]=erbfilters(fs,Ls) constructs a set of filters g that are equidistantly spaced on the ERB-scale (see freqtoerb) with bandwidths that are proportional to the width of the auditory filters audfiltbw. The filters are intended to work with signals with a sampling rate of fs.

Note that this function just forwards the arguments to audfilters. Please see the help of audfilters for more details.

Examples:

In the first example, we construct a highly redudant uniform filterbank and visualize the result:

[f,fs]=greasy;  % Get the test signal
[g,a,fc]=erbfilters(fs,length(f),'uniform','M',100);
c=filterbank(f,g,a);
plotfilterbank(c,a,fc,fs,90,'audtick');

In the second example, we construct a non-uniform filterbank with fractional sampling that works for this particular signal length, and test the reconstruction. The plot displays the response of the filterbank to verify that the filters are well-behaved both on a normal and an ERB-scale. The second plot shows frequency responses of filters used for analysis (top) and synthesis (bottom).

[f,fs]=greasy;  % Get the test signal
L=length(f);
[g,a,fc]=erbfilters(fs,L,'fractional');
c=filterbank(f,{'realdual',g},a);
r=2*real(ifilterbank(c,g,a));
norm(f-r)

% Plot the response
figure(1);
subplot(2,1,1);
R=filterbankresponse(g,a,L,fs,'real','plot');

subplot(2,1,2);
semiaudplot(linspace(0,fs/2,L/2+1),R(1:L/2+1));
ylabel('Magnitude');

% Plot frequency responses of individual filters
gd=filterbankrealdual(g,a,L);
figure(2);
subplot(2,1,1);
filterbankfreqz(gd,a,L,fs,'plot','linabs','posfreq');

subplot(2,1,2);
filterbankfreqz(g,a,L,fs,'plot','linabs','posfreq');

References:

T. Necciari, P. Balazs, N. Holighaus, and P. L. Søndergaard. The ERBlet transform: An auditory-based time-frequency representation with perfect reconstruction. In Proceedings of the 38th International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2013), pages 498--502, Vancouver, Canada, May 2013. IEEE.