Analysis and synthesis filters for oversampled wavelet filter banks
Obtain valid filters for the complex dual-tree wavelet transform. The transform uses Farras nearly symmetric filters for the first stage and Kingsbury Q-shift filters with 10 taps for subsequent stages.
Load the noisy Doppler signal. Obtain the filters for the first and subsequent stages of the complex dual-tree wavelet transform. Demonstrate perfect reconstruction using the complex dual-tree wavelet transform.
load noisdopp; df = dtfilters('dtf2'); dt = dddtree('cplxdt',noisdopp,5,df{1},df{2}); xrec = idddtree(dt); max(abs(noisdopp-xrec))
ans = 1.3323e-13
Obtain valid filters for the double-density wavelet transform.
Load the noisy Doppler signal. Obtain the filters for the double-density wavelet transform. The double-density wavelet transform uses the same filters at all stages. Demonstrate perfect reconstruction using the double-density wavelet transform.
df = dtfilters('filters1'); load noisdopp; dt = dddtree('ddt',noisdopp,5,df,df); xrec = idddtree(dt); max(abs(noisdopp-xrec))
ans = 2.3892e-13
name — Filter name'dtf1' | 'dddtf1' | 'self1' | 'self2' | ...Filter name, specified as a character vector or string scalar. Valid
entries for name are:
Any valid orthogonal or biorthogonal wavelet name. See
wfilters for
details. An orthogonal or biorthogonal wavelet is only valid
when the filter bank type is 'dwt', or when
you use the filter as the first stage in a complex dual-tree
transform, 'realdt' or
'cplxdt'. An orthogonal or biorthogonal
wavelet filter is not a valid filter if you have a
double-density, 'ddt' or dual-tree
double-density, 'realdddt' or
'cplxdddt', filter bank. An orthogonal or
biorthogonal wavelet filter is not a valid filter for complex
dual-tree filter banks for stages greater than 1.
'dtfP' — With P equal to 1, 2, 3, 4,
or 5 returns the first-stage Farras filters
('FSfarras') and Kingsbury Q-shift
filters ('qshiftN') for subsequent stages.
This input is only valid for a dual-tree transform,
'realdt' or 'cplxdt'.
Setting P = 1, 2, 3, 4, or 5 specifies the Kingsbury Q-shift
filters with N = 6, 10, 14, 16, or 18 taps, respectively.
'dddtf1' — Returns the filters for
the first and subsequent stages of the double-density dual-tree
transform. This input is only valid for the double-density
dual-tree transforms, 'realdddt' and
'cplxdddt'.
'self1' — Returns 10-tap filters for
the double-density wavelet transform. This option is only valid
for double-density wavelet transforms, 'ddt',
'realdddt', and
'cplxdddt'.
'self2' — Returns 16-tap filters for
the double-density wavelet transform. This option is only valid
for double-density wavelet transforms, 'ddt',
'realdddt', and
'cplxdddt'.
'filters1' — Returns 6-tap filters
for the double-density wavelet transform,
'ddt'.
'filters2' — Returns 12-tap filters
for the double-density wavelet transform,
'ddt'.
'farras' — Farras nearly symmetric
filters for a two-channel perfect reconstruction filter bank.
This option is meant to be used for one-tree transforms and is
valid only for an orthogonal critically sampled wavelet
transform, 'dwt'. The output of
dtfilters is a two-column matrix. The
first column of the matrix is a scaling (lowpass) filter, and
the second column is a wavelet (highpass) filter.
'FSfarras' — Farras nearly symmetric
first-stage filters intended for a dual-tree wavelet transform.
With this option, the output of dtfilters
is a cell array with two elements, one for each tree. Each
element is a two-column matrix. The first column of the matrix
is a scaling (lowpass) filter, and the second column is a
wavelet (highpass) filter.
'qshiftN' — Kingsbury Q-shift N-tap
filters with N = 6, 10, 14, 16, or 18. The Kingsbury Q-shift
filters are used most commonly in dual-tree wavelet transforms
for stages greater than 1.
'doubledualfilt' — Filters for one
stage of the double-density dual-tree wavelet transforms,
'realdddt' or
'cplxdddt'.
df — Decomposition (analysis) filtersDecomposition (analysis) filters, returned as a matrix or cell array of matrices.
rf — Reconstruction (synthesis) filtersReconstruction (synthesis) filters, returned as a matrix or cell array of matrices.
You have a modified version of this example. Do you want to open this example with your edits?