Documentation |
Package: dsp
Decompose signal into high-frequency and low-frequency subbands
The SubbandAnalysisFilter object decomposes a signal into high-frequency and low-frequency subbands.
To decompose a signal into high-frequency and low-frequency subbands:
Define and set up your two-channel subband analysis filter. See Construction.
Call step to decompose the signal according to the properties of dsp.SubbandAnalysisFilter. The behavior of step is specific to each object in the toolbox.
H = dsp.SubbandAnalysisFilter returns a two-channel subband analysis filter, H, that decomposes the input signal into a high-frequency subband and a low-frequency subband, each with half the bandwidth of the input.
H = dsp.SubbandAnalysisFilter('PropertyName',PropertyValue,...) returns a two-channel subband analysis filter, H, with each specified property set to the specified value.
H = dsp.SubbandAnalysisFilter(lpc,hpc,
'PropertyName',PropertyValue,...) returns
a two-channel subband analysis filter, H, with
the LowpassCoefficients property
set to lpc, the HighpassCoefficients property
set to hpc, and other specified properties set to
the specified values.
LowpassCoefficients |
Lowpass FIR filter coefficients Specify a vector of lowpass FIR filter coefficients, in descending powers of z. For the lowpass filter, use a half-band filter that passes the frequency band stopped by the filter specified in the HighpassCoefficients property. The default values of this property specify a filter based on a third-order Daubechies wavelet. |
HighpassCoefficients |
Highpass FIR filter coefficient Specify a vector of highpass FIR filter coefficients, in descending powers of z. For the highpass filter, use a half-band filter that passes the frequency band stopped by the filter specified in the LowpassCoefficients property. The default values of this property specify a filter based on a third-order Daubechies wavelet. |
clone | Create subband analysis filter object with same property values |
getNumInputs | Number of expected inputs to step method |
getNumOutputs | Number of outputs of step method |
isLocked | Locked status for input attributes and nontunable properties |
release | Allow property value and input characteristics changes |
reset | Reset filter states of subband analysis filter object |
step | Decompose signal into high- and low-frequency subbands |
Perfectly reconstruct a signal using subband analysis and synthesis filters:
load dspwlets; % load the filter coefficients lod, hid, lor and hir ha = dsp.SubbandAnalysisFilter(lod, hid); hs = dsp.SubbandSynthesisFilter(lor, hir); u = randn(128,1); [hi, lo] = step(ha, u); % Two channel analysis y = step(hs, hi, lo); % Two channel synthesis % Plot difference between original and reconstructed signals % with filter latency compensated plot(u(1:end-7)-y(8:end));
This object implements the algorithm, inputs, and outputs described on the Two-Channel Analysis Subband Filter block reference page. The object properties correspond to the block parameters, except:
The SubbandAnalysisFilter object does not have a property that corresponds to the Input processing parameter of the Two-Channel Analysis Subband Filter block. The object assumes the input is frame based and always maintains the input frame rate.
The Rate options block parameter is not supported by the dsp.SubbandAnalysisFilter object.