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 strings:

'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.

More About

expand all


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.

See Also

| | | |

Introduced in R2008b

Was this topic helpful?