FFT Realização Eficiente da DFT

Documentos relacionados
Transformada Rápida de Fourier (FFT)

Transformada Discreta de Fourier (DFT)

Transformada Rápida de Fourier FFT Conceitos da FFT - Gauss (1805)

Transformada Discreta de Fourier (DFT)

FFT Fast Fourier Transform

Sistemas Lineares e Invariantes de Tempo Discreto

Sinais e Sistemas Discretos

Processamento (Digital) de Sinal. Caderno de exercícios para as horas não presenciais

Exercícios para Processamento Digital de Sinal. 1 Transformada e Série de Fourier

Transformada de Fourier: fundamentos matemáticos, implementação e aplicações musicais

Resumo. Sinais e Sistemas Representação de Sinais Periódicos em Séries de Fourier. Objectivo. Função Própria de um Sistema

Processamento Digital de Sinais. Notas de Aula. Transformada Z. Transformada Z - TZ

A TRANSFORMADA Z. Métodos Matemáticos I C. Prof. Hélio Magalhães de Oliveira, Texto por R. Menezes Campello de Souza

Transformada de Fourier Discreta no Tempo (DTFT)

Processamento Digital de Sinais - ENG420

Análise de Sistemas LTI através das transformadas

REPRESENTAÇÃO DE SISTEMAS NO DOMÍNIO Z. n +

Estruturas de Sistemas Discretos

Introdução ao Processamento Digital de Sinais Soluções dos Exercícios Propostos Capítulo 1

Sinais e Sistemas. Série de Fourier. Renato Dourado Maia. Faculdade de Ciência e Tecnologia de Montes Claros. Fundação Educacional Montes Claros

Introdução aos Circuitos Elétricos

Técnicas de Desenho de Filtros Digitais

Análise de Sistemas em Tempo Discreto usando a Transformada Z

Processamento Digital de Sinais. Notas de Aula. Transformada Z. Transformada Z - TZ

Transformada Z. Transformada Z Bilateral. Transformada de Fourier e Transformada Z. A transformada de Fourier não converge para todas as sequências.

Sistemas Lineares e Invariantes: Tempo Contínuo e Tempo Discreto

Transformada Z. A transformada Z de uma sequência x n é definida como:

Resumo. Filtragem Adaptativa. Filtros adaptativos. Tarefas desempenhadas pelos filtros

2/47. da matemática é ainda de grande importância nas várias áreas da engenharia. Além disso, lado de Napoleão Bonaparte. 1/47

O processo de filtragem de sinais pode ser realizado digitalmente, na forma esquematizada pelo diagrama apresentado a seguir:

Análise e Processamento de Bio-Sinais. Mestrado Integrado em Engenharia Biomédica. Sinais e Sistemas. Licenciatura em Engenharia Física

Análise de Algoritmos Estrutura de Dados II

Complexidade de Algoritmos

Sinais e Sistemas. Tempo para Sistemas Lineares Invariantes no Tempo. Representações em Domínio do. Profª Sandra Mara Torres Müller.

Processamento Digital de Sinais. Notas de Aula. Análise Espectral Usando a DFT

04/04/ :31. Sumário. 2.1 Sistemas LIT de Tempo Discreto 2.2 Sistemas LIT de Tempo Contínuo 2.3 Propriedades dos Sistemas LIT

André Vignatti DINF- UFPR

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

Processamento Digital de Sinais

TRANSFORMADA DE FOURIER EM TEMPO DISCRETO (DTFT) E TRANSFORMADA DISCRETA DE FOURIER (DFT) Larissa Driemeier

Divisão e conquista. Eficiência de divisão e conquista

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Resumo. Sinais e Sistemas Transformada de Laplace. Resposta ao Sinal Exponencial

Introdução ao Processamento Digital de Sinais Soluções dos Exercícios Propostos Capítulo 2

Centro Federal de Educação Tecnológica de Minas Gerais Programa de Pós-Graduação em Modelagem Matemática e Computacional

INF 1010 Estruturas de Dados Avançadas

Sinais e Sistemas - Lista 3 Gabarito

Aula 15 Propriedades da TFD

1 o Teste Tipo. Sinais e Sistemas (LERC/LEE) 2008/2009. Maio de Respostas

Filtros de tempo discreto

MAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017

