Você está na página 1de 39

A DFT E A FFT

Em casos prticos, normalmente a avaliao da transformada de Fourier no feita utilizando os procedimentos analticos.

Muitas vezes no se dispe de uma expresso analtica para a funo que se deseja analisar o espectro.

A Transformada Discreta de Fourier (DFT) muito usada no estudo do espectro de sinais e determinada numericamente com o auxlio de computador digital.

Considerando-se N amostras do sinal no domnio do tempo, denotadas f(k), k=0,1,2,...,N-1, a DFT dada por um conjunto de N amostras do sinal no domnio da freqncia, denotadas por F(n), n= 0,1,2,...,N-1 e definidas por

1 N -1 F (n) f (k) e - j2 nk /N . N k =0
Diz-se ento que f(k) F(n) formam um par transformada e a reobteno do sinal no domnio do temporal pode ser feita usando a transformada inversa discreta de Fourier:

f (k) =

j2 kn /N F (n) e N -1 n=0

PROPRIEDADES DA DFT
Propriedades similares quelas da transformada de Fourier so demonstrveis para a DFT. Em particular:
n Se x (kT s) X NT s n e y (kTs ) Y NT s ,

P1 - Linearidade.

n n x (kTs ) + y (kTs ) X + Y NT NT s s

P2 - Simetria.

1 n X (kTs ) x N NTs

P3 - Deslocamento no Tempo.

n jnl/ N x (kTs lTs ) X e NTs


i n-i X NT Y NT s s i= 0
N -1

P4-Teorema da Convoluo em Freqncia.


1 x (kTs ) y (kTs ) N

n 1 n X * Y N NTs NTs

P5 - Teorema de Parseval.
N 1 k =0

1 x (kTs ) = N
2

N -1 n =0

n X NTs

As amostras da DFT so peridicas, verificando as relaes:


F(n+mN) = F(n) e f(k+mN) = f(k) m=1,2,3,...

Quando se deseja trabalhar com os valores de freqncia e tempo, usa-se:


2 kn n n N 1 -j f (kTs ) F , onde F = f (kTs ) e N NTs NTs k =0

ao invs da notao simplificada f(k) F(n). Um aumento na quantidade N de amostras consideradas (e uma escolha do tempo de amostragem Ts) implica em uma melhor representao do espectro.

J.W. Cooley (IBM) em colaborao com J.W. Tukey (Bell Labs)


conseguiram uma revoluo maior no tratamento digital de sinais em 1965 com a publicao da transformada rpida de Fourier, a FFT. Trata-se de um mtodo engenhoso e altamente eficiente de reagrupar os clculos dos coeficientes de uma DFT.

Muitos softwares dispem de rotinas para o clculo da FFT, e.g.,


MATEMATICATM, MATLABTM, MATHCADTM etc.

Ao invs do clculo da DFT diretamente pela definio, faz-se uso de um algoritmo conhecido como a FFT (Transformada Rpida de Fourier) que permite avaliar a DFT com menor esforo computacional.

A FFT no um tipo diferente de transformada e sim uma tcnica que possibilita avaliar DFT de forma mais rpida e econmica.

A FT no basta? Por que a DFT?


As potencialidades da anlise espectral com base na Transformada de Fourier contnua so bem estabelecidas. Ainda que teoricamente atrativo, o clculo prtico do espectro via a transformada clssica (empregando propriedades ou solues analticas) no comum.

Vrios sinais de interesse (como voz, vdeo etc.) no possuem expresses analticas para descrev-los.

A maneira usual de lidar com sinais fsicos "calcular" a transformada atravs de um equipamento (Hardware): analisador de espectro.

Este instrumento realiza o clculo da Transformada de Fourier e exibe o resultado em tela. Entretanto, com o desenvolvimento de tcnicas de Processamento de Sinais DSP (e Processadores em chip), a DFT aparece como uma soluo prtica cada vez mais atrativa.

