

En matemáticas computacionales, la transformada rápida de Walsh-Hadamard ordenada por Hadamard ( FWHT h ) es un algoritmo eficiente para calcular la transformada de Walsh-Hadamard (WHT). Una implementación ingenua de la WHT de ordentendría una complejidad computacional de O() . El FWHT h solo requieresumas o restas.
El FWHT h es un algoritmo de divide y vencerás que descompone recursivamente un WHT de tamañoen dos WHT más pequeños de tamaño. [ 1 ] Esta implementación sigue la definición recursiva de laMatriz de Hadamard:
ElLos factores de normalización para cada etapa pueden agruparse o incluso omitirse.
La transformada de Walsh-Hadamard rápida, FWHT w , ordenada en secuencia , también conocida como ordenada por Walsh, se obtiene calculando la FWHT h como se indicó anteriormente y luego reorganizando las salidas.
Una implementación simple, rápida y no recursiva de la transformada de Walsh-Hadamard se obtiene a partir de la descomposición de la matriz de la transformada de Hadamard como, donde A es la raíz m -ésima de. [ 2 ]
Código de ejemplo en Python
import math def fwht ( a ) -> None : """Transformación rápida de Walsh-Hadamard in situ del array a.""" assert math . log2 ( len ( a )) . is_integer (), "la longitud de a es una potencia de 2" h = 1 while h < len ( a ): # realizar FWHT for i in range ( 0 , len ( a ), h * 2 ): for j in range ( i , i + h ): x = a [ j ] y = a [ j + h ] a [ j ] = x + y a [ j + h ] = x - y # normalizar e incrementar a /= math . sqrt ( 2 ) h *= 2Véase también
Referencias
- ↑ Fino, BJ; Algazi, VR (1976). "Tratamiento matricial unificado de la transformada rápida de Walsh-Hadamard". IEEE Transactions on Computers . 25 (11): 1142– 1146. doi : 10.1109/TC.1976.1674569 . S2CID 13252360 .
- ↑ Yarlagadda y Hershey, "Análisis y síntesis de la matriz de Hadamard", 1997 (Springer)
Enlaces externos
- Charles Constantine Gumas, Con un siglo de antigüedad, la rápida transformada de Hadamard demuestra su utilidad en las comunicaciones digitales.
- Procesamiento digital de señales
- stubs de procesamiento de señales
- Algoritmos y estructuras de datos básicos