| DSP Blockset |
 |
Dyadic Analysis Filter Bank
Decompose a signal into subbands with smaller bandwidths and slower sample rates
Library
Filtering / Multirate Filters
Description

| Note
This block decomposes frame-based signals with frame size a multiple of 2n into either n+1 or 2n subbands. To decompose sample-based signals or frame-based signals of different sizes, use the Two-Channel Analysis Subband Filter block. (You can connect multiple copies of the Two-Channel Analysis Subband Filter block to create a multilevel dyadic analysis filter bank.)
|
The Dyadic Analysis Filter Bank block decomposes a broadband signal into a collection of subbands with smaller bandwidths and slower sample rates. The block uses a series of highpass and lowpass FIR filters to repeatedly divide the input frequency range, as illustrated in Figure 7-6, n-Level Asymmetric Dyadic Analysis Filter Bank,.
You can specify the filter bank's highpass and lowpass filters by providing vectors of filter coefficients. If you install the Wavelet Toolbox, you can also specify wavelet-based filters by selecting a wavelet from the Filter parameter. You must set the filter bank structure to asymmetric or symmetric, and specify the number of levels in the filter bank. For more information about filter banks and the block, see the other sections of this reference page.
Sections of This Reference Page
Review of Dyadic Analysis Filter Banks
Dyadic analysis filter banks are constructed from the following basic unit. The unit can be cascaded to construct dyadic analysis filter banks with either a symmetric or asymmetric tree structure.

Each unit consists of a lowpass (LP) and highpass (HP) FIR filter pair, followed by a decimation by a factor of 2. The filters are halfband filters with a cutoff frequency of Fs / 4, a quarter of the input sampling frequency. Each filter passes the frequency band that the other filter stops.
The unit decomposes its input into adjacent high-frequency and low-frequency subbands. Compared to the input, each subband has half the bandwidth (due to the half-band filters) and half the sample rate (due to the decimation by 2).
| Note
The following figures illustrate the concept of a filter bank, but not how the block implements a filter bank; the block uses a more efficient polyphase implementation.
|

Figure 7-6: n-Level Asymmetric Dyadic Analysis Filter Bank
Use the above figure and the following figure to compare the two tree structures of the dyadic analysis filter bank. Note that the asymmetric structure decomposes only the low-frequency output from each level, while the symmetric structure decomposes the high- and low-frequency subbands output from each level.
Figure 7-7: n-Level Symmetric Dyadic Analysis Filter Bank
The following table summarizes the key characteristics of the symmetric and asymmetric dyadic analysis filter bank.
Table 7-8: Notable Characteristics of Asymmetric and Symmetric Dyadic Analysis Filter Banks
|
n-level Symmetric
|
n-level Asymmetric
|
Low- and High-Frequency Subband Decomposition
|
All the low-frequency and high-frequency subbands in a level are decomposed in the next level.
|
Each level's low-frequency subband is decomposed in the next level, and each level's high-frequency band is an output of the filter bank.
|
Number of Output Subbands
|
2n
|
n+1
|
Bandwidth and Number of Samples in Output Subbands
|
For an input with bandwidth BW and N samples, all outputs have bandwidth BW / 2n and N / 2n samples.
|
For an input with bandwidth BW and N samples, yk has the bandwidth BWk, and Nk samples, where
The bandwidth of, and number of samples in each subband (except the last) is half those of the previous subband. The last two subbands have the same bandwidth and number of samples since they originate from the same level in the filter bank.
|
Output Sample Period
|
All output subbands have a sample period of 2n(Tsi)
|
Sample period of kth output
Due to the decimations by 2, the sample period of each subband (except the last) is twice that of the previous subband. The last two subbands have the same sample period since they originate from the same level in the filter bank.
|
Total Number of Output Samples
|
The total number of samples in all of the output subbands is equal to the number of samples in the input (due to the of decimations by 2 at each level).
|
Wavelet Applications
|
In wavelet applications, the highpass and lowpass wavelet-based filters are designed so that the aliasing introduced by the decimations are exactly canceled in reconstruction.
|
Input Requirements
- Input can be a frame-based vector or frame-based matrix.
- The input frame size must be a multiple of 2n, where n is the number of filter bank levels. For example, a frame size of 16 would be appropriate for a three-level tree (16 is a multiple of 23).
- The block always operates along the columns of the inputs.
For an illustration of why the above input requirements exist, see Figure 7-8, Outputs of a 3-Level Asymmetric Dyadic Analysis Filter Bank,.
Output Characteristics (Setting the Output Parameter)
The output characteristics vary depending on the block's parameter settings, as summarized in the following list and figure:
- Number of levels parameter set to n
- Tree structure parameter setting:
- Asymmetric -- Block produces n+1 output subbands
- Symmetric -- Block produces 2n output subbands
- Output parameter setting can be Multiple ports or Single port. The following figure illustrates the difference between the two settings for a 3-level asymmetric dyadic analysis filter bank. For an explanation of the illustrated output characteristics, see Table 7-9, Output Characteristics for n-level Dyadic Analysis Filter Bank,.
For more information about the filter bank levels and structures, see Review of Dyadic Analysis Filter Banks.