A reduo acentuada no custo dos DSPs e o aumento da capacidade de processamento (e.g. milhes de MIPS- Mega Instrues Por Segundo), em conjunto com o aparecimento de novas tcnicas eficientes para a avaliao de transformadas discretas (as ditas Transformadas Rpidas), vm permitindo "operar" em tempo real com muitos sinais.

Assim, as transformadas discretas vm se firmando como ferramentas "por excelncia" na anlise espectral.

O tamanho dos analisadores de espectro no pode ser comparado ao tamanho reduzido dos DSPs, que adicionalmente permitem operao em grande velocidade, viabilizando numerosas aplicaes.
F(w) espectro

tenso

f(t)

Aplicao do algoritmo FFT ilustrada estimando-se um espectro de um

pulso retangular amostrado a uma taxa de Ts-1= 1amostra/seg a partir da


origem e empregando N=128 amostras no clculo da DFT.

Assim, as amostras so dadas por:

x(k) = 1+ j0 para k = 1,2,...,29 x(k) = 0+ j0 para k = 31,32,...,127 x(0) = x(30) = 1/2+ j0.
Naturalmente, as amplitudes tericas do mdulo da transformada valem:
X (nf s ) = 30 Sa (n 30 / 128) , n = 0,1,2, ...,127 .

A tabela exibe valores do mdulo da transformada calculados segundo a expresso analtica e pela transformada discreta via FFT.

Tabela I. DFT versus Fourier- Caso de um pulso.


n DFT terico n DFT terico

1 30.00 30.00 33 2 27.36 27.36 34 3 20.26 20.27 35 4 10.89 10.91 36 5 1.981 1.987 37 6 4.168 4.189 38 7 6.451 6.498 39 8 5.210 5.262 40 9 1.924 1.949 41 10 1.500 1.525 42

1.000 0.705 0.089 0.514 0.805 0.669 0.215 0.301 0.617 0.596

1.273 0.915 0.117 0.693 1.110 0.944 0.311 0.447 0.941 0.936

11 3.521 3.593 43 12 3.505 3.593 44 13 1.831 1.886 45 14 0.444 0.460 46 15 2.160 2.250 47 16 2.589 2.713 48 17 1.707 1.801 49 18 0.107 0.118 50 19 1.341 1.436 51 20 1.965 2.121 52 21 1.555 1.694 53 22 0.429 0.471 54

0.282 0.137 0.444 0.498 0.300 0.022 0.293 0.385 0.276 0.048 0.168 0.268

0.457 0.230 0.770 0.896 0.562 0.042 0.600 0.830 0.630 0.117 0.435 0.746

23 0.786 0.873 55 24 1.487 1.668 56 25 1.383 1.568 57 26 0.607 0.697 58 27 0.391 0.455 59 28 1.100 1.294 60 29 1.195 1.427 61 30 0.691 0.837 62 31 0.108 0.133 63 32 0.778 0.974 64

0.221 0.075 0.076 0.157 0.142 0.063 0.019 0.059 0.049 0.016

0.665 0.249 0.278 0.646 0.672 0.355 0.132 0.536 0.654 0.434

Espectro de um porta: FFT vs terico


30

30 |Sa(x)| |F(n)| 20 30 |Sa(n pi 30/180)| e |X(n)|

10

0 0 16 32 48 64 80 96 112 128

10 0 30 |Sa(x)|

|F(n) | 10

Es p e c t r o

.1

.0 1 0 8 16 24 32 40 48 56 64

Figura. Espectro discreto da funo porta.

Devido presena de descontinuidades, o valor mostrado no instante t deve ser consistente com f(t) = 1/2 [ f(t +) + f(t -) ] de modo que a frmula de inverso continue vlida.

Note-se que a DFT simtrica em torno do ponto n=N/2.

Isto se segue do fato que a parte real (resposta imaginria) da transformada de um sinal real par (respectivamente mpar).

