Convolucion

Anuncio
Capítulo 5
Convolución de tiempo
discreto
En matemáticas y, en particular, análisis funcional, una convoución es un
operador matemático que transforma dos funciones f y g en una tercera función.
Lo que representa esta tercera función es simplemente la magnitud en la que se
superponen f y una versión trasladada e invertida de g.
El sifinificado de la convolución varía según las funciones a operar, por ejemplo:
• En Ingeniería en Telecomunicaciones, si se convoluciona una señal excitatriz con la respuesta a pulso unitario de un sistema, el resultado es la
respuesta del sistema a la mencionada señal excitatriz.
• La convolución de tiempo discreto también es empleada para multiplicar
polinomios.
• La operación inversa de la convolución o «deconvolución» se emplea para
dividir polinomios.
En el presente capítulo se definirá la suma de convolución tanto para señales
aperiódicas como para señales periódicas. También se definirán varios métodos
que facilitan a los seres humanos su cálculo.
5.1
Convolución de tiempo discreto para señales
infinitas
A continuación se define la operación de convolución considerando secuencias
de duración infinita. En este rubro no se considera si se trata de secuencias
periódicas o aleatorias.
109
110
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
Definición 5.1 Convolución para señales de duración infinita y valuada en n = m. Sean f (n) y g(n) dos señales energía, su convolución evaluada
para n = m se plantea como:
• f (n) se mantiene fija.
f (n)
• g(n) se refleja y se retrasa en m, es decir, n cambia por − (n − m) por lo
cual la función cambia como:
g (n) → g (− (n − m))
• Las funciones se multiplican: punto a punto como en todo producto de
funciones.
f (n) g (− (n − m))
• Se calcula el área del producto
f ∗ g (m) = lim
N →∞
N
−1
�
m=−(N −1)
f (n) g (− (n − m))
∀n, m�Z
(5.1)
Siguiendo la definición 5.1 si se desea conocer la convolución para todo instante de tiempo se tendría que crear un registro para m tomando valores de un
extremo a otro del infinito, es decir m� (−∞, ∞). Una forma de generalizar y
simplificar este proceso es mediante un cambio de variable tal como se define a
continuación.
Definición 5.2 Convolución de señales de duración infinita y para
toda n. Dadas las secuencias energía f (n) y g (n), su convolución f ∗ g (n)
queda descrita por la siguiente ecuación.
f ∗ g (n) = lim
N →∞
5.2
N
−1
�
m=−(N −1)
f (m) g (− (m − n)) ;
∀n, m�Z
(5.2)
Convolución para señales energía de tiempo
discreto
A continuación se describe una formulación para secuencias de duración
finita. Tales secuencias se consideran señales del tipo energía.
Teorema 5.1 Convolución de dos secuencias finitas f y g. Dada la secuencia de duración finita f , de longitud Nf y cuyo dominio está en el intervalo
n� [0 , Nf ]. Dada tamién dada la secuencia g, de longitud Ng y cuyo dominio está en el intervalo n� [0 , Ng ]. La convolución queda representada como
f ∗ g (n) = f (n) ∗ g (n) y matemáticamente se define como:
5.3. MÉTODOS DE PARA LA CONVOLUCIÓN
f ∗ g (n) =
Nf
�
m=0
f (m) g (− (m − n)) n� [0 , Nf + Ng − 2]
111
(5.3)
Teorema 5.2 El dominio de la secuencia de convolución. Dada la secuencia de duración finita f , de longitud Nf y cuyo dominio está en el intervalo
n� [0 , Nf ]. Dada tamién dada la secuencia g, de longitud Ng y cuyo dominio
está en el intervalo n� [0 , Ng ]. El conjunto domnio de la secuencia convoución
f ∗ g (n) es:
dom {f ∗ g} = [0 , Nf + Ng − 2]
(5.4)
Teorema 5.3 La longitud de la secuencia de convolución. Dada la secuencia de duración finita f , de longitud Nf y cuyo dominio está en el intervalo
n� [0 , Nf ]. Dada tamién dada la secuencia g, de longitud Ng y cuyo dominio está en el intervalo n� [0 , Ng ]. La longitud de la secuencia de convolución f ∗ g (n)
se representa como Nf ∗g y se calcula como:
Nf ∗g = Nf + Ng − 1
5.3
(5.5)
Métodos de para la convolución
A continuación se describen varios métodos empleados para realizar la operación de convolución. El primer método, por fórmula, es el más complicado y
es implementado solamente para su uso en computadoras. El método de la cinta
deslizante facilita la compresión visual de la mecánica que sigue la convolución.
Los métodos de multiplicación y malla son algoritmos rápidos para el uso de
humanos. El método matricial es usado para el planteamiento de ecuaciones que
modelan algún sistema.
5.3.1
Convolución por fórmula
Para ilustrar el proceso de convolución en una forma genérica considérense
las dos secuencias siguientes:
f
g
=
=
[f (0) , f (1) , f (2) , f (3)]
[g (0) , g (1) , g (2)]
(5.6)
En donde:
Nf
=
4
Ng
=
3
(5.7)
112
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
f*g(0)
f*g(1)
f*g(2)
f*g(3)
f*g(4)
f*g(5)
=
=
=
=
=
=
f(0)g(0)
f(0)g(1)
f(0)g(2)
f(0)g(3)
f(0)g(4)
f(0)g(5)
+
+
+
+
+
+
f(1)g(-1)
f(1)g(0)
f(1)g(1)
f(1)g(2)
f(1)g(3)
f(1)g(4)
+
+
+
+
+
+
f(2)g(-2)
f(2)g(-1)
f(2)g(0)
f(2)g(1)
f(2)g(2)
f(2)g(3)
+
+
+
+
+
+
f(3)g(-3)
f(3)g(-2)
f(3)g(-1)
f(3)g(0)
f(3)g(1)
f(3)g(2)
Cuadro 5.1: Convolución para las secuencias f = [f (0) , f (1) , f (2) , f (3)] y
g = [g (0) , g (1) , g (2)] . Los términos marcados en rojo no son válidos.
Ahora se desarrolla en la tabla del cuadro 5.1 la suma de convolución para
las secuencias dadas en la ecuación 5.6.
Los productos en rojo corresponden con índices para los cuales el segundo
operando de la convolución no tiene elementos definidos. Ahora bien, realizando
los productos indicados se tiene que la convolución es:
f ∗ g = [f ∗ g(0), f ∗ g(1), g ∗ g (2) , f ∗ g(3), f ∗ g(4), f ∗ g(5)]
(5.8)
donde:
f
f
f
f
f
f
∗ g (0)
∗ g (1)
∗ g (2)
∗ g (3)
∗ g (4)
∗ g (5)
=
=
=
=
=
=
f (0) g (0)
f (0) g (1) + f (1) g (0)
f (0)g(2) + f (1)g(1) + f (2)g(0)
f (1)g(2) + f (2)g(1) + f (3)g(0)
f (2)g(2) + f (3)g(1)
f (3)g(2)
(5.9)
El dominio de la secuencia de convolución se calcula siguiendo la ecuación
5.4 y resulta en:
n� [0 , 5]
(5.10)
La longitud de la secuencia de convolución se calcula siguiendo la ecuación
5.5 y resulta en:
Nf ∗g = 6
5.3.2
(5.11)
El método de la cinta deslizante
El método de la cinta deslizante ilustra, de manera gráfica, el proceso de
convolución entre dos secuencias, en este caso, para convolucionar una secuencia
f con una secuencia g:
• La secuencia f se mantiene sin alteraciones.
• La secuencia g se refleja y se desplaza de adelante hacia atrás.
5.3. MÉTODOS DE PARA LA CONVOLUCIÓN
113
Cuadro 5.2: Método de la cinta deslizante. Note que la secuencia f se mantiene
sin cambios, en tanto que la función g se refleja y se desplaza. Debe realizarse
el producto punto entre f y cada desplazameinto de la función g.
• En cada desplazameinto, se realiza el producto punto. En el caso de dos
secuencias finitas sólo se consideran aquellos productos punto no nulos.
Ahora bien, siguiendo los pasos dados, se consideran las dos secuencias siguientes: son las mismas ecuaciones 5.6.
f
g
=
=
[f (0) , f (1) , f (2) , f (3)]
[g (0) , g (1) , g (2)]
Entonces, por el método de la cinta deslizante se plantea una tabla como la
mostrada en el cuadro 5.2.
Ahora deben comparar los productos indicados en la tabla 5.2 con los productos indicados por la tabla 5.1. Entonces, la secuencia de convolución resultante
en ambas tablas es la misma ecuación 5.8.
Finalmente, el dominio de la secuencia de convolución se calcula siguiendo
la ecuación 5.4 en tanto que la longitud de la secuencia se calcula mediante la
ecuación 5.5.
5.3.3
Ejemplo de la cinta deslizante
Convolucione las siguientes secuencias:
f
g
= [2, 5, 0, 4]
= [4, 1, 3]
(5.12)
114
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
Cuadro 5.3: Convolución de las secuencias f = [2, 5, 0, 4] y g = [4, 1, 3].
La tabla de cuadro ilustra el proceso de la cinta deslizante.
La longitud de la secuencia de convolución se calcula siguiendo la ecuación
5.5 y resulta en:
Nf ∗g = 6
El dominio de la secuencia de convolución es se calcula a partir de la ecuación
5.4 y resulta en:
n� [0, 5]
La secuencia de convolución resultante es:
f ∗ g = [8, 22, 11, 31, 4, 12]
5.3.4
(5.13)
El método matricial
Considérense las dos secuencias siguientes: son las mismas ecuaciones 5.6.
f
g
=
=
[f (0) , f (1) , f (2) , f (3)]
[g (0) , g (1) , g (2)]
El planteamiento de la convolución por matriz quedó definido en la tabla 5.2
Ahora bien, considerando los factores no nulos y factorizando los factores de la
secuencia f se logra el siguiente planteamiento:
5.3. MÉTODOS DE PARA LA CONVOLUCIÓN








