This is where navigation should be.

FILTERBANKDUAL - Dual filters

Usage

gd=filterbankdual(g,a,L);
gd=filterbankdual(g,a);

Description

filterbankdual(g,a,L) computes the canonical dual filters of g for a channel subsampling rate of a (hop-size) and system length L. L must be compatible with subsampling rate a as L==filterbanklength(L,a). This will create a dual frame valid for signals of length L.

filterabankrealdual(g,a) does the same, but the filters must be FIR filters, as the transform length is unspecified. L will be set to next suitable length equal or bigger than the longest impulse response such that L=filterbanklength(gl_longest,a).

The input and output format of the filters g are described in the help of filterbank.

In addition, the funtion recognizes a 'forcepainless' flag which forces treating the filterbank g and a as a painless case filterbank.

To actually invert the output of a filterbank, use the dual filters together with the ifilterbank function.

REMARK: In general, perfect reconstruction can be obtained for signals of length L. In some cases, using dual system calculated for shorter L might work but check the reconstruction error.