Convolución discreta cíclica - Apuntes y ejercicios de matemáticas

Anuncio
Convolución discreta cı́clica
Estos apuntes están escritos por Darı́o Coutiño Aquino y Egor Maximenko.
Objetivos. Definir la convolución discreta cı́clica y demostrar el teorema sobre la convolución discreta cı́clica y la transformada discreta de Fourier.
Requisitos. Sumas y sus propiedades, forma polar de numeros complejos.
En esta sección siempre suponemos que n ∈ {1, 2, 3, . . .}.
Convoluciones discretas cı́clicas
1 Observación. En este tema es cómodo numerar las entradas de vectores y matrices
comenzando los ı́ndices desde 0.
2 Definición (convolución discreta cı́clica de dos vectores). Dados dos vectores a, b ∈ Cn ,
su convolución discreta cı́clica, la cual denotamos por a ∗ b, se define como
"
a∗b=
j
X
aj−k bk +
n−1
X
#n−1
an+j−k bk
k=j+1
k=0
.
j=0
En otras palabras, a ∗ b es un vector del espacio Cn , y para cada j ∈ {0, . . . , n − 1} la
j-ésima componente de a ∗ b es
(a ∗ b)j =
j
X
aj−k bk +
n−1
X
an+j−k bk .
k=j+1
k=0
Dado m ∈ Z, denotemos por m mod n el resto al dividir el número m entre n. Con esta
notación podemos escribir la definición de la convolución discreta cı́clica más brevemente:
(a ∗ b)j =
n−1
X
a(j−k) mod n bk .
k=0
Convolución discreta cı́clica, página 1 de 7
(1)
3 Ejemplo. Si a, b ∈ C3 , entonces
 P2

a(0−k) mod 3 bk
k=0
P
a ∗ b =  2k=0 a(1−k) mod 3 bk 
P2
k=0 a(2−k) mod 3 bk


a0 mod 3 b0 + a−1 mod 3 b1 + a−2 mod 3 b2
=  a1 mod 3 b0 + a0 mod 3 b1 + a−1 mod 3 b2 
a2 mod 3 b0 + a1 mod 3 b1 + a0 mod 3 b2


a0 b 0 + a2 b 1 + a1 b 2
=  a1 b 0 + a0 b 1 + a2 b 2  .
a2 b 0 + a1 b 1 + a0 b 2
4 Ejercicio. Sean a, b ∈ C4 . Escriba el vector a ∗ b.
Respuesta:

a0 b 0 + a3 b 1 + a2 b 2 + a1 b 3
 a1 b 0 + a0 b 1 + a3 b 2 + a2 b 3

 a2 b 0 + a1 b 1 + a0 b 2 + a3 b 3
a3 b 0 + a2 b 1 + a1 b 2 + a0 b 3


.

Transformada Discreta de Fourier (repaso)
2π
5 Notación. ωn = e− n i .
Es fácil ver que ωnm = 1 si, y sólo si, n divide a m. Tambiés se puede demostrar que el
conjunto solución de la ecuación z n = 1 consiste de n números diferentes a pares:
ωn0 ,
ωn1 ,
...,
ωnn−1 .
6 Proposición (ortogonalidad de las raı́ces de la unidad). Sean p, q ∈ {0, . . . , n − 1},
entonces
n−1
1 X pk −qk
ω ω
= δp,q .
(2)
n k=0 n n
Demostración. Si p = q, entonces ωnp−q = 1 y se tiene que:
n−1
n−1
n−1
1 X p−q k
1X
1 X pk −qk
ωn ωn =
(ωn ) =
1 = 1.
n k=0
n k=0
n k=0
Si p 6= q y como p, q ∈ {0, . . . , n − 1}, entonces |p − q| < n, por eso n no divide a p − q y
ωnp−q 6= 1. Aplicando la fórmula para la suma de la progresión geométrica obtenemos
n−1
n−1
(p−q)n
1 X pk −qk
1 X p−q k
1 1 − ωn
1−1
ωn ωn =
(ωn ) =
= 0.
p−q =
n k=0
n k=0
n 1 − ωn
1 − ωnp−q
Convolución discreta cı́clica, página 2 de 7
7 Definición (Transformada Discreta de Fourier). Denotemos por Ωn a la siguiente
matriz:
n−1
(3)
Ωn = ωnjk j,k=0 .
En otras palabras, Ωn es una matriz cuadrada de orden n, y su entrada con ı́ndices (j, k)
es igual a
(Ωn )j,k = ωnjk .
(4)
La transformada lineal x 7→ Ωn x (x ∈ Cn ) se llama la Transformada Discreta de Fourier,
y Ωn es la matriz asociada a la Transformada Discreta de Fourier.
8 Observación. Algunos autores incluyen en la definición de la TDF el factor
que la matriz Ωn sea unitaria, véase la Proposición 9.
√1 ,
n
para
Dada una matriz A, denotamos por A∗ su adjunta (transpuesta conjugada). Recordamos que una matriz cuadrada A se llama unitaria si AA∗ = In = A∗ A.
9 Proposición (propiedad unitaria de la Transformada Discreta de Fourier). La matriz
√1 Ωn es unitaria:
n
1 ∗
Ω Ω = In .
(5)
n n n
Demostración. Utilizando el resultado de la Proposición 6
n−1
n−1
n−1
X
1 X (p−q)k
1 ∗
1X ∗
ωn−pk ωnqk =
(Ωn Ωn )p,q =
(Ωn )p,k (Ωn )k,q =
ωn
= δp,q .
n
n k=0
n
k=0
k=0
Convolución discreta cı́clica, página 3 de 7
Producto de dos vectores por componentes
10 Definición (producto de dos vectores por componentes). Dados dos vectores a, b ∈ Cn ,
denotemos por a b su producto por componentes definido como
h
in−1
a b = aj bj
.
j=0
En otras palabras, a b es un vector del espacio Cn , obtenido al realizar el producto
componente a componete de los dos vectores por lo cual para cada j ∈ {0, . . . , n − 1} la
j-ésima componente de este vector es
(a b)j = aj bj .
11 Ejemplo. Sean a, b ∈ C3 . Entonces


