Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más...

32
1 Tratamiento Digital de Señales Tratamiento Digital de Señales TEMA 2 : DFT (II) TEMA 2 : DFT (II) Universidade Universidade de Vigo de Vigo ETSE Telecomunicación ETSE Telecomunicación TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 2 CONTENIDOS CONTENIDOS 1. 1. Repaso de conceptos asociados con la TF Repaso de conceptos asociados con la TF 2. 2. Formulación de la DFT Formulación de la DFT 3. 3. Propiedades de la DFT Propiedades de la DFT 4. 4. Métodos de filtrado lineal basados en la DFT Métodos de filtrado lineal basados en la DFT 1. 1. Convolución Convolución por bloques por bloques 2. 2. Solapamiento y suma Solapamiento y suma 3. 3. Solapamiento y almacenamiento Solapamiento y almacenamiento 5. 5. Transformada rápida de Transformada rápida de Fourier Fourier (FFT) (FFT) 6. 6. Transformada discreta del coseno (DCT) Transformada discreta del coseno (DCT)

Transcript of Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más...

Page 1: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

1

Tratamiento Digital de SeñalesTratamiento Digital de SeñalesTEMA 2 : DFT (II)TEMA 2 : DFT (II)

UniversidadeUniversidade de Vigode VigoETSE TelecomunicaciónETSE Telecomunicación

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 2

CONTENIDOSCONTENIDOS

1.1. Repaso de conceptos asociados con la TFRepaso de conceptos asociados con la TF2.2. Formulación de la DFTFormulación de la DFT3.3. Propiedades de la DFTPropiedades de la DFT4.4. Métodos de filtrado lineal basados en la DFTMétodos de filtrado lineal basados en la DFT

1.1. ConvoluciónConvolución por bloquespor bloques2.2. Solapamiento y sumaSolapamiento y suma3.3. Solapamiento y almacenamientoSolapamiento y almacenamiento

5.5. Transformada rápida de Transformada rápida de FourierFourier (FFT)(FFT)6.6. Transformada discreta del coseno (DCT)Transformada discreta del coseno (DCT)

Page 2: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

2

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 3

Filtrado Lineal Basado en la DFT (Introducción)Filtrado Lineal Basado en la DFT (Introducción)

•• Motivación:Motivación:–– Queremos realizar filtrados (Queremos realizar filtrados (convolucionesconvoluciones) empleando la ) empleando la

DFT como herramienta de cálculo.DFT como herramienta de cálculo.–– ¿Cómo? Aprovechando la relación entre ¿Cómo? Aprovechando la relación entre convoluciónconvolución lineal lineal

y y convoluciónconvolución circular para señales de tamaño finito.circular para señales de tamaño finito.–– Supongamos Supongamos x[nx[n], señal a filtrar, de longitud L; ], señal a filtrar, de longitud L; –– h[nh[n], respuesta al impulso del sistema, de longitud P:], respuesta al impulso del sistema, de longitud P:

DFT N puntos

DFT N puntos

IDFT N puntos

Cierto si se cumpleCierto si se cumpleQue N Que N ≥≥ L+PL+P--11

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 4

Filtrado Lineal Basado en la DFT (Introducción II)Filtrado Lineal Basado en la DFT (Introducción II)

•• Efectuada la Efectuada la convoluciónconvolución de este modo necesitamos todas de este modo necesitamos todas las muestras de las muestras de x[nx[n] para realizar la DFT] para realizar la DFT

•• En general no es práctico (o es imposible) esperar a En general no es práctico (o es imposible) esperar a obtener toda la señal obtener toda la señal

•• Estudiaremos dos métodos para realizar el filtrado lineal Estudiaremos dos métodos para realizar el filtrado lineal por bloques:por bloques:–– Solapamiento y almacenamiento Solapamiento y almacenamiento –– Solapamiento y sumaSolapamiento y suma

•• ¿Por qué no usar una ¿Por qué no usar una convoluciónconvolución simple?simple?–– El algoritmo de la FFT, que veremos más adelante, permite El algoritmo de la FFT, que veremos más adelante, permite

calcular una DFT de forma tan rápida que este método es calcular una DFT de forma tan rápida que este método es computacionalmentecomputacionalmente ventajoso.ventajoso.

Page 3: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

3

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 5

ConvoluciónConvolución por Bloquespor Bloques

•• La salida puede obtenerse empleando La salida puede obtenerse empleando convolucionesconvolucionesparciales de bloques de señal de longitud Lparciales de bloques de señal de longitud L

y[n] = x[n] ? h[n] =

"Xm

xm[n−mL]#? h[n] =

Xm

ym[n−mL]

x[n] =Xm

xm[n−mL]

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 6

ConvoluciónConvolución por Bloquespor BloquesUsando la DFTUsando la DFT

x0[n] x1[n]

DFT N puntos

IDFT N puntos

PrecalculadaPrecalculada(igual para todos (igual para todos

los bloques)los bloques)

