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