Transformada discreta de Hartley
Uma transformada discreta de Hartley (DHT) é uma transformada matemática relacionada à de Fourier para dados discretos e periódicos semelhante à transformada discreta de Fourier (DFT), com aplicações análogas no processamento de sinais e campos relacionados. A sua principal diferença em relação à DFT é que transforma entradas reais em saídas reais, sem o envolvimento intrínseco de números complexos. Assim como a DFT é o análogo discreto da transformada contínua de Fourier (FT), a DHT é o análogo discreto da transformada contínua de Hartley (HT), introduzida por Ralph V. L. Hartley em 1942.[1]
Dado que existem algoritmos rápidos para a DHT análogos à transformada rápida de Fourier (FFT), a DHT foi originalmente proposta por Ronald N. Bracewell em 1983[2] como uma ferramenta computacional mais eficiente no caso comum em que os dados são puramente reais. Posteriormente, no entanto, argumentou-se que algoritmos de FFT especializados para entradas ou saídas reais podem normalmente ser encontrados com um número ligeiramente menor de operações do que qualquer algoritmo correspondente para a DHT.
Definição
Formalmente, a transformada discreta de Hartley é uma função linear e invertível (onde denota o conjunto dos números reais). Os números reais são transformados nos números reais de acordo com a fórmula:
A combinação é por vezes denotada como , e não deve ser confundida com , ou , que aparece na definição da DFT (onde é a unidade imaginária).
Assim como na DFT, o fator de escala global à frente da transformada e o sinal do termo do seno são uma questão de convenção. Embora estas convenções variem ocasionalmente entre os autores, não afetam as propriedades essenciais da transformada.
Propriedades
A transformada pode ser interpretada como a multiplicação do vetor por uma matriz ; portanto, a transformada discreta de Hartley é um operador linear. A matriz é invertível; a transformação inversa, que permite recuperar os a partir dos , é simplesmente a DHT de multiplicada por . Ou seja, a DHT é a sua própria inversa (involutória), a menos de um fator de escala global.
A DHT pode ser usada para calcular a DFT, e vice-versa. Para entradas reais , a saída da DFT possui uma parte real e uma parte imaginária . Inversamente, a DHT é equivalente a calcular a DFT de multiplicada por , tomando depois a parte real do resultado.
À semelhança da DFT, uma convolução cíclica de dois vetores e para produzir um vetor , todos de comprimento , torna-se numa operação simples após a DHT. Em particular, suponha que os vetores , e denotam a DHT de , e respetivamente. Então, os elementos de são dados por:
onde assumimos que todos os vetores são periódicos em (, etc.). Assim, do mesmo modo que a DFT transforma uma convolução numa multiplicação ponto a ponto de números complexos (pares de partes reais e imaginárias), a DHT transforma uma convolução numa combinação simples de pares de componentes de frequência reais. A DHT inversa produz então o vetor desejado. Desta forma, um algoritmo rápido para a DHT (ver abaixo) proporciona um algoritmo rápido para a convolução. (Isto é ligeiramente mais custoso que o procedimento correspondente para a DFT, não incluindo os custos das transformadas abaixo, porque a operação em pares acima requer 8 operações aritméticas reais em comparação com as 6 de uma multiplicação complexa. Esta contagem não inclui a divisão por 2, que pode ser absorvida, por exemplo, na normalização de da DHT inversa.)
Algoritmos rápidos
Tal como para a DFT, avaliar diretamente a definição da DHT exigiria operações aritméticas (ver Notação Grande-O). No entanto, existem algoritmos rápidos semelhantes à FFT que calculam o mesmo resultado em apenas operações. Quase todos os algoritmos FFT, desde o de Cooley-Tukey ao de fatores primos, passando pelos de Winograd (1985)[3] e Bruun (1993),[4] possuem um análogo direto para a transformada discreta de Hartley. (No entanto, alguns dos algoritmos FFT mais exóticos, como a QFT, ainda não foram investigados no contexto da DHT.)
Em particular, o análogo do algoritmo de Cooley-Tukey para a DHT é habitualmente conhecido como o algoritmo da transformada rápida de Hartley (FHT), e foi descrito pela primeira vez por Bracewell em 1984.[5] Este algoritmo FHT, pelo menos quando aplicado a tamanhos que sejam potências de dois, é objeto da patente número 4.646.256 dos Estados Unidos, concedida em 1987 à Universidade Stanford. A Universidade de Stanford colocou esta patente no domínio público em 1994 (Bracewell, 1995).[6]
Conforme mencionado acima, os algoritmos DHT são tipicamente um pouco menos eficientes (em termos do número de operações de vírgula flutuante) do que o algoritmo DFT correspondente (FFT) especializado para entradas (ou saídas) reais. Isto foi argumentado pela primeira vez por Sorensen et al. (1987)[7] e Duhamel & Vetterli (1987).[8] Estes últimos autores obtiveram o que parece ser a contagem de operações mais baixa publicada para a DHT de tamanhos potência de dois, empregando um algoritmo split-radix (divisão de base, análogo à FFT split-radix) que divide uma DHT de comprimento numa DHT de comprimento e duas DFTs de entrada real (não DHTs) de comprimento . Deste modo, argumentaram que uma DHT com comprimento potência de dois pode ser calculada com, na melhor das hipóteses, mais 2 adições do que o número correspondente de operações aritméticas para a DFT de entrada real.
Nos computadores atuais, o desempenho é determinado mais por questões de cache e de pipeline do processador do que por contagens estritas de operações, e é improvável que uma ligeira diferença no custo aritmético seja significativa. Como os algoritmos de FHT e os algoritmos de FFT de entrada real possuem estruturas computacionais semelhantes, nenhum parece ter uma vantagem de velocidade a priori substancial (Popović e Šević, 1994).[9] Na prática, bibliotecas de FFT para entradas reais altamente otimizadas estão disponíveis a partir de várias fontes (ex. de fabricantes de CPUs como a Intel), ao passo que bibliotecas DHT altamente otimizadas são menos comuns.
Por outro lado, as computações redundantes nas FFTs devidas a entradas reais são mais difíceis de eliminar para primos grandes, apesar de existirem algoritmos de para dados complexos em tais casos, porque as redundâncias encontram-se ocultas atrás de intrincadas permutações e/ou rotações de fase nesses algoritmos. Em contraste, um algoritmo FFT de tamanho primo padrão, o algoritmo de Rader, pode ser diretamente aplicado à DHT de dados reais exigindo aproximadamente metade da computação em comparação com a FFT complexa equivalente (Frigo e Johnson, 2005).[10] Alternativamente, uma adaptação não baseada na DHT do algoritmo de Rader para DFTs de entrada real também é possível (Chu & Burrus, 1982).[11]
Transformada Discreta de Hartley Multidimensional (MD-DHT)
A rD-DHT (MD-DHT com "r" dimensões) é dada por
com e onde
De forma semelhante ao caso 1-D, como uma transformada real e simétrica, a MD-DHT é mais simples do que a MD-DFT. Em primeiro lugar, a DHT inversa é idêntica à transformada direta, com a adição de um fator de escala;

