800 likes | 1.08k Views
Arquitetura de Processadores DSP A Transformada Rápida de Fourier. Arthur Rolim George Fonseca João Marcelo Teixeira Stelita Silva {auar, gimf, jmxnt, sms}@cin.ufpe.br. Agenda. A Transformada Discreta de Fourier Algoritmos da Transformada Rápida de Fourier
E N D
Arquitetura de Processadores DSPA Transformada Rápida de Fourier Arthur Rolim George Fonseca João Marcelo Teixeira Stelita Silva {auar, gimf, jmxnt, sms}@cin.ufpe.br
Agenda • A Transformada Discreta de Fourier • Algoritmos da Transformada Rápida de Fourier • Análise e Implementação utilizando Matlab e C • Aplicações • Projeto • O DTMF • Requisitos • Análise pelo Matlab • Implementação • Demonstração • Conclusão
A Transformada Discreta de Fourier (1/2) • A DFT (Discrete Fourier Transform) é uma aproximação numérica da Transformada de Fourier • Matematicamente mais simples • Computacionalmente mais relevante • Mantendo os mesmo conceitos básicos
A Transformada Discreta de Fourier (2/2) • Extensivamente utilizada em várias aplicações DSP • Análise de espectro • Convolução de alta-velocidade (filtro linear) • Detecção e estimativa de sinais • Identificação de sistemas • Compressão de áudio • Síntese de modelo espectral de som
A Transformada Rápida de Fourier • O termo FFT (Fast Fourier Transform) se refere a uma implementação eficiente da DFT • Uma família de algoritmos • Cooley-Tukey • Split-radix • Prime-factor • Bruun's • Rader's • Bluestein's
Interpretação Gráfica da FFT (1/8) DFT: A Identidade de Euler: Propriedades importantes,com N = nº de amostras:
Algoritmos da Transformada Rápida de Fourier • Cooley-Tukey FFT algorithm • Split-radix FFT algorithm • Prime-factor FFT algorithm • Bruun's FFT algorithm • Rader's FFT algorithm • Bluestein's FFT algorithm • SUGESTÃO: Listar só os que tem no livro, ou mais interessantes, pois já foram citados na apresentação do FFT como uma família de algoritmos (não estou com o livro agora ) • Esse link tem alguns algoritmos: • http://ccrma.stanford.edu/~jos/mdft/Fast_Fourier_Transform_FFT.html#app:fft
Análise e Implementação utilizando Matlab e C • ???????????????
Aplicações (1/4) • Alguns exemplos • Espectogramas • Hand-held FFT System • Cristalografia • Mais de 120 trabalhos utilizando FFT • http://www-ee.uta.edu/dip/Courses/EE5355/FFTapplication.doc
Aplicações (2/4) • Espectograma clássico de uma amostra de voz
Aplicações (3/4) • Hand-held FFT System
Aplicações (4/4) • Cristalografia • tem por objetivo essencialmente o conhecimento da estrutura dos materiais a nível atômico, independentemente do seu estado físico e de sua origem, e das relações entre essa estrutura e suas propriedades. • Fonte: http://www.sbcr.org.br/ • Kevin Cowtan’s Picture Book of Fourier • Fonte: http://www.ysbl.york.ac.uk/~cowtan/fourier/magic.html
Projeto Identificação de um número DTMF utilizando FFT numa plataforma TMS320VC5510
DTMF (1/2) • Dual-Tone Multi-Frequency • Os tons de duas freqüências utilizados na discagem dos telefones mais modernos • As freqüências destes tons e suas combinações são:
Requisitos • Identificação em tempo-real de sinais DTMF • Utilizar FFT • Mostrar retorno através dos LEDs da placa • Entrada de sinais através do line-in ou microfone
Análise pelo Matlab n = 0:1:511; T=1/8192; sin697 = sin(2*pi*697*n*T); sin770 = sin(2*pi*770*n*T); sin852 = sin(2*pi*852*n*T); sin941 = sin(2*pi*941*n*T); sin1209 = sin(2*pi*1209*n*T); sin1336 = sin(2*pi*1336*n*T); sin1477 = sin(2*pi*1477*n*T); sin1633 = sin(2*pi*1633*n*T);
Análise pelo Matlab n = 0:1:511; T=1/8192; sin697 = sin(2*pi*697*n*T); sin770 = sin(2*pi*770*n*T); sin852 = sin(2*pi*852*n*T); sin941 = sin(2*pi*941*n*T); sin1209 = sin(2*pi*1209*n*T); sin1336 = sin(2*pi*1336*n*T); sin1477 = sin(2*pi*1477*n*T); sin1633 = sin(2*pi*1633*n*T);
Análise pelo Matlab n = 0:1:511; T=1/8192; sin697 = sin(2*pi*697*n*T); sin770 = sin(2*pi*770*n*T); sin852 = sin(2*pi*852*n*T); sin941 = sin(2*pi*941*n*T); sin1209 = sin(2*pi*1209*n*T); sin1336 = sin(2*pi*1336*n*T); sin1477 = sin(2*pi*1477*n*T); sin1633 = sin(2*pi*1633*n*T);