f
f
f
f
f
f
∗ g (0)
∗ g (1)
∗ g (2)
∗ g (3)
∗ g (4)
∗ g (5)


 
 
 
=
 
 
 
g (0)
g (1)
g (2)
0
0
0
0
g (0)
g (1)
g (2)
0
0
0
0
g (0)
g (1)
g (2)
0
0
0
0
g (0)
g (1)
g (2)
115










f (0)
f (1) 

f (2) 
f (3)
(5.14)
La ecuación anterior se puede expresar en forma compacta de la forma siguiente:
(5.15)
f ∗g =G×F
El dominio de la secuencia de convolución se calcula siguiendo la ecuación
5.4 en tanto que la longitud de la secuencia se calcula mediante la ecuación 5.5.
5.3.5
Ejemplo del método matricial
Convolucione las siguientes secuencias:
f
g
= [2, 5, 0, 4]
= [4, 1, 3]
Plantenado las matrices se logra:




f ∗ g (n) = 



4
1
3
0
0
0
0
4
1
3
0
0
0
0
4
1
3
0
0
0
0
4
1
3












2


5 
=
0  


4
8
22
11
31
4
12








(5.16)
La longitud de la secuencia de convolución se calcula siguiendo la ecuación
5.5 y resulta en:
Nf ∗g = 6
El dominio de la secuencia de convolución es se calcula a partir de la ecuación
5.4 y resulta en:
n� [0, 5]
La secuencia de convolución
f ∗ g = [8, 22, 11, 31, 4, 12]
116
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
f(0)
f(1)
f(2)
f(3)
g(0)
g(1)
g(2)
Cuadro 5.4: Método de malla. Planteamiento de la malla.
f(0)
f(1)
f(2)
f(3)
f(0)g(0)
f(1)g(0)
f(2)g(0)
f(3)g(0)
g(0)
f(0)g(1)
f(1)g(1)
f(2)g(1)
f(3)g(1)
g(1)
f(0)g(2)
f(1)g(2)
f(2)g(2)
f(3)g(2)
g(2)
Cuadro 5.5: Método de malla. LLenado la malla.
5.3.6
El método de la malla
Considérense las dos secuencias siguientes: son las mismas ecuaciones: 5.6.
f
g
=
=
[f (0) , f (1) , f (2) , f (3)]
[g (0) , g (1) , g (2)]
Primero se crea una malla tal como se ilustra en el cuadro 5.4: en el renglón
superior se coloca la secuencia f en tanto que en la columna más a la derecha
se coloca la secuencia g.
Luego la malla se llena con el producto cartesiano de las secuencia, tal como
se indica en la tabla del cuadro 5.5.
Finalmente, se realizan sumas en diagonal hacia abajo-izquierda, tal como
se indica en el cuadro 5.6. Los totales son los términos de la secuencia de convolución.
donde:
Cuadro 5.6: Método de malla. Realización de la convolución.
5.3. MÉTODOS DE PARA LA CONVOLUCIÓN
117
Cuadro 5.7: Convolución por el método de malla para las secuencias f=[2,5,0,4]
y g=[4,1,3].
f
f
f
f
f
f
∗ g (0)
∗ g (1)
∗ g (2)
∗ g (3)
∗ g (4)
∗ g (5)
=
=
=
=
=
=
f (0) g (0)
f (0) g (1) + f (1) g (0)
f (0)g(2) + f (1)g(1) + f (2)g(0)
f (1)g(2) + f (2)g(1) + f (3)g(0)
f (2)g(2) + f (3)g(1)
f (3)g(2)
El dominio de la secuencia de convolución se calcula siguiendo la ecuación
5.4 en tanto que la longitud de la secuencia se calcula mediante la ecuación 5.5.
5.3.7
Ejemplo del método de malla
Convolucione las siguientes secuencias:
f
g
= [2, 5, 0, 4]
= [4, 1, 3]
El proceso por método de malla queda definido como se indica en el cuadro.
La longitud de la secuencia de convolución se calcula siguiendo la ecuación
5.5 y resulta en:
Nf ∗g = 6
El dominio de la secuencia de convolución es se calcula a partir de la ecuación
5.4 y resulta en:
n� [−2, 3]
La secuencia de convolución
f ∗ g = [8, 22, 11, 31, 4, 12]
5.3.8
El método del producto
Considérense las dos secuencias siguientes: son las mismas ecuaciones: 5.6.
118
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
f(0)
g(0)
*
f(1)
g(1)
f(0)g(0)
f(2)
g(2)
f(1)g(0)
+
f(0)g(1)
f*g(0)
f(3)
f(2)g(0)
+
f(1)g(1)
f(0)g(2)
f*g(1)
f(3)g(0)
+
f*g(2)
f(2)g(1)
f(1)g(2)
+
f*g(3)
f(3)g(1)
f(2)g(2)
f(3)g(2)
f*g(4)
f*g(5)
Cuadro 5.8: Método del producto para las secuencias:[f(0),f(1),f(2),f(3)] y
[g(0),g(1),g(2)].
2
4
8
*
+
8
5
1
20
2
+
22
0
3
0
5
6
11
4
+
16
0
15
31
+
4
0
4
12
12
Cuadro 5.9: Convolución por el método del producto para las secuencias
f=[2,5,0,4] y g=[4,1,3].
f
g
=
=
[f (0) , f (1) , f (2) , f (3)]
[g (0) , g (1) , g (2)]
El planteamiento de la convolución por producto queda definido en la tabla
5.8. La suma, en cada columna, está limitada a la columna en particular, es
decir, no se llevan acarreos.
donde:
f
f
f
f
f
f
∗ g (0)
∗ g (1)
∗ g (2)
∗ g (3)
∗ g (4)
∗ g (5)
=
=
=
=
=
=
f (0) g (0)
f (0) g (1) + f (1) g (0)
f (0)g(2) + f (1)g(1) + f (2)g(0)
f (1)g(2) + f (2)g(1) + f (3)g(0)
f (2)g(2) + f (3)g(1)
f (3)g(2)
El dominio de la secuencia de convolución se calcula siguiendo la ecuación
5.4 en tanto que la longitud de la secuencia se calcula mediante la ecuación 5.5.
5.3.9
Ejemplo del método del producto
Convolucione las siguientes secuencias:
f
g
=
=
[2, 5, 0, 4]
[4, 1, 3]
El proceso por el método del producto queda definido como se indica en el
cuadro 5.9.
5.4. PROPIEDADES DE LA CONVOLUCIÓN LINEAL
119
La longitud de la secuencia de convolución se calcula siguiendo la ecuación
5.5 y resulta en:
Nf ∗g = 6
El dominio de la secuencia de convolución es:
n� [0, 5]
La secuencia de convolución
f ∗ g = [8, 22, 11, 31, 4, 12]
5.4
Propiedades de la convolución lineal
Teorema 5.4 Asociatividad
f (n) ∗ g (n) ∗ h (n)
=
=
f (n) ∗ [g (n) ∗ h (n)]
[f (n) ∗ g (n)] ∗ h (n)
(5.17)
Teorema 5.5 Distributividad:
f (n) ∗ [g (n) + h (n)] = f (n) ∗ g (n) + f (n) ∗ h (n)
(5.18)
Teorema 5.6 Homogeneidad:
[Af (n)] ∗ g (n) = A [f (n) ∗ g (n)]
(5.19)
f (n) ∗ [Bg (n)] = B [f (n) ∗ g (n)]
(5.20)
Af (n) ∗ Bg (n) = AB [f (n) ∗ g (n)]
(5.21)
Teorema 5.7 Identidad. El pulso unitario es el elemento identidad de la
convolución.
f (n) ∗ δ (n) = f (n)
(5.22)
120
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
Teorema 5.8 Invarianza temporal. La convolución es invariante con el
tiempo. Dada la convolución f (n) ∗ g (n) = h (n) se tiene que:
f (n − α) ∗ g (n) = h (n − α)
(5.23)
f (n) ∗ g (n − β) = h (n − β)
(5.24)
f (n − α) ∗ g (n − β) = h (n − α − β)
(5.25)
Teorema 5.9 Conmutatividad:
f (n) ∗ g (n) = g (n) ∗ f (n)
5.5
(5.26)
Convolución discreta por software
En MATLAB, la convoución tiene el formato:
conv(secuencia, f iltro)
conv(secuencia, f iltro, longitud)
Donde:
• secuencia Es una secuencia discreta
• f iltro Es la respuesta a pulso unitario de un filtro
• longitud La longitud puede ser f ull o same.
– f ull Retorna la secuencia completa de convolucióon
– same Retorna la parte central de la convolución cuya longitud es
igual a la longitud de la secuencia.
Nótese que a pesar de que la convolución es conmutativa, los operandos se deben
suministrar en un orden en particular a la función conv.
Por ejemplo
Por ejemplo
>
>
>
f = [2, 5, 0, 4]
g = [4, 1, 3]
conv (f, g)
>
[8, 22, 11, 31, 4, 12]
5.6. CONVOLUCIÓN CIRCULAR
121
> f = [2, 5, 0, 4]
> g = [4, 1, 3]
> conv (f, g,� f ull� )
> [8, 22, 11, 31, 4, 12]
Por ejemplo
> f = [2, 5, 0, 4]
> g = [4, 1, 3]
> conv (f, g,� same� )
> [22, 11, 31, 4]
5.6
Convolución circular
Dada la secuencia periódica f (n) de longitud N a convolucionar con otra
secuencia periódica g (n) también de longitud N , el proceso de convolución
exige N × N productos e igual cantidad de sumas. Empleando una operación
conocida como FFT1 para calcular la convolución se logra reducir este número
a un múltiplo de N log2 N .
Dado que la FFT es una operación que se aplica a señales periódicas, es lógico
pensar que los operandos de la convolución por FFT también son periódicos. A
consecuencia, a la convolución lograda por FFT se le concoe como «convolución
cíclica» no obstante que se ha preferido usar el nombre de «convolución circular».
La convolución circular es un proceso parecido a la convolución que se ha
revisado en secciones pasadas. Hay algunas diferencias fundamentales a considerar:
• La convolución circular opera sobre secuencias periódicas.
• Ambas secuencias a convolucionar tienen la misma longitud.
• La longitud de una secuencia periódica se refiere a la longitud de un periodo.
• El origen de ambas secuencias a convolucionar es forzosamente el primer
elemento listado.
5.6.1
Secuencia periódica
Sea la secuencia periódica f con longitud N = 3 tal como se ilustra a continuación (note que en la ecuación hay un origen definido)
1 FFT es la abreviación de «Fast Fourier Transform» y es un algoritmo para calcular en
forma rápida la «Transforma Discreta de Fourier».
122
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
�
f = . . . , f (0) , f (1) , f (2) , f (0), f (1) , f (2) , . . .
↑
�
(5.27)
Esta secuencia también puede escribir con índices no periódicos de la forma
siguiente
�
f = . . . , f (−3) , f (−2) , f (−1) , f (0), f (1) , f (2) , . . .
↑
�
(5.28)
Ambas formas, la periódica y la no periódica se consideran equivalentes y
serán usadas para demostrar la convolución circular.
5.6.2
Sobre el origen de la secuencia periódica
Definición 5.3 El origen de una secuencia periódica. El origen de una
secuencia periódica será el primer elemento listado en la secuencia.
5.6.3
Desplazamiento hacia adelante de una secuencia periódica
Teorema 5.10 Desplazamiento hacia adelante de una secuencia periódica. Un dezplazamiento hacia adelante implica un corrimiento hacia la
izquierda de los elementoos de la secuencia. En este caso, el elemento más a la
izquierda sale por izquierda e ingresa por la derecha, es decir.
5.6.4
x (n)
=
[x (0) , x (1) , x (2)]
x (n + 1)
=
[x (1) , x (2) , x (0)]
(5.29)
Desplazamiento hacia atrás de una secuencia periódica
Teorema 5.11 Desplazamiento hacia atrás de una secuencia periódica. Cuando una secuencia periódica se atrasa un paso, el elemento más a la
derecha sale por derecha e ingresa por la izquierda, es decir.
x (n)
=
[x (0) , x (1) , x (2)]
x (n − 1)
=
[x (2) , x (0) , x (1)]
(5.30)
5.6. CONVOLUCIÓN CIRCULAR
5.6.5
123
Definición de la convolución circular
Teorema 5.12 Convolución circular de dos secuencias periodicas f (n)
y g (n). Dada la secuencia periódica f (n) de longitud N y dada la secuencia
g (n) también periódica y de longitud N . La convolución queda representada
como f � g (n) = f (n) � g (n) y matemáticamente, la convolución circular se
define como:
f � g (n) =
N
−1
�
m=0
f (m) g (− (m − n)) ;
∀n� [0, N − 1]
(5.31)
Para ejemplificar el comportamiento periódico de la fórmula, ésta se desarrollará considerando las secuencias periódicas siguientes:
f
=
[f (0) , f (1) , f (2)]
g
=
[g (0) , g (1) , g (2)]
(5.32)
Desarrollando la fórmula de la convolución circular:
f � g (0)
=
f (0) g (0) + f (1) g (−1) + f (2) g (−2)
f � g (1)
=
f (0) g (1) + f (1) g (0) + f (2) g (−1)
f � g (2)
=
f (0) g (2) + f (1) g (1) + f (2) g (0)
(5.33)
Puede notarse que algunos de los índices en las fórmulas de convolución
circular son negativos. Se puede aprovechar la periodicidad de las series de tal
forma que:
g (−1)
g (−2)
g (−3)
=
=
=
g (2)
g (1)
g (0)
(5.34)
Entonces las ecuaciones de la convolución circular se escriben como:
5.6.6
f � g (0)
=
f (0) g (0) + f (1) g (2) + f (2) g (1)
f � g (1)
=
f (0) g (1) + f (1) g (0) + f (2) g (2)
f � g (2)
=
f (0) g (2) + f (1) g (1) + f (2) g (0)
(5.35)
Propiedad de longitud de la convolución circular
Definición 5.4 Longitud de la secuencia de convolución circuilar. Dadas dos secuencias f (n) y g (n) de longitud N , la convolución circular de ambas
funciones es otra función f � g (n) de longitud N .
124
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
Figura 5.1: (a)Representación del operando f . (b) Acomodo de los dos operandos
f y g para la convolución circular.
5.7
Métodos para la convolución circular
5.7.1
Ejemplo
Convolucione circularmente las secuencias periódicas
f
=
[2, 5, 0, 4]
g
=
[4, 1, 3, 0]
(5.36)
La correlación circular de las secuencias se plantea resolviendo la fórmula
5.31. Entonces queda el desarrollo planteado en la ecuación 5.35. Susituyendo
números resulta en:
f
f
f
f
5.7.2
� g (0)
� g (1)
� g (2)
� g (3)
=
=
=
=
2×4
2×1
2×3
2×0
+
+
+
+
5×0
5×4
5×1
5×3
+
+
+
+
0×3
0×0
0×4
0×1
+
+
+
+
4×1
4×3
4×0
4×4
=
=
=
=
12
34
11
31
(5.37)
Método de los círculos concéntricos
Sea la secuencia f = [f (0) , f (1) , f (2)] el primer operando de una convolución circular. Éste operando puede representarse con puntos equidistantes sobre
un círculo. Los puntos se numeran en el sentido de las manecillas del reloj tal como ilustra la figura 5.1.a. Preste atención en donde se coloca el primer elemento
de la secuencia.
Sea la secuencia g = [g (0) , g (1) , g (2)] el segundo operando de una convolución circular. Este operando se representa con puntos equidistantes sobre un
círculo inscrito en el círculo del operando f . Los puntos se numeran en sentido contrario al de las manecillas del reloj y haciendo coincidir el origen de la
secuencia g con el origen de la secuencia f . La figura 5.1.b ilustra tal acomodo.
5.7. MÉTODOS PARA LA CONVOLUCIÓN CIRCULAR
125
Figura 5.2: Proceso de convolución circular para las secuencias f
[f (0) , f (1) , f (2)] y g = [g (0) , g (1) , g (2)] .
=
Ya dispuestos los círculos, se realiza el siguiente algoritmo:
• Se realiza el producto punto de los vectores tal como indican los círculos
concéntricos.
• El círculo interior se gira un paso en sentido de las manecillas del reloj.
• Se repiten los pasos hasta que el círculo interior ha realizado un vuelta
completa.
La figura 5.2 ilustra el proceso de convolución circular para las secuencias
dadas.
126
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
Figura 5.3: Aplicación del método de los círculos conćentricos.
5.7.3
Ejemplo del método de los círculos concéntricos
Realice la convolución de las secuencias:
f
=
[2, 5, 0, 4]
g
=
[4, 1, 3, 0]
La figura 5.3 ilustra cómo se realiza la convolución circular de la secuencias.
Finalmente, la secuencia de convolución es:
f � g = [12, 34, 11, 31]
5.7.4
(5.38)
Método matricial
Sean las secuencias periódicas siguientes:
f
=
[2, 5, 0, 4]
g
=
[4, 1, 3, 0]
En una sección pasada se desarrolló la fórmula de la convolución circular
para m� [0, 1, 2] resultando:
5.7. MÉTODOS PARA LA CONVOLUCIÓN CIRCULAR
f � g (0)
=
f (0) g (0) + f (1) g (2) + f (2) g (1)
f � g (1)
=
f (0) g (1) + f (1) g (0) + f (2) g (2)
f � g (2)
=
f (0) g (2) + f (1) g (1) + f (2) g (0)
127
Ahora las fórmulas se expresan en forma matricial de la forma siguiente:

 
f � g (0)
g (0)
 f � g (1)  =  g (1)
