Transcript

Processamento Digital de Sinais

 Transformada Discreta de Fourier 

Prof. Dr. Carlos Alberto Ynoguti

Jean Baptiste Joseph Fourier

Nascimento: 21 de março de 1768 em Auxerre, Bourgogne, França

Morte: 16 de maio de 1830 em Paris, França

Introdução

A análise de Fourier é uma família de técnicas matemáticas, todas elas baseadas na decomposição de sinais em senóides.

A Transformada Discreta de Fourier (Discrete Fourier Transform ­ DFT) é o membro da família utilizado para sinais digitalizados.

A DFT tem versões real e imaginária. Neste curso iremos focar principalmente a versão real da DFT.

Classificação de sinais

Os sinais podem ser classificados segundo vários critérios. Por exemplo: 

sinais contínuos ou discretos

sinais periódicos ou aperiódicos 

Estes dois critérios levam aos quatro elementos da família de transformadas de Fourier:

Sinais contínuos e aperiódicos: Transformada de Fourier

Sinais contínuos e periódicos: Série de Fourier

Sinais discretos e aperiódicos: Transformada de Fourier de Tempo Discreto (DTFT)

Sinais discretos e periódicos: Transformada Discreta de Fourier (DFT)

“Família” Fourier

Transformada de Fourier (aperiódico, contínuo)

Série de Fourier (periódico, contínuo)

Transformada de Fourier de Tempo Discreto (aperiódico, discreto)

Transformada Discreta de Fourier (periódico, discreto)

Observações

Todos os quatro membros da família de transformadas de Fourier assumem que os sinais sob análise têm duração infinita.

Para analisar os sinais com um computador ou um DSP, os sinais têm necessariamente que ter duração finita.

Desta forma, temos que fazer com que os sinais “pareçam” ter duração infinita.

Isto pode ser feito de duas maneiras:– Considerar que o sinal é nulo fora do intervalo de análise 

(aperiódico ­ DTFT)

– Considerar que o sinal se repete periodicamente (periódico ­ DFT)

O que funciona na prática

Para processar os sinais usando um computador ou DSP, os sinais devem estar na forma digital (discretos).

Para representar sinais aperiódicos são necessárias infinitas senóides, o que inviabiliza o uso da DTFT.

Em outras palavras, computadores só podem lidar com sinais discretos e finitos em comprimento.

Conclusão: a única transformada que pode ser utilizada na prática é a DFT.

Decomposição em senóides

cossenos

senos

decomposição

síntese

Um sinal de N=16 pontos ...

... pode ser decomposto em N/2+1=9sinais cossenoidais e N/2+1=9 sinais senoidais, cada um com 16 pontos.

Por que usar senóides?

Existem infinitas formas de onda que podem ser usadas na decomposição: onda quadrada, triangular, etc.

A razão para a escolha das senóides é a propriedade de fidelidade senoidal: senóides que entram em um sistema linear saem como senóides com (possíveis) mudanças na amplitude e fase, mas mantendo a frequência original.

Esta propriedade é bastante útil (como veremos a seguir), e apenas as senóides a possuem.

Em resumo, outras decomposições são possíveis, mas não são úteis.

Notação e formato da DFT real

Converte um sinal de N pontos no domínio do tempo em 2 sinais de (N/2+1) pontos no domínio da frequência.

O sinal de entrada (tempo) contém as amostras do sinal a ser decomposto, e os sinais de saída (frequências) contêm as amplitudes dos senos e cossenos.

0 N­1

x[n] 0

0 N/2

N/2

DFT direta

DFT inversa

ReX[f]

ImX[f]

(amplitudes dos cossenos)

(amplitudes dos senos)

Domínio do tempo Domínio da frequência

Observações

As informações contidas no domínio da frequência são exatamente as mesmas do domínio do tempo, só que de forma diferente.

Tempo  Frequência: decomposição, análise, DFT direta.

Frequência  Tempo: síntese, DFT inversa.

O número de amostras no domínio do tempo é geralmente representado pela letra N, sendo que N é geralmente potência de 2, por causa do modo de representação digital (binário), e porque o algoritmo da FFT opera com um número de amostras que deve ser potência de 2.

A variável independente no domínio da frequência

0 N/2

0 0.5

0 fs/2

0

N

fs

Hz

Em termos de fração da frequência de amostragem

Em termos da frequência real do sinal

Em termos da frequência angular do sinal