Si N Si N ≥≥ L+PL+P--11

x1[n] X1[k]

H[k]

y1[n] = x1[n] ? h[n]

Page 4: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

4

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 7

Solapamiento y SumaSolapamiento y Suma

•• Así pues, utilizamos .Así pues, utilizamos .

•• La La convoluciónconvolución circular coincide con la linealcircular coincide con la lineal

•• Sólo tenemos que solapar las Sólo tenemos que solapar las convolucionesconvolucionesresultantesresultantes

•• Página siguiente: ejemplo con L=4, P=3 y N=6Página siguiente: ejemplo con L=4, P=3 y N=6

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 8

Solapamiento y SumaSolapamiento y Suma

2L+P-2

x[n]

0 L-1

x0[n]

L 2L-1

x1[n]

2L 3L-1

x2[n]

y[n]

0 L+P-2

y0[n]

L

y1[n]

2L3L+P-2

y2[n]

L muestrasL muestrasSin solaparSin solapar

PP--1 1 MuestasMuestassolapadassolapadas

L=4L=4P=3P=3N=6N=6

DFT x H[k]Y DFT-1

L 2L

Page 5: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

5

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 9

Solapamiento y AlmacenamientoSolapamiento y Almacenamiento

•• Es posible evitar la suma necesaria para componer Es posible evitar la suma necesaria para componer las las convolucionesconvoluciones parciales.parciales.

•• Usamos Usamos •• En este caso En este caso convoluciónconvolución circular y lineal no circular y lineal no

coincidencoinciden•• Parte de la Parte de la convoluciónconvolución obtenida es incorrecta, por lo obtenida es incorrecta, por lo

que habrá que ver como proceder.que habrá que ver como proceder.•• Ejemplo: L=5, P=3Ejemplo: L=5, P=3

N = L, L > P

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 10

Solapamiento y Almacenamiento (II)Solapamiento y Almacenamiento (II)

•• Ejemplo: N=L=5, P=3 Ejemplo: N=L=5, P=3

Ν=5

N=5N=5ConvoluciónConvolución

lineallineal

ConvoluciónConvoluciónCircular N=5Circular N=5

N=5N=5

x[n]PP--1 muestras1 muestrasincorrectasincorrectas NN--P+1P+1

MuestrasMuestrascorrectascorrectas

h[n]

Page 6: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

6

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 11

Solapamiento y Almacenamiento (III)Solapamiento y Almacenamiento (III)

3L-1

x[n]

0 L-1

x0[n]

L

2L

2L-1 L

2L

x1[n]

x2[n]

y1[n]

y2[n]

PP--1 muestras 1 muestras incorrectasincorrectas

L=4L=4P=3P=3N=4N=4

0

y0[n]

y[n]

ConvoluciónConvoluciónincompletaincompleta

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 12

Solapamiento y Almacenamiento (IV)Solapamiento y Almacenamiento (IV)

0 L-1

x[n]

x0[n]

y[n]

Despreciamos Despreciamos Las muestras Las muestras incorrectasincorrectas

L=4L=4P=3P=3N=4N=4

2L-PL-P+1

x1[n]

0

y0[n]

y1[n]

y2[n]

FaltanFaltanlas Plas P--1 1

primeras primeras muestasmuestas

2(L-P+1)

x2[n]

Bloques de L Bloques de L muestras muestras

solapados Psolapados P--11

Page 7: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

7

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 13

Solapamiento y Almacenamiento (y V)Solapamiento y Almacenamiento (y V)

0

2L-P

2(L-P+1)

L-1

L-P+1

0

L

2L

L+P-2

2L+P-2

x[n]

x0[n]

x1[n]

x2[n]

y[n]

y0[n]

y1[n]

y2[n]

Insertamos PInsertamos P--1 1 cerosceros

L=4L=4P=3P=3N=4N=4

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 14

Solapamiento y AlmacenamientoSolapamiento y AlmacenamientoExpresiones TeóricasExpresiones Teóricas

•• La señal x se divide en secciones de L muestras solapadas PLa señal x se divide en secciones de L muestras solapadas P--11

•• Se calcula la Se calcula la convoluciónconvolución circularcircular

•• Eliminamos las PEliminamos las P--1 primeras muestras del resultado1 primeras muestras del resultado

•• Se concatenan las secciones resultantesSe concatenan las secciones resultantes

Page 8: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

8

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 15

CONTENIDOSCONTENIDOS

1.1. Repaso de conceptos asociados con la TFRepaso de conceptos asociados con la TF2.2. Formulación de la DFTFormulación de la DFT3.3. Propiedades de la DFTPropiedades de la DFT4.4. Métodos de filtrado lineal basados en la DFTMétodos de filtrado lineal basados en la DFT5.5. Transformada rápida de Transformada rápida de FourierFourier (FFT)(FFT)

1.1. IntroducciónIntroducción2.2. Diezmado en tiempo Diezmado en tiempo 3.3. Diezmado en frecuenciaDiezmado en frecuencia