e, em segundo lugar, como o núcleo é real, evita a complexidade computacional inerente aos números complexos. Adicionalmente, a DFT pode ser obtida diretamente da DHT através de uma simples operação aditiva (Bracewell, 1983).[2]
A MD-DHT é amplamente utilizada em áreas como processamento de imagem e sinais óticos. Aplicações específicas incluem a visão computacional, televisão de alta definição e teleconferência, áreas que processam ou analisam imagens em movimento (Zeng, 2000).[12]
Algoritmos rápidos para a MD-DHT
À medida que a velocidade de computação continua a aumentar, problemas multidimensionais de maior escala tornam-se computacionalmente viáveis, exigindo a necessidade de algoritmos multidimensionais rápidos. Abaixo, apresentam-se três destes algoritmos.
Em busca de separabilidade para obtenção de eficiência, considera-se a seguinte transformada (Bracewell, 1983):[2]
Foi demonstrado em Bortfeld (1995)[13] que as duas podem ser relacionadas através de algumas adições. Por exemplo, em 3-D,
Para , podem então ser implementados algoritmos linha-coluna (R-C). Esta técnica é habitualmente utilizada devido à simplicidade dos algoritmos R-C, mas não estão otimizados para espaços multidimensionais (M-D) de uma forma geral.
Outros algoritmos rápidos foram desenvolvidos, tais como os algoritmos de base 2, base 4 e split-radix. Por exemplo, Boussakta (2000)[14] desenvolveu a base vetorial 3-D,
Foi também exposto em Boussakta (2000)[14] que este algoritmo de base vetorial 3D requer multiplicações e adições, comparado com as multiplicações e adições da abordagem linha-coluna. A desvantagem é que a implementação deste tipo de algoritmos baseados em decomposição de raízes é difícil de generalizar para sinais de dimensões arbitrárias.
Também foram utilizadas transformadas teóricas dos números para resolver a MD-DHT, uma vez que estas executam convoluções extremamente rápidas. Em Boussakta (1988),[15] foi demonstrado como decompor a transformada MD-DHT numa forma que consiste em convoluções:
Para o caso 2-D (o caso 3-D também é coberto na referida referência),
,
pode ser decomposto em convoluções circulares 1-D e 2-D da seguinte forma:
onde
Desenvolvendo ainda ,
Neste momento, introduzimos a transformada de números de Fermat (FNT). O t-ésimo Número de Fermat é dado por , com . Os números de Fermat bem conhecidos são para ( é primo para ), (Boussakta, 1988).[15] A transformada de números de Fermat é dada por:
com . e são raízes da unidade de ordem e respetivamente .
Voltando à decomposição, o último termo para será denotado como , de modo que
Se e forem raízes primitivas de e (que se garante existirem caso e sejam primos), então e mapeiam em Logo, ao mapear e em e , obtém-se o seguinte:
Isto agora é uma convolução circular. Com , , e , obtém-se:
onde denota a multiplicação termo a termo. Foi ainda mencionado em (Boussakta, 1988)[15] que este algoritmo diminui o número de multiplicações por um fator entre 8 e 20 em relação a outros algoritmos DHT, mediante o ligeiro aumento no número de operações de deslocamento e adição, as quais são tidas como mais simples computacionalmente que as multiplicações. A principal desvantagem deste algoritmo é a restrição de que cada dimensão da transformada tem de possuir uma raiz primitiva.
Referências
- ↑ Hartley, Ralph V. L. (Março de 1942). «A More Symmetrical Fourier Analysis Applied to Transmission Problems». Proceedings of the IRE. 30 (3): 144–150. doi:10.1109/JRPROC.1942.234333
- 1 2 3 Bracewell, Ronald N. (1983). «Discrete Hartley Transform». Journal of the Optical Society of America. 73 (12): 1832–1835. Bibcode:1983JOSA...73.1832B. doi:10.1364/josa.73.001832
- ↑ Sorensen, Henrik V.; Jones, Douglas L.; Burrus, Charles Sidney; Heideman, Michael T. (1985). «On computing the discrete Hartley transform». IEEE Transactions on Acoustics, Speech, and Signal Processing. ASSP-33 (4): 1231–1238
- ↑ Bini, Dario Andrea; Bozzo, Enrico (1993). «Fast discrete transform by means of eigenpolynomials». Computers & Mathematics with Applications. 26 (9): 35–52. doi:10.1016/0898-1221(93)90004-f