f � g (2)
g (2)


g (1)
f (0)
g (2)   f (1) 
g (0)
f (2)
g (2)
g (0)
g (1)
Simplificando la fórmula se tiene que:
(5.39)
(5.40)
[f � g] = GF
En donde:

g (0)
G =  g (1)
g (2)

g (1)
g (2) 
g (0)
g (2)
g (0)
g (1)

(5.41)

f (0)
F =  f (1) 
f (2)
(5.42)
Obsérvense las columnas de la matriz G y nótese que los elementos de la
secuencia g (n) se acomodan por columnas que se rotan hacia abajo.
5.7.5
Ejemplo
Realice la convolución de las secuencias:
f
=
[2, 5, 0, 4]
g
=
[4, 1, 3, 0]
Planteando la matriz de convolución se tiene que:

f
 f

 f
f
 
� g (0)
4
 1
� g (1) 
=
� g (2)   3
� g (3)
0
0
4
1
3
3
0
4
1
Finalmente, la secuencia de convolución es:

1
12
 34
3 

0   11
4
31
f � g = [12, 34, 11, 31]




128
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
5.7.6
Teorema de aproximación de la convolución lineal
con la convolución circular
Teorema 5.10. Cálculo de la convolución lineal con la convolución
circular. Dada la secuencia no periódica f (n), de longitud Nf a convolucionar
con la secuencia no periódica f (n) de longitud Ng . Para calcular la convolución
lineal a partir de la convolución circular se agregan ceros a las dos secuencias
de tal forma que la longitud de cada una sea Nf + Ng + 1.
5.7.7
Ejemplo
Calcule la convolución lineal de las siguientes dos secuencias empleando la
convolución circular.
f
=
[2, 5, 0, 4]
g
=
[4, 1, 3]
Primero se calculan las longitudes
Nf
=
4
Ng
=
3
Entonces, la longitud de la secuencia convolucionada es:
Nf �g
=
=
=
Nf + Ng − 1
4+3−1
6
Luego a las secuencias a convolucionar se les agregan ceros para completar
cada una con 6 elementos:
f�
=
[f, 0, 0]
g�
=
[g, 0, 0, 0]
Finalmente, la convolución circular