6.6. Transformada discreta del coseno (DCT)Transformada discreta del coseno (DCT)

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 16

IntroducciónIntroducción

•• La FFT es un algoritmo rápido de calculo de la DFTLa FFT es un algoritmo rápido de calculo de la DFT•• La FFT La FFT nono es una transformada nuevaes una transformada nueva•• Para N=1024 el número de operaciones necesarias Para N=1024 el número de operaciones necesarias

se reduce a un 1 % usando la DFTse reduce a un 1 % usando la DFT•• Desarrollada por Desarrollada por CooleyCooley y y TukeyTukey en 1965en 1965•• Dos algoritmos:Dos algoritmos:

–– Diezmado en tiempoDiezmado en tiempo–– Diezmado en frecuenciaDiezmado en frecuencia

Page 9: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

9

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 17

Complejidad de la DFTComplejidad de la DFT

•• Supongamos compleja.Supongamos compleja.•• Operaciones necesarias:Operaciones necesarias:

–– productos complejosproductos complejos–– sumas complejassumas complejas

•• Un producto complejo = 4 productos reales + 2 sumas realesUn producto complejo = 4 productos reales + 2 sumas reales•• Una suma compleja = 2 sumas realesUna suma compleja = 2 sumas reales•• Operaciones reales en una DFT:Operaciones reales en una DFT:

–– productos realesproductos reales–– sumas realessumas reales

X[k] =N−1Xn=0

x[n]e−j2πN kn , k=0,···,N−1

x[n]

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 18

Complejidad de la DFT (II)Complejidad de la DFT (II)

•• real:real:

–– productos realesproductos reales–– sumas realessumas reales

•• Ejemplo: Ejemplo: –– 2.097.152 productos reales y 2.095.104 sumas reales2.097.152 productos reales y 2.095.104 sumas reales

•• En general el numero de operaciones es En general el numero de operaciones es

•• Veremos que la FFT esVeremos que la FFT es

X[k] =N−1Xn=0

x[n]e−j2πN kn , k=0,···,N−1

x[n]

Page 10: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

10

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 19

¿Cómo se consigue esta reducción?¿Cómo se consigue esta reducción?

X[k] =Xn par

x[n]e−j2πN kn +

Xn impar

x[n]e−j2πN kn

•• Si N es par, podemos separar los N productos de la Si N es par, podemos separar los N productos de la DFT en dos grupos, correspondientes a las muestras DFT en dos grupos, correspondientes a las muestras pares e impares de la señal:pares e impares de la señal:

••Ahora, si representamos n=2r (pares) y n=2r+1 Ahora, si representamos n=2r (pares) y n=2r+1 (impares), podemos dividir la DFT original en dos (impares), podemos dividir la DFT original en dos nuevas nuevas DFTsDFTs con la mitad de puntos, ya que podemos con la mitad de puntos, ya que podemos hacer pasar el 2 de (2r) al denominador, para dar (N/2).hacer pasar el 2 de (2r) al denominador, para dar (N/2).

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 20

Derivación de la FFT Diezmado en TiempoDerivación de la FFT Diezmado en Tiempo

X[k] =

n=2̇X0≤n<N

x[n]e−j2πN kn +

n=2̇+1X0≤n<N

x[n]e−j2πN kn

=

N2 −1Xr=0

x[2r]e−j2πN k2r +

N2 −1Xr=0

x[2r + 1]e−j2πN k(2r+1)

=

N2 −1Xr=0

x[2r]e−j2π

(N/2)kr + e−j

2πN k

N2 −1Xr=0

x[2r + 1]e−j2π

(N/2)kr

DFT de N/2 puntos de las DFT de N/2 puntos de las muestras pares de muestras pares de x[nx[n] (] (G[kG[k])])

DFT de N/2 puntos de las DFT de N/2 puntos de las muestras impares de muestras impares de x[nx[n] (] (H[kH[k])])

Page 11: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

11

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 21

Derivación de la FFT (II)Derivación de la FFT (II)

•• Llegamos a:Llegamos a: X[k] = G[k] + e−j2πN kH[k], k=0,···,N−1

X [0] = G[0] + e−j2πN 0H[0]

· · ·X [N

2 − 1] = G[N2 − 1] + e−j2πN (N2 −1)H[N2 − 1]

X [N2] = G[N

2] + e−j

2πN

N2 H[N

2]

· · ·X [N − 1] = G[N − 1] + e−j

2πN (N−1)H[N − 1]

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 22

Derivación de la FFT (II)Derivación de la FFT (II)

•• Teniendo en cuenta las extensiones periódicas de ambas Teniendo en cuenta las extensiones periódicas de ambas DFTsDFTs de N/2 puntos, llegamos a:de N/2 puntos, llegamos a:

X [0] = G[0] + e−j2πN 0H[0]

· · ·X [N2 − 1] = G[N2 − 1] + e−j

