Main Content

Walsh-Hadamard Transform

La transformación Walsh-Hadamard es una técnica de transformación ortogonal no sinusoidal que descompone una señal en un conjunto de funciones base. Estas funciones base son funciones Walsh, que son ondas rectangulares o cuadradas con valores de +1 o –1. Las transformaciones Walsh-Hadamard también se conocen como hadamard (consulte la función en el software MATLAB), Walsh o transformaciones Walsh-Fourier.hadamard

Las primeras ocho funciones Walsh tienen estos valores:

ÍndiceValores de función Walsh
01 1 1 1 1 1 1 1
11 1 1 1 -1 -1 -1 -1
21 1 -1 -1 -1 -1 1 1
31 1 -1 -1 1 1 -1 -1
41 -1 -1 1 1 -1 -1 1
51 -1 -1 1 -1 1 1 -1
61 -1 1 -1 -1 1 -1 1
71 -1 1 -1 1 -1 1 -1

La transformación Walsh-Hadamard devuelve valores de secuenciación. La secuenciación es una noción más generalizada de frecuencia y se define como la mitad del número medio de cruces cero por intervalo de tiempo de unidad. Cada función Walsh tiene un valor de secuenciación único. Puede utilizar los valores de secuencia devueltos para estimar las frecuencias de señal en la señal original.

Tres esquemas de pedido diferentes se utilizan para almacenar funciones Walsh: secuenciación, Hadamard y dyadic. El orden de secuenciación, que se utiliza en aplicaciones de procesamiento de señales, tiene las funciones Walsh en el orden mostrado en la tabla anterior. El pedido de Hadamard, que se utiliza en aplicaciones de controles, los organiza como 0, 4, 6, 2, 3, 7, 5, 1. El orden de código dyadic o gris, que se utiliza en matemáticas, los organiza como 0, 1, 3, 2, 6, 7, 5, 4.

La transformación Walsh-Hadamard se utiliza en una serie de aplicaciones, como el procesamiento de imágenes, el procesamiento de voz, el filtrado y el análisis del espectro de potencia. Es muy útil para reducir los requisitos de almacenamiento de ancho de banda y el análisis de espectro extendido. Al igual que el FFT, la transformación Walsh-Hadamard tiene una versión rápida, la transformación rápida Walsh-Hadamard ( ).fwht En comparación con el FFT, el FWHT requiere menos espacio de almacenamiento y es más rápido de calcular porque utiliza solo sumas y restas reales, mientras que el FFT requiere valores complejos. El FWHT es capaz de representar señales con discontinuidades nítidas con mayor precisión utilizando menos coeficientes que el FFT. Tanto el FWHT como el FWHT inverso ( ) son simétricos y, por lo tanto, utilizan procesos de cálculo idénticos.ifwht El FWHT y el IFWHT para una señal x(t) de longitud se definen como:N

yn=1Ni=0N1xiWAL(n,i),xi=i=0N1ynWAL(n,i),

Dónde i = 0,1, …, N – 1 Y WAL(n,i) son funciones Walsh. Similar al algoritmo Cooley-Tukey para el FFT, los elementos se descomponen en dos conjuntos de /2 elementos, que luego se combinan utilizando una estructura de mariposa para formar el FWHT.NN Para las imágenes, donde la entrada suele ser una señal 2D, los coeficientes FWHT se calculan evaluando primero a través de las filas y luego evaluando las columnas.

Para la siguiente señal simple, el FWHT resultante muestra que se creó utilizando funciones Walsh con valores de secuenciación de 0, 1, 3 y 6, que son los índices distintos de cero de los transformados.xx El FWHT inverso recrea la señal original.

x = [4 2 2 0 0 2 -2 0] y = fwht(x)
x =       4     2     2     0     0     2    -2     0  y =       1     1     0     1     0     0     1     0
x1 = ifwht(y)
 x1 =       4     2     2     0     0     2    -2     0

Consulte también

|

Temas relacionados