Em  termos do número de pontos da DFT

Exemplo

Ocorre um pico na amostra correspondente ao índice 19 quando tomamos a DFT de 256 de um sinal qualquer.a) Qual e a frequência do pico expressa como uma fração da 

frequência de amostragem? É necessário conhecer a frequência de amostragem para responder a esta questão?

b) Qual e a frequência do pico expressa como frequência natural?

c) Qual é a taxa de amostragem se o pico corresponde a 21,5kHz no sinal analógico?

d) Qual é a frequência da senóide (em Hz) se a taxa de amostragem é de 100 kHz?

Funções base da DFT

As ondas senoidais e cossenoidais usadas na DFT são comumentemente chamadas de funções base da DFT.

A saída da DFT é um conjunto de números que representam as amplitudes destes senos e cossenos.

A soma destes vários senos e cossenos ponderados pelos coeficientes da DFT gera o sinal original no domínio do tempo.

Pontos importantes

As funções base da DFT são geradas a partir de:

onde ck é a onda cossenoidal cuja amplitude é dada por ReX[k], e sk é a senóide cuja amplitude é dada por ImX[k].

k determina a frequência de cada senóide. Por exemplo, k=5 corresponde a uma senóide (ou cossenóide) que completa 5 ciclos em N pontos.

Cada uma destas senóides e cossenóides deve ter N pontos, de modo que a soma destas resulte no sinal original de N pontos. 

ck [i ]=cos 2 ki /N sk [i]=sen 2 ki /N

Exemplo

 c0 e s0: cossenos e senos com 0 cicloscompletos em N=32 pontos 

 c2 e s2: cossenos e senos com 2 cicloscompletos em N=32 pontos 

 c10 e s10: cossenos e senos com 10 cicloscompletos em N=32 pontos 

 c16 e s16: cossenos e senos com 16 cicloscompletos em N=32 pontos 

Observações

c0: onda cossenoidal de amplitude 1 e frequência zero. ReX[0]corresponde então ao nível DC do sinal.

s0: sinal composto só de zeros. Desde que não influi na síntese do sinal no tempo, ImX[0] assume sempre o valor 0.

c16: cosseno que realiza 16 ciclos em N pontos. Corresponde a uma onda senoidal amostrada nos picos.

s16: seno que realiza 16 ciclos em N pontos. Corresponde a uma onda amostrada nos cruzamentos por zero. Portanto ImX[N/2]=ImX[0]=0.

Questão

Se existem N amostras entrando e N/2+1 + N/2+1 =  N+2 amostras saindo, de onde veio a informação extra?

Duas das amostras de saída são nulas e não carregam informação:  ImX[0] e ImX[N/2]

Equações de Síntese – DFT inversa

Problema: reconstruir o sinal original no domínio do tempo através da combinação linear de senos e cossenos.

onde:

x [i ]=∑k=0

N /2

Re X [k ]cos 2 k i /N ∑k=0

N /2

Im X [k ]sen 2 k i /N

Re X [k ]=Re X [k ]

N /2

Im X [k ]=Im X [k ]

N /2

Re X [0 ]=Re X [0 ]

N

Im X [0 ]=Im X [0 ]

N

Exemplo

O domínio da frequência de um sinal é dado por:

parte real:            1, 2, 3, 3, 1, ­2, ­1, 1, 2parte imaginária: 0, ­1, ­2, 0, 0, 0, 2, 1, 0

a) A qual comprimento de DFT este sinal corresponde?b) Calcule as amplitudes dos senos e cossenos para reconstruir o sinal no domínio do tempo.c) Qual é a média do sinal no domínio do tempo (nível DC)?

Equações de análise – DFT direta

O método clássico para a determinação dos coeficientes da DFT é o da correlação.

Resumidamente, para detectar uma forma de onda conhecida contida em um outro sinal, multiplique os os sinais e some os pontos do produto resultante.

Este procedimento fornece um número que é uma medida da similaridade entre os dois sinais.

Desta forma, as equações de análise da DFT fornecem coeficientes que são uma medida da similaridade entre o sinal sob análise e cada uma das senóides e cossenóides.

DFT direta

Cada amostra no domínio da frequência é encontrada multiplicando­se o sinal no domínio do tempo pela onda senoidal ou cossenoidal em questão, e somando os resultados.