2πN (N2 −1)H[N2 − 1]

X [N2] = G[0] + e−j

2πN

N2 H[0]

· · ·X [N − 1] = G[N2 − 1] + e−j

2πN (N−1)H[N2 − 1]

Page 12: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

12

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 23

X[4]

e−j42πN

x[0]

x[2]

x[4]

x[1]

x[6]

x[3]

x[5]

x[7]

Punt

os p

ares

Punt

os im

pare

s

X[0]

1

DFTN/2

G[0]

G[1]

G[2]

G[3]

DFTN/2

H[1]

H[2]

H[3]

H[0]

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 24

DFTN/2

DFTN/2

x[0]

x[2]

x[4]

x[1]

x[6]

x[3]

x[5]

x[7]

G[0]

G[1]

G[2]

G[3]

H[1]

H[2]

H[3]

H[0]

X [0]

X[1]

X[2]

X[3]

X [5]

X [4]

X [6]

X[7]

1

e−j2πN

e−j22πN

e−j52πN

e−j62πN

e−j72πN

e−j32πN

e−j42πN

Punt

os p

ares

Punt

os im

pare

s

Page 13: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

13

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 25

Número de OperacionesNúmero de Operaciones

•• 2N2N22 productos reales para implementación directa productos reales para implementación directa ((x[nx[n] real)] real)

•• Ahora 2(N/2)Ahora 2(N/2)22+2(N/2)+2(N/2)22+4N=N+4N=N22+4N+4N•• Compensa si N>4 (2NCompensa si N>4 (2N22 > N> N22+4N)+4N)

DFTN/2

DFTN/2

x[0]

x[2]

x[4]

x[1]

x[6]

x[3]

x[5]

x[7]

G[0]

G[1]

G[2]

G[3]

H[1]

H[2]

H[3]

H[0]

X[0]

X [1]

X [2]

X [3]

X[5]

X[4]

X[6]

X[7]

1

e−j2πN

e−j22πN

e−j52πN

e−j62πN

e−j72πN

e−j32πN

e−j42πN

Dos Dos DFTsDFTs de N/2de N/2más N productos más N productos complejos más N complejos más N sumas complejassumas complejas

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 26

Número de OperacionesNúmero de Operaciones

•• Usamos N muestras de la exponencial compleja Usamos N muestras de la exponencial compleja entre 0 y 2entre 0 y 2ππ

DFTN/2

DFTN/2

x[0]

x[2]

x[4]

x[1]

x[6]

x[3]

x[5]

x[7]

G[0]

G[1]

G[2]

G[3]

H[1]

H[2]

H[3]

H[0]

X[0]

X [1]

X [2]

X [3]

X[5]

X[4]

X[6]

X[7]

1

e−j2πN

e−j22πN

e−j52πN

e−j62πN

e−j72πN

e−j32πN

e−j42πN

1

e−j2πN

e−j22πN

e−j52πN

e−j62πN

e−j72πN

e−j32πN

e−j42πN

Page 14: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

14

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 27

Derivación de la FFTDerivación de la FFT

•• Si N/2 es par podemos realizar el mismo desarrollo Si N/2 es par podemos realizar el mismo desarrollo para las para las DFTsDFTs de N/2 puntosde N/2 puntos

DFTN/4

x[6]

1

e−j22πN

e−j42πN

e−j62πN = e−j3

2πN/2

G[3]

G[1]

G[0]

G[2]

x[0]

x[4]

x[2]

N/2 muestras de la N/2 muestras de la exponencial compleja exponencial compleja

entre 0 y 2entre 0 y 2ππ

DFTN/4

Go[0]

Go[1]

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 28

Derivación de la FFTDerivación de la FFT•• El proceso se puede repetir sucesivamente hasta llegar a una DFTEl proceso se puede repetir sucesivamente hasta llegar a una DFT

de dos puntos siempre que N sea potencia de dosde dos puntos siempre que N sea potencia de dos•• Para el caso de N=8 sólo necesitamos una etapa másPara el caso de N=8 sólo necesitamos una etapa más

DFTN/4=2

x[0]

x[4]

Go[0]

Go[1]

Go[1] = x[0] + x[1]e−j 2π

N/4

•• De la De la definiciondefinicion de DFT:de DFT:

Go[0] = x[0] + x[1] 1

e−j42πN

x[0]

x[4]

Go[0]

Go[1]

Page 15: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

15

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 29

MariposasMariposas

•• En cualquier etapa de la FFT dos puntos se combinan En cualquier etapa de la FFT dos puntos se combinan siempre mediante el mismo esquema denominado siempre mediante el mismo esquema denominado mariposamariposa

e−j2πN k

e−j2πN (k+N

2 )

e−j2πN

N2

MariposaMariposaDe dos puntosDe dos puntos

≡e−j

2πN k −1

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 30

Diagrama de la FFT Diezmado en TiempoDiagrama de la FFT Diezmado en Tiempo

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 2