4 0 0 0
 1 4 0 0

 3 1 4 0
f � � g� = 
 0 3 1 4

 0 0 3 1
0 0 0 3
=
[2, 5, 0, 4, 0, 0]
(5.43)
[4, 1, 3, 0, 0, 0]
se calcula como:

 
3 1
2

 
0 3 
 5  



0 0  0 
=



0 0  4  

4 0  0  
1 4
0
8
22
11
31
4
12








(5.44)
Para conocer el origen de la secuencia, se recurre a las estrategias empleadas
para la convolución lineal.
5.8. PROPIEDADES DE LA CONVOLUCIÓN CIRCULAR
5.8
129
Propiedades de la convolución circular
Teorema 5.13 Asociatividad
f (n) � g (n) � h (n)
=
=
f (n) � [g (n) � h (n)]
[f (n) � g (n)] � h (n)
(5.45)
Teorema 5.14 Distributividad
f (n) � [g (n) + h (n)] = f (n) � g (n) + f (n) � h (n)
(5.46)
Teorema 5.15 Homogeneidad
Af (n) � g (n) = A [f (n) � g (n)]
(5.47)
f (n) � Bg (n) = B [f (n) � g (n)]
(5.48)
Af (n) � Bg (n) = AB [f (n) � g (n)]
(5.49)
Teorema 5.16 Identidad. El pulso unitario es el elemento identidad de la
convolución. Matemáticamente se puede escribir:
f (n) � δ (n) = f (n)
(5.50)
Teorema 5.17 Invarianza temporal
Dada la comvolución f (n) � g (n) = h (n) se tiene que:
f (n − α) � g (n) = h (n − α)
(5.51)
f (n) � g (n − β) = h (n − β)
(5.52)
f (n − α) � g (n − β) = h (n − α − β)
(5.53)
Teorema 5.18 Conmutatividad
f (n) � g (n) = g (n) � f (n)
(5.54)
130
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
5.9
Convolución lineal 2D en tiempo discreto
La convolución 2D se suele aplicar en imágenes:
• Obtenidas con sensores ópticos en el rango visible.
• Obtenidas son sensores ópticos en rangos no visibles como el infrarrojo, el
ultravioleta, rayos gamma, rayos X, etc.
• Obtenidas por radar.
El proceso de convolución 2D en el dominio del tiempo discreto es ya demasiado complejo como para ilustrar en un texto el desarrollo de las fórmulas. A
consecuencia, suelen usarse algoritmos especiales como el método deslizante y
el método de la convolución circular.
5.9.1
Convolución 2D
Dadas las matrices f (m, n) y g (m, n) no periódicas e infinitas, mismas que
se ilustran a continuación:



