Transformada Discreta de Fourier

Sessenta e quatro amostras de um tom e a respetiva transformada discreta de Fourier. Desloque o tom um número inteiro de ciclos e uma barra nítida transforma-se numa mancha por todo o espetro. Escolha uma banda para a ver construída a partir de 64 setas dispostas de ponta a ponta. Ative uma janela para ver as vantagens e as desvantagens dessa escolha.

A carregar a simulação interativa...

Lição

A teoria — Transformada Discreta de Fourier

A transformada discreta de Fourier de N amostras x0 … xN−1 é constituída por N números Xk = Σn xn e−2πikn/N, um por banda k. Cada número mede quanto do sinal é composto por uma onda que completa k ciclos nas N amostras. A transformada trata as amostras como um período de um sinal que se repete. Deste modo, é exata para tons que completam ciclos inteiros e espalha qualquer outro tom por todas as bandas: a fuga espectral. Uma janela wn multiplica primeiro as amostras para suavizar a junção.

O que significa cada símbolo

A_k
a amplitude que a banda k implica, o que as barras mostram: 2|Xk|/(N·G) para 0 < k < N/2, e |Xk|/(N·G) em k = 0 e k = N/2, os quais não possuem banda espelho para partilhar. Um tom de amplitude 1 numa banda regista 1
G
o ganho coerente da janela, a média de wn: 1 sem janela, ½ para a de Hann
Pressupõe
Cada tom começa no seu pico, como um cosseno. Os valores da cauda distante variam com a fase inicial. A banda 31 do tom de 10,5 ciclos encontra-se 26,3 dB abaixo da barra mais alta para um cosseno e 31,2 dB abaixo para um seno, ao passo que os 81% nas duas bandas mais próximas quase não se movem. A janela de Hann utiliza a forma periódica, ½ − ½cos(2πn/N), cuja transformada ocupa exatamente três bandas.

Deslocado meia banda, um tom puro derrama-se por todas as outras 🖖

Prima Numa banda: 64 amostras de um tom que completa exatamente 10 ciclos. Toda a sua energia fica na banda 10 e todas as outras barras valem zero. Agora prima A meio caminho. O tom é o mesmo, exceto que completa 10,5 ciclos, e o espetro está agora em decibéis. As bandas 10 e 11 contêm 81,10% da energia entre si. O resto espalhou-se por todo o lado. A banda 31, a mais de vinte bandas de distância, encontra-se apenas 26,3 dB abaixo da barra mais alta (cerca de um vigésimo da sua altura). Nenhuma barra é zero. Observe a junção no painel superior. A transformada trata as 64 amostras como uma volta de um ciclo que se repete para sempre, e 10,5 ciclos não encaixam perfeitamente. Por isso, o ciclo salta em cada junção. Não é possível construir um salto a partir de poucas frequências; são precisas todas. Prima Reproduzir em ciclo em cada predefinição e ouvirá a diferença. Numa banda soa a um assobio limpo; a meio caminho surge um ruído áspero a 125 Hz, que é a cadência a que a junção regressa.

Mova um tom meia banda e a barra mais alta regista um terço a menos 🖖

Prima As setas curvam-se. Cada barra é a soma de 64 setas, uma por amostra. A seta n corresponde a wnxn rodada k·n/64 de volta no sentido dos ponteiros do relógio. Uma amostra negativa aponta-a no sentido oposto e a barra representa a distância entre o fim e o início da cadeia. Um cosseno consiste em duas metades a girar em sentidos opostos. Quando o tom completa exatamente k ciclos, uma metade de cada seta é virada para trás, de modo a apontar na mesma direção. As metades alinham-se numa linha reta de comprimento 32 e a barra regista 100%. Com um desvio de meia banda, essa linha curva-se num semicírculo ao longo das 64 amostras. As extremidades de um semicírculo distanciam-se apenas 2/π do seu comprimento, ou seja, 63,7%: a “scalloping loss” de 3,92 dB na tabela de janelas de Fredric Harris de 1978. A outra metade de cada seta dá 21,5 voltas e quase se anula, o que ajusta a leitura para os 64,61% impressos na página. O tom mantém toda a sua intensidade. A barra mais alta subestima-o num terço, registando −3,79 dB, unicamente devido ao ponto onde a sua frequência calha. Afaste-o uma banda inteira e a linha curva-se até formar um círculo completo e fechar. A metade mais rápida fecha-se com ele. É por isso que um tom posicionado numa banda deixa todas as outras barras exatamente a zero.