Transformada z. Carlos Alberto Ynoguti. September 14, / 53

LISTA DE EXERCÍCIOS MÊS 04

3 o Teste (1 a data) Sistemas e Sinais (LEIC-TP) 2008/ de Junho de Respostas

Parte I O teste tem uma parte de resposta múltipla (Parte I) e uma parte de resolução livre (Parte II)

Introdução ao Processamento Digital de Sinais Soluções dos Exercícios Propostos Capítulo 3

11º ano - Indução matemática

André Vignatti DINF- UFPR

Licenciatura em Engenharia Biomédica. Faculdade de Ciências e Tecnologia. Universidade de Coimbra. Análise e Processamento de Bio-Sinais - MIEBM

Aula 3: Algoritmos: Formalização e Construção

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Fundamentos de sinais e sistemas em tempo discreto

Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 02

CIC 111 Análise e Projeto de Algoritmos II

MC102 Algoritmos e Programação de Computadores

Programação Estruturada

ESTRUTURAS DE REPETIÇÃO - PARTE 1

Complexidade de Algoritmos

Resumo. Sinais e Sistemas Sistemas Lineares e Invariantes no Tempo. Resposta ao Impulso. Representação de Sequências

Quantidade de memória necessária

Projeto e Análise de Algoritmos

BCC202 - Estrutura de Dados I

EEL470 Algoritmos e Estruturas de Dados Prof. Heraldo L. S. Almeida Prova 1 (22/05/2009)

Transformada Discreta de Fourier

Sistemas Lineares e Invariantes

Algoritmos e Programação

Aula 16: Laços aninhados e desvios

Vetores são estruturas indexadas utilizadas para armazenar dados de um mesmo tipo: int, char, float ou double. Oexemploaseguirédeumvetordeinteiros:

INSTITUTO SUPERIOR TÉCNICO Introdução aos Algoritmos e Estruturas de Dados

Filtro FIR. Processamento Digital de Sinais - ENG de julho de 2016 IFBA. Fabrício Simões (IFBA) Filtro FIR 22 de julho de / 30

Aula 03: Análise de algoritmos melhor caso, pior caso e caso médio

Transcrição:

FFT Realização Eficiente da DFT Luís Caldas de Oliveira lco@istutlpt Instituto Superior Técnico FFT p1/40

Resumo Algoritmos de Decimação no Tempo FFT p2/40

Resumo Algoritmos de Decimação no Tempo Algoritmos de Decimação na Frequência FFT p2/40

Resumo Algoritmos de Decimação no Tempo Algoritmos de Decimação na Frequência Realização dos Algoritmos FFT FFT p2/40

Resumo Algoritmos de Decimação no Tempo Algoritmos de Decimação na Frequência Realização dos Algoritmos FFT Algoritmos para N Factorizável FFT p2/40

Resumo Algoritmos de Decimação no Tempo Algoritmos de Decimação na Frequência Realização dos Algoritmos FFT Algoritmos para N Factorizável Realização da DFT Usando a Convolução FFT p2/40

Objectivo Problema: precisamos de reduzir o número de operações matemáticas necessárias para o cálculo da DFT FFT p3/40

Objectivo Problema: precisamos de reduzir o número de operações matemáticas necessárias para o cálculo da DFT Solução: vamos diminuir o número de operações, calculando DFTs de menor ordem e combinando os seus coeficientes FFT p3/40

Complexidade Computacional da DFT Medida de complexidade computacional utilizada: número de multiplicações e somas X(k) = N n=0 x(n)e j 2π N kn, 0 k N 1 N 2 multiplicações complexas; FFT p4/40

Complexidade Computacional da DFT Medida de complexidade computacional utilizada: número de multiplicações e somas X(k) = N n=0 x(n)e j 2π N kn, 0 k N 1 N 2 multiplicações complexas; N(N 1) somas complexas; FFT p4/40

Complexidade Computacional da DFT Medida de complexidade computacional utilizada: número de multiplicações e somas X(k) = N n=0 x(n)e j 2π N kn, 0 k N 1 N 2 multiplicações complexas; N(N 1) somas complexas; aproximadamente 2N 2 operações complexas; FFT p4/40