e−j2πN 2

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

e−j2πN 0

e−j2πN 2

e−j2πN 1

e−j2πN 3

x[0]

x[2]

x[4]

x[1]

x[6]

x[3]

x[5]

x[7]

X [0]

X[1]

X[2]

X[3]

X [5]

X [4]

X [6]

X [7]

Page 16: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

16

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 31

Diagrama de la FFT Diezmado en TiempoDiagrama de la FFT Diezmado en Tiempo

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 2

e−j2πN 2

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

e−j2πN 0

e−j2πN 2

e−j2πN 1

e−j2πN 3

x[0]

x[2]

x[4]

x[1]

x[6]

x[3]

x[5]

x[7]

X [0]

X[1]

X[2]

X[3]

X [5]

X [4]

X [6]

X [7]

Ord

enam

ient

o bi

nari

o in

vert

ido

Ord

enam

ient

o bi

nari

o in

vert

ido

Etapa 1Etapa 14 grupos de 1 mariposa4 grupos de 1 mariposa

Etapa 2Etapa 22 grupos de 2 mariposas2 grupos de 2 mariposas

Etapa 3Etapa 31 grupo de 4 mariposas1 grupo de 4 mariposas

LogLog22NN etapasetapas

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 32

Diagrama de la FFT Diezmado en TiempoDiagrama de la FFT Diezmado en Tiempo

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 2

e−j2πN 2

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

−1

e−j2πN 0

e−j2πN 2

e−j2πN 1

e−j2πN 3

x[0]

x[2]

x[4]

x[1]

x[6]

x[3]

x[5]

x[7]

X [0]

X[1]

X[2]

X[3]

X [5]

X [4]

X [6]

X [7]

Usamos sólo N/2 muestras de la Usamos sólo N/2 muestras de la exponencial complejaexponencial compleja

Page 17: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

17

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 33

Número de operaciones Número de operaciones

•• Se realizan Se realizan loglog22NN etapasetapas•• Cada etapa requiere:Cada etapa requiere:

–– N/2 multiplicaciones complejasN/2 multiplicaciones complejas–– N sumas complejas (restas)N sumas complejas (restas)

•• Por tantoPor tanto–– 2N productos reales2N productos reales–– N+2N=3N sumas realesN+2N=3N sumas reales

•• En total: En total: 2Nlog2Nlog22NN productos y productos y 3Nlog3Nlog22NN sumassumas•• En definitiva En definitiva O(NlogO(Nlog22NN))•• Para N=1024Para N=1024

–– DFT: aprox. 1024*1024=1048576 operacionesDFT: aprox. 1024*1024=1048576 operaciones–– FFT FFT aproxaprox 1024*10=102401024*10=10240

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 34

Derivación de la FFT Diezmado en FrecuenciaDerivación de la FFT Diezmado en Frecuencia•• Suponemos de nuevo N par y dividimos el cálculo de la Suponemos de nuevo N par y dividimos el cálculo de la

DFT entre valores pares e impares de kDFT entre valores pares e impares de k

X[2r] =N−1Xn=1

x[n]e−j2πN 2rn

=

N2 −1Xm=0

x[m]e−j2πN 2rm +

N2 −1Xm=0

x[m+N

2]e−j

2πN 2r(m+N

2 )

=

N2 −1Xm=0

x[m]e−j2πN 2rm +

N2 −1Xr=0

x[m+N

2]e−j

2πN 2rm

Page 18: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

18

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 35

Derivación de la FFT Diezmado en Frecuencia (II)Derivación de la FFT Diezmado en Frecuencia (II)

•• Sea ahora k impar, k=2r+1 (r=0,Sea ahora k impar, k=2r+1 (r=0,…,N…,N/2/2--1)1)

X[2r + 1] =N−1Xn=0

x[n]e−j2πN (2r+1)n

=

N/2−1Xm=0

x[m]e−j2πN (2r+1)m +

N/2−1Xm=0

x[m+N/2]e−j2πN (2r+1)(m+N/2)

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 36

Derivación de la FFT Diezmado en Frecuencia (III)Derivación de la FFT Diezmado en Frecuencia (III)

•• Dividimos los puntos de la FFT en pares e impares:Dividimos los puntos de la FFT en pares e impares:

X[2r] =

N2 −1Xm=0

(x[m] + x[m+N/2]) e−j2π

(N/2)rm

X[2r + 1] =

N2 −1Xm=0

h(x[m] + x[m+N/2])e−j

2πN m

ie−j

2π(N/2)

rm

DFT de N/2 puntos de la DFT de N/2 puntos de la señal señal x[nx[n]+]+x[nx[n+N/2]+N/2]

DFT de N/2 puntos de la señal DFT de N/2 puntos de la señal ((x[nx[n]+]+x[nx[n+N/2])e+N/2])e--j2j2ππ m/Nm/N

