# step

Package: dsp

Decompose input with dyadic filter bank

## Syntax

`Y = step(H,X)`

## Description

`Y = step(H,X)` computes the subband decomposition of the input `X` and outputs the dyadic subband decomposition in `Y` as a single concatenated column vector or matrix of coefficients. Each column of `X` is treated as an independent input, and the number of rows of `X` must be a multiple of ${2}^{N},$ where N is the value of the `NumLevels` property. The elements of `Y` are ordered with the highest frequency subband first followed by subbands in decreasing frequency

## Examples

Subband ordering for level-two asymmetric tree structure:

```t = 0:.001:1.023; % Sampling frequency 1 kHz input length 1024 x= square(2*pi*30*t); xn = x' + 0.08*randn(length(x),1); % Default asymmetric structure with % Daubechies order 3 extremal phase wavelet H = dsp.DyadicAnalysisFilterBank; Y = step(H,xn); % Level 2 yields 3 subbands (two detail-one approximation) % Nyquist frequency is 500 Hz D1 =Y(1:512); % subband approx. [250, 500] Hz D2 = Y(513:768); % subband approx. [125, 250] Hz Approx = Y(769:1024); % subband approx. [0,125] Hz```

Subband ordering for symmetric tree structure:

```t = 0:.001:1.023; % Sampling frequency 1 kHz input length 1024 x= square(2*pi*30*t); xn = x' + 0.08*randn(length(x),1); % symmetric structure with % Daubechies order 3 extremal phase wavelet H = dsp.DyadicAnalysisFilterBank('TreeStructure',... 'Symmetric'); Y = step(H,xn); D1 = Y(1:256); % subband approx. [375,500] Hz D2 = Y(257:512); % subband approx. [250,375] Hz D3 = Y(513:768); % subband approx. [125,250] Hz Approx = Y(769:1024); % subband approx. [0, 125] Hz```