A caixa de areia da Transformada Discreta de Fourier

Esta calculadora visualiza a Transformada Discreta de Fourier, executada em dados de amostra utilizando a Transformação Rápida de Fourier. Ao mudar os dados de amostra, você pode brincar com diferentes sinais e examinar seus equivalentes de DFT (real, imaginário, magnitude e gráficos de fase)

Esta calculadora é uma caixa de areia online para brincar com a Transformada Discreta de Fourier (DFT. Ela usa a DFT real, ou seja, a versão da Transformada Discreta de Fourier que utiliza números reais para representar os sinais de entrada e saída. A DFT é parte da análise de Fourier, que é um conjunto de técnicas matemáticas baseada em sinais de decomposição nos sinusóides. Enquanto inúmeros livros listam gráficos para ilustrar a DFT, eu sempre me perguntei como seriam estes sinusóides, ou como eles seriam modificados se mudássemos o sinal de entrada um pouco. Agora, esta caixa de areia pode responder estas perguntas. Por padrão, ela está preenchida com 32 amostras, com todos os zeros exceto o segundo que é um conjunto de 5. Para este conjunto de amostras, a calculadora exibe gráficos com todos os sinusóides e com sinal somado. Você pode modificar as amostras como desejar - os gráficos serão atualizados de acordo.

Agora, é hora de um pouco de teoria. A base da análise de Fourier é a afirmação de que o sinal pode ser representado como a soma de ondas sinusoidais propriamente escolhidas.Por que os sinusóides são usados? Porque eles são mais fáceis de lidar do que o sinal original, ou qualquer outra forma de ondas. E eles tem uma propriedade útil - fidelidade sinusoidal, que é uma entrada sinusoidal em um sistema que garante a produção de uma saída sinusoidal. Apenas a amplitude e a fase podem mudar, a frequência e o formato da onda permanecerão.

Há quatro tipos de Transformada de Fourier: a Transformada de Fourier (para sinais contínuos aperiódicos), série de Fourier (para sinais contínuos periódicos), Transformada de Fourier de tempo discreto (para sinais discretos aperiódicos) e Transformada Discreta de Fourier (para sinais discretos periódicos). Todas as transformadas lidam com sinais estendidos ao infinito. Em computação, temos números finitos de amostras. Então, para usar as Transformadas de Fourier, nós apenas fingimos que nossas amostras finitas possuem números infinitos de amostras na esquerda e na direita dos nossos dados. E essas amostras apenas ficam repetindo nossos dados. Portanto, ao fingir que nossas amostras são um sinal periódico discreto, em algoritmos de computador nós utilizamos a Transformada Discreta de Fourier (DFT). (Se considerarmos um pad com zeros em nossos dados, por exemplo, ao invés de repetir, teríamos um sinal discreto aperiódico. Esse sinal requere um número infinito de sinusóides. É claro que nós não podemos usar isso em algoritmos de computador).

Além disso, observe que cada Transformação de Fourier tem uma versão real e complexa. A versão real é a mais simples e usa números comuns para entrada (amostras de sinal, etc) e saída. A versão complexa usa números complexos com parte imaginária. Aqui, nós optamos pela DFT real, por ser mais fácil de visualizar e entender.

A DFT altera N pontos de sinal de entrada em dois pontos N/2_1 de sinais de saída. O sinal de entrada é, bem, um sinal de entrada, e dois sinais de saída são as amplitudes das ondas de seno e cosseno. Por exemplo, para representar sinais de domínio de tempo de 32 pontos em domínio de frequência, você precisa de 17 ondas de cosseno e 17 ondas de seno.

O sinal de entrada está no domínio de tempo, os sinais de saída então no domínio de frequência. O processo de calcular o domínio de frequência é chamado de decomposição, análise, a DFT dianteira ou simplesmente DFT. O processo oposto é chamado de síntese ou a DFT inversa.

O sinal do domínio de tempo é representado por letra minúscula, ex.: x [ ], e o sinal do domínio de frequência é representado por letra maiúscula, ex.: X [ ]. As duas partes do sinal de saída são chamadas de parte real de X[ ] ou Re X[ ], e parte imaginária pf X[ ] ou Im X[ ]. Os valores de Re X[ ] são as amplitudes das ondas de cosseno, e os valores de Im X[ ] são amplitudes das ondas de seno. Os nomes real e imaginário vêm da DFT geral que opera com números complexos. Para DFT real, eles são apenas amplitudes de ondas de cosseno e seno.

As ondas de seno e cosseno são chamadas de funções básicas da DFT - elas são ondas com amplitude de unidade. As funções básicas da DFT têm as seguintes equações:
c_k[i]=cos(\frac{2\pi k i}{N})\\s_k[i]=sin(\frac{2\pi k i}{N}),
onde i muda de 0 para N-1, k muda de 0 para N/2.

Cada amplitude de Re X e Im X é atribuída a uma determinada onda de seno ou cosseno e o resultado pode ser somado para formar o sinal de domínio de tempo novamente. A equação de síntese é:
x[i]=\sum_{k=0}^{N/2}Re\bar{X}[k]cos(\frac{2\pi ki}{N})+\sum_{k=0}^{N/2}Im\bar{X}[k]sin(\frac{2\pi ki}{N})
Ou seja, qualquer ponto de sinal de N-pontos pode ser criado ao adicionar valores de onda de coseno N/2+1 e valores de onda de seno N/2+1 no mesmo ponto.

Observe a barra acima de X na fórmula acima. Isso se dá porque as amplitudes para síntese devem ser obtidas escalonando os valores originais de amplitude do domínio de frequência. Essas amplitudes devem ser normalizadas usando as seguintes equações::
Re\bar{X}[k]=\frac{ReX[k]}{N/2}\\Im\bar{X}[k]=-\frac{ImX[k]}{N/2},
com dois casos especiais:
Re\bar{X}[0]=\frac{ReX[0]}{N}\\Re\bar{X}[N/2]=\frac{ReX[N/2]}{N}

As partes real e imaginária podem ser representadas em notação polar usando a seguinte relação:
Acos(x)+Bsin(x)=Mcos(x+\theta)
M e theta são chamados de Magnitude e Fase e podem ser computador de Re e Im utilizando as seguintes relações:
MagX[k]=(ReX[k]^2+ImX[k]^2)^{\frac{1}{2}}\\PhaseX[k]=arctan(\frac{ImX[k]}{ReX[k]})

Portanto, em notação polar, a DFT decompõe um sinal de N-pontos em ondas de cosseno N/2+1 com amplitude especificada e mudança de fase. Às vezes, os gráficos para Mag e Fase fazem mais sentido que os gráficos para Re e Im.

Agora, vamos voltar para a equação original da síntese:
x[i]=\sum_{k=0}^{N/2}Re\bar{X}[k]cos(\frac{2\pi ki}{N})+\sum_{k=0}^{N/2}Im\bar{X}[k]sin(\frac{2\pi ki}{N})
Isso pode explicar o porquê de podermos verdadeiramente executar a DFT, em outras palavras, achar as amplitudes Re e Im. Observe que nessa equação, ImX[0] e ImX[N/2] sempre serão zero. Por isso, para cada um dos N pontos, a equação contém apenas N termos.
então, temos um sistema de equações lineares com N equações para para N coeficientes desconhecidos, que podem ser solucionados, por exemplo, usando a eliminação de Gauss.

Certamente, para o grande N, ninguém usa a eliminação gaussiana, porque ela é muito lenta. É aí que a _Transformada Rápida de Fourier (FFT) brilha. Ela é um método rápido para computar os valores de Re e Im. Entretanto, a FFT baseia-se no complexo da DFT__, a versão mais geral da DFT. Para N pontos complexos (com partes real e imaginária) de sinal de entrada, ela calcula N pontos complexos de sinal de saída. A questão é: como podemos relacionar isso à DFT real?

Felizmente, é bem fácil. Se você tem sinal de N-pontos, você coloca esses pontos na parte real do sinal de entrada complexo, ajusta a parte imaginária do sinal de entrada para todos os zeros, aplica a FFT e os primeiros pontos N/2+1 da parte real e pontos N/2+1 da parte imaginária do sinal de saída corresponderão a sua DFT real.

A calculadora abaixo permite que você brinque com a DFT. Você pode modificar o sinal de entrada como desejar. A calculadora aplica a FFT ao seu sinal (utilizando o javascript de implementação de FFT do Projeto Nayuki). Então, ela exibe os gráficos para Re X[ ], Im X[ ], Mag X[ ], Fase X[ ], visualiza a síntese utilizando as ondas de seno e cosseno, e utilizando as ondas de cosseno com mudança de fase - para permitir que você entenda como todas as ondas são somadas para recriar o sinal original de domínio de tempo.

PLANETCALC, A caixa de areia da Transformada Discreta de Fourier

A caixa de areia da Transformada Discreta de Fourier

Amostras

Número de amostraValor de amostra
Itens por página:

Dígitos após o ponto decimal: 2
Amostras
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.
Re X [ ]
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.
Im X [ ]
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.
Magnitude de X [ ]
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.
Fase de X [ ]
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.
Síntese (Cos + Sin)
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.
Síntese (Soma do Cos & Sin)
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.
Síntese (Mag + Fase)
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.
Síntese (Soma de Fase & Mag)
O arquivo é muito grande; pode ocorrer lentidão do navegador durante o carregamento e a criação.

URL copiado para a área de transferência
PLANETCALC, A caixa de areia da Transformada Discreta de Fourier

Comentários