Em outras palavras, os coeficientes ReX[k] e ImX[k] são o resultado da correlação entre o sinal e cada uma das funções base, para um deslocamento igual a zero da máquina de correlação vista anteriormente.

ReX [k ]=∑i=0

N−1

x [i]cos 2 k i /N ImX [k ]=−∑i=0

N−1

x [i ]sen 2 k i /N

Exemplo

Calcule a DFT de 4 pontos do sinal x={1,2,3,4}.

Notação polar

O domínio da frequência consiste de um grupo de amplitudes de senos e cossenos.

Esta forma de representação é conhecida como notação retangular.

Alternativamente, podemos representar o domínio da frequência em notação polar.

Nesta forma, ReX[ ] e ImX[ ] são substituídas por MagX[ ] e FaseX[ ], representando a magnitude e a fase de X[ ].

MagX[ ] e FaseX[ ] são substitutos par­a­par de ReX[ ] e ImX[ ], isto é, para calcular MagX[0] e FaseX[0], precisamos somente de ReX[0] e ImX[0], e assim por diante.

Conversão Retangular­Polar

FaseX [k ]=arctg ImX [k ]ReX [k ]

MagX [k ]=ReX 2[k ]ImX 2[k ]

ReX [k ]=MagX [k ]cos FaseX [k ]

ImX [k ]=MagX [k ]sen FaseX [k ] ReX

ImXMagX

FaseX

Re

Im

Informação na forma polar

Problemas com a notação polar

Existem alguns problemas numéricos quando lidamos com a notação polar:

Fase em radianos ou em graus

Divisão por zero no cálculo da fase

Arco­tangente incorreta

Fase de sinais de baixa magnitude

Ambiguidade da fase de 2

Ambiguidade da fase de 

Radianos vs Graus

A fase pode ser expressa em graus (de ­1800 a +1800)  ou em radianos (de ­ a +). 

A maioria das linguagens de programação usa a fase em radianos.

Fonte de muitos erros de implementação.

Divisão por zero no cálculo da fase

Quando a parte real é nula (ReX[k]=0), temos uma fase de –900 ou +900 (­ ou +), dependendo do sinal da parte imaginária.

A fórmula da fase leva a uma divisão por zero, o que causa erro em tempo de execução.

Fácilmente contornável através de estruturas condicionais (if).

FaseX [k ]=arctg ImX [k ]ReX [k ]

ReX

ImXMagX

FaseX

Re

Im

Erro no arco­tangente

1

1

Re Re

Im Im

­1

­1

=450

=−1350

FaseX [k ]=arctg ImX [k ]ReX [k ]

=arctg 11

=450

FaseX [k ]=arctg ImX [k ]ReX [k ]

=arctg −1−1

=450

Erro no arco­tangente (cont.)

Este erro acontece sempre que a parte real é negativa. Para corrigi­lo, devemos adotar o seguinte procedimento:

– Se tanto a parte real como a parte imaginária forem negativas, devemos subtrair 1800 (ou  radianos) da fase calculada.

– Se a parte real é negativa e a parte imaginária é positiva, devemos somar 1800 (ou  radianos) à fase calculada.

Como identificar este erro: se a fase variar no intervalo (­900,900) ao invés de no intervalo (­1800,+1800), você está calculando a fase de forma errada. 

Fase de sinais de baixa magnitude

Quando um sinal de baixa amplitude, contaminado por ruído, é visto na forma polar, temos:– a magnitude é pequena também;

– a fase assume valores aleatórios entre ­1800 e +1800 (­ a +).

Ambiguidade 2 da fase

A fase geralmente se apresenta no intervalo (­ a +), como em a).

É geralmente mais fácil de entender a fase se esta não apresentar descontinuidades, como em b) (phase unwrapping).

a) b)

A Transformada Discreta do Cosseno

Transformada direta:

onde

Transformada inversa:

C k =k ∑n=0

N−1

x ncos [n1/2kN ] , para 0nN−1

x n=∑k=0

N−1

k C k cos [n1/2kN ] , para 0nN−1

k ={1/n , k=02 /n ,1kN−1

Propriedade da DCT

Quando aplicada a sinais como voz e vídeo, a maior parte da energia é concentrada em uns poucos coeficientes.

Com isto pode­se descartar a maioria dos coeficientes na transmissão, sem perda significativa de qualidade.

A DCT faz parte da maioria dos sistemas de videodifusão digital em operação  em todo o mundo.

Exemplo: JPEG


Recommended