f (m, n) = 





g (m, n) = 


...
...
...
...
...
...
f (0, −1)
f (1, −1)
f (2, −1)
...
...
f (0, 0)
f (1, 0)
f (2, 0)
...
...
f (0, 1)
f (1, 1)
f (2, 1)
...

...
...
f (0, 2) . . . 

f (1, 2) . . . 

f (2, 2) . . . 
...
...
(5.55)
...
...
...
...
...
...
g (0, −1)
g (1, −1)
g (2, −1)
...
...
g (0, 0)
g (1, 0)
g (2, 0)
...
...
g (0, 1)
g (1, 1)
g (2, 1)
...

...
...
g (0, 2) . . . 

g (1, 2) . . . 

g (2, 2) . . . 
...
...
(5.56)
La convolución entre ambas secuencias es:
f ∗ g (m, n) =
5.9.2
∞
�
∞
�
r=−∞ c=−∞
f (r, c) g (m − r, n − c)
(5.57)
Convolución 2D para matrices finitas
Se considera en este caso que las matrices de datos a convolucionar tienen
su origen en el elemento superior izquierdo, es decir, el elemento [0, 0].
Dadas las matrices f (m, n) y g (m, n) finitas, mismas que se ilustran a continuación:
5.9. CONVOLUCIÓN LINEAL 2D EN TIEMPO DISCRETO