- ↑ Bracewell, Ronald N. (1984). «The Fast Hartley Transform». Proceedings of the IEEE. 72 (8): 1010–1018. doi:10.1109/proc.1984.12968
- ↑ Bracewell, Ronald N. (1995). «Computing with the Hartley Transform». Computers in Physics. 9 (4): 373–379. Bibcode:1995ComPh...9..373B. doi:10.1063/1.168534

- ↑ Sorensen, Henrik V.; Jones, Douglas L.; Heideman, Michael T.; Burrus, Charles Sidney (1987). «Real-valued fast Fourier transform algorithms». IEEE Transactions on Acoustics, Speech, and Signal Processing. ASSP-35 (6): 849–863
- ↑ Duhamel, Pierre; Vetterli, Martin (1987). «Improved Fourier and Hartley transform algorithms: application to cyclic convolution of real data». IEEE Transactions on Acoustics, Speech, and Signal Processing. ASSP-35: 818–824
- ↑ Поповић [Popović], Миодраг [Miodrag]; Šević, Dragutin (1994). «A new look at the comparison of the fast Hartley and Fourier transforms». IEEE Transactions on Signal Processing. 42 (8): 2178–2182. Bibcode:1994ITSP...42.2178P. doi:10.1109/78.301854
- ↑ Frigo, Matteo; Johnson, Steven G. (2005). «The Design and Implementation of FFTW3» (PDF). Proceedings of the IEEE. 93 (2): 216–231. Bibcode:2005IEEEP..93..216F. CiteSeerX 10.1.1.66.3097
. doi:10.1109/jproc.2004.840301 - ↑ Chu, Shuni; Burrus, Charles Sidney (1982). «A prime factor FTT [sic] algorithm using distributed arithmetic». IEEE Transactions on Acoustics, Speech, and Signal Processing. 30 (2): 217–227. doi:10.1109/tassp.1982.1163875
- ↑ Zeng, Yonghang; Bi, Guoan; Leyman, Abdul Rahim (2000). «Polynomial Transform Algorithms for Multidimensional Discrete Hartley Transform». IEEE International Symposium on Circuits and Systems (V): 517–520
- ↑ Bortfeld, Thomas; Dinter, Wolfgang (1995). «Calculation of Multidimensional Hartley Transforms Using One-Dimensional Fourier Transforms». IEEE Transactions on Signal Processing. 43 (5): 1306–1310. Bibcode:1995ITSP...43.1306B. doi:10.1109/78.382424
- 1 2 Boussakta, Said; Alshibami, Osama (2000). «Fast Algorithm for the 3-D Discrete Hartley Transform». International Conference on Acoustics, Speech, and Signal Processing '00 (4): 2302–2305
- 1 2 3 Boussakta, Said; Holt, Alan G. J. (1988). «Fast Multidimensional Discrete Hartley Transform using Fermat Number Transform». IEE Proceedings G - Electronic Circuits and Systems. 135 (6): 235–237. doi:10.1049/ip-g-1.1988.0036
Leitura adicional
- Bracewell, Ronald N. (1986). The Hartley Transform 1 ed. [S.l.]: Oxford University Press. ISBN 978-0-19503969-6
- Boussakta, Said; Holt, Alan G. J. (1988). «Fast Multidimensional Discrete Hartley Transform using Fermat Number Transform». IEE Proceedings G - Electronic Circuits and Systems. 135 (6): 235–237. doi:10.1049/ip-g-1.1988.0036
- Hong, Jonathan; Vetterli, Martin; Duhamel, Pierre (1994). «Basefield transforms with the convolution property» (PDF). Proceedings of the IEEE. 82 (3): 400–412. doi:10.1109/5.272145
- O'Neill, Mark A. (1988). «Faster than Fast Fourier». BYTE. 13 (4): 293–300
- Olnejniczak, Kraig J.; Heydt, Gerald T. (Março de 1994). «Scanning the Special Section on the Hartley transform». Proceedings of the IEEE. 82: 372–380 (Nota: Contém uma vasta bibliografia.)