Complexidade Computacional da DFT Medida de complexidade computacional utilizada: número de multiplicações e somas X(k) = N n=0 x(n)e j 2π N kn, 0 k N 1 N 2 multiplicações complexas; N(N 1) somas complexas; aproximadamente 2N 2 operações complexas; aproximadamente 8N 2 operações reais; FFT p4/40

Complexidade Computacional da DFT Medida de complexidade computacional utilizada: número de multiplicações e somas X(k) = N n=0 x(n)e j 2π N kn, 0 k N 1 N 2 multiplicações complexas; N(N 1) somas complexas; aproximadamente 2N 2 operações complexas; aproximadamente 8N 2 operações reais; requer N registos complexos FFT p4/40

Decimação no Tempo X(k) = N n=0 = n par x(n)e j 2π N kn, 0 k N 1 + n ímpar = N 2 r=0 2π j x(2r)e N/2 kr + e j 2π N k = G(k) + e j 2π N k H(k) N 2 r=0 2π j x(2r + 1)e N/2 kn FFT p5/40

Decimação no Tempo X(k) = N n=0 = n par x(n)e j 2π N kn, 0 k N 1 + n ímpar = N 2 r=0 2π j x(2r)e N/2 kr + e j 2π N k = G(k) + e j 2π N k H(k) N 2 r=0 2π j x(2r + 1)e N/2 kn G(k) e H(k) têm período N/2 FFT p5/40

Decomposição da DFT x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) DFT de N/2 pontos DFT de N/2 pontos G(0) G(1) G(2) G(3) H(0) H(1) H(2) H(3) 0 1 2 3 4 5 6 7 X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) k j 2π N = e k FFT p6/40

Decomposição da DFT x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) DFT de N/2 pontos DFT de N/2 pontos G(0) G(1) G(2) G(3) H(0) H(1) H(2) H(3) 0 1 2 3 4 5 6 7 X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) k j 2π N = e Número de multiplicações complexas: N + 2( N 2 )2 k FFT p6/40

Decomposição da DFT x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) DFT de N/4 DFT de N/4 DFT de N/4 DFT de N/4 0 2 4 6 0 2 4 6 0 1 2 3 4 5 6 7 X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) k j 2π = e N k FFT p7/40

Decomposição da DFT x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) DFT de N/4 DFT de N/4 DFT de N/4 DFT de N/4 0 2 4 6 0 2 4 6 0 1 2 3 4 5 6 7 X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) k j 2π = e N k Número de multiplicações complexas: N + N + 4( N 4 )2 FFT p7/40

DFT de 2 Pontos A decomposição da DFT prossegue até se chegar a DFTs de 2 pontos: x(0) x(1) 1 X(0) X(1) FFT p8/40

DFT de 2 Pontos A decomposição da DFT prossegue até se chegar a DFTs de 2 pontos: x(0) x(1) X(0) X(1) Número de multiplicações complexas da FFT é de N log 2 N 1 FFT p8/40

Diagrama de Fluxo da FFT x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) 4 4 4 4 0 0 0 0 0 2 4 6 0 2 4 6 0 1 2 3 4 5 6 7 X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) k = j 2π k e 8 FFT p9/40

Redução Adicional dos Cálculos Cada borboleta tem a forma geral: X (q) m 2π j r e N X (q) m X (q) m j 2π N (r + N 2 ) e X (q) m e j 2π N (r+ N 2 ) = e jπ e j 2π N r = e j 2π N r X (p) m 1 X (p) m X (q) m 2π j r e N X (q) m FFT p10/40

Redução Adicional dos Cálculos Cada borboleta tem a forma geral: X (q) m 2π j r e N X (q) m X (q) m j 2π N (r + N 2 ) e X (q) m e j 2π N (r+ N 2 ) = e jπ e j 2π N r = e j 2π N r X (p) m 1 X (p) m X (q) X (q) m 2π m j r e N Número de multiplicações: N 2 log 2 N FFT p10/40

Diagrama de Fluxo da FFT de Ordem 8 com Decimação no Tempo x(0) 1 1 1 X(0) x(4) 1 1 X(1) x(2) 1 0 1 X(2) x(6) 2 1 X(3) x(1) 1 1 0 X(4) x(5) 1 1 X(5) x(3) 1 0 2 X(6) x(7) 2 3 X(7) k = j 2π k e 8 FFT p11/40