f (m, n) = 





g (m, n) = 


f (0, 0)
f (1, 0)
f (2, 0)
...
f (Mf , 0)
f (0, 1)
f (1, 1)
f (2, 1)
...
f (Mf , 1)
f (0, 2)
f (1, 2)
f (2, 2)
...
f (Mf , 2)
...
...
...
...
...
f (0, Nf )
f (1, Nf )
f (2, Nf )
...
f (Mf , Nf )
g (0, 0)
g (1, 0)
g (2, 0)
...
g (Mg , 0)
g (0, 1)
g (1, 1)
g (2, 1)
...
g (Mg , 1)
g (0, 2)
g (1, 2)
g (2, 2)
...
g (Mg , 2)
...
...
...
...
...
g (0, Ng )
g (1, Ng )
g (2, Ng )
...
g (Mg , Ng )
y cuyas dimensiones son:
size (f )
=
(Mf , Nf )
size (g)
=
(Mg , Ng )
131












(5.58)
(5.59)
(5.60)
La convolución lineal 2D se puede escribir como sigue:
f ∗ g (m, n)
=
�Mf −1 �Nf −1
r=0
c=0
f (r, c) g (m − r, n − c)
(5.61)
m� [0, Mf + Mg − 2] ∧ n� [0, Nf + Ng − 2]
5.9.3
Las dimensiones de la matriz de convolución
Teorema 5.19 Dimensiones de la matriz de convolución. Dadas las
matrices f (m, n) y g (m, n) finitas y cuyas dimensiones son:
size (f )
=
(Mf , Nf )
size (g)
=
(Mg , Ng )
Las dimensiones de la matriz de convolución son:
size (f ∗ g) = [Mf + Mg − 1, Nf + Ng − 1]
5.9.4
(5.62)
Reflexión de una matriz
Para reflejar una matriz se realizan dos pasos. El orden de los pasos no
importa.
• Se reflejan las columnas de la matriz.
• Se reflejan los renglones de la matriz.
132
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
Cuadro 5.10: Proceso de convolución entre dos matrices. f(m,n) se mantiene en
tanto que g(m,n) se refleja y desplaza en pasos. A cada paso, se multiplican
punto a punto las matrices.
A modo de ejemplo, considera la siguiente matriz