Assim, o resultado obtido para n>N/2 corresponde simplesmente s freqncias negativas.

Claramente, as aproximaes so mais pobres nas altas freqncias. Exerccio


-t h (t) = e u (t) Avaliar com auxlio de microcomputador a DFT do sinal

tomando N=32 amostras e considerando o intervalo entre as amostras Ts=0,25 seg. (taxa de amostragem). No exemplo, assume-se h(0)=0,5.

fcil perceber novamente que as aproximaes so bastante pobres nas altas freqncias. Para reduzir o erro, torna-se necessrio um aumento de N e/ou

uma diminuio de Ts.


Supondo que a transformada discreta de Fourier empregada na avaliao do espectro de sinais reais contnuos, so requeridas operaes de:

c discretizao (amostragem), d truncamento e e periodicidade s/ sinal original.

h(t)

H(w)

(a) Sinal original.

(b) Relgio amostrador

t (c) Discretizao
Sa(x)

t (d) funo de truncamento

(e) Sinal truncado

w t (f) trem de periodizao

(g) Periodicidade. w

Figura. Desenvolvimento da DFT: Discretizao, truncamento e periodizao.

COMPLEXIDADE:
ALGORITMOS COM ARQUITETURAS PARALELAS

Formalmente, supe-se que um algoritmo implementado por intermdio de L mquinas seqenciais interconectadas: S=(S1,S2,...,SL).

Cada uma possui uma complexidade espacial X=(X1,X2,...,XL) e uma complexidade temporal T=(T1,T2,...,TL).

O trabalho de clculo W definido pelo produto escalar destes vetores,


W = X T = X i Ti . Globalmente, a complexidade no espao
i =1 L

X = Xi
i =1

e a

complexidade no tempo T:=MAX (Ti).

Pode haver um compromisso entre complexidade temporal e espacial, nos algoritmos de implementao paralela.

O esforo computacional pode ser definido como o nmero mximo de operaes elementares necessrias para resolver o problema. No caso da DFT, pode-se tratar da complexidade multiplicativa e complexidade aditiva i.e., nmero de multiplicaes ponto flutuante (respectivamente adies) necessrias para calcul-la.

Tradicionalmente tem-se usado apenas a complexidade multiplicativa como o parmetro mais importante.

FFT- Transformada Rpida de Fourier


(Cooley-Tukey base 2)
A FFT foi implementada com o objetivo de diminuir complexidade (temporal) necessria para calcular uma DFT (Transformada Discreta de Fourier), visando aplicaes em tempo real.

O nmero de operaes realizadas no clculo da DFT atravs da definio proporcional N2, i.., para cada dos N valores de u, a expanso de F(u) requer N multiplicaes complexas de x(n) por Wux alm de (N-1) adies dos resultados.

Alguns dos termos podem ser computados uma vez e armazenados para serem usados em operaes futuras. Logo tais multiplicaes de x(n) no so consideradas na implementao.
1 N 1 ux F (u ) = f ( x) W N N x =0

Eq. 1

Algumas decomposies apropriadas na Eq.1 podem tornar o nmero de multiplicaes e adies proporcionais a N.Log2N.

Este procedimento denominado de Transformada Rpida de Fourier ou

FFT (Fast Fourier Transform).

N 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192

N2 (DFT) 4 16 64 256 1024 4096 16384 65536 262144 1048576 4194304 16777216 671088964

N.log2N (FFT) 2 8 24 64 160 384 896 2048 4068 10240 22528 49512 106496

Vantagem 2 2 2,67 4 6,4 10,67 18,29 32 56,89 102,4 186,18 341,33 630,15

O Algoritmo FFT
Por convenincia, a Eq. 1 pode ser rescrita sob a seguinte forma:
1 F (u ) = N

x =0

N 1

f ( x) W N onde
ux

WN = exp[ j 2

] N .

