Está en la página 1de 5

OpenStax-CNX module: m12831 1

Convolución 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

1 Introducción
Usted debería familiarizarse con la convolución discreta, que nos explica como dos señales 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 tamaño nito usualmente del tamaño N ), nosotros no podemos
multiplicar esas dos señales así como así, como lo sugiere la formula de arriba usualmente conocida como
convolución linear. Ya que las DFT son periódicas, tienen valores no cero para n ≥ N así la multiplicación
de estas dos señales será no cero para n ≥ N . Necesitamos denir otro tipo de convolucion que dará como
resultado nuestra señal convuelta teniendo el valor de cero fuera del rango n = {0, 1, . . . , N − 1}. Esto nos
ayuda a desarrollar la idea de convolución circular, también conocida como convolución cíclica o periódica.

2 Formula de la Convolución 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)
cuando 0 ≤ k ≤ N − 1
* Version 1.3: Aug 30, 2005 11:50 am -0500
„ 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

Usando la formula sintetizada de DFT para y [n]


N −1
1 X
(3)

y [n] = F [k] H [k] ej N kn
N
k=0

Y aplicando análisis 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(n−m)
m=0 f [m] N k=0 H [k] e

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


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

Igual a la convolución circular! cuando tenemos 0 ≤ n ≤ N − 1 arriba , para obtener dos:


y [n] ≡ f [n] ~ h [n] (5)

note: Que la notación ~ representa la convolucion circular "mod N".

2.1 Pasos para la Convolución Circular

Los pasos a seguir para la convolucion cíclica son los mismos que se usan en la convolución linear, excepto
que todos los cálculos para todos los índices están hecho"mod N" = "en la rueda"
Pasos para la Convolución Cíclica

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

(a) (b)

Figure 5: Step 1

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

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

Figure 5: 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 5: Dos señales discretas que seran convolucionadas.

• h [((− (m () ()N ]

Figure 5

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 5

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


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

Figure 5

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


Example 2
La Siguiente Demostración 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 media object is a LabVIEW VI. Please view or download it at


<https://legacy.cnx.org/content/m12831/1.3/DT_Circular_Convolution.llb>

2.2 Algoritmo Alterno

Algoritmo de Convolución 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 rápidas 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 múltiplos, 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/

También podría gustarte