Está en la página 1de 5

OpenStax-CNX module: m12831 1

Convolucin Circular y el DFT

Justin Romberg

Translated By:

Fara Meza

Erika Jackson

Based on Circular Convolution and the DFT by

Justin Romberg

This work is produced by OpenStax-CNX and licensed under the



Creative Commons Attribution License 2.0

Abstract
Este modulo describe el elgoritmo de convolucion cicular y un algoritmo alterno

1 Introduccin
Usted debera familiarizarse con la convolucin discreta, que nos explica como dos seales discretas x [n], la
entrada del sistema, y h [n], la respuesta del sistema, se puede denir el resultado del sistema como

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


P (1)
= k= x [k] h [n k]

Cuando dos DFT son dadas (secuencias de tamao nito usualmente del tamao N ), nosotros no podemos
multiplicar esas dos seales as como as, como lo sugiere la formula de arriba usualmente conocida como
convolucin linear. Ya que las DFT son peridicas, tienen valores no cero para n N as la multiplicacin
de estas dos seales ser no cero para n N . Necesitamos denir otro tipo de convolucion que dar como
resultado nuestra seal convuelta teniendo el valor de cero fuera del rango n = {0, 1, . . . , N 1}. Esto nos
ayuda a desarrollar la idea de convolucin circular, tambin conocida como convolucin cclica o peridica.

2 Formula de la Convolucin Circular


Qu pasa cuando multiplicamos dos DFT una con la otra, donde Y [k] es la DFT de y [n]?
Y [k] = F [k] H [k] (2)
Version 1.3: Aug 30, 2005 11:50 am +0000
http://cnx.org/content/m10786/2.6/
http://creativecommons.org/licenses/by/2.0/

http://cnx.org/content/m12831/1.3/
OpenStax-CNX module: m12831 2

cuando 0 k N 1
Usando la formula sintetizada de DFT para y [n]
N 1
1 X
(3)
2
y [n] = F [k] H [k] ej N kn
N
k=0

Y aplicando anlisis a la formula F [k] =


PN 1 2
m=0 f [m] e(j) N kn
PN 1 PN 1
1 2 2
y [n] = f [m] e(j) N kn H [k] ej N kn
N k=0
PN 1
m=0

1
PN 1 j 2
 (4)
= N k(nm)
m=0 f [m] N k=0 H [k] e

donde podemos reducir la segunda sumatoria de la ecuacin de arriba en h [((n m))N ] = 1


PN 1 2
N k=0 H [k] ej N k(nm)
N
X 1
y [n] = f [m] h [((n m))N ]
m=0

Igual a la convolucin circular! cuando tenemos 0 n N 1 arriba , para obtener dos:


y [n] f [n] ~ h [n] (5)
note: Que la notacin ~ representa la convolucion circular "mod N".

2.1 Pasos para la Convolucin Circular

Los pasos a seguir para la convolucion cclica son los mismos que se usan en la convolucin linear, excepto
que todos los clculos para todos los ndices estn hecho"mod N" = "en la rueda"
Pasos para la Convolucin Cclica

Paso 1: "Graque" f [m] y h [(( (m () ()N ]

(a) (b)

Figure 1: Step 1

Paso 2: "Rote" h [(( (m () ()N ] n en la direccin ACW ( direccin opuesta al reloj) para obtener
h [((n ( (m () ()N ] (por ejemplo rote la secuencia, h [n], en direccin del reloj por n pasos).

http://cnx.org/content/m12831/1.3/
OpenStax-CNX module: m12831 3

Figure 2: Step 2

Paso 3: Multiplique punto por punto la rueda f [m] y la rueda h [((n ( (m () ()N ] wheel.

sum = y [n]

Paso 4: Repite para 0 n N 1

Example 1: Convolve (n = 4)

(a) (b)

Figure 3: Dos seales discretas que seran convolucionadas.

h [(( (m () ()N ]

Figure 4

Multiplique f [m] y sume para dar: y [0] = 3

http://cnx.org/content/m12831/1.3/
OpenStax-CNX module: m12831 4

h [((1 ( (m () ()N ]

Figure 5

Multiplique f [m] y sume para dar: y [1] = 5


h [((2 ( (m () ()N ]

Figure 6

Multiplique f [m] y sume para dar: y [2] = 3


h [((3 ( (m () ()N ]

Figure 7

Multiplique f [m] y sume para dar: y [3] = 1


Example 2
La Siguiente Demostracin le permite este algoritmo. Vea aqu para instrucciones de como se usa
este demo.

http://cnx.org/content/m12831/1.3/
OpenStax-CNX module: m12831 5

This is an unsupported media type. To view, please see


http://cnx.org/content/m12831/latest/DT_Circular_Convolution.llb

2.2 Algoritmo Alterno

Algoritmo de Convolucin Circular Alterno

Paso 1: Calcule el DFT de f [n] que da F [k] y calcule el DFT de h [n] que da H [k].
Paso 2: Multiplique punto por punto Y [k] = F [k] H [k]
Paso 3: Invierta el DFT Y [k] que da y [n]

Parece una manera repetitiva de hacer las cosas, pero existen maneras rpidas de calcular una secuencia
DFT.
Para convolucionar circularmente dos secuencias de 2N -puntos:
N
X 1
y [n] = f [m] h [((n m))N ]
m=0

Para cualquier n : N mltiplos, N 1 sumas


N puntos implica N 2 multiplicaciones, N (N 1) sumas implica una complejidad de O N 2 .


http://cnx.org/content/m12831/1.3/