This is where navigation should be.

FILTERBANKREALDUAL - Dual filters of filterbank for real signals only

Usage

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

Description

filterbankrealdual(g,a,L) computes the canonical dual filters of g for a channel subsampling rate of a (hop-size) and a system length L. L must be compatible with subsampling rate a as L==filterbanklength(L,a). The dual filters work only for real-valued signals. Use this function on the common construction where the filters in g only covers the positive frequencies.

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.

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

In addition, the function 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 2*real(ifilterbank(...)).

REMARK: 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.