Assumindo que N da forma: N=2n; em que n inteiro positivo, ento N pode ser expresso como: N=2*M; em que M um inteiro positivo. Substituindo esta relao na Eq. 1 tem-se:
1 F (u ) = 2M
2 M 1

x =0

f ( x)W 2 M .

ux

Dividindo-se o somatrio em duas partes, relativas aos ndices pares e mpares:


1 1 F (u ) = 2 M
2 ux 2M

M 1

x =0

f (2 x)W 2 M

u(2 x)

1 + M

M 1

x =0

f (2 x + 1)W 2 M

u ( 2 x +1)

Eq. 2

Como

= W M , possvel rescrever a eq. 2 na forma:


ux
M 1 M 1

1 1 F (u ) = 2 M

x =0

f (2 x)W M

ux

1 + M

x =0

f (2 x + 1)W 2 M

u(2 x)

W 2m
u

Eq. 3

Agora considerando as seguintes DFTs:


1 Feven(u ) = M
1 Fodd (u ) = M
M 1

x =0

f (2 x)W M

ux

M 1

x =0

f (2 x + 1)W M ; para u=0,1,2,....,M-1.


ux

Chega-se a uma relao que decompe a DFT F(u) de comprimento 2M em duas DFTs Feven(u) e Fodd(u), ambas de comprimento M:
F (u ) = 1 u Feven(u ) + Fodd (u )W 2 M 2
u

Eq. 4

Observa-se tambm: W M

u+M

=W M

e W 2M

u+M

= W 2 M ,
u

de modo que segue-se da eq.3,

1 u F (u + M ) = Feven(u ) Fodd (u )W 2 M 2

Eq. 5

Uma transformada de comprimento N pode ser computada dividindo a expresso original em duas partes, como indicado.

Nmero de Operaes
Por induo, o nmero de multiplicaes complexas a adies requeridas na implementao do algoritmo FFT , respectivamente:

1 m(n) = N log 2 N 2
e:

a(n) = N log 2 N

Implementao da FFT
O principal ponto das implementaes diz respeito ao arranjo dos dados de entrada visando aplicao da diviso de uma transformada em termos de outras de menor comprimento. O procedimento de reordenao pode ser ilustrado atravs de um exemplo simples (N=8).

Entrada {f(0), f(1), f(2), f(3), f(4), f(5), f(6), f(7)}.

Separando as amostras de argumentos pares e mpares:

Pares

{f(0), f(2), f(4), f(6)}.

mpares {f(1), f(3), f(5), f(7)}.

Contudo, para reaplicar o procedimento, as componentes pares e mpares devem ser novamente separadas: Pares {f(0), f(4)}. {f(1), f(5)}.

mpares {f(2),

f(6)}.

{f(3),

f(7)}.

REARRANJO:
Entrada {f(0), f(1), f(2), f(3), f(4), f(5), f(6), f(7)}.

{f(0), f(4), f(2), f(6), f(1), f(5), f(3), f(7)}.

Reordenao do arranjo e leitura inversa de bits


Numerao original Arranjo original Numerao bits invertidos Arranjo reordenado

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

f(0) f(1) f(2) f(3) f(4) f(5) f(6) f(7)

0 1 0 1 0 1 0 1

0 0 1 1 0 0 1 1

0 0 0 0 1 1 1 1

f(0) f(4) f(2) f(6) f(1) f(5) f(3) f(7)

A existncia de algoritmos rpidos um fator decisivo nas inmeras aplicaes em tempo real da DFT.

Devido ao algoritmo Cooley-Tukey base 2, freqentemente usam-se comprimentos que so potncia de 2.

Uma curta tabela com uma cota inferior na complexidade para determinar uma DFT de comprimento N, denotada (DFT(N), mostrada.
(DFT(N) (DFT(N)

4 8 12 24 48 60

0 2 4 12 38 56

120 240 720 ... 65520 ...

120 274 986 ... 108594 ...

Você também pode gostar