g (0, 0) g (0, 1) g (0, 2)
g (m, n) =  g (1, 0) g (1, 1) g (1, 2) 
g (2, 0) g (2, 1) g (2, 2)
Primero se reflejan las columnas

g (2, 0) g (2, 1)
 g (1, 2) g (1, 1)
g (0, 2) g (0, 1)
Segund, se reflejan los renglones

g (2, 2)
g R (m, n) =  g (1, 2)
g (0, 2)
5.9.5

g (2, 2)
g (1, 2) 
g (0, 2)
g (2, 1)
g (1, 1)
g (0, 1)

g (2, 0)
g (1, 0) 
g (0, 0)
(5.63)
(5.64)
(5.65)
Algoritmo deslizante para la convolución lineal 2D
El algoritmo es simple:
• La matriz f (m, n) se mantiene sin cambios.
• La matriz g (m, n) se refleja y se desplaza en pasos de adelante hacia atrás
tanto en renglones como en columnas.
5.10. CONVOLUCIÓN CIRCULAR 2D
133
• Las matrices se multiplican punto a punto (se omiten aquellos productos
donde las matrices no están definidas).
• Este algoritmo se repite para cada paso que se desplaza la matriz g (m, n).
Este algoritmo queda ilustrado en el cuadro 5.10.
5.9.6
Ejemplo
Sean las dos matrices siguientes, las cuales