Desvanecer as extremidades revela um tom 316 vezes mais fraco 🖖

Prima Um vizinho fraco: um segundo tom 50 dB abaixo, com uma amplitude 316 vezes menor, a completar exatamente 20 ciclos. A banda 20 lê 22,7 dB abaixo da barra mais alta, mas trata-se apenas da fuga espectral do primeiro tom. A banda 20 nem sequer se destaca da banda 19 ao seu lado. Mude a janela para Hann. Esta faz as amostras surgirem gradualmente a partir de zero e desvanecerem de novo, pelo que o ciclo não apresenta qualquer salto. A fuga espectral colapsa. A banda 31 passa de 26,3 dB para 98,9 dB abaixo do pico. A banda 20 ergue-se como um pico independente, registando 0,32% da amplitude do tom 1, que é o verdadeiro significado de estar 50 dB abaixo. A janela cobra o seu preço em largura. Um tom numa banda cobre agora três. Assim, um tom posicionado exatamente na banda 10 retém apenas 66,67% da sua energia na própria banda. Prima Numa banda e a tabela debaixo dos resultados mostrará esse valor ao lado dos 100% da janela retangular. Prima Dois tons, Hann: dois tons iguais separados por duas bandas. A banda 11, entre eles, regista 100,00%, tão alta como qualquer dos dois tons. Sem a janela, essa banda encontra-se vazia. A janela de Hann troca um pico com três bandas de largura por caudas limpas. Esta é a troca certa quando se procura algo ténue, mas a errada quando os sinais estão próximos.

Problema resolvido na íntegra

  1. Corrigir uma leitura e eliminar a necessidade de o fazer 4 passos

    Um analisador recolhe amostras 8000 vezes por segundo e transforma 64 amostras de cada vez, sem usar qualquer janela. Se lhe fornecer um tom de teste de 1312,5 Hz, a barra mais alta registará 0,32. Qual é a verdadeira amplitude do tom e quantas amostras por bloco colocariam o tom exatamente numa banda? Prima As setas curvam-se: a página reproduz um tom com essa frequência.

    Abrir este problema na ferramenta

    1. As bandas estão separadas por 8000/64, logo o tom completa 10,5 ciclos por bloco: a meio caminho entre as bandas 10 e 11.

    2. A meio caminho, a barra mais alta da página regista 64,61% do tom. Basta dividir:

    3. O tom cai numa banda quando um bloco contém um número inteiro dos seus ciclos. Com 128 amostras as bandas ficam separadas por 62,5 Hz:

    4. Se o analisador tivesse aplicado uma janela de Hann às 64 amostras, a barra mais alta teria registado 84,89% do tom. Assim, o mesmo tom mostraria:

    Resposta

    Cerca de 0,495 e 128 amostras por bloco. Qualquer múltiplo de 128 também funciona, visto que 1312,5 Hz necessitam de 128 amostras para completar um número inteiro de ciclos (21). A página está fixada em 64, por isso o caso de 128 amostras ultrapassa o que consegue mostrar. Com 128 amostras a barra lê a totalidade dos 0,495, e a janela deixaria de ser necessária para ler a amplitude, servindo apenas para afastar a cauda de um tom forte de um outro mais fraco.

Percurso de aprendizagem

A transformada de Fourier na prática

Referências (2)