This function implements a filter bank for each pixel of a datapack. This function uses two FIR filters (H0 and H1) of order (M-1) in non-causal form, so that if H = [h0 h1 h2 ... h(M-1)] then its Z transform is: M2=floor(M/2); $H[Z] = h0 Z^{+M2} + h1 Z^{+M2-1} + ... h(M-1) Z^{+M2-(M-1)}$ The function implements some modes MODE0: This mode uses two FIR filters (H0 and H1), thus it can accept {H0} or {H0 , H1} as input parameter. If only the H0 filter is delivered as input parameter, then the H1 filter is calculated as the complement filter of H0. $H1[Z]= 1-H0[Z]$. MODE2: This mode uses two FIR filters (H0 and H1), and it only can accept {H0} as input parameter; H1 filter is calculated as the quadrature mirror filter of H0. $H1[Z]= H0[-Z]$. At end the, there will be a down-sampler by 2. This mode is commonly used with H0 as low pass FIR filter with cut-off in pi/2 (for a 2*pi normalized frequency range). In order to have a perfect reconstruction it is necessary that $D[Z]=H0^2[Z]-H0^2[-Z]=A Z^B$ for any A and B. After starting the main routine just type the following command at the prompt: [DATA0 DATA1] = firfilterbank(DATA,FILTER,MODE); [DATA0 DATA1] = firfilterbank(DATA,H0,'MODE2'); [DATA0 DATA1] = firfilterbank(DATA,H0,'MODE0'); [DATA0 DATA1] = firfilterbank(DATA,[H0;H1],'MODE0'); Input: DATA is a speckle data pack. Where DATA is a 3D matrix created grouping NTIMES intensity matrices with NLIN lines and NCOL columns. When N=size(DATA), then N(1,1) represents NLIN and N(1,2) represents NCOL and N(1,3) represents NTIMES. FILTER is a matrix (with 2 lines) or a vector, where FILTER=H0 or FILTER=[H0;H1]. H0 and H1 represent two FIR filters. FILTER=H0 is used in the mode 'MODE2', by other side FILTER=H0 or FILTER=[H0;H1] can be used in the mode 'MODE0'. MODE is the type of analysis selected of a filter bank. It can be 'MODE0' or 'MODE2'. Output: DATA0 is obtained from the output of H0 FIR filter, in non-causal form, with input each pixel of datapack. If the mode used have a down-sampler after filtering, then DATA0 is the output of down-sampler. DATA1 is obtained after the output of H1 FIR filter, in non-causal form, with input each pixel of datapack. If the mode used have a down-sampler after filtering, then DATA1 is the output of down-sampler. For help, bug reports and feature suggestions, please visit: http://nongnu.org/bsltl/
Package: bsltl