DSP Blockset    
Two-Channel Synthesis Subband Filter

Reconstruct a signal from a high-frequency subband and a low-frequency subband

Library

Filtering / Multirate Filters

Description

The Two-Channel Synthesis Subband Filter block reconstructs a signal from its high-frequency subband and low-frequency subband, each with half the bandwidth and half the sample rate of the original signal. Use this block to reconstruct signals decomposed by the Two-Channel Analysis Subband Filter block.

The block upsamples the high- and low-frequency subbands by 2, and then filters the results with a pair of highpass and lowpass FIR filters, as illustrated in the following figure.

Note the block implements the FIR filtering and downsampling steps together using a polyphase filter structure, which is more efficient than the straightforward interpolate-then-filter algorithm illustrated above.

You must provide the vector of filter coefficients for the two filters. Each filter should be a half-band filter that passes the frequency band that the other filter stops. To use this block to reconstruct the output of a Two-Channel Analysis Subband Filter block, the filters in this block must be designed to perfectly reconstruct the outputs of the analysis filters.

See other sections of this reference page for more information.

Sections of This Reference Page

Specifying the FIR Filters

You must provide the vector of numerator coefficients for the lowpass and highpass filters in the Lowpass FIR filter coefficients and Highpass FIR filter coefficients parameters.

For example, to specify a filter with the following transfer function, enter the vector [b(1) b(2) ... b(m)].

Each filter should be a half-band filter that passes the frequency band that the other filter stops. To use this block to reconstruct the output of a Two-Channel Analysis Subband Filter block, the filters in this block must be designed to perfectly reconstruct the outputs of the analysis filters.

The best way to design perfect reconstruction filters is to use the wfilters function in the Wavelet Toolbox for the filters in both this block and in the corresponding Two-Channel Analysis Subband Filter block. You can also use functions from the Filter Design toolbox and Signal Processing Toolbox. To learn how to design your own perfect reconstruction filters, see References.

The block initializes all filter states to zero.

Sample-Based Operation

Valid Sample-Based Inputs.   The block accepts any two M-by-N sample-based matrices with the same sample rates. The block treats each matrix as  independent subbands, where each matrix element is the high- or low-frequency subband of the corresponding channel in the output matrix. The input to the topmost input port should contain the high-frequency subbands.

Sample-Based Outputs.   Given valid sample-based inputs, the block outputs one sample-based matrix with the same dimensions as the inputs. The output sample rate is twice that of the input. Each element of the output is a single channel, reconstructed from the corresponding elements in each input matrix. Depending on the Simulink simulation parameters, some sample-based outputs may have one sample of latency, as described in Latency.

Frame-Based Operation

Valid Frame-Based Inputs.   The block accepts any two M-by-N frame-based matrices with the same frame rates. The block treats each input column as the high- or low-frequency subbands of the corresponding output channel. The input to the topmost input port should contain the high-frequency subbands.

Frame-Based Outputs.   Given valid frame-based inputs, the block outputs a frame-based matrix. Each output column is a single channel, reconstructed from the corresponding columns in each input matrix.

The sample rate of the output is twice that of the input. The Framing parameter sets whether the block doubles the sample rate by doubling the output frame size, or doubling the output frame rate:

Latency

In some cases, the block has nonzero tasking latency, which means that there is a constant delay between the time that the block receives an input, and produces the corresponding output, as summarized below and in the following table:

For more information about block rates and the Simulink tasking modes, see Excess Algorithmic Delay (Tasking Latency) and the topic on the Simulation Parameters dialog box in the Simulink documentation.

Table 7-21: Amount of Block Latency for All Possible Block Settings
Input
Latency
No Latency
Sample-based
One sample of latency when Mode = MultiTasking or Auto in the Simulation Parameters dialog (Ctrl + E). First output sample of each channel is always 0.
Mode = SingleTasking in the Simulation Parameters dialog (Ctrl + E).
Frame-based
One frame of latency when
Framing = Maintain input frame size. First output frame is always all zeros.
Framing = Maintain input frame rate

Creating Multilevel Dyadic Synthesis Filter Banks

The Two-Channel Synthesis Subband Filter block is the basic unit of a dyadic synthesis filter bank. You can connect several of these blocks to implement an n-level filter bank, as illustrated in the following figure. (For a review of dyadic synthesis filter banks, see Review of Dyadic Synthesis Filter Banks in the Dyadic Synthesis Filter Bank reference page.)

In some cases, rather than connecting several Two-Channel Synthesis Subband Filter blocks, it is more efficient (faster and requires less memory) to use the Dyadic Synthesis Filter Bank block. In particular, use the Dyadic Synthesis Filter Bank to reconstruct a frame-based signal (with frame size a multiple of 2n) from 2n or n+1 subbands whose properties match those of the Dyadic Analysis Filter Bank's outputs. These properties are described in Output Characteristics (Setting the Output Parameter) of the Dyadic Analysis Filter Bank reference page.

The Dyadic Synthesis Filter Bank block allows you to specify the filter bank filters by providing vectors of filter coefficients, just as this block does. The Dyadic Synthesis Filter Bank block provides an additional option of using wavelet-based filters that the block designs by using a wavelet you specify.

Examples

See the following DSP Blockset demos, which use the Two-Channel Synthesis Subband Filter block:

Dialog Box

Lowpass FIR filter coefficients
A vector of lowpass FIR filter coefficients, in descending powers of z. 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. To use this block to reconstruct the output of a Two-Channel Analysis Subband Filter block, the filters in this block must be designed to perfectly reconstruct the outputs of the analysis filters. For more information, see Specifying the FIR Filters.
Highpass FIR filter coefficients
A vector of highpass FIR filter coefficients, in descending powers of z. 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. To use this block to reconstruct the output of a Two-Channel Analysis Subband Filter block, the filters in this block must be designed to perfectly reconstruct the outputs of the analysis filters. For more information, see Specifying the FIR Filters.
Framing
For frame-based inputs, the method by which to implement the interpolation: by doubling the output frame rate (Maintain input frame size), or doubling the output frame size (Maintain input frame rate). For more information, see Frame-Based Operation. Some settings of this parameter causes the block to have nonzero latency, as described in Latency.

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

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

Dyadic Synthesis Filter Bank
DSP Blockset
Two-Channel Analysis Subband Filter
DSP Blockset
fir1
Signal Processing Toolbox
fir2
Signal Processing Toolbox
firls
Signal Processing Toolbox
remez
Signal Processing Toolbox

For related information, see Multirate Filters. Also see Filtering for a list of all DSP Blockset filtering blocks.


  Two-Channel Analysis Subband Filter Unbuffer