•• Aplicando de nuevo la división llegamos a un diagrama similar Aplicando de nuevo la división llegamos a un diagrama similar al de diezmado en tiempoal de diezmado en tiempo

Page 19: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

19

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 37

Diagrama de la FFT Diagrama de la FFT Diezmado en FrecuenciaDiezmado en Frecuencia

−1

−1

−1

−1

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 2

e−j2πN 1

e−j2πN 3

−1

−1

−1

−1

e−j2πN 0

e−j2πN 0

e−j2πN 2

e−j2πN 2

e−j2πN 0

e−j2πN 0

e−j2πN 0

e−j2πN 0

−1

−1

−1

−1

X [0]

X[1]

X[2]

X[3]

X [5]

X [4]

X [6]

X [7]

x[0]

x[1]

x[2]

x[3]

x[5]

x[4]

x[6]

x[7]

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 38

ComentariosComentarios

•• Existen versiones para valores de N distintos de una Existen versiones para valores de N distintos de una potencia de 2 (potencia de 2 (ejej: 3 2: 3 2kk etcetc))

•• Se pueden realizar los cómputos en un solo registro Se pueden realizar los cómputos en un solo registro de señal (inde señal (in--place)place)

•• La DFT inversa se obtiene con una variación sencilla La DFT inversa se obtiene con una variación sencilla de los diagramas vistosde los diagramas vistos

•• Existen optimizaciones para señales reales (se Existen optimizaciones para señales reales (se aprovecha la simetría de cada DFT)aprovecha la simetría de cada DFT)

Page 20: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

20

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 39

CONTENIDOSCONTENIDOS

1.1. Repaso de conceptos asociados con la TFRepaso de conceptos asociados con la TF2.2. Formulación de la DFTFormulación de la DFT3.3. Propiedades de la DFTPropiedades de la DFT4.4. Métodos de filtrado lineal basados en la DFTMétodos de filtrado lineal basados en la DFT5.5. Transformada rápida de Transformada rápida de FourierFourier (FFT)(FFT)6.6. Transformada discreta del coseno (DCT)Transformada discreta del coseno (DCT)

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 40

IntroducciónIntroducción

•• La DFT plantea varios problemas prácticosLa DFT plantea varios problemas prácticos–– Es compleja incluso para señales realesEs compleja incluso para señales reales–– Para señales reales es redundante:Para señales reales es redundante:

Real(H[k]) Imag(H[k])

N/2N/2--1 valores 1 valores RedundantesRedundantes

(si N par)(si N par)

Siempre ceroSiempre ceropara N parpara N par

ya que ya que H[NH[N/2]=H*[N/2] /2]=H*[N/2]

N/2N/2--1 valores 1 valores RedundantesRedundantes

(si N par)(si N par)Siempre ceroSiempre cero

ya que H[0]=H*[0] ya que H[0]=H*[0]

h[n] real =⇒ H∗[k] = H[((−k))N ]

Page 21: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

21

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 41

DFT 16 puntos cos(2DFT 16 puntos cos(2ππn/16)n/16)cos(2cos(2ππn/16)n/16)

Extenper(cosExtenper(cos(2pn/16))(2pn/16))

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 42

DCTDCT

•• Se plantea obtener una transformación nuevaSe plantea obtener una transformación nueva–– Que sea real para señales realesQue sea real para señales reales–– Que transforme N valores en N valoresQue transforme N valores en N valores

•• La DCT (La DCT (discretediscrete cosinecosine transformtransform) cumple estos ) cumple estos requisitosrequisitos

•• Se usa extensivamente en codificación de audio y de Se usa extensivamente en codificación de audio y de imagen imagen –– Su utilidad reside en que en comparación con la DFT Su utilidad reside en que en comparación con la DFT

presenta una mayor compactación de la energía espectral presenta una mayor compactación de la energía espectral alrededor de frecuencias bajasalrededor de frecuencias bajas

Page 22: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

22

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 43

ScaledScaled--DCT 16 puntos cos(2DCT 16 puntos cos(2ππn/16)n/16)DFT 16 puntos cos(2DFT 16 puntos cos(2ππn/16)n/16)

DCT DCT -- DFTDFT

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 44

Obtención de una Transformación RealObtención de una Transformación Real

•• La DFT es en general compleja debido a que las La DFT es en general compleja debido a que las funciones base de la transformación son complejasfunciones base de la transformación son complejas

•• La DFT pertenece a una familia de transformaciones La DFT pertenece a una familia de transformaciones con expresión general: con expresión general:

•• Donde las N funciones base Donde las N funciones base φφkk[n] son ortogonales [n] son ortogonales entre sientre si

x[n] =1

N

N−1Xk=0

X [k]φk[n]

X[k] =N−1Xn=0

x[n]φ∗k[n]

Page 23: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

23

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 45

Obtención de Una Transformación Real (II)Obtención de Una Transformación Real (II)

•• Para la DFT Para la DFT –– La periodicidad implícita en la DFT está causada por la La periodicidad implícita en la DFT está causada por la

