Inverse Fast Walsh-Hadamard transform
y = ifwht(x)
y = ifwht(x,n)
y = ifwht(x,n,ordering)
y = ifwht(x)
returns the coefficients of the inverse discrete
fast Walsh-Hadamard transform of the input x
. If x
is a matrix, the inverse fast Walsh-Hadamard transform is calculated on each column of
x
. The inverse fast Walsh-Hadamard transform operates only on
signals with length equal to a power of 2. If the length of x
is less
than a power of 2, its length is padded with zeros to the next greater power of two
before processing.
y = ifwht(x,n)
returns the n
-point inverse
discrete Walsh-Hadamard transform, where n
must be a power of 2.
y = ifwht(x,n,ordering)
specifies the ordering to use for the
returned inverse Walsh-Hadamard transform coefficients. To specify the ordering, you
must enter a value for the length n
or, to use the default behavior,
specify an empty vector ([]
) for n
. Valid values
for the ordering are the following:
Ordering | Description |
---|---|
'sequency' | Coefficients in order of ascending sequency value, where each row has an additional zero crossing. This is the default ordering. |
'hadamard' | Coefficients in normal Hadamard order. |
'dyadic' | Coefficients in Gray code order, where a single bit change occurs from one coefficient to the next. |
The inverse fast Walsh-Hadamard transform algorithm is similar to the Cooley-Tukey algorithm used for the inverse FFT. Both use a butterfly structure to determine the transform coefficients. See the references for details.
[1] Beauchamp, Kenneth G. Applications of Walsh and Related Functions: With an Introduction to Sequency Theory. London: Academic Press, 1984.
[2] Beer, Tom. “Walsh Transforms.” American Journal of Physics. Vol. 49, 1981, pp. 466–472.