Figure 7-8: Outputs of a 3-Level Asymmetric Dyadic Analysis Filter Bank
The following table summarizes the different output characteristics of the block when it is set to output from single or multiple ports.
Table 7-9: Output Characteristics for n-level Dyadic Analysis Filter Bank
|
Single Output Port
|
Multiple Output Ports
|
Output Description
|
Block concatenates all the subbands into one vector or matrix, and outputs the concatenated subbands from a single output port. Each output column contains subbands of the corresponding input channel.
|
Block outputs each subband from a separate output port. The topmost port outputs the subband with the highest frequencies. Each output column contains a subband for the corresponding input channel.
|
Output Frame Status
|
Sample-based
|
Frame-based
|
Output Frame Rate
|
Not applicable
|
Same as input frame rate (However, the output frame sizes may vary, so the output sample rates may vary).
|
Output Dimensions (Frame Size)
|
Same number of rows and columns as the input.
|
The output has the same number of columns as the input. The number of output rows is the output frame size. For an input with frame size Mi output yk has frame size Mo,k:
- Symmetric -- All outputs have the frame size, Mi / 2n
- Asymmetric -- The frame size of each output (except the last) is half that of the output from the previous level. The outputs from the last two output ports have the same frame size since they originate from the same level in the filter bank.
|
Output Sample Rate
|
Same as input sample rate.
|
Though the outputs have the same frame rate as the input, they have different frame sizes than the input. Thus, the output sample rates, Fso,k, are different from the input sample rate, Fsi:
- Symmetric -- All outputs have the sample rate Fsi / 2n.
- Asymmetric --
|
Specifying Filter Bank Filters
You must specify the highpass and lowpass filters in the filter bank by setting the Filter parameter to one of the following options:
- User defined -- Allows you to explicitly specify the filters with two vectors of filter coefficients in the Lowpass FIR filter coefficients and Highpass FIR filter coefficients parameters. The block uses the same lowpass and highpass filters throughout the filter bank. The two filters should be halfband filters, where each filter passes the frequency band that the other filter stops.
- Wavelet such as Biorthogonal or Daubechies -- The block uses the specified wavelet to construct the lowpass and highpass filters using the Wavelet Toolbox function,
wfilters. Depending on the wavelet, the block may enable either the Wavelet order or Filter order [synthesis / analysis] parameter. (The latter parameter allows you to specify different wavelet orders for the analysis and synthesis filter stages.) You must install the Wavelet Toolbox to use wavelets.
Table 7-10: Specifying Filters with the Filter Parameter and Related Parameters
Filter
|
Sample Setting for Related Filter Specification Parameters
|
Corresponding Wavelet Function Syntax
|
User-defined
|
Filters based on Daubechies wavelets with wavelet order 3:
- Lowpass FIR filter coefficients =
[0.0352 -0.0854 -0.1350 0.4599 0.8069 0.3327]
- Highpass FIR filter coefficients =
[-0.3327 0.8069 -0.4599 -0.1350 0.0854 0.0352]
|
None
|
Haar
|
None
|
wfilters('haar')
|
Daubechies
|
Wavelet order = 4
|
wfilters('db4')
|
Symlets
|
Wavelet order = 3
|
wfilters('sym3')
|
Coiflets
|
Wavelet order = 1
|
wfilters('coif1')
|
Biorthogonal
|
Filter order [synthesis / analysis] = [3/1]
|
wfilters('bior3.1')
|
Reverse Biorthogonal
|
Filter order [synthesis / analysis] = [3/1]
|
wfilters('rbio3.1')
|
Discrete Meyer
|
None
|
wfilters('dmey')
|
Examples
Wavelets. The primary application for dyadic analysis filter banks and dyadic synthesis filter banks, is coding for data compression using wavelets.
At the transmitting end, the output of the dyadic analysis filter bank is fed to a lossy compression scheme, which typically assigns the number of bits for each filter bank output in proportion to the relative energy in that frequency band. This represents the more powerful signal components by a greater number of bits than the less powerful signal components.

