gd=filterbankdual(g,a,L); gd=filterbankdual(g,a);
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.