periodicidad de las funciones baseperiodicidad de las funciones base

•• Para obtener una transformación real, lo más Para obtener una transformación real, lo más sencillo parecería ser utilizar sencillo parecería ser utilizar

•• El problema es que este procedimiento no genera N El problema es que este procedimiento no genera N funciones diferentesfunciones diferentes

•• EjemploEjemplo

φk[n] = Real³ej

2πN kn

´

φk[n] = ej 2πN kn

φk[n] = cos

µ2π

4kn

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 46

EjemploEjemplo

0 1 2 3 40

0.2

0.4

0.6

0.8

1

0 1 2 3 4-1

-0.5

0

0.5

1

0 1 2 3 4-1

-0.5

0

0.5

1

0 1 2 3 4-1

-0.5

0

0.5

1

φ0[n] φ1[n]

φ2[n] φ3[n]

Page 24: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

24

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 47

Obtención de Una Transformación Real (III)Obtención de Una Transformación Real (III)

•• Para solucionar esto, se pueden utilizar N muestras Para solucionar esto, se pueden utilizar N muestras de medio periodo del cosenode medio periodo del coseno

0 1 2 3 40

0.2

0.4

0.6

0.8

1

0 1 2 3 4-1

-0.5

0

0.5

1

0 1 2 3 4-1

-0.5

0

0.5

1

0 1 2 3 4-1

-0.5

0

0.5

1

•• Ejemplo:Ejemplo:

φk[n] = cos(πN kn)

k=0;···,N−1

φ0[n] φ1[n]

φ2[n] φ3[n]

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 48

La DCTLa DCT

•• La DCT utiliza como base variaciones sobre las La DCT utiliza como base variaciones sobre las funciones coseno como la que acabamos de funciones coseno como la que acabamos de describirdescribir

•• Debido a la periodicidad de las funciones base Debido a la periodicidad de las funciones base existe, como en la DFT, una paso subyacente por existe, como en la DFT, una paso subyacente por una extensión periódicauna extensión periódica

•• Como las funciones base son además simétricas, Como las funciones base son además simétricas, existe cierta simetría en la extensión periódicaexiste cierta simetría en la extensión periódica

•• Dependiendo del tipo de función base escogida se Dependiendo del tipo de función base escogida se definen varios tipos de definen varios tipos de DCTsDCTs

Page 25: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

25

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 49

Tipos de Tipos de DCTsDCTs

x̃1[n] x̃2[n]

x̃3[n] x̃4[n]

DCT 1 DCT 1 DCT 2 DCT 2

DCT 3 DCT 3 DCT 4 DCT 4

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 50

DCTDCT--22

•• Es la única que estudiaremos aquíEs la única que estudiaremos aquí•• La DCTLa DCT--2 implica una extensión periódica con 2 implica una extensión periódica con

simetría en simetría en --1/2, N1/2, N--1/2, 1/2, etcetc•• Las funciones base para esta transformación:Las funciones base para esta transformación:

x̃2[n]

k=0;···,N−1

φk[n] = cos(πN k(n+

12 )) = cos(

π2N k(2n+ 1))

Page 26: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

26

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 51

Definición de la DCTDefinición de la DCT--22

Xc[k] = 2N−1Xn=0

x[n]cos(π

2Nk(2n+ 1)) k=0,···,N−1