1 1
f (m, n) =  1 1
1 1

1 2
g (m, n) =  2 4
1 2
Las dimensiones de las matrices son:
deben convolucionarse

1
1 
1

1
2 
1
size (f )
=
(Mf , Nf )
=
(3, 3)
size (g)
=
(Mg , Ng )
=
(3, 3)
(5.66)
(5.67)
(5.68)
Eso quiere decir que la matriz de convolución tiene dimensiones de:
size (f ∗ g) = (Mf + Mg − 1 , Nf + Ng − 1) = (5, 5)
(5.69)
El cuadro ilustra el proceso de completo de convolución. Así entonces, resulta
la siguiente matriz:
Las dimensiones de la matriz de convolución son:


1 3
4
3 1
 3 9 12 9 3 



(5.70)
f ∗ g (m, n) = 
 4 12 16 12 4 
 3 9 12 9 3 
1 3
4
3 1
5.10
Convolución circular 2D
5.10.1
Método matricial para la convolución circular 2D.
Se considera que las siguientes matrices deben convolucionarse circularmente


f (0, 0) f (0, 1) f (0, 2)
f (m, n) =  f (1, 0) f (1, 1) f (1, 2) 
f (2, 0) f (2, 1) f (2, 2)
134
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
Cuadro 5.11: Convolución 2D por el método deslizante.
5.10. CONVOLUCIÓN CIRCULAR 2D
135
Cuadro 5.12: Proceso de convolución circular 2D.

g (0, 0)
g (m, n) =  g (1, 0)
g (2, 0)
g (0, 1)
g (1, 1)
g (2, 1)

g (0, 2)
g (1, 2) 
g (2, 2)
El proceso de convolución 2D circular f (m, n) � �g (m, n), por el método
matricial se ilustra en el cuadro 5.12.
136
CAPÍTULO 5. CONVOLUCIÓN DE TIEMPO DISCRETO
Descargar