a0 b 0
a b =  a1 b 1  .
a2 b 2
12 Ejercicio. Sean a, b ∈ C4 . Escriba a b.
13 Proposición (propiedades de la multiplicación de vectores componente a componente). La operación es asociativa y conmutativa, y el vector de unos
>
1, 1, . . . , 1
es un elemento neutro bajo .
Demostración. La demostración es muy simple y se basa en las propiedades correspondientes de números complejos. Demostremos la propiedad asociativa. Si a, b, c ∈ Cn y
j ∈ {0, 1, . . . , n − 1}, entonces
((a b) c)j = (a b)j cj = (aj bj )cj = aj (bj cj ) = aj (b c)j = (a (b c))j ,
donde hemos aplicado cuatro veces la definición de y una vez la propiedad asociativa
de la multiplicación en C.
14 Proposición (el álgebra de números multicomplejos). El espacio vectorial complejo Cn
dotado con la operación es una álgebra compleja asociativa y conmutativa con identidad.
Demostración. Es fácil ver que la operación es distributiva con respecto a la adición en
Cn y homogénea con respecto a la multiplicación de cada factor por escalares complejos.
Las demás propiedades ya fueron enunciados en la Proposición 13.
Convolución discreta cı́clica, página 4 de 7
Teorema de convolución para el grupo cı́clico de orden n
15 Teorema. Sean a, b ∈ Cn . Entonces
Ωn (a ∗ b) = (Ωn a) (Ωn b).
(6)
Demostración. Ambos lados de la fórmula (6) son vectores complejos de longitud n. Dado
un j ∈ {0, . . . , n − 1}, mostremos que las j-ésimas componentes de estos vectores son
iguales entre sı́. Primero calculemos la j-ésima componente del lado izquierdo:
!
n−1
n−1
k
n−1
X
X
X
X
(Ωn (a ∗ b))j =
(Ωn )j,k (a ∗ b)k =
ak−q bq +
ωnjk
an+k−q bq .
k=0
q=0
k=0
q=k+1
Usamos propiedades de operaciones en C, incluso la ley distributiva, y luego intercambios
el orden de las sumas:
(Ωn (a ∗ b))j =
=
n−1 X
k
X
ωnjk ak−q bq +
n−1 X
n−1
X
k=0 q=0
k=0 q=k+1
n−1 X
n−1
X
q−1
n−1 X
X
ωnjk ak−q bq +
q=0 k=q
ωnjk an+k−q bq
ωnjk an+k−q bq .
q=0 k=0
Reindizamos las sumatorias sobre k de la siguiente forma. En la primera sumatoria ponemos
s = k − q,
esto es,
k = s + q.
Cuando k corre de q a n − 1, la nueva variable s corre de 0 a n − q − 1. En la segunda
sumatoria ponemos
s = n + k − q,
k = s + q − n.
esto es,
Cuando k corre de 0 a q − 1, la nueva variable s corre de n − q a n − 1. Entonces
(Ωn (a ∗ b))j =
n−1 n−1−q
X
X
q=0
ωnjs+jq as bq
+
s=0
n−1 X
n−1
X
ωnjs+jq−jn as bq .
q=0 s=n−q
Notamos que ωn−jn = 1 y juntamos las dos sumas sobre s en una:
(Ωn (a ∗ b))j =
n−1 X
n−1
X
ωnjs+jq as bq .
q=0 s=0
Ahora separemos las sumatorias en la siguente forma:
(Ωn (a ∗ b))j =
n−1
X
q=0
ωnjs as
n−1
X
s=0
ωnjq bq =
n−1
X
(Ωn )j,q aq
q=0
n−1
X
(Ωn )j,s bs
s=0
= (Ωn a)j (Ωn b)j = ((Ωn a) (Ωn b))j .
Convolución discreta cı́clica, página 5 de 7
El siguiente corolario simple muestra cómo calcular la convolución discreta cı́clica
utilizando la transformada discreta de Fourier, su inversa y el producto de vectores por
componentes.
16 Corolario. Sean a, b ∈ Cn . Entonces
a ∗ b = Ω−1
n ((Ωn a) (Ωn b)).
(7)
En el lenguaje de MATLAB (o en sus análogos libres GNU Octave, Scileb, FreeMat)
el lado derecho de (7) se puede escribir como la siguiente expresión:
ifft(fft(a) .* fft(b))
Propiedades de la convolución discreta cı́clica
17 Proposición. La operación ∗ en Cn es asociativa y conmutativa. El vector
n−1
e0 = δ0,j j=0
es un elemento neutro bajo la operación ∗.
Primera demostración. Demostremos la propiedad asociativa. Sean a, b, c ∈ Cn . Utilizamos la fórmula (1):
Lo que debemos demostrar es (a ∗ b) ∗ c = a ∗ (b ∗ c), para ello mostraremos que entrada
a entrada los vectores son iguales.
((a ∗ b) ∗ c)j =
n−1
n−1 X
n−1
X
X
(a ∗ b)(j−p) mod n cp =
a[(j−p) mod n]−q mod n bq cp .
p=0
p=0 q=0
Notemos que [(j − p) mod n] − q mod n = (j − p − q) mod n. Entonces
((a ∗ b) ∗ c)j =
n−1 X
n−1
X
a(j−p−q) mod n bq cp .
p=0 q=0
Por otro lado
(a ∗ (b ∗ c))j =
n−1
X
a(j−k) mod n (b ∗ c)k =
k=0
n−1
X
a(j−k) mod n
k=0
n−1
X
b(k−s) mod n cs .
s=0
Reindizamos s = p
(a ∗ (b ∗ c))j =
n−1 X
n−1
X
a(j−k) mod n b(k−p) mod n cp .
k=0 p=0
Ahora reindizamos la primera sumatoria haciendo q = (k − p) mod n. Entonces
(a ∗ (b ∗ c))j =
n−1 X
n−1
X
p=0 q=0
a(j−αn−q−p) mod n bq cp =
n−1 X
n−1
X
a(j−p−q) mod n bq cp = ((a ∗ b) ∗ c)j .
p=0 q=0
Convolución discreta cı́clica, página 6 de 7
Segunda demostración. La proposición se demuestra fácilmente usando el Teorema 15 y
la Proposición 13. Por ejemplo, demostremos la propiedad asociativa. Sean a, b, c ∈ Cn .
Entonces
Ωn ((a ∗ b) ∗ c) = (Ωn (a ∗ b)) (Ωn c) = ((Ωn a) (Ωn b)) (Ωn c)
= (Ωn a) ((Ωn b) (Ωn c)) = (Ωn a) (Ωn (b ∗ c))
= Ωn (a ∗ (b ∗ c)).
Hemos utilizado 4 veces el Teorema 15 y una vez la propiedad asociativa de la operación
. Multiplicando ambos lados por la matriz Ω−1
n concluimos que (a ∗ b) ∗ c = a ∗ (b ∗ c).
18 Ejercicio. Demostrar la propiedad conmutativa de la operación ∗ en Cn usando la
definición y cambios de variables convenientes.
19 Proposición. El espacio vectorial complejo Cn , dotado con la operación ∗, es una
álgebra compleja asociativa conmutativa con identidad.
Demostración. Es fácil ver que la operación ∗ es distributiva con respecto a la adición de
vectores y homogénea con respecto a la multiplicación por escalares complejos. Las demás
propiedades ya están demostradas en la Proposición 17.
Convolución discreta cı́clica, página 7 de 7
Descargar