β[k[=

½12 k = 01 k = 0, · · · , N − 1

DCT DCT --22

x[n] =1

N

N−1Xk=0

β[k]Xc[k]cos(π

2Nk(2n+ 1)) n=0,···,N−1

Xc[k] =

r2

Nβ̃[k]

N−1Xn=0

x[n]cos(π

2Nk(2n+ 1)) k=0,···,N−1

x[n] =

r2

N

N−1Xk=0

β̃[k]Xc[k]cos(π

2Nk(2n + 1)) n=0,···,N−1

˜β[k] =

½ 1√2

k = 0

1 k = 0, · · · ,N − 1

Definición alternativa Definición alternativa Normalizada (Normalizada (matlabmatlab))

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 52

Relación Entre DFT y DCTRelación Entre DFT y DCT

•• La extensión periódica para la DCTLa extensión periódica para la DCT--2 puede 2 puede expresarse: expresarse:

x2[n] = x[n] + x[2N − 1− n]n=0,···,2N−1x̃2[n] = x[((n))2N ] + x[((−n− 1))2N ]

x[((n))2N ] x[((−n− 1))2N ]

Page 27: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

27

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 53

•• Partimos dePartimos de

•• Por tanto, si Por tanto, si x[nx[n] es real,] es real,

x2[n]DFT2N−→ X2[k] k=0,···,2N−1

x[n]DFT2N−→ X [k] k=0,···,2N−1

x∗[((−n− 1))2N ] DFT2N−→ X∗[k]ej2π2N k k=0,···,2N−1

X2[k] = X[k] +X∗[k]ej

πN k

Relación Entre DFT y DCT (II)Relación Entre DFT y DCT (II)

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 54

•• Operando (Operando (x[nx[n] real)] real)

Relación Entre DFT y DCT (III)Relación Entre DFT y DCT (III)

H[k] H∗[k]+ = 2Re(H[k])

X[k] =2N−1Xn=0

x[n]e−j2π2N kn =

N−1Xn=0

x[n]e−jπN kn

X2[k] = ej π2N k(X[k]e−j

π2N k +X∗[k]ej

π2N k)

X2[k] = 2 ej π2N kRe(X[k]e−j

π2N k)

X2[k] = 2ej π2N kRe

"N−1Xn=0

x[n]e−j(πN kn+

π2N k)

#Ecuación 1

Page 28: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

28

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 55

•• Operando (Operando (x[nx[n] real)] real)

•• Tomando sólo los N primeros puntos y comparando con la Tomando sólo los N primeros puntos y comparando con la definición de DCT:definición de DCT:

•• Aplicando la ecuación 1 (Aplicando la ecuación 1 (pág.pág. anterior)anterior)

Relación Entre DFT y DCT (IV)Relación Entre DFT y DCT (IV)

X2[k] = 2ej π2N k

"N−1Xn=0

x[n] cos ( π2N k(2n+1))

#k=0,···,2N−1

X2[k] = ej π2N kXc[k] k=0,···,N−1

Xc[k] = 2Re£X[k]e−j

π2N k

¤k=0,···,N−1

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 56

Relación Entre DFT y DCTRelación Entre DFT y DCT--2: Ejemplo2: Ejemplo

x̃2[n]

e−jπ2N k

Real y simétrica

DFT 2N

X2[k] X2[k] · e−jπ2N k

Xc[k]

DFT-1 2N

ComplejaPero X2[k]=X2

*[-k]

Desplazamiento-1/2

x2[n]

x2[((n− 1/2))2N ]

Page 29: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

29

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 57

Propiedades de la DCTPropiedades de la DCT

•• Es real para señales realesEs real para señales reales•• Existen algoritmos rápidos para su cálculoExisten algoritmos rápidos para su cálculo•• Es más sencilla que la DFTEs más sencilla que la DFT•• No No se corresponde con la parte real de la DFTse corresponde con la parte real de la DFT•• Compacta la energía espectral alrededor de Compacta la energía espectral alrededor de

frecuencias bajasfrecuencias bajas

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 58

Compactación de Energía en la DCTCompactación de Energía en la DCT

DFT 6 puntos

DCT 6 puntos

x[n]

•• Para la DCT la energía espectral está más agrupada alrededor de Para la DCT la energía espectral está más agrupada alrededor de bajas frecuenciasbajas frecuencias

•• ¿Por qué sucede esto?¿Por qué sucede esto?

|X [k]|

Xc[k]

Page 30: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

30

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 59

ExplicaciónExplicación

x[n]

ExtensiónPeriódica DFT

ExtensiónPeriódica DCT

Variación más brusca =

Mayor contenido en altas frecuencias

Variación más suave =

Menor contenido en altas frecuencias

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 60

Uso en CodificaciónUso en Codificación

•• En audio e imagen muchos codificadores trabajan en un En audio e imagen muchos codificadores trabajan en un dominio transformadodominio transformado

•• La DCT es una elección habitual en estos casosLa DCT es una elección habitual en estos casos•• Ejemplo: truncamos el espectro para comprimir la informaciónEjemplo: truncamos el espectro para comprimir la información

Xc[k]|X [k]|

Xc[k]|X [k]|Menor errorMayor error

Page 31: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

31

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 61

Ejemplo: JPEGEjemplo: JPEG

•• La DCT es bidimensional, se obtienen bloques de 8x8 La DCT es bidimensional, se obtienen bloques de 8x8 coeficientescoeficientes

•• Puede truncarse la DCT sin afectar demasiado a la señalPuede truncarse la DCT sin afectar demasiado a la señal

Bloque de 8x8 pixels DCT Cuantificación

Bajasfrecuencias

Altasfrecuencias

Altasfrecuencias

DCT

Coeficientestruncados

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 62

Ejemplo: JPEG (II)Ejemplo: JPEG (II)

•• En la práctica no se trunca la DCT sino que se asignan mayor En la práctica no se trunca la DCT sino que se asignan mayor número de bits a los coeficientes de bajas frecuenciasnúmero de bits a los coeficientes de bajas frecuencias

Más bits

Menos bits

Menos bits

Page 32: Tratamiento Digital de Señales TEMA 2 : DFT (II) · – El algoritmo de la FFT, que veremos más adelante, permite calcular una DFT de forma tan rápida que este método es ... (FFT)

32

TDS Tema 1: DFT (Parte 2) Curso 06-07 Página 63

Ejemplo JPEG (III)Ejemplo JPEG (III)

CodificaciónCon DFT

CodificaciónCon DCT