Open walshhadamarddemo.m in the Editor
Run in the Command Window
Discrete Walsh-Hadamard Transform Contents
?Introduction
?Walsh (or Hadamard) Functions
?Discrete Walsh-Hadamard Transform
?Walsh-Transform Applications
?References
Introduction
The Walsh-Hadamard transform (WHT) is a suboptimal, non-sinusoidal, orthogonal transformation that decomposes a signal into a set of orthogonal, rectangular waveforms called Walsh functions. The transformation has no multipliers and is real because the amplitude of Walsh (or Hadamard) functions has only two values, +1 or -1.
WHTs are used in many different applications, such as power spectrum analysis, filtering, processing speech and medical signals, multiplexing and coding in communications, characterizing non-linear signals, solving non-linear differential equations, and logical design and analysis.
This demo provides an overview of the Walsh-Hadamard transform and some of its properties by showcasing two applications, communications using spread spectrum and processing of ECG signals.
Walsh (or Hadamard) Functions
Walsh functions are rectangular or square waveforms with values of -1 or +1. An important characteristic of Walsh functions is sequency which is determined from the number of zero-crossings per unit time interval. Every Walsh function has a unique sequency value.
Walsh functions can be generated in many ways (see [1]). Here we use the hadamard function in MATLAB? to generate Walsh functions. Length eight Walsh functions are generated as follows.