At the receiving end, the transmission is decoded and fed to a dyadic synthesis filter bank to reconstruct the original signal. The filter coefficients of the complementary analysis and synthesis stages are designed to cancel aliasing introduced by the filtering and resampling.
Demos. See the following DSP Blockset demos, which use the Dyadic Analysis Filter Bank block:
| Note
To see the version of the demos that use the Dyadic Analysis Filter Bank and Dyadic Synthesis Filter Bank blocks, click the Frame-Based Demo button in the demos.
Open the demos using one of the following methods:
- Click the above links in the MATLAB Help browser (not in a Web browser).
- Type
demo blockset dsp at the MATLAB command line, and look in the Wavelets directory.
|
Dialog Box
The parameters displayed in the block dialog vary depending on the setting of the Filter parameter. Only some of the parameters described below are visible in the dialog box at any one time.

- Filter
- The type of filter used to determine the high- and low-pass FIR filters in the dyadic analysis filter bank:
- Select User defined to explicitly specify the filter coefficients in the Lowpass FIR filter coefficients and Highpass FIR filter coefficients parameters.
- Select a wavelet such as Biorthogonal or Daubechies to specify a wavelet-based filter. The block uses the Wavelet Toolbox function,
wfilters, to construct the filters. Extra parameters such as Wavelet order or Filter order [synthesis / analysis] may become enabled. For a list of the supported wavelets, see Table 7-10, Specifying Filters with the Filter Parameter and Related Parameters,.
- Lowpass FIR filter coefficients
- A vector of filter coefficients (descending powers of z) that specifies coefficients used by all the lowpass filters in the filter bank. This parameter is enabled when you set Filter to User defined. The lowpass filter should be a half-band filter that passes the frequency band stopped by the filter specified in the Highpass FIR filter coefficients parameter. The default values of this parameter specify a filter based on Daubechies wavelet with wavelet order
3.
- Highpass FIR filter coefficients
- A vector of filter coefficients (descending powers of z) that specifies coefficients used by all the highpass filters in the filter bank. This parameter is enabled when you set Filter to User defined. The highpass filter should be a half-band filter that passes the frequency band stopped by the filter specified in the Lowpass FIR filter coefficients parameter. The default values of this parameter specify a filter based on a Daubechies wavelet with wavelet order
3.
- Wavelet order
- The order of the wavelet selected in the Filter parameter. This parameter is enabled only when you set Filter to certain types of wavelets, as shown in Table 7-10, Specifying Filters with the Filter Parameter and Related Parameters,.
- Filter order [synthesis / analysis]
- The order of the wavelet for the synthesis and analysis filter stages. For example, if you set the Filter parameter to Biorthogonal and set the Filter order [synthesis / analysis] parameter to [2 / 6], the block calls the
wfilters function with input argument 'bior2.6'. This parameter is enabled only when you set Filter to certain types of wavelets, as shown in Table 7-10, Specifying Filters with the Filter Parameter and Related Parameters,.
- Number of levels
- The number of filter bank levels. An n-level asymmetric structure has n+1 outputs, and an n-level symmetric structure has 2n outputs, as shown in Figure 7-6, n-Level Asymmetric Dyadic Analysis Filter Bank, and Figure 7-7, n-Level Symmetric Dyadic Analysis Filter Bank,. The block's icon displays the value of this parameter in the lower left corner.
- Tree structure
- The structure of the filter bank: Asymmetric, or Symmetric. See Figure 7-6, n-Level Asymmetric Dyadic Analysis Filter Bank, and Figure 7-7, n-Level Symmetric Dyadic Analysis Filter Bank,.
- Output
- Set to Multiple ports to output each output subband on a separate port (the topmost port outputs the subband with the highest frequency band). Set to Single port to concatenate the subbands into one vector or matrix and output the concatenated subbands on a single port. For more information, see Output Characteristics (Setting the Output Parameter).
References
Fliege, N. J. Multirate Digital Signal Processing: Multirate Systems, Filter Banks, Wavelets. West Sussex, England: John Wiley & Sons, 1994.
Strang, G. and T. Nguyen. Wavelets and Filter Banks. Wellesley, MA: Wellesley-Cambridge Press, 1996.
Vaidyanathan, P. P. Multirate Systems and Filter Banks. Englewood Cliffs, NJ: Prentice Hall, 1993.
Supported Data Types
- Double-precision floating point
- Single-precision floating point
To learn how to convert to the above data types in MATLAB and Simulink, see Supported Data Types and How to Convert to Them.
See Also
See Multirate Filters for related information. Also see Filtering for a list of all DSP Blockset filtering blocks.
| DWT | | Dyadic Synthesis Filter Bank |  |