Realização In-Place Utiliza-se um conjunto de N registos complexos Os registos são inicializados com as amostras temporais re-ordenadas: X 0 (0) = x(0) X 0 (1) = x(4) X 0 (2) = x(2) Os registos são actualizados pela seguinte recursão: { X m (p) = X m (p) + e j 2π N r X m (q) X m (q) = X m (p) e j 2π N r X m (q) FFT p12/40

Ordenação Bit-Reversed O re-ordenamento da sequência de entrada da FFT com decimação no tempo é realizada na ordem: X 0 (0 10 ) = X 0 (000 2 ) = x(000 2 ) = x(0 10 ) X 0 (1 10 ) = X 0 (001 2 ) = x(100 2 ) = x(4 10 ) X 0 (2 10 ) = X 0 (010 2 ) = x(010 2 ) = x(2 10 ) X 0 (3 10 ) = X 0 (011 2 ) = x(110 2 ) = x(6 10 ) X 0 (4 10 ) = X 0 (100 2 ) = x(001 2 ) = x(1 10 ) X 0 (5 10 ) = X 0 (101 2 ) = x(101 2 ) = x(5 10 ) X 0 (6 10 ) = X 0 (110 2 ) = x(011 2 ) = x(3 10 ) X 0 (7 10 ) = X 0 (111 2 ) = x(111 2 ) = x(7 10 ) FFT p13/40

Decimação na Frequência - Amostras Pares X(k) = Amostras pares: N n=0 x(n)e j 2π N kn, 0 k N 1 X(2r) = = = N n=0 N 2 x(n)e j 2π N n2r [x(n) + x(n + N 2 n=0 N 2 n=0 2π j g(n)e N/2 nr )]e j 2π N/2 nr FFT p14/40

Decimação na Frequência - Amostras Ímpares X(k) = Amostras ímpares: N n=0 x(n)e j 2π N kn, 0 k N 1 X(2r + 1) = = = N n=0 N 2 x(n)e j 2π N n(2r+1) [x(n) x(n + N 2π 2 )]e j N n e n=0 N 2 n=0 h(n)e j 2π N n 2π j e N/2 n 2π j N/2 n FFT p15/40

Decomposição da DFT por Decimação na Frequência x(0) g(0) X(0) x(1) x(2) g(1) g(2) DFT de N/2 pontos X(4) X(2) x(3) g(3) X(6) x(4) x(5) x(6) x(7) h(0) 0 h(1) 1 h(2) 2 h(3) 3 DFT de N/2 pontos X(1) X(5) X(3) X(7) k j 2π k = e 8 FFT p16/40

Diagrama de Fluxo de FFT com Decimação na Frequência x(0) X(0) x(1) X(4) x(2) 0 X(2) x(3) 2 X(6) x(4) 0 X(1) x(5) 1 X(5) x(6) 2 0 X(3) x(7) 3 2 X(7) k = j 2π k e 8 FFT p17/40

Realização In-Place X (p) m 1 X (p) m X (q) m j 2π r e N X (q) m { Xm (p) = X m (p) + X m (q) X m (q) = (X m (p) X m (q))e j 2π N r FFT p18/40

Transformação Inversa A realização directa da FFT pode ser usada para calcular a DFT inversa de uma sequência Sendo g(n) a DFT de uma sequência X(k): g(n) = N k=0 X(k)e j 2π N kn Pode-se obter a transformada inversa de X(k) por: x(n) = 1 N = 1 N N k=0 N k=0 X(k)e j 2π N kn X(k)e j 2π N k(n n) = 1 N g (((N n)) N) FFT p19/40

Optimização para Sequências Reais Pode-se calcular a DFT de N pontos de uma sequência real x(n) usando uma FFT de N/2 pontos: 1 Formar uma sequência g(n) = x(2n) + jx(2n + 1), para 0 n N 2 1 2 Calcular G(k) a FFT de N/2 pontos de g(n) 3 Determinar (0 k N 2 1): X 1 (k) = 1 2»» G R (k) + G R ((( N» 2 k)) N ) + j G I (k) G I ((( N 2 2 k)) N ) 2 X 2 (k) = e j 2π N k 2»» G I (k) + G I ((( N» 2 k)) N ) j G R (k) G R ((( N 2 2 k)) N ) 2 4 Finalmente: X(k) = 8 >< X 1 (k) + X 2 (k) 0 k N 2 1 X 1 (k N 2 >: ) X 2(k N 2 ) N 2 k N 1 0 no caso contrário FFT p20/40

Realização da FFT na Linguagem C A linguagem C não dispõe nem de estruturas de dados nem de operadores aritméticos para números complexos A realização apresentada tem fins didácticos: o algoritmo foi dividido em funções para melhor legibilidade; não se utilizam tabelas com valores pré-calculados A realização poderia ser mais eficiente expandindo as funções e pré-calculando os factores multiplicativos FFT p21/40

Números Complexos Definição das funções matemáticas e da estrutura de dados para armazenamento de números complexos: #include <mathh> struct Complex { double re; double im; }; FFT p22/40

Operações Básicas com Números Complexos struct Complex Csoma(struct Complex z1, struct Complex z2) { z1re += z2re; z1im += z2im; return z1; } struct Complex Csub(struct Complex z1, struct Complex z2) { z1re -= z2re; z1im -= z2im; return z1; } struct Complex Cmul(struct Complex z1, struct Complex z2) { struct Complex z3; z3re = z1re * z2re - z1im * z2im; z3im = z1re * z2im + z1im * z2re; return z3; } FFT p23/40

Troca de Conteúdos de Posições de Memória void Ctroca(struct Complex *z1, struct Complex *z2) { struct Complex tmp; tmp = *z1; *z1 = *z2; *z2 = tmp; } FFT p24/40

Realização da Re-ordenação /* re-ordenacao da entrada */ void reord(int N, struct Complex X[]) { int dir, inv, pot2; inv = 0; for (dir = 1; dir < N; dir++) { /* incrementa contador de ordem inversa dos bits */ for (pot2 = N/2; pot2 <= inv; pot2 /= 2) inv -= pot2; inv += pot2; } } if (dir < inv) Ctroca(&X[dir], &X[inv]); FFT p25/40

Cálculos dos Factores Multiplicativos static int Log2N; static struct Complex Wr[20]; /* Calcula a tabela de factores multiplicativos */ void factores(int N) { double arg = 15707963; /* pi/2 */ int m; } Log2N = (int)(log(n+1)/log(2)); Wr[0]re = 1; Wr[0]im = 0; Wr[1]re = 0; Wr[1]im = -1; for (m = 2; m < Log2N; m++) { arg /= 2; Wr[m]re = (double) cos(arg); Wr[m]im = (double) -sin(arg); } FFT p26/40

Realização das DFTs de 2 Pontos X (p) m 1 X (p) m X (p+1) m 1 X (p+1) m /* primeiro passo (m=1): DFTs de 2 pontos */ void dft2(int N, struct Complex X[]) { int p = 0; struct Complex tmp; /* q = p + 1 * Xm(p) = Xm-1(p) + Xm-1(q) * Xm(q) = Xm-1(p) - Xm-1(q) */ for (p = 0; p < N; p+=2) { tmp = X[p+1]; X[p+1] = Csub( X[p], tmp ); X[p] = Csoma( X[p], tmp ); } } FFT p27/40

Realização das Borboletas X (p) m 1 X (p) m X (q) m j 2π r N e X (q) m FFT p28/40

Realização das Borboletas /* borboletas de m=2 a log2(n) */ void borbol(int N, struct Complex X[]) { struct Complex tmp, Wm; int m, j, p, potm2 = 2, potm22 = 4; for (m = 2; m <= Log2N; m++) { Wm = Wr[0]; for (j = 0; j < potm2; j++) { /* potm2 = 2ˆ(m-1) */ for (p = j; p < N; p += potm22) { /* potm2 = 2ˆm */ tmp = Cmul( X[p+potm2], Wm ); X[p+potm2] = Csub( X[p], tmp ); X[p] = Csoma( X[p], tmp ); } Wm = Cmul( Wm, Wr[m-1] ); } potm2 = potm22; potm22 *= 2; } } FFT p29/40

Realização da FFT /* algoritmo fft de N pontos com decimacao no tempo */ void fft(int N, struct Complex X[]) { static int Nanterior = 0; } reord(n, X); if (N!= Nanterior) { Nanterior = N; factores(n); } dft2(n, X); borbol(n, X); FFT p30/40

Algoritmos Cooley-Tukey (N Factorizável) N = N 1 N 2 Conceito de mapas de índices n = N 2 n 1 + n 2 { 0 n1 N 1 1 0 n 2 N 2 1 k = k 1 + N 1 k 2 { 0 k1 N 1 1 0 k 2 N 2 1 FFT p31/40

Algoritmos Cooley-Tukey (N Factorizável) N = N 1 N 2 Conceito de mapas de índices n = N 2 n 1 + n 2 { 0 n1 N 1 1 0 n 2 N 2 1 k = k 1 + N 1 k 2 { 0 k1 N 1 1 0 k 2 N 2 1 n e k tomam todos os valores entre 0 e N 1 FFT p31/40

Decomposição da DFT X(k 1 + N 1 k 2 ) = N 2 N 1 x(n 2 n 1 + n 2 )e j 2π N (k 1+N 1 k 2 )(N 2 n 1 +n 2 ) n 2 =0 n 1 =0 X(k 1 + N 1 k 2 ) = N 2 n 2 =0 2π j k N G(n 2, k 1 )e 2 n 2 2 G(n 2, k 1 ) = G(n 2, k 1 )e j 2π N k 1n 2 G(n 2, k 1 ) = N 1 n 1 =0 2π j k N x(n 2 n 1 + n 2 )e 1 n 1 1 FFT p32/40

Casos Particulares Decimação no tempo: Decimação na frequência: n = N 2 n 1 + n 2 k = k 1 + N 1 k 2 N 1 = N/2 N 2 = 2 N 1 = 2 N 2 = N/2 FFT p33/40

Caso Geral Algoritmos de base R: N = N 1 N 2 N v N = R v Se a entrada estiver ordenada normalmente a saída ficará ordenada pela inversão dos dígitos do índice na base R Exemplo: N = 2 v { n = 2 v n 1 + + 2n v + n v k = k 1 + 2k 2 + + 2 v k v A decomposição é efectuada em factores diferentes Algoritmos mistos: FFT p34/40

Algoritmo da Transformada Chirp (CTA) O algoritmo CTA permite determinar qualquer conjunto de M amostras da FT equi-espaçadas no círculo unitário ω k = ω 0 + k ω, 0 k M 1 X(e jω k ) = N n=0 x(n)e jω 0n e j ωkn FFT p35/40

Algoritmo CTA Usando a Convolução X(e jω k ) = N n=0 x(n)e jω 0n e j ωkn A equação pode ser representada na forma de uma convolução: X(e jω n2 n j ω ) = e 2 [g(n) e j ω n2 2 ] g(n) = x(n)e jω0n n2 j ω e 2 FFT p36/40

Diagrama da CTA x(n) g(n) h(n) y(n) m (n) 1 2 m (n) m 1 (n) = e jω0n n2 j ω e 2 h(n) = n2 j ω {e 2 (N 1) n M 1 0 caso contrário n2 j ω m 2 (n) = e 2 X(e jω n ) = y(n) FFT p37/40

Diagrama da CTA x(n) g(n) h(n) y(n) m (n) 1 2 m (n) m 1 (n) = e jω0n n2 j ω e 2 h(n) = n2 j ω {e 2 (N 1) n M 1 0 caso contrário n2 j ω m 2 (n) = e 2 X(e jω n ) = y(n) h(n) é não causal e tem comprimento N + M 1 FFT p37/40

Vantagens da CTA não é necessário que N = M; N e M não precisam de ser factorizáveis; ω 0 é arbitrário FFT p38/40

Realização Causal x(n) g(n) h(n) y(n) m (n) 1 2 m (n) m 1 (n) = e jω0n n2 j ω e 2 h(n) = { e j ω(n N+1) 2 /2 0 n N + M 2 0 caso contrário m 2 (n) = e j ω(n N+1)2 /2 X(e jω n ) = y(n + N 1) FFT p39/40

Cálculo da DFT Usando a CTA ω 0 = 0 e ω = 2π N Neste caso: x(n) g(n) h(n) y(n) m (n) 1 2 m (n) m 1 (n) = e j 2π N { h(n) = m 2 (n) = e j 2π N n 2 2 e j 2π n 2 N 2 1 n N + M 1 0 caso contrário n 2 2 X(e j 2π N n ) = y(n + N) FFT p40/40