
\documentclass[12pt]{report}
\usepackage{amssymb}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage[spanish]{babel}
\usepackage[bf,SL,BF]{subfigure}
\usepackage{graphicx}

%TCIDATA{Created=Thu May 19 08:39:50 2005}
%TCIDATA{LastRevised=Mon Jun 27 10:26:32 2005}

\input{psfig.sty}

\begin{document}

\begin{titlepage}
\begin{center}
  \Huge
  \textbf{Notas de Visi\'on}
  \vspace{3cm}

  Posgrado en Ingenier\'ia El\'ectrica.
  \vspace{1cm}

  Maestr\'ia y Doctorado en Ingenier\'ia El\'ectrica.
  \vspace{1cm}

  Especialidades en Sistemas Computacionales.

  \vspace{4cm}

  \emph{Dr. F\'elix Calder\'on Solorio}
\end{center}

\begin{flushright}
  \vspace{1cm}
  \emph{ Septiembre 2009}
\end{flushright}


\end{titlepage}

\pagenumbering{roman}

\tableofcontents

\newpage \pagenumbering{arabic}

\chapter {Introducci\'on}
\section{Creaci\'on de Im\'agenes}

El Puntillismo aparece por vez primera en 1884, encabezado por el pintor Neo - Impresionista Georges Seurat, y contando con entre sus m{\'a}s fieles seguidores tales como Henri - Edmond Cross y Vlaho Bokovac.Su procedimiento empleado por estos artistas, consistente en poner puntos de colores puros en vez de pinceladas sobre tela; lograr{\' a} una t{\' e}cnica que fue el resultado de los estudios crom{\' a}ticos llevados a cabo por Georges Seurat (1859 - 1891), pintor franc{\' e}s, quien en 1884 lleg{\' o} a la divisi{\' o}n de tonos por la posici{\' o}n de toques de colores que, mirados a cierta distancia, crean en la retina las combinaciones deseadas [Wikipedia].

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/parte_1_gr1.eps,width=8.0cm}} }
\caption{Imagen de puntos}
\label{fig:puntos}
\end{figure}



\subsection{Manejo de colores RGB}

Definimos un pixel como la unidad b{\'a}sica de una imagen. Es un punto en cuyo valor se almacena la informaci{\'o}n conserniente a los colores. Los colores b{\' a}sicos que manejaremos son Rojo, Verde y Azul. As{\' \i} pixel lo podemos ver como un arreglo $P = [P_r, P_g, P_b]$

En la siguiente figura podemos ver el como se almacena la informaci{\'o}n conserniente a los 32 bit o 4 Bytes

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/parte_1_gr2.eps,width=8.0cm}} }
\caption{Formato de 32 bits para manejo de color}
\label{fig:formato}
\end{figure}


Una imagen discreta, la podemos definir como un arreglo bidimensional en el cual se almacena la informaci{\' o}n de cada punto de la imagen \(256^3 = 16,777, 216 \)diferentes colores por pixel. Dado que la informaci{\'o}n se maneja en Bytes para almacenar un byte necesitaremos de 4 bytes, tres correspondientes a los colores Rojo, verde y Azul y un cuarto que tiene informaci{\'o}n del nivel de transparencia. En la c{\' a}maras es com{\'u}n hablar de su resoluci{\' o}n en Megabytes, {?`}Que relaci{\'o}n existe con esto?. Bueno una camara de 3 Mega pixeles, tiene aproximadamente 314 pixeles de lado. Esto es $\sqrt{3*1000*1000}=1732.05$

En Forma matricial podemos hacer una imagen con colores verdes si definimos, un arreglo bidimensional donde ponemos un vector de colores $\{$R,G,B$\}$ 

\[\left(
\begin{array}{cc}
 \left(
\begin{array}{c}
 0 \\
 255 \\
 0
\end{array}
\right) & \left(
\begin{array}{c}
 0 \\
 0 \\
 0
\end{array}
\right) \\
 \left(
\begin{array}{c}
 0 \\
 0 \\
 0
\end{array}
\right) & \left(
\begin{array}{c}
 0 \\
 255 \\
 0
\end{array}
\right)
\end{array}
\right)
\]

Para este ejemplo si nuestro arreglo de imagen se llama $A$ los colores almacenados en el rengl{\' o}n i columna j, la notaci{\' o}n para referirnos a este punto es \(A_{i,j}\)

\subsection{La escala de gris}

En el caso de una im{\' a}gen en tono de gris solamente se maneja una sola matriz de datos, as{\' \i} el color rojo ser{\' a} igual que el verde y el azul. La uni{\' o}n de los colores dara como resultado blanco y la ausencia dar{\' a} negro. Nuestra imagen solamente tendr{\' a} colores que van desde el negro al blanco en 256 tonos diferentes.\\

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/parte_1_gr3.eps,width=8.0cm}} }
\caption{Cubo de colores y escala de gris}
\label{fig:egris}
\end{figure}
)

Utilizando im{\'a}genes en tono de gris, solamente ser{\' a} necesario almacenar la informaci{\' o}n conserniente a un canal de color, o un promedio de los tres canales de color. Esto reduce en 1/3 la informaci{\' o}n que debe ser almacenada.

\subsection{Interfase para desplegar im{\' a}genes en Java.}

Ver Algoritmos y ejemplos en la p{\' a}gina. ver inicial.java

\section{ Operadores Sobre im{\' a}genes}

\subsection{Operadores puntuales sobre Im{\' a}genes}

Una imagen discreta, la podemos definir como un arreglo bidimensional en el cual se almacena la informaci{\' o}n de cada punto de la imagen. Como definimos en la secci{\' o}n anterior cada unidad es un pixel y en el caso de operadores puntuales consideraremos que cada uno de estos se aplica sobre cada pixel de la imagen.

\subsubsection{Linea Recta}

Dada la imagen que se muestra en la figura \ref{fig:lena_a} y su histograma \ref{fig:lena_h} en tono de gris, podemos calcular una transformaci\'on lineal que nos permita cambiar el contraste de la imagen. 

\begin{figure}[h!]
\begin{center}
\subfigure[Imagen original \label{fig:lena_a}]{\psfig{figure=figuras/lena.eps,width=3.0cm}} 
\subfigure[Histograma \label{fig:lena_h}]{\psfig{figure=figuras/lena_histo.eps,width=3.0cm}} 
\label{fig:lena} 
\end{center}
\caption{Imagen original de Lena y su histograma en tono de gris}
\end{figure}

 Consideremos el caso de la ecuaci\'on de una l\' inea recta $y = mx + b$ donde $m$ es la pendiente y $b$ el cruze por cero. 
\[
g_{i,j}=(f_{i,j}-f_{min})*(g_{max}-g_{min})/(f_{max}- f_{min})+g_{min};
\]
donde el rango din\'amico de la imagen dada es $f_{min} = 0$ y $f_{max} = 255$ y el rango de la nueva imagen es $g_{min}$ y $g_{max}$ los cuales fijaremos en el rango [10, 50]. La ecuaci\'on resultante es
\[
g_{i,j}=0.4 f_{i,j} + 50
\]
\[
\forall <i,j> \in \Omega
\]


As{\'i} para una im{agen dadas estas condiciones podemos cambiar la apariencia haciendo una proyecci{\'o}n del espacio original de la imagen a un nuevo espacio dado por una l{\'i}nea recta. El resultado de la aplicaci\'on a cada punto se presenta en la figura \ref{fig:lena2}. En la figura \ref{fig:lena_nh} podemos ver como la aplicaci\'on de este operador reduce el rango din\'amico de la imagen reduciendo el rango del histograma en la misma medida.

\begin{figure}[h!]
\begin{center}
\subfigure[Imagen o \label{fig:lena_n}]{\psfig{figure=figuras/lena_n.eps,width=3.0cm}} 
\subfigure[Histograma \label{fig:lena_nh}]{\psfig{figure=figuras/lena_n_histo.eps,width=3.0cm}} 
\label{fig:lena2} 
\end{center}
\caption{Imagen de Lena modificada y su histograma en tono de gris}
\end{figure}

En el caso de una imagen con mayor informaci{\'o}n esta lucir{\'a} como:

\subsubsection{Cambio de color a tono de Gris}

Otro ejemplo de operadores puntuales sobre imagenes es la conversi{\'o}n de colores RGB a escala de gris. As{\' i} para convertir la imagen a colores a tono de gris, simplemente sacamos el promedio de cada uno de los pixeles en la 3 bandas aplicando la operaci{\' o}n\\
\\
\(\left.\left.A_{i,j}=\left(R_{i,j}+\right.G_{i,j}+B_{i,j}\right)\right/3\)\\
\\
Con esta operaci{\' o}n tendremos una sola matriz con el promedio de los colores y cuando se crea la imagen a color las matrice R, G, B ser{\'a}n iguales a la matriz A.

\subsubsection{Funci{\'o}n Sigmoide}

Otra manera de hacer esto es considerar una funci{\' o}n diferente como la sigmoide, definida como 
\[
y = \frac{1}{1+e^{-\beta x}}
\]
donde $\beta$ es un par\'ametro que controla la pendiente del escalon. Para hacer la aplicaci\'on de la funci\'on sigmoide, ser\'a necesario hacer un cambio al rango $[-1,1]$ de la imagen original ya que el dominio y rango de la funci\'on sigmoide es $[-\infty, \infty]$ y $[0,1]$ respectivamente.

Como luce una imagen en estas condiciones. En la figura \ref{fig:lena3}, podemos ver la aplicaci\'on de la funci\'on sigmoide con $\beta = 100$  a la imagen original en la figura \ref{fig:lena_a}. En esta figura podemos ver la, la imagen procesada, el histogramas  de la imagen y la gr\'afica de la sigmoide aplicada.

\begin{figure}[h!]
\begin{center}
\subfigure[Imagen o \label{fig:lena_sig}]{\psfig{figure=figuras/lena_sig.eps,width=3.0cm}} 
\subfigure[Histograma \label{fig:lena_sig_histo}]{\psfig{figure=figuras/lena_sig_histo.eps,width=3.0cm}} 
\subfigure[Sigmoide con $\beta = 100$\label{fig:sig_histo}]{\psfig{figure=figuras/sig.eps,width=3.0cm}} 
\label{fig:lena3} 
\end{center}
\caption{Imagen de Lena modificada por la funci\'on sigmoide }
\end{figure}

\subsection{Operadores de Ventana sobre im{\'a}genes}

El objetivo de un operador de ventana es reemplazar el valor de un pixel, por el contenido pesado en una ventana al rededor de esta. As{\' i} por ejemplo
 \[
 I_{i,j}= \sum_{k=i-nk}^{i+nk}\sum_{l=j-nk}^{j+nk} w_{k,l} I_{k,l.}
 \]
donde $w_{k,l}$ es un peso que puede tener varios valores con lo cual tenemos una posibilidad casi infinita de operadores. En la figura \ref{fig:lena4} tenemos un operador correspondiente a la media, donde cada uno de los pixeles es reemplazado por el promedio en una ventana de tama{\~ n}a $(2n_k +1)\times (2n_k+1)$ y con $w_{k,l} = \frac{1}{(2n_k +1)^2}$.

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/lena_med.eps,width=5.0cm}} }
\caption{Lena aplicando un operador de ventana que simula la media}
\label{fig:lena4}
\end{figure}

\section{Transformaciones Geom\'etricas}
En esta secci\'on b\'asicamente analizaremos dos transformaciones geom\'etricas en im\'agenes. Estan son la transformaci\'on Af\'in y la transformaci\'on proyectiva.
\subsection{Transformaci{\' o}n Af{\'i}n }
Una transformaci{\'o}n afin es una transformaci{\'o}n geom{\'e}trica que esta constitida por translaci{\'o}n, escalamiento, rotaci{\'o}n y cizallamiento.

\subsection{Traslaci{\'o}n}

Una translaci{\'o}n la podemos hacer simplemente asuminedo que las nuevas coordenadas \(\hat{x}=x+\text{tx}\) \(\hat{y}=y+\text{ty}\) les sumamos
un valor tx o ty seg{\' u}n corresponda. En coordenadas homogeneas queda como

\[
\left(
\begin{array}{c}
 \hat{x} \\
 \hat{y} \\
 1
\end{array}
\right)=\left(
\begin{array}{ccc}
 1 & 0 & \text{tx} \\
 0 & 1 & \text{ty} \\
 0 & 0 & 1
\end{array}
\right)\left(
\begin{array}{c}
 x \\
 y \\
 1
\end{array}
\right)
\]

\subsubsection{Escalamiento}

El escalamiento pude entenderse como hacer que una figura geom{\'e}trica cambie su tama{\~n}o. Un escalamiento en x lo podemos representar por
como $\hat{x}=x*s_x$ y en y como $\hat{y}=y*s_y$. { }En coordenadas homogeneas se pude expresar como


\[
S = \left(
\begin{array}{ccc}
 s_x & 0 & 0 \\
 0 & s_y & 0 \\
 0 & 0 & 1
\end{array}
\right)
\]

\subsubsection{Rotaci{\'o}n}

Consideremos el caso de un punto que rota respecto a un punto fijo. Las coordenadas $x$ y $y$,  en forma polar las podemos obtener como $x=r cos(\theta
)$ y $y=r seno(\theta)$. Si consideramos que esta gira un {\' a}ngulo $\psi $ entonces podemos representar esta rotaci{\' o}n en forma polar como

\[
\left(
\begin{array}{c}
 \hat{x} \\
 \hat{y}
\end{array}
\right)=\left(
\begin{array}{c}
 r \cos (\theta +\psi ) \\
 r\text{  }\text{seno}(\theta +\psi )
\end{array}
\right)=\left(
\begin{array}{c}
 r \cos (\theta ) \cos (\psi )-r \text{seno}(\theta ) \text{seno}(\psi ) \\
 r\text{  }\cos (\theta )\text{seno}(\psi )+ r \text{seno}(\theta )\cos (\psi )
\end{array}
\right)
\]

\[
\left(
\begin{array}{c}
 \hat{x} \\
 \hat{y}
\end{array}
\right)=\left(
\begin{array}{c}
 x \cos (\psi )-y \text{seno}(\psi ) \\
 x \text{seno}(\psi )+ y \cos (\psi )
\end{array}
\right)
\]

\noindent Una transformaci\'on de rotaci{\'o}n puede ser definida  como 

\[
\left(
\begin{array}{c}
 \hat{x} \\
 \hat{y}
\end{array}
\right)=\left(
\begin{array}{cc}
 \cos (\psi )  & -\text{seno}(\psi ) \\
 \text{seno}(\psi ) & \cos (\psi )
\end{array}
\right)\left(
\begin{array}{c}
 x\text{  } \\
 y
\end{array}
\right)
\]

\noindent y en coordenadas homogeneas puede representarse como

\[
R (\theta) = 
\left(
\begin{array}{ccc}
 cos(\theta) & -sin(\theta) & 0 \\
 sin(\theta) & cos(\theta) & 0 \\
 0 & 0 & 1
\end{array}
\right)
\]

\subsubsection{ Cizallamiento}

El cizallamiento es una transformaci{\'o}n dada por la matriz, donde $c_x$ es el {\' a}ngulo de cizallamiento respecto al eje x.

\[
C_x =
\left(
\begin{array}{ccc}
 1 & tg (c_x^{\circ}) & 0 \\
 0 & 1 & 0 \\
 0 & 0 & 1
\end{array}
\right)
\]


\noindent En caso de querer aplicar el cizallamiento en la direcci{\' o}n y, la matriz de transformaci{\' o}n ser{\' a}.

\[
C_y =
 \left(
\begin{array}{ccc}
 1 & 0 & 0 \\
 tg(c_y^{\circ}) & 1 & 0 \\
 0 & 0 & 1
\end{array}
\right)
\]

Una vez que unimos todas las transformaciones tenemos una composici{\'o}n dada por una { }Rotacion R, un escalamiento S, un Cizallamiento C y una
Translaci{\' o}n T. Al conjunto de estas operaciones se le conoce como transformaci{\'o}n afin.


\[
T_{afin} = \left(
\begin{array}{ccc}
 s_x \text{ } cos (\theta) & -s_y \text{ } sin(\theta) + s_x \text{ } cos(\theta) \text{ } tan(c_x) & t_x \\
 s_x \text{ } sin(\theta) & s_y \text{ } cos(\theta)+ s_x \text{ } sin(\theta) \text{ } tan(c_x) & t_y \\
 0 & 0 & 1
\end{array}
\right)
\]

\subsection{Interpolaci{\'o}n.}

Todas las transformaci{\' o}nes aplicadas anteriormente son para un punto en el espacio de coordenadas [x,y], pero que sucede cuando hablamos de
im{\' a}genes. Una imagen esta compuesta de colores en una posici{\'o}n con coordenadas enteras [i,j]. Si aplicamos una transformaci{\'o}n af{\'i}n las coordenas enteras pasaran a ser coordenadas en n{\'u}meros reales, as{\' \i} por ejemplo en el caso de una rotaci{\'o}n tendremos

En estas condiciones en probable descidir hacer un truncamiento, sin embargo cuando se trata de un escalamiento con sx=2 y sy = 1, tendremos que
ciertos pixeles no ser{\'a}n visitados.


Esta condici{\'o}n har{\'a} que no se teng{\' a}n cubiertas todos los pixeles de una imagen ya que en el caso del escalamiento $(s_x = 2)$ solamente
las posiciones pares de la nueva imagen tendr{\'a}n valor.{?`}Como corregir este efecto?.En lugar de barrer todos los puntos de la imagen origen,
barreremos todos los puntos de la imagen destino y cualquier pixel que no este en posici{\'o}n entera lo calcularemos utilizando interpolaci{\'o}n bilineal. Consideremos el caso de una matriz de rotaci{\'o}n

\[
T = \left(
\begin{array}{ccc}
 0.951057 & -0.309017 & 0. \\
 0.309017 & 0.951057 & 0. \\
 0. & 0. & 1.
\end{array}
\right)
\]

\noindent al aplicar la transformaci{\'o}n para cada uno de los puntos de la imagen de acuerdo con el siguiente c{\'o}digo tenemos, una  soluci\'on dada por la figura \ref{fig:lena5}
\texttt{  \\
\\
\hspace*{3.5ex} for(i=0; i$<$nr; i++)\\
\hspace*{6.ex} for(j=0; j$<$nc; j++) $\{$\\
\hspace*{8.ex} afin(i, j, x, T);\\
\hspace*{8.ex} \\
\hspace*{8.ex} if(x[0] $>$=0 $\&\&$ x[0] $<$ nr $\&\&$ x[1] $>$=0 $\&\&$ x[1] $<$ nc)\\
\hspace*{10.ex} I2[(int) x[1]][(int) x[0]] = I1[i][j];\\
\hspace*{6.ex} $\}$\\
}

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/parte_1_gr4.eps,width=5.0cm}} }
\caption{Lena aplicando una transformaci\'on}
\label{fig:lena5}
\end{figure}

Note los puntos negros generados por el redondeo. Esta condici{\'o}n es mas notoria cuando se escala una imagen con un factor superior a 1.

\(\\
\)La funci{\' o}n de interpolaci{\' o}n bilineal en Java es\\
\\
\texttt{  { }static public double bilineal(double f[][], double x0, double y0)\\
\hspace*{1.ex} $\{$\\
\hspace*{2.ex} int ii, jj, nr, nc;\\
\hspace*{2.ex} double a, b, y;\\
\\
\hspace*{2.ex} ii = (int) y0;\\
\hspace*{2.ex} jj = (int) x0;\\
\\
\hspace*{2.ex} a = y0 - ii;\\
\hspace*{2.ex} b = x0 - jj;\\
\\
\hspace*{2.ex} nr = f.length;\\
\hspace*{2.ex} nc = f[0].length;\\
\\
\hspace*{2.ex} if (ii $<$ 0 $||$ jj $<$ 0 $||$ ii $>$ nr - 2 $||$ jj $>$ nc - 2)\\
\hspace*{3.ex} return 0;\\
\hspace*{2.ex} if ( (a == 0) $\&\&$ (b == 0))\\
\hspace*{3.ex} return f[ii][jj];\\
\\
\hspace*{2.ex} if (ii == nr - 1 $\&\&$ jj == nc - 1)\\
\hspace*{3.ex} return f[ii][jj];\\
\\
\hspace*{2.ex} if (b == 0 $||$ jj == nc - 1) $\{$\\
\hspace*{3.ex} y = (1 - a) * f[ii][jj] + a * f[ii + 1][jj];\\
\hspace*{3.ex} return y;\\
\hspace*{2.ex} $\}$\\
\\
\hspace*{2.ex} if (a == 0 $||$ ii == nr - 1) $\{$\\
\hspace*{3.ex} y = (1 - b) * f[ii][jj] + b * f[ii][jj + 1];\\
\hspace*{3.ex} return y;\\
\hspace*{2.ex} $\}$\\
\\
\hspace*{2.ex} y = (1 - a) * (1 - b) * f[ii][jj] + (1 - a) * b * f[ii][jj + 1] +\\
\hspace*{4.ex} a * (1 - b) * f[ii + 1][jj] + a * b * f[ii + 1][jj + 1];\\
\hspace*{2.ex} return y;\\
\hspace*{1.ex} $\}$\\
}

Una manera de resolver este problema es aplicar la transformaci{\'o}n sobre los puntos de la imagen destino utilizando la inversa de la funci{\'o}n y la funci{\'o}n de interpolaci{\'o}n de acuerdo con el c{\'o}digo


\texttt{  static public void afin(double f[][], double g[][], double T[])\\
c $\{$\\
\hspace*{2.ex} int i, j, nr, nc;\\
\\
\hspace*{2.ex} double in, jn;\\
\\
\hspace*{2.ex} nr = f.length;\\
\hspace*{2.ex} nc = f[0].length;\\
\\
\\
\hspace*{2.ex} for (i = 0; i $<$ nr; i++)\\
\hspace*{3.ex} for (j = 0; j $<$ nc; j++) $\{$ //System.out.println(T[0]);\\
\\
\hspace*{4.ex} jn = T[0] * j { }+ T[1] * i { }+ T[2];\\
\hspace*{4.ex} in = T[3] * j { }+ T[4] * i { }+ T[5];\\
\hspace*{4.ex} g[i][j] = bilineal(f, jn, in);\\
\\
\hspace*{3.ex} $\}$\\
\hspace*{1.ex} $\}$\\
\hspace*{1.ex} \\
\hspace*{1.ex} \\
}

La diferencia la podemos ver en la imagen

\begin{figure}[h!]
\begin{center} 
\subfigure[Aplicando T inversa con interpolaci\'on \label{fig:lena_int1}]{\psfig{figure=figuras/parte_1_gr5.eps,width=5.0cm}} 
\hfill
\subfigure[Aplicando T  \label{fig:lena_int2}]{\psfig{figure=figuras/parte_1_gr6.eps,width=5.0cm}} 
\end{center}
\caption{Transformaci\'on proyectiva}
\end{figure}

\noindent ver (afin.java)}

\subsubsection{Transformaci{\'o}n Log Polar}

La geometr{\'i}a log polar en imagens fue motivada por la estrcutura de la retina de algunos sistema de vision y esta tiene algunas propiedades de compresion. Cuando comparamos el sistema usual de coordenadas cartesianas en imagenes, las imagenes log - polar permiten muestreo mas r{\'a}pido
en los sistema de visi{\'o}n artificial sin reducci{\'o}n en el tama{\~n}o de la vista y la parte centra de la retina (fovea).

La transformaci\'on log-polar es un mapeo de puntos en el plano cartesiano $(x,y)$ a puntos en el plano log-polar $(\xi , \eta )$:

\[
\xi =log\left(\sqrt{x^2+y^2}\right)
\]
\[
\eta =tg^{-1} \left(\frac{y}{x}\right)
\]

Aplicando esto tenemos que una imagen luce como la figura \ref{fig:lena6}

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/parte_1_gr7.eps,width=5.0cm}} }
\caption{Lena aplicando una transformaci\'on log polar}
\label{fig:lena6}
\end{figure}

\noindent ver (logpolar.java)

\noindent
\texttt{static public void LogPolar (double datos[][], double res[][])
$\{$
\hspace*{1.ex} int nr, nc, i, j, ren, col; \\
\hspace*{1.ex} double alfa, r, x, y; \\
\hspace*{1.ex} nr = datos.length; \\
\hspace*{1.ex} nc = datos[0].length; \\
\hspace*{1.ex} ren = res.length; \\
\hspace*{1.ex} col = res[0].length; \\
\hspace*{1.ex} System.out.println (ren +   + col); \\
\hspace*{1.ex} double rmax = Math.sqrt (ren*ren + col*col)/2.0; \\
\hspace*{1.ex} for (i = 0; i $<$ ren; i++)  \\
\hspace*{2.ex}   for (j = 0; j $<$ col; j++) $\{$ \\
\hspace*{3.ex}     alfa = (2.0*Math.PI*i)/(ren - 2); \\
\hspace*{3.ex}     r = Math.exp (j*Math.log (rmax)/col); \\
\hspace*{3.ex}    x = r*Math.cos (alfa) + nc/2.0; \\
\hspace*{3.ex}     y = r*Math.sin (alfa) + nr/2.0; \\
\hspace*{3.ex}    res[i][j] = bilineal (datos, x, y); \\
\hspace*{2.ex}   $\}$ \\
 $\}$}
 
 \noindent La tranformaci\'on log-polar inversa se calcula con el c\'odigo

\noindent
\texttt{static public void InvLogPolar (double datos[][], double[][] res)\\
$\{$\\
\hspace*{0.5ex} int nr, nc, i, j, ii, jj, ren, col;\\
\hspace*{0.5ex} double alfa, r;\\
\hspace*{0.5ex} double fac = 65.0;\\
\hspace*{0.5ex} nr = datos.length;\\
\hspace*{0.5ex} nc = datos[0].length;\\
\hspace*{0.5ex} ren = res.length;\\
\hspace*{0.5ex} col = res[0].length;\\
\hspace*{0.5ex} double phimax = Math.log (Math.sqrt (nr*nr + nc*nc)/2.0);\\
\hspace*{0.5ex} for (i = 0; i $<$ ren; i++) \\
\hspace*{1.5ex} for (j = 0; j $<$ col; j++) $\{$\\
\hspace*{2.5ex} ii = ren/2 - i;\\
\hspace*{2.5ex} jj = col/2 - j;\\
\hspace*{2.5ex} alfa = (Math.atan2 (ii, jj)/Math.PI + 1.0)*(double) (nr - 2)/2.0;\\
\hspace*{2.5ex} r = Math.log (Math.sqrt (ii*ii + jj*jj))/phimax*nc;\\
\hspace*{2.5ex} res[i][j] = bilineal (datos, r, alfa);\\
\hspace*{1.5ex} $\}$\\
$\}$\\
}

\subsubsection{Transformaci{\' o}n Proyectiva}

Una transformaci{\' o}n proyectiva es la generalizaci{\'o}n de las transformaciones \(R^2\to R^2\), en la que las l{\'i}neas paralelas no son transformadas necesariamene en tales. Se puede expresar de la forma\\

\[
\left(
\begin{array}{c}
 \hat{x} \\
 \hat{y} \\
 \hat{z}
\end{array}
\right)=\left(
\begin{array}{cc}
 A & t \\
 v^T & 1
\end{array}
\right)\left(
\begin{array}{c}
 x \\
 y \\
 1
\end{array}
\right)
\]

\noindent donde \(v^T\) es la diferencia entre la transformaci{\' o}n proyectiva y la af{\' i}n. Note para el caso de la transformaci{\'o}n proyectiva la coordenada \(\hat{z}\) no necesariamente es unitaria lo cual implica que la imagen transfromada se fue a un plano con coordenadas diferentes a esta.
Una manera de regresar al sistema de coordenadas es dividir entre \(\hat{z}.\) As{\'i} la matriz de transformaci{\'o}n queda\\

\[
\left(
\begin{array}{c}
 \tilde{x} \\
 \tilde{y} \\
 1
\end{array}
\right)=\frac{1}{\hat{z}}\left(
\begin{array}{cc}
 A & t \\
 v^T & 1
\end{array}
\right)\left(
\begin{array}{c}
 x \\
 y \\
 1
\end{array}
\right)
\]

Esta ecuaci{\'o}n es conocida tambien como hom{\' o}graf{\'i}a. La aplicaci{\'o}n a una imagen de una transformaci{\'o}n 

\[
T=\left(
\begin{array}{ccc}
 1 & 0 & 0 \\
 0 & 1 & 0 \\
 1e-3 & 0 & 1
\end{array}
\right)
\] 

Aplicando esta transformaci\'on tenemos una proyeccion de la imagen de Lena que se muestra en la figura \ref{fig:Lena7}


\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/parte_1_gr8.eps,width=5.0cm}} }
\caption{Transformaci\'on Proyectiva en la imagen de Lena}
\label{fig:Lena7}
\end{figure}

El c{\'o}digo Java para hacer esta transformaci{\'o}n es:

\noindent \texttt{static public void proyecccion (double f[][], double g[][], double T[])\\
$\{$\\
\hspace*{0.5ex} int i, j, nr, nc;\\
\hspace*{0.5ex} double in, jn, kn;\\
\hspace*{0.5ex} nr = f.length;\\
\hspace*{0.5ex} nc = f[0].length;\\
\hspace*{0.5ex} for (i = 0; i $<$ nr; i++) \\
\hspace*{1.ex} for (j = 0; j $<$ nc; j++) $\{$ \\
\hspace*{1.5ex} // System.out.println (T[0]);\\
\hspace*{1.5ex} jn = T[0]*j + T[1]*i + T[2];\\
\hspace*{1.5ex} in = T[3]*j + T[4]*i + T[5];\\
\hspace*{1.5ex} kn = T[6]*j + T[7]*i + 1.0;\\
\hspace*{1.5ex} jn /= kn;\\
\hspace*{1.5ex} in /= kn;\\
\hspace*{1.5ex} g[i][j] = bilineal (f, jn, in);\\
\hspace*{1.ex} $\}$\\
\hspace*{0.5ex} $\}$\\
}

\subsubsection{Par\'ametros a partir de puntos correspondientes}

En esta secci{\'o}n vamos a calcular los parametros de una homograf{\'i}a, la cual representa un modelo proyectivo, dada por la ecuaci{\'o}n


\[
\left(
\begin{array}{c}
 x_2 \\
 y_2 \\
 z_2
\end{array}
\right)=\left(
\begin{array}{ccc}
 h_1 & h_2 & h_3 \\
 h_4 & h_5 & h_6 \\
 h_7 & h_8 & h_9
\end{array}
\right)\left(
\begin{array}{c}
 x_1 \\
 y_1 \\
 z_1
\end{array}
\right)=\left(
\begin{array}{cc}
 A & t \\
 v^T & k
\end{array}
\right)\left(
\begin{array}{c}
 x_1 \\
 y_1 \\
 z_1
\end{array}
\right)
\]

\noindent donde el vector \(P_1=\left[x_1,y_1, z_1\right]{}^T\) es un punto en el espacio tridimensional, el vector \(P_2=\left[x_2,y_2, z_2\right]{}^T\) es
la proyecci{\' o}n en un plazo con \(z_2=1 \)y ambos puntos son correspondientes \(P_1\longleftrightarrow P_2\)\\
\\
El problema consiste en determinar el vector \(H=\left[h_1,h_2,h_3,h_4,h_5,h_6,h_7,h_8\right]{}^T\) a partir de un conjunto de puntos correspondientes.
Una manera de resolver este problema es utilizando m{\'i}nimos cuadrados, sin embargo tiene problema de estabilidad num{\'e}rica por lo que es
preferible utilizar el m{\'e}todo siguiente.\\
\\
Dado los puntos y que estos son correspondientes, entonces podemos decir que \(P_2\times H P_1=0\), dado que ambos vectores on paralelos. Esto no
lleva a la siguiente representaci{\'o}n\\
\\
\(\left(
\begin{array}{ccc}
 0^T & -z_{2,i} P_{1,i}^T & y_{2,i} P_{1,i}^T \\
 z_{2,i} P_{1,i}^T & 0^T & -x_{2,i} P_{1,i}^T
\end{array}
\right)\left(
\begin{array}{c}
 H_1 \\
 H_2 \\
 H_3
\end{array}
\right)=0\)\\
\\
donde \(H_1=\left[h_1,h_2, h_3\right]{}^T\), \(H_2=\left[h_4,h_5, h_6\right]{}^T\) y \(H_3=\left[h_7,h_8, h_9\right]{}^T\) .\\
\\
La soluci{\'o}n del sistema de ecuaciones puede llevarse a cabo utilizando la descompisici{\'o}n en valores singulares SVD. La descomposici{\'o}n en valores singulares calcula tres matrices USV = SVD(A) donde U y V son matrices y S una matriz diagonal. La soluci{\' o}n del sistema es el {\'u}ltimo vector de la matriz V (ver Harley-Zisserman pp 90).

\subsubsection{Ejemplo}

Dados los puntos P1 = $\{$ [10.0 10.0 1.0], [10.0 50.0 1.0], { }[50.0 50.0 1.0 ], [50.0 10.0 1.0 ], [25.0 25.0 1.0]$\}$ y P2 = $\{$[8.9108, { }10.89108,
{ }1.0], [4.95049, 46.53465, 1.0], [39.04761, 48.57142, 1.0], [42.85714, 14.28571, 1.0 ], [20.48780, 25.36585, 1.0 ], determinar la Homograf{\' \i}a
correspondiente. La siguiente imagen muestra los puntos P1 a la izquierda y los puntos P2 a la derecha.\\

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/parte_1_gr9.eps,width=5.0cm}} }
\caption{Puntos correspondientes}
\label{fig:ptos}
\end{figure}

De acuerdo con la ecuaci{\'o}n 

\[
\left(
\begin{array}{ccc}
 0^T & -z_{2,i} P_{1,i}^T & y_{2,i} P_{1,i}^T \\
 z_{2,i} P_{1,i}^T & 0^T & -x_{2,i} P_{1,i}^T
\end{array}
\right)\left(
\begin{array}{c}
 H_1 \\
 H_2 \\
 H_3
\end{array}
\right)= BH = 0\]

Tenemos

\[
\text{B = }\left(
\begin{array}{ccccccccc}
 0. & 0. & 0. & -10. & -10. & -1. & 108.911 & 108.911 & 10.891 \\
 10. & 10. & 1. & 0. & 0. & 0. & -89.109 & -89.109 & -8.911 \\
 0. & 0. & 0. & -10. & -50. & -1. & 465.347 & 2326.73 & 46.535 \\
 10. & 50. & 1. & 0. & 0. & 0. & -49.505 & -247.525 & -4.95 \\
 0. & 0. & 0. & -50. & -50. & -1. & 2428.57 & 2428.57 & 48.571 \\
 50. & 50. & 1. & 0. & 0. & 0. & -1952.38 & -1952.38 & -39.048 \\
 0. & 0. & 0. & -50. & -10. & -1. & 714.286 & 142.857 & 14.286 \\
 50. & 10. & 1. & 0. & 0. & 0. & -2142.86 & -428.571 & -42.857 \\
 0. & 0. & 0. & -25. & -25. & -1. & 634.146 & 634.146 & 25.366 \\
 25. & 25. & 1. & 0. & 0. & 0. & -512.195 & -512.195 & -20.488
\end{array}
\right)
\]

Haciendo la SVD(B) tenemos que la matriz v es

\tiny
\[
v = \left(
\begin{array}{ccccccccc}
 -0.008799 & -0.01804 & 0.4915 & 0.0774 & -0.4276 & -0.5010 & -0.07493 & 0.3712 & -0.4178 \\
 -0.006549 & -0.001930 & 0.6014 & -0.7039 & 0.06790 & 0.3676 & -0.009472 & -0.02489 & 0.04643 \\
 -0.0001982 & -0.0003293 & 0.01553 & -0.01201 & -0.01818 & 0.007560 & 0.7942 & -0.3909 & -0.4641 \\
 -0.008647 & -0.002579 & -0.5090 & -0.7008 & -0.03908 & -0.4922 & 0.005096 & 0.05909 & -0.04643 \\
 -0.01059 & 0.0176 & -0.3700 & -0.07726 & -0.4068 & 0.6088 & -0.06827 & 0.3757 & -0.41782 \\
 -0.0002489 & 0.0002550 & -0.01247 & -0.01494 & -0.02256 & -0.005127 & -0.5945 & -0.6558 & -0.4642 \\
 0.7018 & 0.7119 & 0.01084 & -0.00820 & -0.01566 & -0.01418 & 0.00008070 & 0.0008968 & -0.0004646 \\
 0.7119 & -0.7018 & -0.01073 & -0.007749 & -0.01538 & 0.01458 & -0.0002675 & 0.0004953 & 2.6997e-7\\
 0.01740 & -0.000201 & -0.001353 & 0.02651 & 0.8025 & -0.01339 & -0.07222 & 0.3660 & -0.4642
\end{array}
\right)
\]
\normalsize

Tomando la \'ultima columna de la matriz $v$ y normalizando respecto a $v_{9,9}$ tenemos que la Homograf\'ia es

\[
\text{H = }\left(
\begin{array}{c}
 0.900036 \\
 -0.100016 \\
 0.999866 \\
 0.100021 \\
 0.899986 \\
 0.99995 \\
 0.00100087 \\
 -5.8153e-7 \\
 1.
\end{array}
\right)
\]


\chapter{Calibraci\'on de Cam\'aras}

En esta secci{\' o}n daremos el modelo de una c{\'a}mara y la manera de calcular el m{\'o}delo de la misma. El modelo esta dise{\~ n}ando principalmente para sensores como CCD pero tambi{\' e}n es aplicable a otras c{\' a}maras.

\section{El modelo de c{\'a}mara pinhole}

Consideremos el punto central de proyecci{\' o}n del espacio en un plano. Centraremos la proyecci{\' o}n del espacio Euclidiano de coordenadas y consideraremos que el plano es \(Z=f\), el cual es llamado el plano focal de la c{\' a}mara. Bajo el modelo de camara pinhole, un punto de coordenadas en el espacio \(X=[X,Y,Z]^T\) es mapeado en el punto del plano de la imagen donde las lineas se unen en el centro de proyeci{\' o}n. Esto puede mostrarse por tri\'angulos similares en las figuras \ref{fig:cal1} y \ref{fig:cal2}.\\

\begin{figure}[h!]
\begin{center} 
\subfigure[Tres dimensiones \label{fig:cal1}]{\psfig{figure=figuras/calibra_camara_gr1.eps,width=5.0cm}} 
\hfill
\subfigure[dos dimensiones \label{fig:cal2}]{\psfig{figure=figuras/calibra_camara_gr2.eps,width=5.0cm}} 
\end{center}
\caption{Modelo de la c\'amara de pinhole}
\end{figure}

En la figura, por triangulos similares podemos ver que el punto \([X, Y, Z]^T\) es mapeado a un punto en el plano de la c{\'a}mara como \([fX/Z, f Y/Z, f]^T\). Esto lo podems escribir de forma matricial como\\
\\
\(\left(
\begin{array}{c}
 f X \\
 f Y \\
 Z
\end{array}
\right)=\left(
\begin{array}{cccc}
 f &    &   & 0 \\
   & f  &   & 0 \\
   &    & 1 & 0
\end{array}
\right)\)\(\left(
\begin{array}{c}
 X \\
 Y \\
 Z \\
 1
\end{array}
\right)\)\\
\\
esta matriz puede ser escrita como \(\text{diag}(f,f,1)[I|0]\) as{\' \i} la matriz de proyecci{\'o}n para una c{\'a}mara con modelo pinhole es \(P=\text{diag}(f,f,1)[I|0].\) La expresi{\'o}n anterior asume que el origen de coordenadas en el plano de la imagen es el punto principal. En la pr{\' a}ctica no es as{\'i} por lo cual debemos aplicar un mapeo\\
\\
\((X,Y,Z)^T|\rightarrow \left(f X/Z+ p_x, f X/Z + p_y\right){}^T\) \\
\\
esta ecuaci{\'o}n puede expresarse como\\
\\
\(\left(
\begin{array}{c}
 f X+ Z p_x \\
 f Y+ Z p_y \\
 Z
\end{array}
\right)=\left(
\begin{array}{cccc}
 f &    & p_x & 0 \\
   &  f & p_y & 0 \\
   &    & 1 & 0
\end{array}
\right)\)\(\left(
\begin{array}{c}
 X \\
 Y \\
 Z \\
 1
\end{array}
\right)\)\\
donde \\
\\
\(K=\left(
\begin{array}{ccc}
 f &    & p_x \\
   & f & p_y \\
   &   & 1
\end{array}
\right)\)\\
\\
y \(x=K[I|0]X_{\text{cam}} \) donde la matriz \(K\) es llamada la matriz de calibraci{\' o}n de la c{\' a}mara.\\
\\
En general puntos en el espacio son expresados en t{\' e}rminos de coordenadas euclidianas diferentes, conocidas como marco de coordenadas del mundo. Estos dos marco son relacionados por una rotaci{\'o}n y una translaci{\'o}n. Si \(\tilde{X }\)son las coordenadas homogeneas del mundo estas pueden ser representadas en el marco de la camara como como \(\tilde{X}_{\text{cam}}=R\left(\tilde{X}-\tilde{C}\right)\), donde \(\tilde{C}\) representa las coordenadas de la c{\' a}mara centradas en las coordenadas del mundo. El modelo puede ser escrito en coordenadas homogenas como\\
\\
\(x_{\text{cam}}=\left(
\begin{array}{cc}
 R & -R \tilde{C} \\
 0 & 1
\end{array}
\right)\left(
\begin{array}{c}
 X \\
 Y \\
 Z \\
 1
\end{array}
\right)\) \\
\\
Poniendo todo junto tenemos { }\(x=K R\left[I\left|-\tilde{C}\right.\right]X\) donde la matriz de la c{\'a}mara es \(P=K[R|t]\) donde \(t=-R \tilde{C}\)

\section {C\'amaras CCD}

El modelo de c{\' a}mara pinhole asume que las coordenadas de la imagen tienen igual escala en ambos ejes. En el caso de la c{\' a}maras CCD existe
una posibilidad adicional de no tener pixeles cuadrados. Por lo tanto manejaremos en lugar de usar un factor de escala \(f\) en la diagonal consideraremos
que existe un n{\' u}mero de pixeles en la direci{\' o}n \(x\) llamado \(m_x\) y uno en la direci{\' o}n \(y\) llamado \(m_y\) por lo tanto nuestra
matriz de par\'ametros queda como \\
\\
\(K=\left(
\begin{array}{ccc}
 f m_x &         & x_0 \\
          & f m_y & y_0 \\
          &          & 1
\end{array}
\right)=\left(
\begin{array}{ccc}
 \alpha _x &   & x_0 \\
   & \alpha _y & y_0 \\
   &   & 1
\end{array}
\right)\)\\
\\
Podemos consideran un modelo mas general si agregamos un parametro  \(s\) al que denominaremos sesgo. En la mayor{\'i}a de la c{\'a}maras normales este valor es cero, sin embargo lo consideraremos en el sentido de tener un modelo m{\'a}s general.\\
\\
\(K=\left(
\begin{array}{ccc}
 \alpha _x & s & x_0 \\
    & \alpha _y & y_0 \\
   &    & 1
\end{array}
\right)\)\\
\\
El modelo de la c{\' a}mara proyectiva es una matriz no cuadrada con tres renglones y cuatro columnas, por lo tanto el modelo tendr{\' a} 11 grados
de libertad. Este modelo lo podemos escribir como \(P=M\left[I\left|M^{-1}p_4\right.\right]=K R\left[I\left|-\tilde{C}\right.\right] \)donde \(p_4\)
{ }es la {\' u}ltima columna de la matriz P. El modelo completo es conocido como el m{\' o}delo de la c{\' a}mara proyetiva.

\section{Propiedades de la c{\'a}mara Proyectiva}

Algunas propiedades de la c{\' a}mara proyectiva son

\begin{itemize}
\item Centro de la camara. El centro de la c{\' a}mara es el vector C el cual puede ser calculado para una c{\' a}mara finita como el vector en el espacio
nulo es decir PC=0. Esto se resuelve utilizando descomposici{\' o}n en Valores singulares y \\
\item Puntos columna. Para i =1,2,3 los vectores columna \(p_i\)son los puntos de fuga en la imagen correpondientes a los ejes X, Y y Z. Columna \(p_4\)
es la imagen de las coordenadas del origen.\\
\item Plano principal. El plano principal de la c{\' a}mara is \(p^3\), el {\' u}ltimo rengl{\' o}n de P.\\
\item  Ejes del plano. Los planos \(p^1\)y \(p^2\) representan los planos a trav{\' e}s del centro de la c{\' a}mara.\\
\item Punto principal. Punto de imagen \(x_0=M m^3\)es el punto principal de la c{\' a}mar, donde \(m^{3T}\) es el tercer rengl{\' o}n de la matriz
M.\\
\item Rayo principal. El rayo principal de la camara es el rayo que pasa a trav{\' e}s de la c{\' a}mara con centro C con direcci{\' o}n { }\(m^{3T}\).
El eje principal es el vector \(v=\det (M)m^3 \)es la direcci{\' o}n hacia el frente de la c{\' a}mara.
\end{itemize}

\section {Calibraci{\' o}n de C{\' a}maras a partir de puntos correspondientes}

La calibraci{\' o}n de c{\' a}maras la definiremos como el proceso de calcular los par{\' a}metros internos a partir de la observaci{\' o}n de una imagen y sus puntos correspondiente en el mundo real. Comenzaremos por dada la matriz de proyecci{\' o}n, calcular la matriz de parametros internos K, el centro de la c{\' a}mara C y la matriz de rotaci{\' o}n de la c{\' a}mara \(P=K R[I|C]\). 
\subsection{Centro de la C\'amara}
Podemos ver de lo expuesto en la secci{\' o}n anterior que el centro de la c{\' a}mara dado la matriz de proyecci{\' o}n se puede calcular como \(P C = 0\) cuya soluci{\' o}n es el vector con el menor eigenvalor una vez calculado la descomposici{\'o}n en valores singulares (espacio nulo). 
\subsection{Descomposici\'on RQ}
Definamos la matriz \(M=K R\) la cual es una matrix de 3 renglones por 3 columnas. Para ello tendremos que hacer una factorizaci{\' o}n matricial.
{ }Recordemos que { }la matriz R puede calcularse como la multiplicaci{\' o}n de tres matrices de rotaci{\' o}n en cada eje como \(R = R_z^TR_y^T
R_x^T\text{  }\)dado que todas estas matrices son ortogonales, entonces podemos escibir\\
\\
\(M=K R = K R_z^TR_y^T R_x^T \)\\
\( M R_xR_yR_z= K \)\\
\\
Las matrices de rotaci{\' o}n estan definidas como\\
\\
\(R_x=\left(
\begin{array}{ccc}
 1 & 0 & 0 \\
 0 & c_x & -s_x \\
 0 & s_x & c_x
\end{array}
\right), R_y=\left(
\begin{array}{ccc}
 c_y & 0 & s_y \\
 0 & 1 & 0 \\
 -s_y & 0 & c_y
\end{array}
\right)\text{  }y\text{  }R_x=\left(
\begin{array}{ccc}
 c_y & -s_z & 0 \\
 s_z & 1 & 0 \\
 0 & 0 & c_y
\end{array}
\right) \) { }\\
\\
donde \(c_i= \cos \left(\theta _i\right)\) y \(s_i= \text{seno}\left(\theta _i\right)\) \\
\\
Dada la matriz M Los pasos son\\
\\
1. Multiplicar \(M' = M R_x\) y calcular \(c_x\) y \(s_{x }\)para que el elemento \(M'_{3,2} =0\) y \(c_x^2+s_x^2 = 1\). La soluci{\' o}n es\\
\\
\(c_x=\frac{M_{3,3}}{\sqrt{M_{3,2}^2+M_{3,3}^2}}y s_x=-\frac{M_{3,2}}{\sqrt{M_{3,2}^2+M_{3,3}^2}} \)\\
2. Multiplicar \(M\text{''} = M' R_y\) y calcular \(c_y\) y \(s_{y }\)para que el elemento \(M\text{''}_{3,1} =0\) y \(c_y^2+s_y^2 = 1\). La soluci{\'
o}n es\\
\\
\(c_y=\frac{M_{3,3}}{\sqrt{M_{3,1}^2+M_{3,3}^2}}y s_y=-\frac{M_{3,1}}{\sqrt{M_{3,1}^2+M_{3,3}^2}} \)\\
3. Finalmente multiplicar \(K = M"R_z\) y calcular \(c_z\) y \(s_{z }\)para que el elemento \(M\text{''}_{2,1} =0\) y \(c_z^2+s_z^2 = 1\). La soluci{\'
o}n es\\
\\
\(c_z=-\frac{M_{2,2}}{\sqrt{M_{2,1}^2+M_{2,2}^2}}y s_z=\frac{M_{2,1}}{\sqrt{M_{2,1}^2+M_{2,2}^2}} \)\\
\\
ver calibra$\_$camaras.java

\subsection{Ejemplo}

Dada la matriz de proyecci{\' o}n de la c{\' a}mara

\[P=\left(
\begin{array}{cccc}
 353.553 & 339.645 & 277.744 & -1.44946\times 10^6 \\
 -103.528 & 23.3212 & 459.607 & -632525. \\
 0.707107 & -0.353553 & 0.612372 & -918.559
\end{array}
\right)\]
determinar el centro de la c\'amara y la matriz de par\'ametros internos.

La matriz $M$ de acuerdo con la definici\'on es:

\(M=\left(
\begin{array}{ccc}
 353.553 & -103.528 & 0.707107 \\
 339.645 & 23.3212 & -0.353553 \\
 277.744 & 459.607 & 0.612372
\end{array}
\right)\)

Para encontrar el centro de la c\'amara hacemos la descomposici\'on en Valores singulares de la matriz $[u, s, v] = svd(P)$ donde 

\(u=\left(
\begin{array}{ccc}
 -0.916531 & -0.399962 & -0.000424686 \\
 -0.399962 & 0.916532 & -0.000479022 \\
 -0.000580829 & 0.00026918 & 1.
\end{array}
\right)\)

\(s=\left(
\begin{array}{cccc}
 1.58146\times 10^6 & 0. & 0. & 0. \\
 0. & 406.369 & 0. & 0. \\
 0. & 0. & 0.837954 & 0.
\end{array}
\right)\)

\noindent\(v=\left(
\begin{array}{cccc}
 -0.000178718 & -0.581477 & 0.723847 & 0.371391 \\
 -0.000202738 & -0.281691 & -0.607393 & 0.742782 \\
 -0.000277203 & 0.76324 & 0.327293 & 0.557086 \\
 1. & 0.0000505429 & 0.0000969494 & 0.00037139
\end{array}
\right)\)

El vector $v_4$ es el que tiene el menor eigenvalue as\'i que dividiendo este entre $v_{4,4}$ tenemos que el centro de la cam\'ara es \(C=\{1000.,2000.,1500.,1.\}\)

De la descomposici\'on QR tenemos que la matriz $M$ puede representarse como:
\[
K \times R = 
\left(
\begin{array}{ccc}
468.1648 & 91.2251 & 300.0001 \\
0.0 & 427.201 & 199.9999 \\
0.0 & 0.0 & 1.0
\end{array}
\right) 
\times
\left(
\begin{array}{ccc}
0.4138 & 0.9091 & 0.0471 \\
-0.5733 & 0.2201 & 0.7892 \\
0.7071& -0.3535 & 0.6124 
\end{array}
\right)
\]


\subsection{Calculo del modelo utilizando puntos 3D - 2D}
As{\' \i} dado un conjunto de puntos en 3D \(Q=\left\{Q_1, Q_2, \text{...}, Q_N\right\}\) con \(Q_i=\left(X_i, Y_i, Z_i\right){}^T \) y otro conjunto de puntos correspondientes en el plano de la imagen \(q=\left\{q_1, q_2, \text{...}, q_N\right\}\) con \(q_i=\left(x_i, y_i, w_i\right){}^T\) podemos determinar el modelo de la c{\' a}mara con al menos 6 puntos correspondientes \(X_i\longleftrightarrow x_i \)resolviendo\\
\\
\(\left(
\begin{array}{c}
 x_i \\
 y_i \\
 w_i
\end{array}
\right)=\left(
\begin{array}{ccc}
 P_{1,1} & P_{1,2} & P_{1,3} \\
 P_{2,1} & P_{2,2} & P_{2,3} \\
 P_{3,1} & P_{3,2} & P_{3,3}
\end{array}
\right)\left(
\begin{array}{c}
 X_i \\
 Y_i \\
 Z_i
\end{array}
\right)=\left(
\begin{array}{c}
 Q_i^TP_1 \\
 Q_i^TP_2 \\
 Q_i^TP_3
\end{array}
\right)\)\\
\\
Para resolver calculamos un vector paralelo, el cual tiene un producto vectorial igual a cero \(q_i\times P Q_i=0\). El sistema resultante lo podemos
calcular encontrando el vector en el espacio nulo con descomposici{\' o}n en valores singulares. El sistema resultante a resolver es\\
\\
\(q_i\times P Q_i=\left(
\begin{array}{ccc}
 \hat{i} & \hat{j} & \hat{k} \\
 x_i & y_i & w_i \\
 Q_i^TP_1 & Q_i^TP_2 & Q_i^TP_3
\end{array}
\right)=\left(
\begin{array}{c}
 y_iQ_i^TP_3-w_iQ_i^TP_2 \\
 x_iQ_i^TP_3-w_iQ_i^TP_1 \\
 x_iQ_i^TP_3-w_iQ_i^TP_1
\end{array}
\right)=0\)\\
\\
de lo cual podemos desprender\\
\\
\(\left(
\begin{array}{ccc}
 0 & -w_iQ_i^T & y_iQ_i^T \\
 -w_iQ_i^T & 0 & x_iQ_i^T
\end{array}
\right)\left(
\begin{array}{c}
 P_1 \\
 P_2 \\
 P_3
\end{array}
\right)= A P =0\) 

\subsection{Ejemplo}

Dados los los puntos correpondientes Q = $\{$ [0.0, { }0.0, { }0.0], [ 100.0, 0.0, 0.0], { }[100.0, { }100.0, 0.0], { }[0.0, { }100.0 , 0.0], [0.0,
0.0, 100.0], [100.0, 0.0 100.0], [100.0, { }100.0, { }100.0], { }[0.0, { }100.0, { }100.0 ]$\}$ y q = $\{$[1577.9715837523775, { }688.6057400776651],
[1667.8746657863205, 758.2462570249891], [1562.6523714350803, 725.2525691697816], [1483.8812040033367, 660.6388854847863], { }[1658.2870049496003,
684.1821822330893], [1762.4087684498734, 758.8465253032915], [1645.2811209801278, 723.3689600937458], [1554.5611061379307, 654.4720145727945]$\}$,
calcular\\
\\
a) La matriz de proyecci{\' o}n de la c{\' a}mara,\\
b) La posici{\' o}n del centro de la c{\' a}mara,\\
c) La matriz de Rotaci{\' o}n y\\
d) la matriz K de par{\' a}metros internos.\\

\tiny
\noindent\(A_{1..6}\left(
\begin{array}{cccccc}
 0. & 0. & 0. & 0. & 0. & 0. \\
 0. & 0. & 0. & 1. & 0. & 0. \\
 0. & 0. & 0. & 0. & -99.9999 & 0. \\
 100. & 0. & 0. & 1. & 0. & 0. \\
 0. & 0. & 0. & 0. & -99.9999 & -99.9999 \\
 100. & 100. & 0. & 1. & 0. & 0.  \\
 0. & 0. & 0. & 0. & 0. & -99.9999 .\\
 0. & 100. & 0. & 1. & 0. & 0.  \\
 0. & 0. & 0. & 0. & 0. & 0.  \\
 0. & 0. & 100. & 1. & 0. & 0.  \\
 0. & 0. & 0. & 0. & -99.9999 & 0.  \\
 0. & 0. & 0. & 0. & 0. & 0.  \\
 100. & 100. & 100. & 1. & 0. & 0.  \\
 0. & 0. & 0. & 0. & 0. & 0. 
\end{array}
\right)\)

\noindent\(A_{7..12}\left(
\begin{array}{cccccccccccc}
 0. & -0.9999 & 0. & 0. & 0. & 688.606 \\
 0. & 0. & 0. & 0. & 0. & -1577.97 \\
 0. & -0.9999 & 75824.6 & 0. & 0. & 758.246 \\
 0. & 0. & -166787. & 0. & 0. & -1667.87 \\
 0. & -0.9999 & 72525.3 & 72525.3 & 0. & 725.253 \\
 0. & 0. & -156265. & -156265. & 0. & -1562.65 \\
 0. & -0.9999 & 0. & 66063.9 & 0. & 660.639 \\
 0. & 0. & 0. & -148388. & 0. & -1483.88 \\
 -99.9999 & -0.9999 & 0. & 0. & 68418.2 & 684.182 \\
 0. & 0. & 0. & 0. & -165829. & -1658.29 \\
 -99.9999 & -0.9999 & 75884.7 & 0. & 75884.7 & 758.846 \\
 0. & 0. & -1.27487\times 10^{10} & 0. & -1.27487\times 10^{10} & -1.27487\times 10^6 \\
 0. & 0. & -164528. & -164528. & -164528. & -1645.28 \\
 0. & 0. & -1.01742\times 10^{10} & -1.01742\times 10^{10} & -1.01742\times 10^6
\end{array}
\right)\)
\normalsize
\\
a) Comenzamos por hacer la SVD. El \'ultimo vector de la matriz v despu\'es de la descomposici\'on es
\\
$
V_{12} = [ 2.2356E-4,  2.1476E-4, 1.7562E-4, -0.9165, -6.5463E-5,  1.4746E-5,  2.9062E-4,  -0.3999, 4.4712E-7,  -2.2356E-7,  3.8721E-7,  -5.8082E-4 ]
$
\\
La matriz de proyecci\'on
\\
$
P = \left[ 
\begin{array}{cccc}
 2.2356E-4 & 2.1476E-4 & 1.7562E-4 & -0.9165 \\
-6.5463E-5 & 1.4746E-5 &  2.9062E-4 & -0.3999 \\
 4.4712E-7 &  -2.2356E-7 &  3.8721E-7 &  -5.8082E-4 
\end{array}
\right]
$
\\
b) El centro de la c{\' a}mara es
\\ 
Para calcular el centro de la c\'amara calculamos svd de P. La matriz v es
$
P = \left[ 
\begin{array}{cccc}
-1.0E-4 & 0.5815 & -0.7237 & 0.3714 \\
-1.0E-4 & 0.2817 & 0.6074 & 0.7428 \\
-2.0E-4 & -0.7631 & -0.3272 & 0.5571\\
1.0 & 0.0 & 0.0 & 4.0E-4
\end{array}
\right]
$
\\
El vector con el eigenvalor menor es $v_4 = [0.3714, 0.7128, 0.5571, 4.0 E-4]$  por lo tanto el centro de la c\'amara es $C= [1000.0007,2000.002,1500.0003,1.0]$


De la descomposici\'on QR tenemos que la matriz $M$ puede representarse como:
\[
K \times R = 
\left(
\begin{array}{ccc}
468.1648 & 91.2251 & 300.0001 \\
0.0 & 427.201 & 199.9999 \\
0.0 & 0.0 & 1.0
\end{array}
\right) 
\times
\left(
\begin{array}{ccc}
0.4138 & 0.9091 & 0.0471 \\
-0.5733 & 0.2201 & 0.7892 \\
0.7071& -0.3535 & 0.6124 
\end{array}
\right)
\]

\chapter{Procesamiento de se\~nales}

\section{Definiciones.}

Representaremos a una se\~nal discreta por $x(t)$ la cual pude ser funci\'on de una o varias variables. Esta se\~nal discreta resulta de hacer la multiplicaci\'on de una se\~nal continua por un tren de pulsos representados por
\[
x\left( t\right) =f\left( t\right) \delta (t-kT)
\]

donde $f\left( t\right) $ es una funci\'on continua y $\delta(t-kT)$ es un tren de pulsos unitarios con periodo $T$. La funci\'on $\delta (t)$ es la delta de dirac la cual toma el valor unitario cuando su argumento es cero (ver figura \ref{fig:pulsos}).

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/pulsos.eps,width=8.0cm}} }
\caption{Multiplicaci\'on de una funci\'on por un tren de pulsos}
\label{fig:pulsos}
\end{figure}

\section{Se\~nales pares e impares}

Podemos decir que una se\~nal es par si es id\'entica a su reflexi\'en alrededor del origen, esto es
\[
x(-t)=x(t)
\]
y que es impar si
\[
x(-t)=-x(t)
\]

Una caracter\'istica importante de cualquier se\~nal, es que esta pude ser representada por la suma de una se\~nal par y una se\~nal impar
\[
x\left( t\right) =\mathcal{P}(x(t))+\mathcal{I}(x(t))
\]
donde la parte par la calculamos
\[
\mathcal{P}(x(t))=\frac{1}{2}\left[ x\left( t\right) +x(-t)\right]
\]
y la impar por
\[
\mathcal{I}(x(t))=\frac{1}{2}\left[ x\left( t\right) -x(-t)\right]
\]
ver \cite{Oppenheim97}

\subsection{Ejemplos.}

(a)\ Demostrar que si $x\left( n\right) $ es discreta impar entonces

\[
\sum_{n=-\infty }^{\infty }x\left( n\right) =0
\]

Demostraci\'on: si, $x\left( n\right) $ es impar, entonces
\[
x\left( n\right) =-x\left( -n\right)
\]
es decir

\[
x\left( n\right) +x\left( -n\right) =0
\]

considerando

\[
\sum_{n=-\infty }^{\infty }x\left( n\right) =\sum_{n=-\infty }^{-1}x\left(
n\right) +x\left( 0\right) +\sum_{n=1}^{\infty }x\left( n\right)
\]

reordenando
\begin{eqnarray*}
\sum_{-\infty }^{\infty }x\left( n\right) &=&x\left( 0\right)
+\sum_{n=-\infty }^{-1}x\left( n\right) +\sum_{n=1}^{\infty }x\left( n\right)
\\
&=&x\left( 0\right) +\sum_{n=1}^{\infty }x\left( -n\right)
+\sum_{n=1}^{\infty }x\left( n\right) \\
&=&x\left( 0\right) -\sum_{n=1}^{\infty }x\left( n\right) +x\left( -n\right)
\end{eqnarray*}

con $x\left( 0\right) =0$ y sustituyendo la definici\'on de se\~nal par en la
ecuaci\'on anterior tenemos :
\begin{eqnarray*}
\sum_{-\infty }^{\infty }x\left( n\right) &=&0+\sum_{n=1}^{\infty }0 \\
\sum_{-\infty }^{\infty }x\left( n\right) &=&0
\end{eqnarray*}
(b) Comprobar, si $x_{1}\left( n\right) $ es impar y $x_{2}\left( n\right) $
es par, entonces
\[
x_{1}\left( n\right) \cdot x_{2}\left( n\right) \Longrightarrow impar
\]

Comprobaci\'on: Hacemos que

\[
z\left( n\right) =x_{1}\left( n\right) \cdot x_{2}\left( n\right)
\]

y
\[
z\left( -n\right) =x_{1}\left( -n\right) \cdot x_{2}\left( -n\right)
\]

Adem\'as, sabemos que
\[
x_{1}\left( n\right) =-x_{1}\left( -n\right)
\]

y
\[
x_{2}\left( n\right) =x_{2}\left( -n\right)
\]

sustituyendo las ecuaciones tenemos
\[
z\left( n\right) =-x_{1}\left( -n\right) \cdot x_{2}\left( -n\right)
\]

resulta
\[
z\left( n\right) =-z\left( -n\right)
\]

Lo cual implica que $z\left( n\right) $ es impar, i.e. $x_{1}\left( n\right)
\cdot x_{2}\left( n\right) $ es impar.

(c) Considere que $x\left( n\right) $ es una se\~nal con parte par $\mathcal{P}%
\left( x\left( n\right) \right) $ y parte impar $\mathcal{I}\left( x\left(
n\right) \right) ,$ demostrar que
\[
\sum_{n=-\infty }^{\infty }x^{2}\left( n\right) =\sum_{n=-\infty }^{\infty
}P^{2}\left( x\left( n\right) \right) +\sum_{n=-\infty }^{\infty
}I^{2}\left( x\left( n\right) \right)
\]

Demostraci\'on: Hacemos
\begin{eqnarray*}
\mathcal{P}\left( x\left( n\right) \right) &=&x_{p}\left( n\right) \\
\mathcal{I}\left( x\left( n\right) \right) &=&x_{i}\left( n\right)
\end{eqnarray*}
y
\begin{eqnarray*}
\sum_{n=-\infty }^{\infty }x^{2}\left( n\right) &=&\sum_{n=-\infty }^{\infty
}\left[ x_{p}\left( n\right) +x_{i}\left( n\right) \right] ^{2} \\
&=&\sum_{n=-\infty }^{\infty }\left( x_{p}^{2}\left( n\right) +2x_{p}\left(
n\right) x_{i}\left( n\right) +x_{i}^{2}\left( n\right) \right)
\end{eqnarray*}

sustituyendo el t\'ermino $x_{p}\left( n\right) x_{i}\left( n\right) $ por $z\left( n\right) $ y reordenando
\[
\sum_{n=-\infty }^{\infty }x^{2}\left( n\right) =\sum_{n=-\infty }^{\infty
}\left( x_{p}^{2}\left( n\right) +x_{i}^{2}\left( n\right) \right)
+2\sum_{n=-\infty }^{\infty }z\left( n\right)
\]

Como $z\left( n\right) $ es el producto de una se\~nal par y una impar, usamos
el resultado del inciso $b)$ y, concluimos que $z\left( n\right) $ es impar.
Ahora, usando el resultado del inciso $a)$ sabemos que
\[
2\sum_{n=-\infty }^{\infty }z\left( n\right) =0
\]

Si sustituimos este resultado en la ecuaci\'on tenemos que
\begin{eqnarray*}
\sum_{n=-\infty }^{\infty }x^{2}\left( n\right) &=&\sum_{n=-\infty }^{\infty
}\left( x_{p}^{2}\left( n\right) +x_{i}^{2}\left( n\right) \right) \\
\sum_{n=-\infty }^{\infty }x^{2}\left( n\right) &=&\sum_{n=-\infty }^{\infty
}x_{p}^{2}\left( n\right) +\sum_{n=-\infty }^{\infty }x_{i}^{2}\left(
n\right)
\end{eqnarray*}
Una se\~nal es peri\'odica si tiene la propiedad de tener un valor positivo $T$
para el cual
\[
x\left( t\right) =x\left( t+T\right) \text{ \ }\forall t
\]
en este caso diremos que la se\~nal es peri\'odica con periodo T

\section{Se\~nales b\'asicas de tiempo continuo.}

\subsection{Exponencial compleja y senoidal.}

La se\~nal exponencial de tiempo continuo es de la forma
\[
x\left( t\right) =Ce^{at}
\]
donde $C$ y $a$ son, en general n\'umeros complejos. Dependiendo de los
valores de estos par\'ametros, la exponencial puede adoptar varias caracter\'isticas diferentes. Una clase de exponenciales complejas que nos interesa es
\[
x\left( t\right) =e^{j w_{o}t}
\]

donde $w_{0}=2\pi f_{0}$ es definida como la velocidad angular en radianes
por segundo y $f_{0}$ es la frecuencia en ciclos por segundo o Hertz.
Utilizando la relaci\'on de Euler esta se\~nal puede expresarse como
\[
x\left( t\right) =\cos \left( w_{0}t\right) +jsen\left( w_{o}t\right)
\]
Una propiedad importante de esta se\~nal, es su periodicidad. Una se\~nal es peri\'odica si cada intervalo de tiempo $T$, tenemos un repetici\'on de la se\~nal.
Para verificar esta propiedad hacemos
\begin{eqnarray*}
e^{jw_{o}t} &=&e^{jw_{o}\left( t+T\right) } \\
e^{jw_{o}t} &=&e^{jw_{o}t}e^{jw_{o}T}
\end{eqnarray*}
para que esta ecuaci\'on se cumpla debemos tener que
\[
e^{w_{o}T}=1
\]
Existen dos posibilidades para que esta condici\'on se cumpla: la primera
cuando $w_{o}=0$, la cual es peri\'odica para cualquier valor de $T$, pero si $w_{o}\neq 0$, entonces tenemos que existe un valor $T_{o}$ al cual llamamos periodo fundamental y esta dado por la ecuaci\'on
\[
T_{o}=\frac{2\pi }{\left| w_{0}\right| }
\]

\subsection{Funci\'on escal\'on unitario e impulso unitario.}

Otra se\~nal de inter\'es es la funci\'on escal\'on unitario la cual esta dada por
\[
u\left( t\right) =\left\{
\begin{array}{c}
0,\text{ \ }t<0 \\
1,\text{ \ }t>0
\end{array}
\right.
\]

Otra se\~nal bastante \'otil es la funci\'on impulso unitario de tiempo continuo
la cual est\'o relacionada con el escal\'on unitario por la ecuaci\'on
\[
u\left( t\right) =\int_{-\infty }^{t}\delta \left( \tau \right) d\tau
\]

\chapter{Sistemas}

\section{Introducci\'on}

Un sistema se puede ver como cualquier proceso que produce una transformaci\'on de se\~nales. Un sistema tiene una se\~nal de entrada y una se\~nal de salida la cual est\'o relacionada con la entrada a trav\'es de la transformaci\'on del sistema.
\[
y(t)=T\left[ x(t)\right]
\]
donde $x(t)$ es la se\~nal de entrada, $y\left( t\right) $ es la se\~nal de
salida y $T\left[ {}\right] $ es la transformaci\'on del sistema.

Entre los sistemas podemos tener interconexiones serie y paralelo dadas como
los mostrados en la figura \ref{fig:serieparalelo}.

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/fig01.eps,width=8.0cm}} }
\caption{Sistemas serie y paralelo}
\label{fig:serieparalelo}
\end{figure}

\subsubsection{Sistemas con y sin memoria.}

Si la salida de un sistema para cada valor de la variable independiente depende solo de la entrada en ese mismo instante de tiempo se dice que el sistema no tiene memoria.

\[
y(t)=Rx(t)
\]

Un ejemplo de un sistema con memoria es
\[
y(n)=\sum_{k=-\infty }^{n}x(k)
\]

\subsection{Sistemas inversos.}

Decimos que un sistema es invertible si dada una transformaci\'on $T$ podemos encontrar la transformaci\'on $T^{-1}$ tal que:
\begin{eqnarray*}
y(t) &=&T[x(t)] \\
x(t) &=&T^{-1}[y(t)]
\end{eqnarray*}

Un ejemplo de un sistema que no es invertible es $y\left( t\right) =0.$

\subsection{Sistemas causales.}

Un sistema es causal si su salida en cualquier instante de tiempo depende s\'olo de los valores en el tiempo presente y en el pasado. Estos sistemas tambi\'en son llamados no anticipativo.
\begin{eqnarray*}
y(t) &=&x(t-1) \\
y(t) &=&\int_{-\infty }^{t}x(\tau )d\tau
\end{eqnarray*}

\subsection{Estabilidad.}

Un sistema es llamado estable si se produce una salida acotada para una entrada acotada. Una se\~nal es acotada si
\[
\left| x(k)\right| \leq M<\infty
\]
y la se\~nal de salida $y(k)=T\left[ x(k)\right] ,$ es acotada si
\[
\left| y(k)\right| \leq N<\infty
\]

Ejemplo. Consideremos la secuencia de los n\'omeros de Fibonacci donde $x(k)=\{1,2,3,5,8,13,...\}$ \'o $x(k)=x(k-1)+x(k-2).$ En este caso tenemos un sistema no acotado ya que la sucesi\'on crece indefinidamente para valores de $k.$

Un ejemplo de se\~nal estable lo tenemos en la sucesi\'on
\[
x\left( n\right) =\sum_{k=1}^{n}\frac{1}{n^{2}}
\]
para esta sucesi\'on podemos ver que
\[
x\left( n\right) -x\left( n-1\right) =\frac{1}{n^{2}}
\]
si tomamos el l\'imite podemos verificar que la sucesi\'on converge en un valor estable

\[
\lim_{n\rightarrow \infty }\left[ x\left( n\right) -x\left( n-1\right)
\right] =\lim_{n\rightarrow \infty }\frac{1}{n^{2}}=0
\]

\section{Invariancia en el tiempo.}

Para que un sistema sea invariante en el tiempo se debe cumplir que para un desplazamiento en la se\~nal de entrada se produzca el mismo desplazamiento en la se\~nal de salida.
\[
T\left[ D^{n}\left[ x\left( t\right) \right] \right] =D^{n}\left[ T\left[
x\left( t\right) \right] \right]
\]

Ejemplo. Considere la se\~nal $y\left( t\right) =sen\left[ x\left( t\right)
\right] $
\begin{eqnarray*}
  D^{k}\left[ x\left( t\right) \right] =x(t-k) \\
  =sen\left[ x(t-k)\right] \\
  D^{k}y\left( t\right) =sen\left[ x(t-k)\right]
\end{eqnarray*}

\subsection{Linealidad}

La caracter\'istica principal de los sistemas lineales es
\[
T\left[ \alpha x(t)+\beta y(t)\right] =T\left[ \alpha x(t)\right] +T\left[
\beta y(t)\right]
\]

\noindent esta propiedad es conocida como el principio de superposici\'on.

Ejemplo. Considere el sistema $y(t)=mx(t)+b$. Que valores debe tener el
sistema para ser lineal.

Consideremos dos se\~nales $x_{1}(t)$ y $x_{2}(t)$%
\begin{eqnarray*}
y_{1}(k)=mx_{1}(t)+b \\
y_{2}(k)=mx_{2}(t)+b \\
y_{1}(k)+y_{2}(k)=m\left( x_{1}(t)+x_{2}(t)\right) +2b
\end{eqnarray*}
Si aplicamos la transformaci\'on a la suma de $x_{1}(t)$ y $x_{2}(t)$
tendremos
\[
y_{3}(k)=m\left( x_{1}(t)+x_{2}(t)\right) +b
\]
note que $y_{3}(k)$ es diferente de $y_{1}(k)+y_{2}(k)$, la \'onica
posibilidad es que la constante $b$ sea igual a cero.

\section{Ejemplos}

\subsection{Ejemplo}

Demuestre que $y(n)=x(n)-x(n-1)$ es invariante en el tiempo.


\noindent Soluci\'on. Sea, $v(n)=D^{n_{0}}\left\{ T[x(n)]\right\} $ y $\hat{v}(n)=T\left\{ D^{n_{0}}[x(n)]\right\} $. Un sistema es invariante si $v(n)=\hat{v}(n)$

Para nuestro ejemplo $v(n)=D^{n_{0}}[x(n)-x(n-1)]=x(n-n_{0})-x(n-n_{0}-1)$ por otro lado $\hat{v}(n)=T[x(n-n_{0})]=x(n-n_{0})-x(n-n_{0}-1)$, como $v(n)=\hat{v}(n)$ el sistema es invariante en el tiempo.\newline

Nota: En este ejemplo, hacemos una aproximaci\'on de la derivada utilizando diferencias finitas $y(n)\simeq \frac{dx(n)}{dn}=x(n)-x(n-1)$ .

\subsection{Ejemplo}

Demuestre que $y(n)=\sum_{k=n -n_{0}}^{n}x(k)$ es invariante en el tiempo.

Soluci\'on. En \'oste caso, $v(t)=D^{n_{0}}\left[
\sum_{k=k_{0}}^{k_{f}}x(k)\right] =\sum_{k=k_{0}}^{k_{f}}x(k-n_{0})$ y $\hat{%
v}(k)=T[D^{n_{0}}\left[ x(k)\right] ]=\sum_{k=k_{0}}^{k_{f}}x(k-n_{0})$.
Como $v(k)=\hat{v}(k)$ el sistema es invariante en el tiempo.

\subsection{Ejemplo}

Dada la sucesi\'on
\begin{equation}
y(n)=\frac{1}{4}y(n-1)+x(n)  \label{eq:suc}
\end{equation}

\begin{enumerate}
\item  Probar que es un sistema Lineal invariante en el Tiempo (LIT) y

\item  Determinar la salida $y(n)$ si $x(n)=\delta (n-1)$
\end{enumerate}

Comenzaremos por dar una soluci\'on de la recurrencia, haciendo sustituciones
sucesivas
\begin{eqnarray*}
y(n)=x(n)+\frac{1}{4}y(n-1) \\
=x(n)+\,\frac{x(n-1)}{4}+\frac{1}{4}y(n-2) \\
=x(n)+\,\frac{x(n-1)}{4}+\frac{x(n-2)}{4^{2}}+\frac{1}{4^{2}}y(n-3) \\
=x(n)+\,\frac{x(n-1)}{4}+\frac{x(n-2)}{4^{2}}+\frac{x(n-3)}{4^{3}}+\cdots + \frac{x(1)}{4^{n-1}} + \frac{x(0)}{4^{n}}
\end{eqnarray*}
donde de manera general la soluci\'on de la recursi\'on es
\begin{equation}
y(n)=\sum_{k=0}^{n}\frac{x(n-k)}{4^{k}}  \label{eq:sol_recu}
\end{equation}

$\emph{Linealidad}$

Por otra parte tenemos que verificar que el sistema dado por \ref{eq:suc} es Lineal, primero calculamos utilizando \ref{eq:sol_recu}
\[
T[\alpha x_{1}(n)]+T[\beta x_{2}(n)]=\alpha \sum_{k=0}^{n}\frac{x_{1}(n-k)}{4^{k}}+\beta \sum_{k=0}^{n}\frac{x_{2}(n-k)}{4^{k}}
\]
y segundo utilizando \ref{eq:sol_recu} calculamos
\begin{eqnarray*}
T[\alpha x_{1}(n)+\beta x_{2}(n)]=\sum_{k=0}^{n}\frac{\alpha
x_{1}(n-k)+\beta x_{2}(n-k)}{4^{k}} \\
=\alpha \sum_{k=0}^{n}\frac{x_{1}(n-k)}{4^{k}}+\beta \sum_{k=0}^{n}\frac{%
x_{2}(n-k)}{4^{k}}
\end{eqnarray*}
lo cual demuestra que el sistema es lineal.

Invariancia en el tiempo

En este caso tenemos que mostrar $D^{n_{0}}\left[ T\left[ x(n)\right]
\right] =T\left[ D^{n_{0}}\left[ x(n)\right] \right] $ , aplicando la soluci\'on de la recursi\'on dada por \ref{eq:sol_recu}, tenemos
\[
D^{n_{0}}\left[ T\left[ x(n)\right] \right] =D^{n_{0}}\left[ \sum_{k=0}^{n}\frac{x(n-k)}{4^{k}}\right] =\sum_{k=0}^{n}\frac{x(n-n_{0}-k)}{4^{k}}
\]
Si aplicamos la traslaci\'on a la se\~nal $x$ tenemos
\[
D^{n_{0}}\left[ x(n)\right] =x(n-n_{0}),x(n-1-n_{0}),x(n-2-n_{0}),\cdots
,x(-n_{0}),
\]
y posteriormente calculamos
\[
T\left[ D^{n_{0}}\left[ x(n)\right] \right] =\sum_{k=0}^{n}\frac{x(n-n_{0}-k)}{4^{k}}
\]
De lo anterior podemos concluir que el sistema es invariante en el tiempo.

Respuesta al impulso

Para determinar la salida $y(n)=\frac{1}{4}y(n-1)+x(n)$ y suponiendo que $y(-1)=0$, se obtiene la siguiente tabla al evaluar recursivamente:

\begin{center}
$
\begin{tabular}{ccc}
\hline
$n$ & $x(n)$ & $y(n)$ \\ \hline
0 & 1 & 1 \\
1 & 0 & $\frac{1}{4}$ \\
2 & 0 & $\frac{1}{4^{2}}$ \\
3 & 0 & $\frac{1}{4^{3}}$ \\ \hline
\end{tabular}
$
\end{center}

Se observa que para cualquier $n$ la salida ser\'o $y(n)=\left( \frac{1}{4}\right) ^{n}$, note que esta soluci\'on puede verificarse utilizando la
soluci\'on de la recursi\'on.

\chapter{Convoluci\'on}

\section{Correlaci\'on}

Consideremos dos se\~nales $x$ y $y$, donde $x=[y_{i},y_{i+1},\cdots y_{i+N}]$ es un subconjunto de los valores de la se\~nal $y=[y_{0},y_{1},y_{2},\cdots, y_{M}]$. \'oEn que punto la se\~noal $x$ empatar\'a mejor con la se\~nal $y$.
Comenzaremos por utilizar como medida de similitud el producto escalar de vectores, as\'i el \'angulo entre estas dos se\~nales lo podemos calcular como
\[
cos(\theta )=\frac{x^{T}\widehat{y}}{|x||\widehat{y}|}
\]
donde $\widehat{y}=[y_{j},y_{j+1}\cdots ,y_{j+N}]$ y $\theta $ es el \'angulo entre los dos vectores. Note que cuando los dos vectores son iguales tendremos que el \'angulo es cero, el valor m\'aximo ser\'a dado por $|x|^{2}$ y que el producto $x^{T}\widehat{y}$ tender\'a a este m\'aximo.

El producto de $x^{T}\widehat{y}$ lo podemos calcular como
\[
r_{yx}=\sum_{k=0}^{N}x(k)\widehat{y}(k)
\]
dado que $\widehat{y}$ es un subconjunto de $y$, si aplicamos un desplazamiento podemos calcular el producto $x^{T}\widehat{y_{n}}$ en las $n$ posiciones posibles de la serie con la siguiente expresi\'on
\[
r_{xy}(n)=\sum_{k=0}^{N}x(k)y(k+n)
\]
La cross--correlaci\'on de las se\~nales $x\left( n\right) $ y $y\left( n\right)$ es la secuencia $r_{xy}\left( n\right) $ definida por
\begin{eqnarray*}
r_{xy}\left( n\right) =\sum_{k=-\infty }^{\infty }x\left( k\right) y\left(
k+n\right) \\
r_{xy}\left( t\right) =\int_{-\infty }^{\infty }x\left( \tau \right) y\left(
\tau +t\right) d\tau
\end{eqnarray*}
La funci\'on de correlaci\'on suministra una medida de la similitud o inter--dependencia entre las funciones $x$ y $y$.

\subsection{Propiedades}

\subsubsection{Conmutaci\'on}

Demostrar que la funci\'on de correlaci\'on y auto--correlaci\'on no son conmutativas, es decir
\begin{eqnarray*}
r_{xy}\left( t\right) =r_{yx}\left( -t\right) \\
r_{xx}\left( t\right) =r_{xx}\left( -t\right)
\end{eqnarray*}
para ello hacemos
\[
r_{xy}=\int_{-\infty }^{\infty }x\left( \tau \right) y\left( \tau +t\right)
d\tau
\]
y sustituimos $\widehat{\tau }=\tau +t$%
\[
r_{yx}(-t)=\int_{-\infty }^{\infty }x\left( \widehat{\tau }-t\right) y\left(
\widehat{\tau }\right) d\widehat{\tau }
\]
en el caso de la auto--correlaci\'on tenemos
\[
r_{xx}=\int_{-\infty }^{\infty }x\left( \tau \right) x\left( \tau +t\right)
d\tau
\]
y sustituimos $\widehat{\tau }=\tau +t$
\[
r_{xx}(-t)=\int_{-\infty }^{\infty }x\left( \widehat{\tau }-t\right) x\left(
\widehat{\tau }\right) d\widehat{\tau }
\]
Lo cual significa que la correlaci\'on no es conmutativa.

\subsubsection{Invariancia a traslaci\'on}

Es la correlaci\'on invariantes a traslaci\'on.
\[
r_{xy}=\int_{-\infty }^{\infty }x\left( \tau +a\right) y\left( \tau
+t\right) d\tau
\]
si sustituimos
\begin{eqnarray*}
\widehat{\tau }=\tau +a \\
\tau =\widehat{\tau }-a
\end{eqnarray*}
\[
\int_{-\infty }^{\infty }x\left( \widehat{\tau }\right) y\left( \widehat{%
\tau }+(t-a)\right) d\tau =r_{xy}\left( t-a\right)
\]
dado lo anterior la correlaci\'on no es invariante a traslaci\'on.

\subsubsection{Linealidad}

Pero, Ser\'a lineal la correlaci\'on?
\begin{eqnarray*}
r_{xy}\left( t\right) =\int_{-\infty }^{\infty }\left[ x_{1}\left( \tau
\right) +x_{2}\left( \tau \right) \right] y\left( \tau +t\right) d\tau \\
=\int_{-\infty }^{\infty }x_{1}\left( \tau \right) y\left( \tau +t\right)
d\tau +\int_{-\infty }^{\infty }x_{2}\left( \tau \right) y\left( \tau
+t\right) d\tau \\
=r_{x_{1}y}+r_{x_{2}}y
\end{eqnarray*}
si es una transformaci\'on lineal la correlaci\'on.

\subsection{Ejemplo}

Suponga una se\~nal $x(t)=[0,1,2,3,4,0,1,2,3,4,\ldots ]$ (Fig. \ref{fig1:a}) y una se\~nal $y(t)=[0,1,2,3,4]$ (Fig. \ref{fig1:b}). La correlaci\'on entre ambas se\~nales, se muestra en la Fig. \ref{fig1:c}. Note que los m\'aximos se obtienen cuando la se\~nal $y$ empata perfectamente con x.

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[$x(t)$ \label{fig1:a}]{%
\psfig{figure=figuras/x.eps,width=5.0cm}} \hfill \subfigure[$y(t)$ \label{fig1:b}]{%
\psfig{figure=figuras/y.eps,width=5.0cm}} \subfigure[$z(t)$ correlaci\'on entre $x(t)$
y $y(t)$\label{fig1:c}]{\psfig{figure=figuras/z.eps,width=5.0cm}} \label{fig1} }
\end{center}
\caption{Correlaci\'on}
\end{figure}

\subsection{Correlaci\'on en dos dimensiones}

Si la se\~nal esta en dos dimensiones, como es el caso de im\'agenes la correlaci\'on se representa como
\[
r_{xy}(n,m)=\sum_{k=-n_{k}}^{n_{k}}\sum_{l=-n_{l}}^{n_{l}}x(k,l)*y(k+n,l+m)
\]

\section{Representaci\'on de se\~nales en t\'erminos de impulsos.}

La funci\'on impulso unitario, puede utilizarse para construir una clase amplia de se\~nales. Para ilustrar como funciona consideremos que tenemos una se\~nal discreta dada por $x(n)$. Si queremos ver un parte de la se\~nal en cierto instante de tiempo multiplicamos la se\~nal de entrada por un impulso en el instante que deseamos analizar, as\'i por ejemplo:
\begin{eqnarray*}
x\left( -1\right) \delta (n+1)=\left\{
\begin{array}{c}
x\left( -1\right) \text{ si n=-1} \\
0\text{ \ \ \ \ si no}
\end{array}
\right. \\
x\left( 0\right) \delta (n+0)=\left\{
\begin{array}{c}
x\left( 0\right) \text{ si n=0} \\
0\text{ \ \ \ \ si no}
\end{array}
\right. \\
x\left( 1\right) \delta (n-1)=\left\{
\begin{array}{c}
x\left( 1\right) \text{ si n=1} \\
0\text{ \ \ \ \ si no}
\end{array}
\right.
\end{eqnarray*}
por lo tanto la suma suma de estos t\'erminos me da la se\~nal $x$. Matem\'aticamente podemos expresar esta suma como
\[
y\left( n\right) =\sum_{k=-\infty }^{\infty }x\left( k\right) \delta \left(
n-k\right)
\]
esta ecuaci\'on es llamada la propiedad de escudri\~namiento del impulso unitario.

\section{Convoluci\'on}

Podemos extender el concepto sustituyendo la funci\'on impulso por cualquier
otra funci\'on, as\'i obtenemos la expresi\'on de la convoluci\'on.
\[
y\left( n\right) =\sum_{k=-\infty }^{\infty }x\left( k\right) h\left(
n-k\right)
\]
note que tambi\'en es un sistema LIT. La convoluci\'on la podemos representar
por $y=x*h$

\subsection{Propiedades}

\subsubsection{Conmutaci\'on}

La convoluci\'on es conmutativa es decir

\[
f_{1}*f_{2}=f_{2}*f_{1}
\]
demostraci\'on, para probar la propiedad conmutativa hacemos
\[
f_{1}*f_{2}=\sum_{k=-\infty }^{\infty }f_{1}\left( k\right) f_{2}\left(
n-k\right)
\]
haciendo el cambio de variable $\widehat{k}=n-k$ tenemos
\[
\sum_{k=-\infty }^{\infty }f_{1}\left( n-\widehat{k}\right) f_{2}\left(
\widehat{k}\right) =f_{2}*f_{1}
\]

\subsubsection{Asociativa}

La propiedad asociativa consiste en
\[
(f_{1}*f_{2})*f_{3}=f_{1}*(f_{2}*f_{3})
\]
para demostrar la propiedad asociativa hacemos $f_{1}*f_{2}=g$ y $f_{2}*f_{3}=h$
\[
g*f_{3}=f_{1}*h
\]
puesto que
\[
g\left( n\right) =\sum_{k=-\infty }^{\infty }f_{1}\left( k\right)
f_{2}\left( n-k\right)
\]
se tiene que
\begin{eqnarray*}
g\left( n\right) *f_{3}\left( n\right) =\sum_{j=-\infty }^{\infty }g\left(
j\right) f_{3}\left( n-j\right) \\
=\sum_{j=-\infty }^{\infty }\left[ \sum_{k=-\infty }^{\infty }f_{1}\left(
k\right) f_{2}\left( j-k\right) \right] f_{3}\left( n-j\right)
\end{eqnarray*}
sustituyendo $l=j-k$ y cambiando el orden de las sumatorias
\begin{eqnarray*}
=\sum_{k=-\infty }^{\infty }f_{1}\left( k\right) \sum_{l=-\infty
}^{\infty
}f_{2}\left( l\right) f_{3}\left( n-\left( l+k\right) \right) \\
=\sum_{k=-\infty }^{\infty }f_{1}\left( k\right) \sum_{l=-\infty
}^{\infty
}f_{2}\left( l\right) f_{3}\left( \left( n-k\right) -l\right) \\
=\sum_{k=-\infty }^{\infty }f_{1}\left( k\right) h\left( n-k\right) \\
=f_{1}*h
\end{eqnarray*}

\subsubsection{Invariancia a traslaci\'on}

Para probar que la convoluci\'on es un sistema invariante a traslaci\'on hacemos la convoluci\'on de la se\~nal $x(k)$ trasladada un valor $k_{0}$
\[
y(n)=\sum_{k=-\infty }^{\infty }x\left( k-k_{0}\right) h\left( n-k\right)
\]
haciendo $\widehat{k}=k-k_{0}$ tenemos:
\begin{eqnarray*}
\sum_{\widehat{k}=-\infty }^{\infty }x\left( \widehat{k}\right) h\left(
n-\left( \widehat{k}+k_{0}\right) \right) \\
\sum_{\widehat{k}=-\infty }^{\infty }x\left( \widehat{k}\right) h\left(
\left( n-k_{0}\right) -\widehat{k}\right) \\
=y(n-k_{0})
\end{eqnarray*}

\subsubsection{Linealidad}

Para probar que se trata de un sistema lineal, calculamos la convoluci\'on de la suma de dos se\~nales $x_{1}$ y $x_{2}$
\begin{eqnarray*}
y(n)=\sum_{k=-\infty }^{\infty }\left[ x_{1}\left( k\right) +x_{2}\left(
k\right) \right] h\left( n-k\right) \\
=\sum_{k=-\infty }^{\infty }x_{1}\left( k\right) h\left( n-k\right)
+\sum_{k=-\infty }^{\infty }x_{2}\left( k\right) h\left( n-k\right) \\
=y_{1}(n)+y_{2}(n)
\end{eqnarray*}

\subsection{Sucesi\'on \'util}

Una sucesi\'on que nos ser\'a especialmente \'util para realizar los c\'alculos de
convoluci\'on y correlaci\'on es la sucesi\'on geom\'etrica
\[
s_{N}=\sum_{n=0}^{N}a^{n}=1+a+a^{2}+...+a^{N}
\]
para esta serie podemos ver
\begin{eqnarray*}
s_{N}=1+a(1+a+a^{2}+...+a^{N-1}) \\
=1+as_{N-1}
\end{eqnarray*}
que pasa si multiplicamos $s_{N}$ por $\left( 1-a\right) $%
\begin{eqnarray*}
\left( 1-a\right) s_{N}=\left( 1+a+a^{2}+...+a^{N}\right) - \\
=\left( a+a^{2}+a^{3}...+a^{N+1}\right) \\
=1-a^{N+1}
\end{eqnarray*}
de lo cual concluimos que
\[
s_{N}=\frac{1-a^{N+1}}{1-a}
\]

Esta serie ser\'a convergente en el caso de que $\left| a\right| <1$ y divergente en el caso de que $\left| a\right| >1$. Lo cual lo podemos verificar haciendo
\[
\lim_{N\rightarrow \infty }a^{N}=0
\]
y el valor de convergencia lo podemos calcular con
\[
s_{N}=1+as_{N-1}
\]
en el l\'omite $s_{N}=s_{N-1}=r$%
\begin{eqnarray*}
r=1+ar \\
r(1-a)=1 \\
r=\frac{1}{1-a}
\end{eqnarray*}

En el caso de que $\left| r\right| =1$, la serie converge al valor de
\begin{eqnarray*}
s_{N}=\sum_{n=0}^{N}1^{n}=1+1+1^{2}+...+1^{N} \\
=N+1
\end{eqnarray*}
y en el caso de $\left| r\right| >1$ la serie diverge
\[
\lim_{N\rightarrow \infty }a^{N}\neq 0
\]

\subsection{Ejemplos}
\subsubsection{Ejemplo 1}

Considere una se\~nal $x(n)=\alpha ^{n}$ y un kernel dado por $h\left(
n\right) =\beta ^{n}$. Calcular la convoluci\'on de estas dos se\~nales.
\begin{eqnarray*}
y\left( n\right) =\sum_{k=0}^{N-1}\alpha ^{k}\beta ^{\left( n-k\right) } \\
y\left( n\right) =\sum_{k=0}^{N-1}\alpha ^{k}\beta ^{n}\beta ^{-k} \\
y\left( n\right) =\beta ^{n}\sum_{k=0}^{N-1}\left( \frac{\alpha }{\beta }%
\right) ^{k} \\
y\left( n\right) =\beta ^{n}\frac{1-\left( \frac{\alpha }{\beta }\right) ^{N}%
}{1-\frac{\alpha }{\beta }}
\end{eqnarray*}
si quisieramos calcular la correlaci\'on hacemos
\begin{eqnarray*}
y\left( n\right) =\sum_{k=0}^{N-1}\alpha ^{k}\beta ^{\left( k-n\right) } \\
y\left( n\right) =\sum_{k=0}^{N-1}\alpha ^{k}\beta ^{-n}\beta ^{k} \\
y\left( n\right) =\beta ^{-n}\sum_{k=0}^{N-1}\left( \alpha \beta \right) ^{k}
\\
y\left( n\right) =\beta ^{-n}\frac{1-\left( \alpha \beta \right) ^{N}}{%
1-\left( \alpha \beta \right) }
\end{eqnarray*}

\subsubsection{Ejemplo 2}

Mostrar que la convoluci\'on de una se\~nal impulso unitario con un kernel
cualquiera es el mismo kernel
\[
\delta (n)*h(n)=h(n)
\]
prueba

Por definici\'on tenemos

\[
y(n)=\sum_{k=-\infty }^{\infty }x(k)h(n-k)
\]
para nuestro caso sustituimos $x(n)$ por la funci\'on impulso $\delta (n)$ dando lugar a
\[
y(n)=\sum_{k=-\infty }^{\infty }\delta (k)h(n-k)
\]
recordemos que la funci\'on impulso, ser\'a igual a $1$ solo cuando su argumento es cero, por lo cual
\begin{eqnarray*}
y(n)=\cdots +0\times h(n-1)+1\times h(n)+0\times h(n+1)+\cdots \\
y(n)=h(n)
\end{eqnarray*}

Por esta propiedad al kernel se le conoce tambi\'en como respuesta al impulso.

\subsubsection{Ejemplo 3}

Mostrar que dado $y(n) = x(n)*h(n)$ podemos hacer $y'(n) = x(n)*h'(n)$

Por definici\'on tenemos
\begin{equation*}
 y(n) = \sum _{k=-\infty}^ {\infty}x(k)*h(n-k)
\end{equation*}
y que la derivada de una funci\'on discretizada puede ser representada por $y'(n) = y(n)-y(n-1)$ tenemos

\begin{eqnarray*}
y(n)-y(n-1) = \sum _{k=-\infty}^ {\infty}x(k)*h(n-k) - \sum
_{k=-\infty}^ {\infty}x(k)*h((n-1)-k) \\
y(n)-y(n-1) = \sum _{k=-\infty}^ {\infty}x(k)*\left [ h(n-k) -h((n-1)-k) \right ] \\
y'(n)=\sum _{k=-\infty}^ {\infty}x(k)* h'(n-k) \\
\end{eqnarray*}


\section{Algunos kerneles interesantes}

\subsection{Suavizadores}

\subsubsection{Caja}

Para implementar este suavizador, en una dimension, utilizamos una se\~nal dada como $h(n)=[0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0]$

En dos dimensiones, podemos implementar este kernel de manera separada si hacemos la siguiente operaci\'on

\[
\left(
\begin{array}{ccccc}
0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 \\
0 & 1 & 1 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0
\end{array}
\right) *\left(
\begin{array}{ccccc}
0 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 0
\end{array}
\right) =\left(
\begin{array}{ccccc}
0 & 0 & 0 & 0 & 0 \\
0 & 1 & 1 & 1 & 0 \\
0 & 1 & 1 & 1 & 0 \\
0 & 1 & 1 & 1 & 0 \\
0 & 0 & 0 & 0 & 0
\end{array}
\right)
\]
En la figura \ref{fig:caja} y \ref{fig:caja2d}, se presentan gr\'aficamente, los kerneles para suavizadores de caja en una y dos dimensiones

\subsubsection{Binomial}

Este kernel esta basado en los coeficientes binomiales. Una manera f\'acil de calcularlo es utilizar un tri\'angulo de Pascal, de la siguiente forma. 

\begin{center}
1,1
1,2,1
1,3,3,1
1,4,6,4,1
1,5,10,10,5,1
1,6,15,20,15,6,1
\end{center}

Dado $b_{1}=[1,1]$ podemos calcular

\begin{eqnarray*}
b_{2}=b_{1}*b_{1} \\
b_{3}=b_{2}*b_{1} \\
b_{4}=b_{3}*b_{1} \\
\vdots \\
b_{k+1}=b_{k}*b_{1}
\end{eqnarray*}

Para su implementaci\'on este kernel es normalizado para que su suma de 1. En dos dimensiones de manera separable se puede implementar como

\[
B_{3}=b_{3}*b_{3}
\]

Note que este kernel es recursivo.

\[
\frac{1}{4}\left(
\begin{array}{ccccc}
0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 \\
0 & 1 & 2 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0
\end{array}
\right) *\frac{1}{4}\left(
\begin{array}{ccccc}
0 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 \\
0 & 0 & 2 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 0
\end{array}
\right) =\frac{1}{16}\left(
\begin{array}{ccccc}
0 & 0 & 0 & 0 & 0 \\
0 & 1 & 2 & 1 & 0 \\
0 & 2 & 4 & 2 & 0 \\
0 & 1 & 2 & 1 & 0 \\
0 & 0 & 0 & 0 & 0
\end{array}
\right)
\]

\subsubsection{Gaussiano}

Este kernel es creado utilizando una campana de Gauss. Par calcularla utilizamos la expresi\'on

\[
g(x)=\frac{1}{\sqrt{2\pi }\sigma }\exp ^{\frac{(x-\mu )^{2}}{2\sigma ^{2}}}
\]
donde: $\mu $ es la media de la distribuci\'on y $\sigma $ es la varianza. En nuestro caso la media la consideraremos cero y la varianza la utilizaremos como una estimaci\'on del tama\'oo del kernel.

En dos dimensiones calcularemos nuestro kernel de manera desacoplada haciendo $g(x,y)=g(x)*g(y)$. En la figura \ref{fig:gausiana} se muestra el kernel Gaussiano en una dimensi\'on y \ref{fig:gaussiana2d} en dos
dimensiones.
\begin{figure}[h!]
\begin{center}
{\normalsize 
\subfigure[Caja en 1d\label{fig:caja}]{\psfig{figure=figuras/caja.eps,width=3.5cm}} \hfill 
\subfigure[Binomial 1d\label{fig:binomial}]{\psfig{figure=figuras/binomial.eps,width=3.5cm}} \hfill 
\subfigure[Gaussiano 1d\label{fig:gausiana}]{\psfig{figure=figuras/gaussiana.eps,width=3.5cm}}
}
\par
{\normalsize \subfigure[Caja 2d\label{fig:caja2d}]{%
\psfig{figure=figuras/caja2d.eps,width=3.5cm}} \hfill 
\subfigure[Binomial 2d\label{fig:binomial2d}]{\psfig{figure=figuras/binomial2d.eps,width=3.5cm}} \hfill
\subfigure[Gaussiano 2d\label{fig:gaussiana2d}]{\psfig{figure=figuras/gaussiana2d.eps,width=3.5cm}} }
\end{center}
\caption{Kerneles para suavizado de se\~nales en una y dos dimensiones}
\end{figure}

\subsection{Derivadas}

\subsubsection{Derivada en $x$ y $y$}

La derivada de una funci\'on esta definida como
\[
\frac{df(x)}{dx}=\lim_{h\rightarrow 0}\frac{f(x)-f(x-h)}{h}
\]
considerando un incremento unitario, que para el caso discreto es el m\'as peque\~no y que la se\~nal fue capturada con una frecuencia de muestreo adecuada tenemos que la derivada la podemos aproximar por
\[
\frac{df(x)}{dx}\thickapprox f(x)-f(x-h)
\]
De la expresi\'on anterior podemos ver que el kernel de derivadas ser\'o $d(n)=[1-1]$, as\'o la derivada la calcularemos como $y(n)*d(n)$.

Para calcular las derivadas de orden N, solamente debemos recordar que se debe aplicar sucesivamente la derivada de orden uno, con ello damos lugar a la siguiente familia de kerneles.

\begin{center}
+1,-1
+1,-2,+1
+1,-3,+3,-1
+1,-4,+6,-4,-1
\end{center}

\subsubsection{Derivadas de Gaussianas}

Un problema que presenta el c\'olculo de las derivadas utilizando convoluci\'on es que son amplificadores de ruido. Esto quiere decir que si la se\~nal presenta ruido, la se\~nal resultante de la convoluci\'on, el ruido ser\'a m\'as notorio. Una manera de eliminar el ruido de una se\~nal es aplicar un suavizador, el m\'os apropiado es el suavizado Gaussiano \cite{Jahne02}. As\'i pues, para eliminar el ruido, es deseable primero convolucionamos con un kernel gaussiano y luego aplicamos un kernel de derivadas de la siguiente forma
\[
y(n)=(x(n)*h(n))*d(n)=x(n)*(h(n)*d(n))=x(n)*\frac{dg(x)}{dx}
\]
Resulta que tanto $h(n)$ y $d(n)$ son aproximaciones de una Gaussiana y una derivada respectivamente, y que ambos dan lugar a un nuevo kernel, pero es m\'as inteligente calcular este kernel como la derivada de una funci\'on gaussiana. El kernel de derivada Gaussiano es
\[
\frac{dg(x)}{dx}=\frac{-x}{\sigma ^{2}}\left[ \frac{1}{\sqrt{2\pi }\sigma }%
\exp ^{\frac{-x^{2}}{2\sigma ^{2}}}\right]
\]
El kernel de segunda derivada es
\[
\frac{d^{2}g(x)}{dx}=\left[ \frac{x^{2}}{\sigma ^{4}}-\frac{1}{\sigma ^{2}}%
\right] \left[ \frac{1}{\sqrt{2\pi }\sigma }\exp ^{\frac{-x^{2}}{2\sigma ^{2}%
}}\right]
\]

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[Primer derivada 1d\label{fig:dergauss}]{%
\psfig{figure=figuras/dergauss.eps,width=5cm}} \hfill \subfigure[Segunda derivada 1d%
\label{fig:der2gauss}]{\psfig{figure=figuras/der2gauss.eps,width=5cm}} \hfill }
\end{center}
\caption{Kerneles de derivadas de gaussianas con $\sigma =10$}
\end{figure}

En dos dimensiones, la implementaci\'on de estos kerneles lo haremos de manera separable de la siguiente manera. As\'i la derivada en la direcci\'on x ser\'a

\begin{eqnarray*}
g(x,y)=g(x)*g(y) \\
\frac{\partial g(x,y)}{\partial x}=\frac{\partial g(x)}{\partial x}*g(y) \\
\frac{\partial g(x,y)}{\partial y}=g(x)*\frac{\partial g(y)}{\partial y}
\end{eqnarray*}

Las segundas derivadas se calcular\'an como:

\begin{eqnarray*}
\frac{\partial ^{2}g(x,y)}{\partial x^{2}}=\frac{\partial ^{2}g(x)}{\partial
x^{2}}*g(y) \\
\frac{\partial ^{2}g(x,y)}{\partial x\partial y}=\frac{\partial g(x)}{%
\partial x}*\frac{\partial g(y)}{\partial y} \\
\frac{\partial ^{2}g(x,y)}{\partial y^{2}}=g(x)*\frac{\partial ^{2}g(y)}{%
\partial y^{2}}
\end{eqnarray*}

En la figuras \ref{fig:der2gauss_xx}, \ref{fig:der2gauss_xy} y \ref
{fig:der2gauss_yy}, se presentan los kerneles de derivadas de Gaussianas en
dos dimensiones.

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[Kernel $\frac{\partial^2 g(x,y)}{\partial x^2}$ en 2d%
\label{fig:der2gauss_xx}]{\psfig{figure=figuras/der2gauss_xx.eps,width=3.5cm}}
\hfill 
\subfigure[Kernel $\frac{\partial^2 g(x,y)}{\partial x \partial y}$ en 2d\label{fig:der2gauss_xy}]{\psfig{figure=figuras/der2gauss_xy.eps,width=3.5cm}}
\hfill \subfigure[Kernel $\frac{\partial^2 g(x,y)}{\partial y^2}$ en 2d\label%
{fig:der2gauss_yy}]{\psfig{figure=figuras/der2gauss_yy.eps,width=3.5cm}} }
\end{center}
\caption{Kerneles de derivadas de gaussianas con $\sigma =10$ en dos
dimensiones}
\end{figure}

\subsubsection{Laplaciano}

El Laplaciano resulta de sumar las segundas derivadas en $x$ y $y$ de una se\~nal bidimensional y esta dado por la siguiente expresi\'on
\[
\Delta =\frac{\partial ^{2}g(x,y)}{\partial x^{2}}+\frac{\partial ^{2}g(x,y)%
}{\partial y^{2}}
\]
Este kernel lo podemos construir sumando los kerneles de segundas derivadas de la siguiente forma
\[
\left(
\begin{array}{ccc}
0 & 0 & 0 \\
1 & -2 & 1 \\
0 & 0 & 0
\end{array}
\right) +\left(
\begin{array}{ccc}
0 & 1 & 0 \\
0 & -2 & 0 \\
0 & 1 & 0
\end{array}
\right) =\left(
\begin{array}{ccc}
0 & 1 & 0 \\
1 & -4 & 1 \\
0 & 1 & 0
\end{array}
\right)
\]
De manera robusta lo podemos calcular utilizando derivadas de Gaussiana, lo cual da lugar al kernel denominado ''Mexican Hat''. Este kernel se utiliza para determinar bordes en una imagen y podemos ver este kernel en la figura
\ref{fig:Laplaciano}

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/laplaciano.eps,width=6.0cm}} }
\caption{Laplaciano. Mexican Hat}
\label{fig:Laplaciano}
\end{figure}

\section{Respuesta de Sistemas lineales invariantes en el tiempo a
exponenciales complejas.}

La importancia de las exponenciales complejas en el estudios de sistemas LTI proviene del hecho, de que la respuesta de un sistema LTI a una entrada exponencial compleja es la misma exponencial compleja modificada solo en amplitud.
\[
T\left[ z^{n}\right] =H(z)z^{n}
\]
donde el factor complejo de la amplitud $H(z)$ ser\'o en general una funci\'on de la variable compleja s. Esto lo podemos mostrar haciendo
\begin{eqnarray*}
y(n)=\sum_{k=-\infty }^{\infty }h\left( k\right) x\left( n-k\right) \\
y(n)=\sum_{k=-\infty }^{\infty }h\left( k\right) z^{\left( n-k\right) } \\
y(n)=\sum_{k=-\infty }^{\infty }h\left( k\right) z^{n}z^{-k} \\
y(n)=z^{n}\sum_{k=-\infty }^{\infty }h\left( k\right) z^{-k} \\
y(n)=H(z)z^{n}
\end{eqnarray*}
donde
\[
H(z)=\sum_{k=-\infty }^{\infty }h\left( k\right) z^{-k}
\]
hemos demostrado que cualquier exponencial compleja es una funci\'on caracter\'istica de un sistema LIT.

Si la entrada de un sistema LIT de tiempo discreto se presenta como una combinaci\'on de exponenciales complejas, esto es, si
\[
x\left( n\right) =\sum_{k}a_{k}z_{k}^{n}
\]
entonces la salida es
\[
y\left( n\right) =\sum_{k}a_{k}H\left( z_{k}\right) z_{k}^{n}
\]

\chapter{Transformada de Fourier}

\section{Representaci\'on de se\~nales peri\'odicas.}

Recordemos que la exponencial compleja $e^{j(2\pi /N)n}$ es peri\'odica con periodo $N$ y existe una familia de exponenciales complejas tambi\'en con periodo $N$ dadas por
\[
\phi _{k}\left( n\right) =e^{jk(2\pi /N)n}
\]
todas estas se\~nales tienen frecuencias que son m\'ultiplos de las misma frecuencia fundamental $2\pi /N$. As\'i cuando $k=0$ llamaremos a este el componente de CD de la se\~nal, cuando $k=1$ como arm\'onico de frecuencia
fundamenta, $k=2$ segundo arm\'onico y as\'i sucesivamente.

Con esto queremos llegar a hacer la representaci\'on de una se\~nal peri\'odica como la combinaci\'on de exponenciales complejas, tal que
\[
x\left( n\right) =\sum_{k=0}^{N-1}a_{k}\phi _{k}\left( n\right)
=\sum_{k=0}^{N-1}a_{k}e^{jk(2\pi /N)n}
\]
esta ecuaci\'on es conocida como la serie de Fourier de tiempo discreto y los coeficientes $a_{k}$ como los coeficientes de esta.

Para determinar los coeficientes de la serie de Fourier procedemos
\begin{eqnarray*}
x\left( 0\right) =a_{0}\phi _{0}\left( 0\right) +a_{1}\phi _{1}\left(
0\right) +a_{2}\phi _{2}\left( 0\right) +...+a_{N-1}\phi _{N-1}\left(
0\right) \\
x\left( 1\right) =a_{0}\phi _{0}\left( 1\right) +a_{1}\phi _{1}\left(
1\right) +a_{2}\phi _{2}\left( 1\right) +...+a_{N-1}\phi _{N-1}\left(
1\right) \\
x\left( 2\right) =a_{0}\phi _{0}\left( 2\right) +a_{1}\phi _{1}\left(
2\right) +a_{2}\phi _{2}\left( 2\right) +...+a_{N-1}\phi _{N-1}\left(
2\right) \\
x\left( N-1\right) =a_{0}\phi _{0}\left( N-1\right) +a_{1}\phi _{1}\left(
N-1\right) +...+a_{N-1}\phi _{N-1}\left( N-1\right)
\end{eqnarray*}

En forma matricial
\[
\left[
\begin{array}{cccc}
\phi _{0}\left( 0\right) & \phi _{1}\left( 0\right) & \ldots & \phi
_{N-1}\left( 0\right) \\
\phi _{0}\left( 1\right) & \phi _{1}\left( 1\right) & \ldots & \phi
_{N-1}\left( 1\right) \\
\vdots & \vdots & \ddots & \vdots \\
\phi _{0}\left( N-1\right) & \phi _{1}\left( N-1\right) & \ldots & \phi
_{N-1}\left( N-1\right)
\end{array}
\right] \left[
\begin{array}{c}
a_{0} \\
a_{1} \\
\vdots \\
a_{N-1}
\end{array}
\right] =\left[
\begin{array}{c}
x_{0} \\
x_{1} \\
\vdots \\
x_{N-1}
\end{array}
\right]
\]

Tenemos un sistema $\Phi a=x$ para el cual la soluci\'on puede ser calculada si encontramos la inversa de la matriz $\Phi .$ Pero una alternativa es multiplicar por $e^{-jr(2\pi /N)n}$\ ambos lados de la representaci\'on en serie de Fourier y sumar para todos los $N$ t\'orminos de la serie

\begin{eqnarray*}
\sum_{n=0}^{N-1}x\left( n\right) e^{-jr(2\pi
/N)n}=\sum_{n=0}^{N-1}\sum_{k=0}^{N-1}a_{k}e^{jk(2\pi /N)n}e^{-jr(2\pi /N)n}
\\
\sum_{n=0}^{N-1}x\left( n\right) e^{-jr(2\pi
/N)n}=\sum_{k=0}^{N-1}a_{k}\sum_{n=0}^{N-1}e^{j\left( k-r\right) (2\pi /N)n}
\end{eqnarray*}
la suma interior para $n$ en el lado derecho de la ecuaci\'on es cero a menos que $k-r$ sea cero o un m\'oltiplo entero de $N$ . Por tanto si escogemos valores de $r$ sobre el mismo rango de $k$, tendremos que esta suma es igual a $N$ si $k=r$ y cero de lo contrario, por lo que tenemos
\begin{eqnarray*}
Na_{r}=\sum_{n=0}^{N-1}x\left( n\right) e^{-jr(2\pi /N)n} \\
a_{r}=\frac{1}{N}\sum_{n=0}^{N-1}x\left( n\right) e^{-jr(2\pi /N)n} \\
=\frac{1}{N}\sum_{n=0}^{N-1}x\left( n\right) \phi _{r}^{*}\left( n\right)
\end{eqnarray*}

En lo general representaremos la transformada de Fourier como
\[
X\left( k\right) =\frac{1}{N}\sum_{n=0}^{N-1}x\left( n\right) \phi
_{r}^{*}\left( n\right)
\]

\subsection{Ejemplo}

Encontrar los coeficientes de Fourier de la se\~nal mostrada en la Fig. \ref{fig:orig}, cuyos elementos son $x(n)=[1,1,1,0,0,0,0,1,1]^{T}$.

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/orig.eps,width=6.0cm}} }
\caption{Se\~nal a descomponer en Fourier}
\label{fig:orig}
\end{figure}

Para encontrar los coeficientes de Fourier de la se\~nal $x$, es necesario calcular el siguiente sistema de ecuaciones:

\[
\Phi a_{k}=x_{n}
\]

\noindent donde $\Phi $ es la matriz de exponenciales complejas $\exp ^{j\frac{2\pi }{N}}kn$ (N es la cantidad de muestras de la se\~nal, en este caso es 9) y es igual,

\[
\Phi =\left(
\begin{array}{ccccccccc}
\phi _{0}(0) & \phi _{1}(0) & \phi _{2}(0) & \phi _{3}(0) & \phi _{4}(0) &
\phi _{5}(0) & \phi _{6}(0) & \phi _{7}(0) & \phi _{8}(0) \\
\phi _{0}(1) & \phi _{1}(1) & \phi _{2}(1) & \phi _{3}(1) & \phi _{4}(1) &
\phi _{5}(1) & \phi _{6}(1) & \phi _{7}(1) & \phi _{8}(1) \\
\phi _{0}(2) & \phi _{1}(2) & \phi _{2}(2) & \phi _{3}(2) & \phi _{4}(2) &
\phi _{5}(2) & \phi _{6}(2) & \phi _{7}(2) & \phi _{8}(2) \\
\phi _{0}(3) & \phi _{1}(3) & \phi _{2}(3) & \phi _{3}(3) & \phi _{4}(3) &
\phi _{5}(3) & \phi _{6}(3) & \phi _{7}(3) & \phi _{8}(3) \\
\phi _{0}(4) & \phi _{1}(4) & \phi _{2}(4) & \phi _{3}(4) & \phi _{4}(4) &
\phi _{5}(4) & \phi _{6}(4) & \phi _{7}(4) & \phi _{8}(4) \\
\phi _{0}(5) & \phi _{1}(5) & \phi _{2}(5) & \phi _{3}(5) & \phi _{4}(5) &
\phi _{5}(5) & \phi _{6}(5) & \phi _{7}(5) & \phi _{8}(5) \\
\phi _{0}(6) & \phi _{1}(6) & \phi _{2}(6) & \phi _{3}(6) & \phi _{4}(6) &
\phi _{5}(6) & \phi _{6}(6) & \phi _{7}(6) & \phi _{8}(6) \\
\phi _{0}(7) & \phi _{1}(7) & \phi _{2}(7) & \phi _{3}(7) & \phi _{4}(7) &
\phi _{5}(7) & \phi _{6}(7) & \phi _{7}(7) & \phi _{8}(7) \\
\phi _{0}(8) & \phi _{1}(8) & \phi _{2}(8) & \phi _{3}(8) & \phi _{4}(8) &
\phi _{5}(8) & \phi _{6}(8) & \phi _{7}(8) & \phi _{8}(8)
\end{array}
\right)
\]

\noindent adem\'as,

\[
a_{k}=\left(
\begin{array}{c}
a_{0} \\
a_{1} \\
a_{2} \\
a_{3} \\
a_{4} \\
a_{5} \\
a_{6} \\
a_{7} \\
a_{8}
\end{array}
\right)
\]

\noindent y finalmente,

\[
x_{n}=\left(
\begin{array}{c}
x(0) \\
x(1) \\
x(2) \\
x(3) \\
x(4) \\
x(5) \\
x(6) \\
x(7) \\
x(1)
\end{array}
\right)
\]

Al resolver el sistema de ecuaciones se obtuvieron los coeficientes:

\[
a_{k}=\left(
\begin{array}{c}
0.5556 \\
0.3199 \\
-0.0591 \\
-0.1111 \\
0.0725 \\
0.0725 \\
-0.1111 \\
-0.0591 \\
0.3199
\end{array}
\right)
\]

Note que $a_{k}$ no contiene elementos imaginario. Esto se debe a que la se\~nal es par y por lo tanto, se puede representar con suma de cosenos.

A continuaci\'on se va a reconstruir la se\~nal original usando los coeficientes de Fourier obtenidos calculando,

\[
y_{n}=\Phi a_{k}
\]

Para poder observar la importancia de cada uno de los coeficientes encontrados, primero se va a reconstruir la se\~nal usando un solo coeficiente de manera que $a_{k}=[a_{0},0,0,0,0,0,0,0,0]^{T}$, despu\'es se van a usar dos
coeficientes, de modo que $a_{k}=[a_{0},a{1},0,0,0,0,0,0,0]^{T}$, y as\'i sucesivamente hasta utilizar los 9 coeficientes. Los resultados de este ejercicio se muestran en las Figs. \ref{fig:graf0}-\ref{fig:graf8}.

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[\label{fig:graf0}]{%
\psfig{figure=figuras/graf0.eps,width=3.5cm}} \hfill \subfigure[\label{fig:graf1}]{%
\psfig{figure=figuras/graf1.eps,width=3.5cm}} \hfill \subfigure[\label{fig:graf2}]{%
\psfig{figure=figuras/graf2.eps,width=3.5cm}} }
\par
{\normalsize \subfigure[\label{fig:graf3}]{%
\psfig{figure=figuras/graf3.eps,width=3.5cm}} \hfill \subfigure[\label{fig:graf4}]{%
\psfig{figure=figuras/graf4.eps,width=3.5cm}} \hfill \subfigure[\label{fig:graf5}]{%
\psfig{figure=figuras/graf5.eps,width=3.5cm}} }
\par
{\normalsize \subfigure[\label{fig:graf6}]{%
\psfig{figure=figuras/graf6.eps,width=3.5cm}} \hfill \subfigure[\label{fig:graf7}]{%
\psfig{figure=figuras/graf7.eps,width=3.5cm}} \hfill \subfigure[\label{fig:graf8}]{%
\psfig{figure=figuras/graf8.eps,width=3.5cm}}\label{fig:graf} }
\end{center}
\caption{Reconstrucci\'on de la se\~nal usando los coeficientes de Fourier}
\end{figure}

\section{Propiedades de la Transformada de Discreta Fourier}
La transformada de Fourier discreta, presenta algunas propiedades un cuanto diferentes que la transformada continua. A continuaci\'on se mencionan algunas y se da la demostraci\'on de tales
\subsection{Periodicidad}
Sea una se\~nal $x(n)$, mostrar que la transformada de Fourier,
$X(k)$ tiene periodo N.

Si la funci\'on es peri\'odica entonces
\begin{equation*}
  X(k) = X(k+N)
\end{equation*}
La transformada de Fourier para ambas se\~nales es
\begin{eqnarray*}
  X(k) &=& \frac{1}{N}\sum_{n=0}^{N-1} x(n) e^{-j\left(\frac{2\pi }{N}\right)
  nk}\\
  X(k+N) &=&\frac{1}{N}\sum_{n=0}^{N-1} x(n) e^{-j\left(\frac{2\pi }{N}\right)
  n(k+N)}\\
  X(k+N) &=&\frac{1}{N}\sum_{n=0}^{N-1} x(n) e^{-j\left(\frac{2\pi }{N}\right)
  nk} e^{-j\left(\frac{2\pi }{N}\right) nN} \\
  X(k+N) &=&\frac{1}{N}\sum_{n=0}^{N-1} x(n) e^{-j\left(\frac{2\pi }{N}\right)
  nk} \\
\end{eqnarray*}

\subsection{Linealidad}

Si

\begin{eqnarray*}
x_{1}(n)\stackrel{\mathcal{F}}{\leftrightarrow }X_{1}(k) \\
x_{2}(n)\stackrel{\mathcal{F}}{\leftrightarrow }X_{2}(k)
\end{eqnarray*}
entonces
\[
ax_{1}(n)+bx_{2}(n)\stackrel{\mathcal{F}}{\leftrightarrow }%
aX_{1}(k)+bX_{2}(k)
\]
prueba
\[
X(k)=\frac{1}{N}\sum_{n=0}^{N-1}x(n)e^{-j\left( \frac{2\pi
}{N}\right) nk}
\]
para la suma de $ax_{1}(n)+bx_{2}(n)$ queda
\begin{eqnarray*}
=\frac{1}{N}\sum_{n=0}^{N-1}\left[ ax_{1}(n)+bx_{2}(n)\right]
e^{-j\left(
\frac{2\pi }{N}\right) nk} \\
=\frac{a}{N}\sum_{n=0}^{N-1}x_{1}(n)e^{-j\left( \frac{2\pi }{N}\right) nk}+%
\frac{b}{N}\sum_{n=0}^{N-1}x_{2}(n)e^{-j\left( \frac{2\pi }{N}\right) nk} \\
=aX_{1}(k)+bX_{2}(k)
\end{eqnarray*}

\subsection{Desplazamiento en tiempo}

Si
\begin{eqnarray*}
x(n)\stackrel{\mathcal{F}}{\leftrightarrow }X(k) \\
x(n-n_{0})\stackrel{\mathcal{F}}{\leftrightarrow }e^{-j\left( \frac{2\pi }{N}%
\right) n_{0}k}X(k)
\end{eqnarray*}
demostraci\'on
\[
X(k)=\frac{1}{N}\sum_{n=0}^{N}x(n-n_{0})e^{j\left( \frac{2\pi
}{N}\right) nk}
\]
haciendo en cambio de variable $\widehat{n}=n-n_{0}$ tenemos
\begin{eqnarray*}
X(k)&=&\frac{1}{N}\sum_{\widehat{n}=-n_0}^{N-1-n_0}x(\widehat{n})e^{-j\left(
\frac{2\pi }{N}\right)
\left( \widehat{n}+n_{0}\right) k} \\
X(k)&=&\frac{1}{N}\sum_{\widehat{n}=0}^{N-1}x(\widehat{n})e^{-j\left(
\frac{2\pi }{N}\right)
\widehat{n}k}e^{-j\left( \frac{2\pi }{N}\right) n_{0}k} \\
X(k)&=&e^{-j\left( \frac{2\pi }{N}\right) n_{0}k}\frac{1}{N}\sum_{\widehat{n}=0}^{N-1}x(%
\widehat{n})e^{-j\left( \frac{2\pi }{N}\right) \widehat{n}k} \\
X(k)&=&e^{-j\left( \frac{2\pi }{N}\right) n_{0}k}X(k)
\end{eqnarray*}

\subsection{Desplazamiento en frecuencia}
Ahora si hacemos un desplazamiento en frecuencia tenemos que
\[
e^{j\left( \frac{2\pi }{N}\right) nk_{0}}x(n)\stackrel{\mathcal{F}}{\leftrightarrow }X(k-k_{0})
\]
demostraci\'on
\[
X_2{k}=\sum_{k=0}^{N-1}X(k-k_{0})e^{j\left( \frac{2\pi }{N}\right)
nk}
\]
haciendo el cambio de variable $\widehat{k}=k-k_{0}$ tenemos
\begin{eqnarray*}
X_2{k}&=&\sum_{\widehat{k}=-k_{0}}^{N-1-k_{0}}X(\widehat{k})e^{j\left(
\frac{2\pi }{N}\right)
n\left( \widehat{k}+k_{0}\right) } \\
X_2{k}&=&=\sum_{\widehat{k}=0}^{N-1}X(\widehat{k})e^{j\left( \frac{2\pi }{N}\right) n%
\widehat{k}}e^{j\left( \frac{2\pi }{N}\right) nk_{0}} \\
X_2{k}&=&=e^{j\left( \frac{2\pi }{N}\right) nk_{0}}\sum_{\widehat{k}=0}^{N-1}X(\widehat{k})e^{j\left( \frac{2\pi }{N}\right) n%
\widehat{k}} \\
X_2{k}&=&=e^{j\left( \frac{2\pi }{N}\right) nk_{0}}x(n)
\end{eqnarray*}

\subsection{Conjugaci\'on}

La definici\'on del conjugado de un n\'umero complejo es
\begin{eqnarray*}
x=R+jI \\
x^{*}=R-jI
\end{eqnarray*}

Mostrar que:
\[
x^{*}(n)\stackrel{\mathcal{F}}{\leftrightarrow }X^{*}(-k)
\]
comenzaremos por
\begin{eqnarray*}
X_2(k)&=&\frac{1}{N}\sum_{n=0}^{N-1}x^{*}(n)e^{-j\left( \frac{2\pi }{N}\right) nk} \\
X_2(k)&=&\frac{1}{N}\left[ \sum_{n=0}^{N-1}x(n)e^{-j\left(
\frac{2\pi }{N}\right)
n\left( -k\right) }\right] ^{*} \\
X_2(k)&=&X^{*}(-k)
\end{eqnarray*}

\subsection{Inversi\'on en Tiempo}

Mostrar que
\[
x(-n)\stackrel{\mathcal{F}}{\leftrightarrow }X(-k)
\]
Comenzaremos por calcular la transformada de Fourier de $x(-n)$
\[
X_2(k)=\frac{1}{N}\sum_{n=0}^{N-1}x(-n)e^{-j\left( \frac{2\pi
}{N}\right) nk}
\]
hacemos el cambio de variable $m=-n$
\begin{eqnarray*}
X_2(k)&=&\frac{1}{N}\sum_{m=0}^{-N+1}x(m)e^{-j\left( \frac{2\pi }{N}\right) (-m)k} \\
X_2(k)&=&\frac{1}{N}\sum_{m=0}^{N-1}x(m)e^{-j\left( \frac{2\pi }{N}\right) m(-k)} \\
X_2(k)&=&X(-k)
\end{eqnarray*}

\subsection{Escalamiento en tiempo}

Sea $x(an)$ una se\~nal multiplicada por un entero, calcular la transformada de Fourier para este caso
\[
X_2(k)=\frac{1}{N}\sum_{n=0}^{N-1}x(an)e^{-j\left( \frac{2\pi
}{N}\right) nk}
\]
haciendo $m=an$ tenemos
\begin{eqnarray*}
X_2(k)&=&\frac{1}{N}\sum_{n=0}^{N-1}x(m)e^{-j\left( \frac{2\pi
}{N}\right) \left(
\frac{m}{a}\right) k} \\
X_2(k)&=&\frac{1}{N}\sum_{m=0}^{a(N-1)}x(m)e^{-j\left( \frac{2\pi
}{N}\right)
m\left( \frac{k}{a}\right) } \\
&=&X(\frac{k}{a})
\end{eqnarray*}
Note que el rango de la TDF, tambi\'en se escala.

\subsection{Convoluci\'on}

El teorema de la convoluci\'on afirma que si $\mathcal{F}\left[
x\left(
n\right) \right] =X(k)$ y $\mathcal{F}\left[ y\left( n\right) \right] =Y(k)$%
\ entonces
\[
x\left( n\right) *y\left( n\right) =NX(k)Y(k)
\]
demostraci\'on:

Consideremos que la convoluci\'on $g(n) = x\left( n\right)
*y\left( n\right)$  est\'e dada por
\[
g(n) = \sum_{m=0}^{N-1}x\left( m\right) y\left( n-m\right)
\]
y la transformada de fourier de $g(n)$ es
\begin{eqnarray*}
G(k) &=&\frac{1}{N}\sum_{n=0}^{N-1}\left[ g(n) \right] e^{-j\left(
\frac{2\pi
}{N}\right) nk} \\
G(k) &=&\frac{1}{N}\sum_{n=0}^{N-1}\left[ \sum_{m=0}^{N-1}x\left(
m\right) y\left( n-m\right) \right] e^{-j\left( \frac{2\pi
}{N}\right) nk}
\end{eqnarray*}
cambiando el orden de la sumatoria
\[
G(k)=\frac{1}{N}\sum_{m=0}^{N-1}x\left( m\right) \left[
\sum_{n=0}^{N-1}y\left( n-m\right) e^{-j\left( \frac{2\pi
}{N}\right) nk}\right]
\]
haciendo $\widehat{n}=n-m$
\begin{eqnarray*}
G(k)&=&\frac{1}{N}\sum_{m=0}^{N-1}x\left( m\right) \left[
\sum_{n=0}^{N-1}y\left(
\widehat{n}\right) e^{-j\left( \frac{2\pi }{N}\right) \left( \widehat{n}%
+m\right) k}\right] \\
G(k)&=&\frac{1}{N}\sum_{m=0}^{N-1}x\left( m\right) e^{-j\left( \frac{2\pi }{N}%
\right) mk}\left[ \sum_{\widehat{n}=0}^{N-1}y\left(
\widehat{n}\right)
e^{-j\left( \frac{2\pi }{N}\right) \widehat{n}k}\right] \\
G(k)&=&N\left[ \frac{1}{N}\sum_{m=0}^{N-1}x\left( m\right)
e^{-j\left( \frac{2\pi }{N}\right) mk}\right] \left[
\frac{1}{N}\sum_{\widehat{n}=0}^{N-1}y\left(
\widehat{n}\right) e^{-j\left( \frac{2\pi }{N}\right) \widehat{n}k}\right] \\
G(k)&=&NX(k)Y(k)
\end{eqnarray*}

\subsection{Multiplicaci\'on}

De manera inversa podemos ver que si $\mathcal{F}\left[ x\left(
n\right) \right] =X(k)$ y $\mathcal{F}\left[ y\left( n\right)
\right] =Y(k)$\ entonces
\[
x\left( n\right) y\left( n\right) =X(k)*Y(k)
\]
demostraci\'on:

Consideremos que la convoluci\'on $G(k) = X(k)*Y(k)$ est\'a dada por
\begin{equation*}
G(k) = \sum_{l=0}^{N-1}X\left( l\right) Y\left( k-l\right)
\end{equation*}
y su transformada de Fourier la podemos calcular como:
\begin{eqnarray*}
g(n) &=& \sum_{k=0}^{N-1}\left[ G(k)\right] e^{j\left( \frac{2\pi
}{N}\right) nk}
\\
g(n) &=& \sum_{k=0}^{N-1}\left[ \sum_{l=0}^{N-1}X\left( l\right)
Y\left( k-l\right) \right] e^{j\left( \frac{2\pi }{N}\right) nk}
\end{eqnarray*}

cambiando el orden de la sumatoria
\[
g(n) = \sum_{l=0}^{N-1}X\left( l\right) \left[
\sum_{k=0}^{N-1}Y\left( k-l\right) e^{j\left( \frac{2\pi
}{N}\right) nk}\right]
\]
haciendo $\widehat{k}=k-l$
\begin{eqnarray*}
g(n) & = & \sum_{l=0}^{N-1}X\left( l\right) \left[
\sum_{\widehat{k}=-l}^{N-1-l}Y\left(
\widehat{k}\right) e^{j\left( \frac{2\pi }{N}\right) n\left( \widehat{k}%
+l\right) }\right] \\
g(n) & = & \left[ \sum_{l=0}^{N-1}X\left( l\right) e^{j\left(
\frac{2\pi }{N}\right) nl}\right] \left[
\sum_{\widehat{k}=0}^{N-1}Y\left( \widehat{k}\right)
e^{j\left( \frac{2\pi }{N}\right) n\widehat{k}}\right] \\
g(n) & = & x(n)y(n)
\end{eqnarray*}

\subsection{Diferenciaci\'on en Tiempo}

Demostrar que
\[
x(n)-x(n-1)\stackrel{\mathcal{F}}{\leftrightarrow }\left(
1-e^{-j\left( \frac{2\pi }{N}\right) k}\right) X(k)
\]
tenemos que
\[
x(n)\stackrel{\mathcal{F}}{\leftrightarrow }X(k)
\]
y
\[
x(n-1)\stackrel{\mathcal{F}}{\leftrightarrow }e^{-j\left( \frac{2\pi }{N}%
\right) k}X(k)X(k)
\]
por superposici\'on demostramos la primera.


\subsection{Diferenciaci\'on en Frecuencia}
Demostrar que
\[
X(k)-X(k-1)\stackrel{\mathcal{F}}{\leftrightarrow }\left(
1-e^{j\left( \frac{2\pi }{N}\right) k}\right) x(n)
\]
tenemos que
\[
X(k)\stackrel{\mathcal{F}}{\leftrightarrow }x(n)
\]
y
\[
X(n-1)\stackrel{\mathcal{F}}{\leftrightarrow }e^{j\left( \frac{2\pi }{N}%
\right) n}x(n)
\]
por superposici\'on demostramos la primera.

\subsection{Propiedades de Simetr\'ia de la transformada de Fourier.}

Para cualquier secuencia $x(n)$ la parte real la podemos calcular haciendo
\[
\mathcal{R}\left[ x\left( n\right) \right] =\frac{1}{2}\left[
x(n)+x^{*}(n)\right]
\]
y la parte imaginaria como
\[
\mathcal{I}\left[ x\left( n\right) \right] =\frac{1}{2}\left[
x(n)-x^{*}(n)\right]
\]
Si $x(n)$ es una secuencia real entonces:
\[
\frac{1}{2}\left[ x(n)-x^{*}(n)\right] =0
\]
lo que es equivalente a
\[
x(n)=x^{*}(n)
\]

Al aplicar la transformada de Fourier tendremos que
\[
X(k)=X^{*}(-k)
\]

A partir de esto se observa que la parte real de $X\left( k\right)$ es una funci\'on par de $k$ y la parte imaginaria de $X\left( k\right) $ es una funci\'on impar de $k$. De manera similar, la magnitud de $X\left(k\right) $ es una funci\'on par y el \'angulo de de fase es una funci\'on impar. Adem\'as
\[
\mathcal{E}\left\{ x\left( n\right) \right\} \stackrel{\mathcal{F}}{\leftrightarrow }\mathcal{R}\left\{ X\left( n\right) \right\}
\]
y
\[
\mathcal{O}\left\{ x\left( n\right) \right\} \stackrel{\mathcal{F}}{\leftrightarrow }\mathcal{I}\left\{ X\left( n\right) \right\}
\]
demostraci\'on:

En el caso de una se est\'eal real y par se cumple que $x(n)=x(-n)$ y que $x(n)=x^{*}(n)$ por lo tanto en el dominio de Fourier
\begin{eqnarray*}
X(k)=X(-k)=\mathcal{R}\left[ X(-k)\right] +j\mathcal{I}\left[ X(-k)\right] \\
X(k)=X^{*}(-k)=\mathcal{R}\left[ X(-k)\right] -j\mathcal{I}\left[
X(-k)\right]
\end{eqnarray*}
la \'unica posibilidad de que esto sea cierto es que la parte imaginaria sea cero. As\'i la transformada de Fourier se transforma en
\[
=\frac{1}{N}\sum_{n=0}^{N}x(n)\cos \left( \frac{2\pi }{N}nk\right)
\]
a esta ecuaci\'on es com\'un que se le conozca como la transformada coseno.

En el caso de una se\~nal real e impar, se cumple que $x(n)=-x(-n)$ $x(n)=x^{*}(n),$ entonces en el dominio de Fourier
\begin{eqnarray*}
X(k)=-X(-k)=-\mathcal{R}\left[ X(-k)\right] -j\mathcal{I}\left[
X(-k)\right]
\\
X(k)=X^{*}(-k)=\mathcal{R}\left[ X(-k)\right] -j\mathcal{I}\left[
X(-k)\right]
\end{eqnarray*}
la \'unica posibilidad de que esto ocurra es que la parte real sea cero. La transformada de Fourier en este caso queda como
\[
=j\frac{1}{N}\sum_{n=0}^{N}x(n)sen\left( \frac{2\pi }{N}nk\right)
\]

\subsection{Relaci\'on de Parseval.}

Si $x\left( n\right) $ y $X\left( k\right) $ son la se est\'eal y su transformada respectivamente, entonces tenemos que:
\[
\sum_{n=0}^{N-1}\left| x(n)\right| ^{2}\stackrel{\mathcal{F}}{%
\leftrightarrow }N\sum_{k=0}^{N-1}\left| X(k)\right| ^{2}
\]
podemos representar como
\begin{eqnarray*}
\sum_{n=0}^{N-1}x(n)x^{*}(n)=N\sum_{k=0}^{N-1}X(k)X(k)^{*} \\
=N\sum_{k=0}^{N-1}X(k)\left[
\frac{1}{N}\sum_{n=0}^{N-1}x(n)e^{-j\left(
\frac{2\pi }{n}\right) nk}\right] ^{*} \\
=N\sum_{k=0}^{N-1}X(k)\frac{1}{N}\sum_{n=0}^{N-1}x^{*}(n)e^{j\left( \frac{%
2\pi }{n}\right) nk}
\end{eqnarray*}
cambiando el orden en que se hacen las sumatorias
\begin{eqnarray*}
=\sum_{n=0}^{N-1}x^{*}(n)\left[ \sum_{k=0}^{N-1}X(k)e^{j\left( \frac{2\pi }{n%
}\right) nk}\right] \\
=\sum_{n=0}^{N-1}x^{*}(n)x(n) \\
=\sum_{n=0}^{N-1}\left| x(n)\right| ^{2}
\end{eqnarray*}

\subsection{Resumen de Propiedades}
Dado lo anterior podemos resumir en la siguiente tabla las propiedades de la transformada discreta de Fourier.

\begin{tabular}{|c|c|c|}
  \hline
  % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
  \textbf{Propiedad} & \textbf{Se\~nal en} & \textbf{Se\~nal en } \\
  \textbf{Propiedad} & \textbf{el tiempo} & \textbf{la frecuencia} \\
  \hline
  Periodicidad & $x(n)$ & $X(k)$ periodo N  \\
  \hline
  Linealidad & $ax_{1}(n)+bx_{2}(n)$ & $aX_{1}(k)+bX_{2}(k)$  \\
  \hline
  Desp. en tiempo & $x(n-n_{0})$ & $e^{-j\left( \frac{2\pi }{N}
\right) n_{0}k}X(k)$\\
  \hline
  Desp. en frecuencia & $e^{j\left( \frac{2\pi }{N}\right) nk_{0}}x(n)$ &
  $X(k-k_{0})$\\
  \hline
  Conjugaci\'on & $x^{*}(n$) & $X^{*}(-k)$\\
  \hline
  Inversi\'on en tiempo & $x(-n)$ & $X(-k)$\\
  \hline
  Expansi\'on en Tiempo &  $x(an)$ & $X(k/a)$ \\
  \hline
  Convoluci\'on & $x(n)*y(n)$ & $NX(k)Y(k)$ \\
  \hline
  Multiplicaci\'on & $x(n)y(n)$ & $X(k)*Y(k)$ \\
  \hline
  Dif. en tiempo & $x(n)-x(n-1)$ & $\left(1-e^{-j\left( \frac{2\pi }{N}\right) k}\right)
  X(k)$ \\
  \hline
  Dif. en Frecuencia & $\left(
  1-e^{j\left( \frac{2\pi }{N}\right) k}\right) x(n)$ &
  $X(k)-X(k-1)$ \\
  \hline
  Simetr\'ia conjugada & $x(n)$ real & $X(k) = X^*(-k)$\\
  & & $X_r(k) = X_r(-k)$ par \\
  & & $X_i(k) = -X_i(-k)$ impar\\
  
  \hline
  Simetr\'ia & $x(n)$ real y par  & $X(k)$ real y par\\
  \hline
  Simetr\'ia & $x(n)$ real e impar& $X(k)$ imaginaria e impar\\
  \hline
  Parseval & $\sum_{n=0}^{N-1}\left| x(n)\right| ^{2}$ & $N\sum_{k=0}^{N-1}\left| X(k)\right|
  ^{2}$ \\
  \hline
\end{tabular}

\section{Transformada de Fourier de algunas funciones interesantes}

\subsection{Exponencial Compleja}

Dado $x(n)=e^{j\left( \frac{2\pi }{N}\right) k_{0}n}$ la transformada de fourier esta dada como
\begin{eqnarray*}
X(k)=\frac{1}{N}\sum_{n=0}^{N-1}x(n)e^{-j\left( \frac{2\pi }{N}\right) kn} \\
=\frac{1}{N}\sum_{n=0}^{N-1}e^{j\left( \frac{2\pi }{N}\right)
k_{0}n}e^{-j\left( \frac{2\pi }{N}\right) kn} \\
=\frac{1}{N}\sum_{n=0}^{N-1}e^{j\left( \frac{2\pi }{N}\right) \left(
k_{0}-k\right) n}
\end{eqnarray*}
esta suma tendr\'a soluci\'on $N$ en el caso de que $k=k_{0}$ y cero en los dem\'as casos. La transformada de Fourier es
\[
e^{j\left( \frac{2\pi }{N}\right) k_{0}n}\stackrel{\mathcal{F}}{%
\leftrightarrow }\delta \left( k-k_{0}\right)
\]

\subsection{Funci\'on seno}

Dada la funci\'on seno, podemos hacer la representaci\'on de esta funci\'on como
\[
sen\left( \frac{2\pi }{N}k_{0}n\right) =\frac{1}{2j}\left[ e^{j\left( \frac{%
2\pi }{N}\right) k_{0}n}-e^{-j\left( \frac{2\pi }{N}\right) k_{0}n}\right]
\]
dado que tenemos la suma de dos exponenciales complejas, la transformada de Fourier es
\[
sen\left( \frac{2\pi }{N}k_{0}n\right) \stackrel{\mathcal{F}}{%
\leftrightarrow }-\frac{j}{2}\delta \left( k-k_{0}\right) +\frac{j}{2}\delta
\left( k+k_{0}\right)
\]

\subsection{Funci\'on coseno}

La representaci\'on de la funci\'on coseno la podemos dar como
\[
\cos \left( \frac{2\pi }{N}k_{0}n\right) =\frac{1}{2}\left[ e^{j\left( \frac{%
2\pi }{N}\right) k_{0}n}+e^{-j\left( \frac{2\pi }{N}\right) k_{0}n}\right]
\]
de manera similar que en la funci\'on seno tenemos
\[
\cos \left( \frac{2\pi }{N}k_{0}n\right) \stackrel{\mathcal{F}}{\leftrightarrow }\frac{1}{2}\delta \left( k-k_{0}\right) +\frac{1}{2}\delta
\left( k+k_{0}\right)
\]

\subsection{Funci\'on impulso unitario}

Recordemos que la funci\'on impulso unitario es
\[
\delta \left( n\right) =\left\{
\begin{array}{c}
1\text{ si }n=0 \\
0\text{ en caso contrario}
\end{array}
\right.
\]
la transformada de Fourier para esta la calculamos
\begin{eqnarray*}
X(k)=\frac{1}{N}\sum_{n=0}^{N-1}\delta \left( n-n_{0}\right) e^{-j\left(
\frac{2\pi }{N}\right) kn} \\
=\frac{1}{N}e^{-j\left( \frac{2\pi }{N}\right) kn_{0}}
\end{eqnarray*}
podemos comprobar que $\left| e^{-j\left( \frac{2\pi }{N}\right) kn_{0}}\right| =1$ para cualquier valor que tome $k$ por lo que finalmente la magnitud de la transformada de Fourier es
\[
\delta \left( n-n_{0}\right) \stackrel{\mathcal{F}}{\leftrightarrow }\frac{1%
}{N}
\]

\subsection{Constante}

Consideremos una funci\'on $x\left( n\right) =a$ la transformada de Fourier es
\begin{eqnarray*}
X(k)=\frac{1}{N}\sum_{n=0}^{N-1}ae^{-j\left( \frac{2\pi }{N}\right) kn} \\
=\frac{a}{N}\sum_{n=0}^{N-1}e^{-j\left( \frac{2\pi }{N}\right) kn}
\end{eqnarray*}
la sumatoria tendr\'o la soluci\'on N para $k=0$ y $0$ para $k\neq 0$ por lo cual
\[
a\stackrel{\mathcal{F}}{\leftrightarrow }a\delta \left( k\right)
\]

\subsection{Escal\'on Unitario}
La funci\'on escal\'on unitario esta definida como
\[
u \left( n_0\right) =\left\{
\begin{array}{c}
1\text{ si }n>=n_0 \\
0\text{ en caso contrario}
\end{array}
\right.
\]
la transformada de Fourier estar\'a dada como
\begin{eqnarray*}
U(k)=\frac{1}{N}\sum_{n=0}^{N-1}u(n_0)e^{-j\left( \frac{2\pi
}{N}\right) kn} \\
U(k)=\frac{1}{N}\sum_{n=n_0}^{N-1}e^{-j\left( \frac{2\pi
}{N}\right) kn} \\
U(k)=\frac{1}{N}\sum_{n=0}^{N-1}e^{-j\left( \frac{2\pi }{N}\right)
kn}  - \frac{1}{N}\sum_{n=0}^{n_0-1}e^{-j\left( \frac{2\pi
}{N}\right) kn}\\
\end{eqnarray*}
Lo cual da como resultado
\[
U(k) =\left\{
\begin{array}{c}
\frac{N-n_0}{N}\text{ si }k =0 \\
\widehat{U}(k)\text{ en caso contrario}
\end{array}
\right.
\]
con
\begin{eqnarray*}
\widehat{U}(k)&=&-\frac{1-e^{-j\left( \frac{2\pi }{N}\right)
kn_0}}{N(1-e^{-j\left( \frac{2\pi }{N}\right) k})} \\
\widehat{U}(k)&=&-\frac{e^{-j\left( \frac{\pi }{N}\right)
kn_0}\left ( e^{j\left( \frac{\pi }{N}\right) kn_0}-e^{-j\left(
\frac{\pi }{N}\right) kn_0} \right) }{N e^{-j\left( \frac{\pi
}{N}\right) k}\left ( e^{j\left( \frac{\pi }{N}\right)
k}-e^{-j\left( \frac{\pi }{N}\right)
k} \right) } \\
\widehat{U}(k)&=&-\frac{1}{N}\frac{\sin(\frac{\pi n_0
k}{N})}{\sin(\frac{\pi k}{N})} e^{-j\left( \frac{\pi }{N}\right)
k(n_0-1)}
\end{eqnarray*}

\subsection{Caja}

Consideremos una funci\'on $x\left( n\right) $ dada por la siguiente expresi\'on
\[
c(n)=\left\{
\begin{array}{l}
1\text{ si -}d<n<d \\
0\text{ si no}
\end{array}
\right.
\]
Aplicando la formula podemos ver
\begin{eqnarray*}
C(k) &=&\frac{1}{N}\sum_{n=-N/2}^{N/2}c(n)e^{-j\left( \frac{2\pi
}{N}\right) kn}\\
C(k) &=&\frac{1}{N}\sum_{n=-d}^{d}e^{-j\left( \frac{2\pi
}{N}\right) kn}\\
\end{eqnarray*}
Podemos organizar los t\'erminos de la siguiente forma
\begin{eqnarray*}
C(k) &=&\frac{1}{N}\sum_{n=-d}^{-1}e^{-j\left( \frac{2\pi
}{N}\right) kn} + \frac{1}{N}\sum_{n=0}^{d}e^{-j\left( \frac{2\pi
}{N}\right) kn}\\
C(k) &=&\frac{1}{N}\sum_{n=1}^{d}e^{-j\left( \frac{2\pi
}{N}\right) k(-n)} + \frac{1}{N}\sum_{n=0}^{d}e^{-j\left(
\frac{2\pi
}{N}\right) kn}\\
C(k) &=&\frac{1}{N}\sum_{n=0}^{d}e^{j\left( \frac{2\pi }{N}\right)
kn} -\frac{1}{N} + \frac{1}{N}\sum_{n=0}^{d}e^{-j\left( \frac{2\pi
}{N}\right) kn}\\
\end{eqnarray*}
Lo cual da como resultado
\[
C(k)=\left\{
\begin{array}{l}
\text{ si } k=0 \\
\text{...... } \frac{2d+1}{N}  \\
\text{ si no}\\
\text{...... } \frac{1}{N}\left(\frac{1 - e^{\frac{2\pi}{N}k(d+1)}}{1 - e^{\frac{2\pi}{N}k}}
+ \frac{1 - e^{-\frac{2\pi}{N}k(d+1)}}{1 - e^{-\frac{2\pi}{N}k}} -1 \right)\\
\end{array}
\right.
\]
En la figura \ref{fig:sinc2} se presenta la parte real de esta
funci\'on ya que la imaginaria es cero.

La transformada de Fourier continua de esta funci\'on, esta dada por
la siguiente expresi\'on
\[
C(k)=\frac{1}{N}\int_{-\infty }^{\infty }c(t)e^{-j(\frac{2\pi
}{N})kt}dt
\]
al sustituir nuestra funci\'on obtenemos
\begin{eqnarray*}
C(k)&=&\frac{1}{N}\int_{-d}^{d}e^{-j(\frac{2\pi }{N})kt}dt \\
C(k)&=&\frac{1}{N}\frac{1}{\left[ -j(\frac{2\pi }{N})k\right] }\left. e^{-j(%
\frac{2\pi }{N})kt}\right| _{-d}^{d} \\
C(k)&=&\frac{1}{N}\frac{1}{\left[ -j(\frac{2\pi }{N})k\right]
}\left(
-2j\right) sen\left[ \frac{2\pi }{N}kd\right] \\
C(k)&=&\frac{sen\left[ \frac{2\pi }{N}kd\right] }{\pi k}
\end{eqnarray*}
la cual luce como \ref{fig:sinc}

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/sinc2.eps,width=8.0cm}} }
\caption{Funci\'on Sinc con d = 10 y N = 128.} \label{fig:sinc2}
\end{figure}

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/sinc.eps,width=8.0cm}} }
\caption{Funci\'on Sinc con k = 10 y N = 128.}
\label{fig:sinc}
\end{figure}

\subsection{Ejemplos}

En un programa en Java que utilice las clases funciones y gr\'afica, obtener y explicar brevemente la Transformada de Fourier Discreta (TFD) de las siguientes se\~nales:

\begin{enumerate}
\item  $x_{1}(n)=\cos (\frac{2\pi }{N}n)+\sin (\frac{10\pi }{N}n)$ \label%
{eq:eje_uno}

\item  $x_{2}(n)=\delta (n)+\delta (n-3)$

\item  $x_{3}(n)=1+\delta (n+5)+cos(\frac{6\pi }{N}n)+\exp ^{-j(\frac{2\pi }{%
N})n}$
\end{enumerate}

\subsubsection{Ejercicio 1}

La figura \ref{fig1} muestra las cuatro gr\'aficas que se obtienen al aplicar la TFD en la se\~nal \ref{eq:eje_uno}. Se puede observar en la figura \ref{fig1:a} la se\~nal que contiene parte real pero no contiene parte imaginaria, adem\'as la parte real se forma por un seno y un coseno. El resultado de aplicar la TFD a esta se\~nal equivale a aplicar la TFD a las dos se\~nales que la componen por separado y luego sumarlas. En las figuras \ref{fig1:c} y \ref{fig1:d} se puede observar el resultado de la aplicaci\'on de la TFD a la se\~nal 1, cuya soluci\'on anal\'itica es:

\[
X_{1}(k)=\frac{1}{2}\delta (k-1)+\frac{1}{2}\delta (k+1)-\frac{j}{2}\delta
(k-5)+\frac{j}{2}\delta (k+5)
\]

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[x(n) \ref{eq:eje_uno} \label{fig1:a}]{%
\psfig{figure=figuras/1tiempo-real.eps,width=4.0cm}} \hfill
 \subfigure[Parte real de la FFT(x(n))\label{fig1:c}]{\psfig{figure=figuras/1frec-real.eps,width=4.0cm}}
\hfill
\subfigure[Parte imaginaria de la FFT(x(n))\label{fig1:d}]{\psfig{figure=figuras/1frec-imag.eps,width=4.0cm}} \label{fig1} }
\end{center}
\caption{Se\~nal \ref{eq:eje_uno} y su transformada de fourier}
\end{figure}

Con las figuras podemos constatar que el coseno efectivamente contribuye con dos impulsos positivos en $k=1$ y $k=-1$. Asimismo, el seno contribuye con dos pulsos con diferente signo en la parte imaginaria de la se\~nal, el positivo en $k=5$ y el negativo en $k=-5$.

\subsubsection{Ejercicio 2}

La soluci\'on anal\'itica de la se\~nal 2 es:
\[
X_{2}(k)=\frac{1}{N}+\frac{1}{N}\cos (\frac{6\pi }{N}k)-\frac{j}{N}\sin (%
\frac{6\pi }{N}k)
\]
Las figura \ref{fig2} muestra las gr\'oficas de la se\~nal original su TFD. Observando las gr\'aficas \ref{fig2:c} y \ref{fig2:d} se puede concluir que existe un coseno con frecuencia 3 en la parte real y un seno con igual frecuencia en la parte imaginaria. La contribuci\'on del impulso en el origen casi no se percibe en las gr\'oficas, ya que es es una constante que se suma al resto de la se\~nal.

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[Se\~nal real \label{fig2:a}]{%
\psfig{figure=figuras/2tiempo-real.eps,width=4.0cm}}\subfigure[Parte real de la
FFT(x(n)) \label{fig2:c}]{\psfig{figure=figuras/2frec-real.eps,width=4.0cm}} %
\subfigure[Parte imaginaria de la FFT(x(n))\label{fig2:d}]{%
\psfig{figure=figuras/2frec-imag.eps,width=4.0cm}} \label{fig2} }
\end{center}
\caption{Se\~nal 2 y su transformada de fourier}
\end{figure}

\subsubsection{Ejercicio 3}

Las figuras \ref{fig3:a} y \ref{fig3:b} muestra la parte real e imaginaria respectivamente de la se\~nal 3. Al aplicar la TFD de manera anal\'otica a la se\~nal se obtiene:

\[
X_{3}(k)=\delta {(k)}+\frac{1}{N}\cos (\frac{6\pi }{N}k)-\frac{j}{N}\sin (%
\frac{6}{N})+\delta (k+1)
\]

La contribuci\'on de la constante se puede observar en la gr\'ofica de la figura\ref{fig3:c} como un impulso en 1 de la parte real. La contribuci\'on del impulso es coseno con frecuencia 5 en la parte real y un seno negativo con frecuencia 5 en la parte imaginaria (figura \ref{fig3:d}). El coseno contribuye con un par de impulsos en la parte real, cuando $k=3$ y $k=-3$, y finalmente el exponencial complejo contribuye con un pulso en $k=-1$.

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[Se\~nal real en el tiempo\label{fig3:a}]{%
\psfig{figure=figuras/3tiempo-real.eps,width=4cm}} \hfill \subfigure[Se\~nal
imaginaria en el tiempo\label{fig3:b}]{%
\psfig{figure=figuras/3tiempo-imag.eps,width=4cm}} \hfill \subfigure[Se\~nal real en
la frecuencia\label{fig3:c}]{\psfig{figure=figuras/3frec-real.eps,width=4cm}} \hfill %
\subfigure[Se\~nal imaginaria en la imaginaria\label{fig3:d}]{%
\psfig{figure=figuras/3frec-imag.eps,width=4cm}} \label{fig3} }
\end{center}
\caption{Se\~nal 3 y su transformada de fourier}
\end{figure}


\section{Transformada de Fourier en dos dimensiones.}

En dos dimensiones la transformada de Fourier se expresa como
\[
X(k,l)=\frac{1}{NM}\sum_{n=0}^{N-1}\sum_{m=0}^{M-1}x(n,m)e^{-j\left( \frac{%
2\pi }{NM}\right) (nk+ml)}
\]
reorganizando t\'erminos tenemos:
\[
X(k,l)=\frac{1}{NM}\sum_{m=0}^{M-1}\left[ \sum_{n=0}^{N-1}x(n,m)e^{-j\left(
\frac{2\pi }{NM}\right) nk}\right] e^{-j\left( \frac{2\pi }{NM}\right) ml}
\]
de esta expresi\'on podemos ver que la transformada de Fourier en dos dimensiones, es equivalente a realizar la transformada de Fourier en una direcci\'on del arreglo bidimensional y despu\'os realizarlo en la otra direcci\'on.

La trasformada Discreta de Fourier TDF es $O(N^{2})$ y existe la Transformada R\'opida de Fourier FFT la cual es $O(N\log N)$, para una se\~nal en una sola dimensi\'on. Para el caso de se\~nales en dos dimensiones, la TDF es
$O(\left( NM\right) ^{2})$ y la FFT es $O(NM\log NM)$, raz\'on por la cual se utiliza la FFT. Sin embargo, la FFT requiere que el tama\~no de la se\~nales sea potencia de 2, es decir $N=2^{r}$ y $M=2^{s}.$ Todas la propiedades de la
transformada de Fourier son validas para el caso multidimensional y para hacer la demostraci\'on solo hay que tener en cuenta que se trata de arreglos bidimensionales.

Transformada de Fourier de una se\~nal bidimensional

Dada la se\~nal $x\left( n.m\right) =\cos \left[ \frac{2*\pi }{N}\left(
k_{0}n+l_{0}m\right) \right] $ determinar su transformada de Fourier.

Esta se\~nal puede ser representada como la suma de dos exponenciales complejas
\begin{eqnarray*}
x(n,m)=\cos \left[ \frac{2*\pi }{N}\left( k_{0}n+l_{0}m\right) \right] \\
=\frac{1}{2}e^{j\left( \frac{2\pi }{N}\right) (k_{0}n+l_{0}m)}+\frac{1}{2}%
e^{-j\left( \frac{2\pi }{N}\right) (k_{0}n+l_{0}m)}
\end{eqnarray*}
por lo tanto
\[
X(k,l)=\frac{1}{2}\delta \left( k-k_{0},l-l_{0}\right) +\frac{1}{2}\delta
\left( k+k_{0},l+l_{0}\right)
\]

En la figura \ref{fig:coseno} podemos ver la se\~nal bidimensional correspondiente $x(n,m)=\cos \left[ \frac{2*\pi }{N}\left( 10n+20m)\right)\right] $ y su transformada de Fourier. Note que en la imagen de la transformada de Fourier aparecen dos picos en las coordenadas $[10,20]$ y $[118,108]$, lo cual, corresponde con la deducci\'on anterior.

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/coseno.eps,width=8.0cm}} }
\caption{Se\~nal coseno en dos dimensiones}
\label{fig:coseno}
\end{figure}

Ejemplo

El primer rengl\'on de una imagen es creado utilizando una distribuci\'on normal $N(0,1)$ (ver \ref{fig:fig03}) y los renglones subsiguientes se calculan de acuerdo con la siguiente sucesi\'on $f(n,m)=f\left( n-1,m-1\right) $ tal que se produce un patron como el mostrado en la figura \ref{fig:fig02} (a la izquierda). Explique a que se debe que la magnitud de la transformada de Fourier esta dominado por una linea recta a 45 grados. La transformada de Fourier del ruido gaussiano la podemos ver a la derecha de la figura \ref{fig:fig02} .

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/fig02.eps,width=8.0cm}} }
\caption{A la izquierda Patron regular creado con una se\~nal uni--dimensional
trasladada (ruido Gaussiano) y a la derecha Magnitud de su transformada de
Fourier}
\label{fig:fig02}
\end{figure}

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/fig03.eps,width=8.0cm}} }
\caption{Valores aleatorios calculado con una distribuci\'on Normal con media
cero y varianza unitaria}
\label{fig:fig03}
\end{figure}

Demostraci\'on:

El primer rengl\'on de imagen fue generado utilizando una distribuci\'on normal, y los renglones subsecuentes utilizando la recursi\'on
\[
f(n,m)=f\left( n-1,m-1\right)
\]
la transformada de Fourier para $f(n,m)$ es $F(k,l)$ si aplicamos la propiedad de translaci\'on de la TF, podemos ver:
\begin{eqnarray*}
f(n,m)\stackrel{\mathcal{F}}{\leftrightarrow }F(k,l) \\
f(n-n_{0},m-m_{0})\stackrel{\mathcal{F}}{\leftrightarrow }e^{-j\left( \frac{%
2\pi }{NM}\right) (n_{0}k+m_{0}l)}F(k,l)
\end{eqnarray*}
lo cual nos da como resultado la transformada de fourier $F(x),$ esta multiplicada por una exponencial compleja $e^{-j\left( \frac{2\pi }{NM}\right) (n_{0}k+m_{0}l)}$ cuyo m\'oximo se localiza sobre la recta $n_{0}k+m_{0}l=0$, dado que $n_{0}=m_{0}=1$, tendremos que la pendiente de esta linea recta es 45 grados.

\section{Convoluci\'on utilizando TF.}

En una imagen tenemos que la referencia se encuentra en la esquina superior izquierda. Cuando estamos utilizando la transformada de Fourier debemos recordar que est\'o, considera que las se\~nales tienen periodos N en la direcci\'on de x y M en la direcci\'on de y. As\'i, una imagen estar\'a representada virtualmente, por un conjunto de copias infinitas es un espacio infinito.

Para realizar una translaci\'on de la imagen, una manera es convolucionar la imagen con la funci\'on delta de Dirac $\delta \left( n-n_{0},m-m_{0}\right) $ donde $n_{0}$ y $m_{0}$ es el desplazamiento, hay que recordar que la
convoluci\'on es Lineal e invariante a la translaci\'on, por lo que, la convoluci\'on de dos se\~nales no se vera afectada cuando hacemos la translaci\'on del kernel.

Cuando aplicamos el teorema de la convoluci\'on
\[
x(n,m)*y(n,m)\stackrel{\mathcal{F}}{\leftrightarrow }X(k,l)Y(K,l)
\]
debemos tomar en cuenta que si el kernel se desplaza, la transformada de Fourier del kernel estar\'a multiplicada por una exponencial compleja
\begin{eqnarray*}
x(n-n_{0},y-m_{0})\stackrel{\mathcal{F}}{\leftrightarrow }X(k,l)e^{-j (\frac{
2\pi }{N}n_{0}k+\frac{
2\pi }{M}m_{0}l)} \\
x(n,m)*\delta \left( n-n_{0},m-m_{0}\right) \stackrel{\mathcal{F}}{%
\leftrightarrow }X(k,l)e^{-j(\frac{2\pi }{N}n_{0}k+\frac{2\pi }{M}m_{0}l)}
\end{eqnarray*}

Cuando aplicamos el teorema de la convoluci\'on tendremos
\begin{eqnarray*}
x(n,m)*\left[ y(n,m)*\delta \left( n-n_{0},m-m_{0}\right) \right] \stackrel{%
\mathcal{F}}{\leftrightarrow }X(k,l)\left[ Y(k,l)e^{-j
(\frac{2\pi }{N}n_{0}k+\frac{2\pi }{M}m_{0}l)}\right] \\
\left[ x(n,m)*\delta \left( n-n_{0},m-m_{0}\right) \right] *y(n,m)\stackrel{%
\mathcal{F}}{\leftrightarrow }\left[ X(k,l)e^{-j(\frac{2\pi }{N}n_{0}k+\frac{2\pi }{M}m_{0}l)}\right] Y(k,l) \\
x(n-n_{0},m-m_{0})*y(n,n)\stackrel{\mathcal{F}}{\leftrightarrow }\left[
X(k,l)e^{-j(\frac{2\pi }{N}n_{0}k+\frac{2\pi }{M}m_{0}l)}\right] Y(k,l)
\end{eqnarray*}
lo cual significa que $x(n-n_{0},m-m_{0}),$ estar\'a desplazada a las coordenadas $\left[ n_{0},m_{0}\right] $

\section{Teorema del Muestreo}

Consideramos el caso de una se\~nal continua en el tiempo dada por $x(t)=cos(15\pi t)$. Es claro que la se\~nal tiene una frecuencia angular $w =15\pi$, una frecuencia $f=7.5$ y un periodo $T=\frac{1}{7.5}$. Esto significa que si graficamos la se\~nal tendremos siete ciclos y medio por segundo y la gr\'ofica para esta lucir\'a como la figura \ref{fig:fig04}. Si esta misma funci\'on la submuestreamos con incrementos de $\frac{\pi }{9}$ lucir\'a como la
fig \ref{fig:fig05} y esta misma a intervalos de 0.01 lucir\'a como \ref{fig:fig06}. Cual es el valor de incremento al que debo discretizar mi se\~nal sin perder informaci\'on?.

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[Se\~nal original\label{fig:fig04}]{%
\psfig{figure=figuras/fig04.eps,width=3.5cm}} \hfill \subfigure[Se\~nal muestreada a $%
\frac{\pi}{9}$\label{fig:fig05}]{\psfig{figure=figuras/fig05.eps,width=3.5cm}}
\hfill \subfigure[Se\~nal muestreada a 0.01 \label{fig:fig06}]{%
\psfig{figure=figuras/fig06.eps,width=3.5cm}} }
\end{center}
\caption{Se\~nal $cos(15\pi t)$ con diferentes muestreos}
\end{figure}

\subsection{Transformada de Fourier de una se\~nal peri\'odica}
Supongamos que una se\~nal con periodo $T_0$ (con $\omega_0 =\frac{2\pi}{T_0}$), pudiera representarse como la serie
\begin{equation}\label{eq:f_per}
x(t) =\sum_{k=-\infty}^{k=\infty} a_k e^{j\omega_0kt}
\end{equation}
multiplicando ambos miembros de la ecuaci\'on e integrando en el intervalo
\begin{equation*}
\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}} x(t) e^{-jn\omega_0t} dt=
\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}\sum_{k=-\infty}^{k=\infty}
a_k e^{j\omega_0kt}e^{-jn\omega_0t}dt
\end{equation*}
reagrupando los t\'erminos tenemos
\begin{equation*}
\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}} x(t) e^{-jn\omega_0t} dt =
\sum_{k=-\infty}^{k=\infty} a_k \left[
\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}} e^{j\omega_0(k-n)t} \right
]dt
\end{equation*}
La evaluaci\'on de la integral en los corchetes es, considerando que $k\neq n$:

\begin{eqnarray*}
\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}} e^{j\omega_0(k-n)t} dt&=&
\frac{1}{j(k-n)\omega_0}e^{j\omega_0(k-n)t}
|_{-\frac{T_0}{2}}^{\frac{T_0}{2}}\\
&=& \frac{1}{j(k-n)\omega_0 }\left[ e^{j(k-n)\pi} -
e^{-j(k-n)\pi}\right]\\
&=& \frac{1}{j(k-n)\omega_0 }\left[ -1 +1\right]\\
&=& 0\\
\end{eqnarray*}
en el caso de que $k=n$, la integral se transforma en
\begin{eqnarray*}
\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}} dt &=& T_0
\end{eqnarray*}
Por lo tanto la transformada de Fourier de una se\~nal peri\'odica
ecuaci\'on (\ref{eq:f_per}) es
\begin{equation}\label{eq:int_per}
a_n = \int_{-\frac{T_0}{2}}^{\frac{T_0}{2}} x(t) e^{-jn\omega_0t}
dt
\end{equation}
\subsection{Transformada de Furier de un Tren de Pulsos}
Un tren de pulsos lo podemos definir por
\begin{eqnarray*}
p(t)=\cdots +\delta \left( t+2T\right) +\delta \left( t+T\right) +\delta
\left( t\right) + \\
\delta \left( t-T\right) +\delta \left( t+2T\right) +\cdots
\end{eqnarray*}
la cual podemos representar en forma compacta como
\[
p(t)=\sum_{k=-\infty }^{\infty }\delta \left( t-kT\right)
\]
donde $T=\frac{2\pi }{\omega }$. Note que esta ecuaci\'on es una funci\'on peri\'odica y su transformada puede ser calculada utilizando el resultado de la ecuaci\'on (\ref{eq:int_per})

En este caso hablamos de una transformada de Fourier continua por lo cual haremos la transformada de Fourier utilizando la definici\'on continua
\[
P(\omega )=\int_{-\infty }^{+\infty }p(t)e^{-j\omega t}dt
\]
sustituyendo tenemos
\begin{eqnarray}
P(\omega )=\sum_{k=-\infty }^{\infty }\int_{-\infty }^{+\infty
}\delta \left( t-kT\right) e^{-j\omega t}dt
\end{eqnarray}
Aplicando el resultado de la ecuaci\'on (\ref{eq:int_per}) tenemos
\begin{equation*}
P(\omega )=\sum_{k=-\infty }^{\infty
}\frac{1}{T}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}\delta \left(
t-kT\right) e^{-j\omega t}dt
\end{equation*}
de donde se desprende que si $k=0$
\begin{equation*}
\frac{1}{T}\int_{-\frac{T_0}{2}}^{\frac{T_0}{2}}\delta \left(
t-kT\right) e^{-j\omega t}dt = \frac{1}{T}=\frac{1}{T}\delta (
\omega)
\end{equation*}
% =\sum_{k=-\infty }^{\infty }e^{-j\omega kT} como $T=\frac{2\pi}{\omega }$
entonces da como resultado un tren de pulsos equiespaciados en la frecuencia con $\omega _{s}=\frac{2\pi }{T}$.
\[
P(\omega )=\sum_{k=-\infty }^{\infty }\delta \left( \omega -k\omega
_{s}\right)
\]
\subsection{Se\~nal muestreada}
Una se\~nal muestreada se calcula como
\[
x_{p}(t)=x(t)p(t)
\]
donde $p(t)$ es un tren de pulsos. Aplicando el teorema de la convoluci\'on tenemos que la transformada de Fourier de esta se\~nal es
\begin{eqnarray*}
X_{p}(\omega )=X(\omega )*P(\omega ) \\
X_{p}(\omega )=X(\omega )*\sum_{k=-\infty }^{\infty }\delta \left( \omega
-\omega _{s}\right) \\
=\sum_{k=-\infty }^{\infty }X(\omega -k\omega _{s})
\end{eqnarray*}
lo cual significa que tendremos copias de nuestra se\~nal $X(\omega )$ repetidas cada $\frac{2\pi }{T}$. Pero que ocurre si el ancho de banda de la se\~nal $X(\omega )$ sobre pasa el valor $\frac{2\pi }{T}$?.

Llamemos $\omega _{s}$ la frecuencia de muestreo la cual esta dada como
\[
\omega _{s}=\frac{2\pi }{T}
\]
y $\omega _{m}$ el ancho de banda de la se\~nal $x(t)$, podemos ver que si
\[
\omega _{s}>2\omega _{m}
\]
podemos reconstruir exactamente la se\~nal continua $x\left( t\right) $ a partir de la se\~nal muestreada $x_{p}\left( t\right) $. La frecuencia de muestreo $\omega _{s}$ tambi\'on se conoce como la frecuencia de Nyquist.

Podemos notar que
\[
x_{p}(n)=x(nT)=\frac{1}{2\pi }\int_{-\infty }^{\infty }X\left( \omega
\right) e^{j\omega nT}d\omega
\]
dado que la se\~nal en el dominio de la frecuencia es peri\'odica podemos considerar que
\[
x_{p}(n)=\frac{1}{2\pi }\sum_{r=-\infty }^{\infty }\int_{\left( 2r-1\right)
\pi /T}^{\left( 2r+1\right) \pi /T}X\left( \omega \right) e^{j\omega
nT}d\omega
\]
y cada t\'ormino de la suma puede ser reducido a una integral sobre el rango $-\frac{\pi }{T}$ a $\frac{\pi }{T}$ haciendo el cambio de variable $\omega=\Omega +\frac{2\pi r}{T}$
\[
x_{p}(n)=\frac{1}{2\pi }\sum_{r=-\infty }^{\infty }\int_{-\pi /T}^{\pi
/T}X\left( \Omega +\frac{2\pi r}{T}\right) e^{j\Omega nT}e^{j2\pi rn}d\Omega
\]

Si intercambiamos el orden de integraci\'on y considerando que $e^{j2\pi rn}=1$ para cualquier valor de $n$ y $r$, tenemos que:
\[
x_{p}(n)=\frac{1}{2\pi }\int_{-\pi /T}^{\pi /T}\left[ \sum_{r=-\infty
}^{\infty }X\left( \Omega +\frac{2\pi r}{T}\right) e^{j\Omega nT}\right]
d\Omega
\]
haciendo un cambio de variable $\Omega =\frac{\omega }{T}$
\[
x_{p}(n)=\frac{1}{2\pi }\int_{-\pi }^{\pi }\left[ \frac{1}{T}\sum_{r=-\infty
}^{\infty }X\left( \frac{\omega }{T}+\frac{2\pi r}{T}\right) e^{j\omega
n}\right] d\omega
\]
de esta ecuaci\'on tenemos que
\[
X_{p}\left( \omega \right) =\frac{1}{T}\sum_{r=-\infty }^{\infty }X\left(
\frac{\omega }{T}+\frac{2\pi r}{T}\right)
\]
o si hacemos $\widehat{\omega }=\frac{\omega }{T}$ tenemos
\[
X_{p}\left( \widehat{\omega }T\right) =\frac{1}{T}\sum_{r=-\infty }^{\infty
}X\left( \widehat{\omega }+\frac{2\pi r}{T}\right)
\]

\subsection{Integraci\'on de la se\~nal continua.}

Ahora que hacemos para recuperar la se\~nal continua a partir de la se\~nal muestreada. Puesto que la se\~nal $X_{p}(\omega )$ solo esta definida en el rango $\left[ -\frac{\pi }{T},\frac{\pi }{T}\right] $, calcularemos la antitrasformada en estos l\'imites, adem\'as $X_{p}\left( \omega T\right) =\frac{1}{T}X\left( \omega \right) $
\begin{eqnarray*}
x(t)=\frac{1}{2\pi }\int_{-\frac{\pi }{T}}^{+\frac{\pi }{T}}TX_{p}\left(
\omega T\right) e^{j\omega t}d\omega \\
=\frac{T}{2\pi }\int_{-\frac{\pi }{T}}^{+\frac{\pi }{T}}\left[
\sum_{n=-\infty }^{\infty }x\left( nT\right) e^{-j\omega nT}\right]
e^{j\omega t}d\omega \\
=\sum_{n=-\infty }^{\infty }x\left( nT\right) \left[ \frac{T}{2\pi }\int_{-%
\frac{\pi }{T}}^{+\frac{\pi }{T}}e^{j\omega \left( t-nT\right) }d\omega
\right] \\
=\sum_{n=-\infty }^{\infty }x\left( nT\right) \frac{sen\left( \frac{\pi }{T}%
\right) \left( t-nT\right) }{\left( \frac{\pi }{T}\right) \left( t-nT\right)
}
\end{eqnarray*}

El c\'odigo para realizar esta integraci\'on es:
\begin{verbatim}
  public static double Interpola(double x[], double t, double T)
  {
    int n, N = x.length, i;
    double val =0;

    for(i=-3*N; i<3*N; i++)
    {
      n = (i%N);
      if(n<0) n = N + n;
      val += x[n] * Sinc( (t - (double) i * T) * Math.PI / T);
    }
    return val;
  }
\end{verbatim}

\subsection{Ejemplos}
\subsubsection{Ejemplo 1}

Aquella frecuencia que de acuerdo con el teorema de muestreo, debe ser excedida por la frecuencia de muestreo se llama raz\'on de Nyquist. Determine la raz\'on de Nyquist para las siguientes se\~nales

a) $x(t)=1+\cos (2000\pi t)+sen(4000\pi t).$

La transformada de Fourier para esta se\~nal es

\[
x(k)=\delta (0)+\frac{1}{2}\left[ \delta (w-2000\pi )+\delta
(w+2000\pi)\right] +\frac{j}{2}\left[ \delta (w-4000\pi )-\delta
(w+4000\pi )\right]
\]
lo cual indica que el espectro de frecuencia tendr\'a valores en el intervalo $\left[ -4000\pi ,4000\pi \right] $, o bien que $\omega_{b}=4000\pi .$ De acuerdo con esto la raz\'on de Nyquist es $\omega_{s}=8000\pi .$

b) $x(t)=\frac{sen\left( 200\pi t\right) }{\pi t}$. Podemos ver que la antitransformada de Fourier de una caja es
\begin{eqnarray*}
x(t)=A\int_{-d}^{d}e^{j\omega t}d\omega \\
x(t)=\frac{A}{jt}\left. e^{^{j\omega t}}\right| _{-d}^{d} \\
x(t)=\frac{1}{jt}\left( 2j\right) sen\left[ dt\right] \\
x(t)=\frac{2Asen\left[ dt\right] }{t}
\end{eqnarray*}
de donde podemos ver que la transformada de Fourier de esta se\~nal es una caja de ancho $d=200\pi $ y altura $A=\frac{1}{2\pi }$, por lo tanto su ancho de banda ser\'o de $\omega _{b}=200\pi $ y su raz\'on de Nyquist ser\'o $\omega _{s}=400\pi .$

\subsubsection{Ejemplo 2}

Dada la se\~nal continua $x(t) = sen^2(10 \pi t)$, calcular:

a) El ancho de banda correspondiente a esta se\~nal

b) La transformada discreta de Fourier si la se\~nal es muestreada en con periodo $T_s=\frac{5}{2N}$ segundos, con un n\'omero de muestras $N=128$.

c) Cual es la transformada discreta de fourier si la se\~nal es muestreada con un periodo del doble del anterior.

Para esta se\~nal aplicando identidades trigonom\'otricas tenemos que:
\begin{equation*}
x(t) = sen^2(10 \pi t) = \frac{1}{2} \left(1 - cos(20 \pi
t)\right)
\end{equation*}

Respuestas

a) La frecuencia del primer termino es $\omega_0 = 0$ y del segundo termino es $\omega_1 = 20 \pi$, con lo cual tenemos que el ancho de banda es $\omega_b = 20 \pi$

b)En este caso la frecuencia de muestreo es $\omega_s = \frac{2\pi}{\frac{5}{2N}} = \frac{4N \pi}{5}$ considerando 128 muestras la frecuencia de muestreo es $\omega_s = 321.6991$, note que
\begin{eqnarray*}
\omega_s >= 2*\omega_b 3\\
321.6921 >= 40 \pi
\end{eqnarray*}
Nuestra se\~nal cumple con el teorema del muestreo, ahora es necesario calcula $k$ de la frecuencia $\frac{2 \pi}{N}$ para ello
\begin{eqnarray*}
x_p[n] = x(nT) \\
x_p[n]= \frac{1}{2} \left( 1 - cos(20 \pi n T)\right)\\
x_p[n]= \frac{1}{2} \left( 1 - cos(\frac{2 \pi}{N}k n)\right)\\
\end{eqnarray*}
Por comparaci\'on podemos ver que $20 \pi T = \frac{2 \pi}{N}k$ con lo cual tenemos
\begin{eqnarray*}
\frac{2 \pi}{N}k &=&20 \pi T \\
k & = & \frac{20 \pi T N}{2 \pi}\\
k & = & \frac{20 \pi \frac{5}{2N} N}{2 \pi}\\
k & = & 25
\end{eqnarray*}
Con esto tenemos que la transformada Discreta de Fourier es
\begin{equation*}
X[k] = \frac{1}{2} \delta(k) - \frac{1}{4}\left(\delta(k-25) +
\delta(k+25))\right)
\end{equation*}

c) Si duplicamos el periodo de Muestreo $T_s = \frac{5}{N}$ aplicando los pasos anteriores tenemos
\begin{eqnarray*}
\frac{2 \pi}{N}k &=&20 \pi T \\
k & = & \frac{20 \pi T N}{2 \pi}\\
k & = & \frac{20 \pi \frac{5}{N} N}{2 \pi}\\
k & = & 50
\end{eqnarray*}
y la TDF es
\begin{equation*}
X[k] = \frac{1}{2} \delta(k) - \frac{1}{4}\left(\delta(k-50) +
\delta(k+50))\right)
\end{equation*}
Note como la frecuencia de muestreo afecta la transformada discreta de Fourier.

\subsubsection{Ejemplo 3}
Para el ejemplo anterior considerando un periodo de muestreo $T_s = 0.0390625$, calcular utilizando en c\'odigo dado y los valores muestreados $x_p[n]$, los valores de la funci\'on en $t=T$, $t=1.5T$ y $t=2.0$.

Soluci\'on

Para llenar el arreglo dada la funci\'on $x(t) = sen^2(10\pi)$ se hizo

\begin{equation*}
x_p[n] = sen^2(10 \pi n T)
\end{equation*}

Al aplicar

\begin{tabular}{|c|c|c|}
  \hline
  t & calculados & valores reales \\
  \hline
  % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
  0.0390625 & 0.9415440651830205 & 0.9415440651830208 \\
  0.05859375 & 0.964359871520714 & 0.9637760657954398 \\
  0.078125 & 0.6343932841636447 & 0.6343932841636455 \\
  \hline
\end{tabular}

\chapter{Filtros.}

\section{Filtros Pasa bajas.}

La idea de un filtro es permitir el paso de solamente un cierto ancho de banda de un espectro de frecuencias. En el caso de un filtro pasa bajas la frecuencias que este dejar\'a pasar son aquellas que se encuentran cerca de la frecuencia cero o componente de C.D.

El filtro pasa bajas m\'as simple es $h(n)=[\frac{1}{2},\frac{1}{2}]$ consideremos una se\~nal dada por $x(n)=[1,1,1,2,2,2,2,1,1,1]$ al realizar la convoluci\'on de esta se\~nal con el kernel tenemos
\begin{eqnarray*}
z_{1}\left( n\right) =x(n)*h(n) \\
=[1,1,1,2,2,2,2,1,1,1]*[\frac{1}{2},\frac{1}{2}] \\
=[1,1,1,1.5,2,2,1.5,1,1,1]
\end{eqnarray*}
si volvemos a convolucionar con el mismos kernel tenemos
\[
z_{2}\left( n\right) =[1,1,1,1.25,1.75,1.75,1.25,1,1,1]
\]
el aplicar sucesivamente el filtrado pasa--bajas dar\'a lugar a una se\~nal plana. En lugar de convolucionar varias veces la se\~nal $x(n)$ con el kernel $h(n)$ resulta m\'os practico hacer la convoluci\'on del kernel consigo mismo dando lugar a

\begin{center}
1,1

1,2,1

1,3,3,1

1,4,6,4,1
\end{center}

Pero veamos la transformada de Fourier del kernel propuesto para ser filtro pasa--bajas.
\begin{eqnarray*}
H(k)=\frac{1}{N}\sum_{k=0}^{N}h(n)e^{-j\left( \frac{2\pi }{N}\right) nk} \\
=\frac{1}{N}\left[ 1\times e^{-j\left( \frac{2\pi }{N}\right) 0k}+1\times
e^{-j\left( \frac{2\pi }{N}\right) 1k}\right] \\
=\frac{1}{N}\left[ 1+e^{-j\left( \frac{2\pi }{N}\right) k}\right]
\end{eqnarray*}
la magnitud de este filtro es
\begin{eqnarray*}
\left| H(k)\right| =\frac{1}{N}\sqrt{\left( 1+\cos \frac{2\pi k}{N}\right)
^{2}+\left( sen\frac{2\pi k}{N}\right) ^{2}} \\
=\frac{1}{N}\sqrt{1+2\cos \frac{2\pi k}{N}+\cos ^{2}\frac{2\pi k}{N}+sen^{2}%
\frac{2\pi k}{N}} \\
=\frac{1}{N}\sqrt{2+2\cos \frac{2\pi k}{N}} \\
=\frac{1}{N}\cos \frac{\pi k}{N}
\end{eqnarray*}
note que esta funci\'on tiene un m\'oximo en cero y un m\'inimo en N, raz\'on por la cual, deja pasar las bajas frecuencias y aten\'una las altas frecuencias. En la figura podemos ver el comportamiento del filtro pasa bajas en el dominio de la frecuencia (ver figura \ref{fig:pasabajas}).

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/pasabajas.eps,width=8.0cm}} }
\caption{Respuesta a la frecuencia del filtro de pasabajas}
\label{fig:pasabajas}
\end{figure}

\section{Filtros Pasa Altas.}

El filtro pasa bajas m\'as simple es $h(n)=[-\frac{1}{2},\frac{1}{2}]$ consideremos una se\~nal dada por $x(n)=[1,1,1,2,2,2,2,1,1,1]$ al realizar la convoluci\'on de esta se\~nal con el kernel tenemos
\begin{eqnarray*}
z_{1}\left( n\right) =x(n)*h(n) \\
=[1,1,1,2,2,2,2,1,1,1]*[-\frac{1}{2},\frac{1}{2}] \\
=[1,0,0,-0.5,0,0,0.5,0,0,0]
\end{eqnarray*}

El aplicar sucesivamente el filtrado pasabajas dar\'a lugar a una se\~nal plana. En lugar de convolucionar varias veces la se\~nal $x(n)$ con el kernel $h(n)$ resulta m\'os pr\'actico hacer la convoluci\'on del kernel consigo mismo dando lugar a

\begin{center}
+1,-1

+1,-2,+1

+1,-3,+3,-1

+1,-4,+6,-4,-1
\end{center}

Pero veamos la transformada de Fourier del kernel propuesto para ser filtro pasa altas.
\begin{eqnarray*}
H(k)=\frac{1}{N}\sum_{k=0}^{N}h(n)e^{-j\left( \frac{2\pi }{N}\right) nk} \\
=\frac{1}{N}\left[ 1\times e^{-j\left( \frac{2\pi }{N}\right) 0k}-1\times
e^{-j\left( \frac{2\pi }{N}\right) 1k}\right] \\
=\frac{1}{N}\left[ 1-e^{-j\left( \frac{2\pi }{N}\right) k}\right]
\end{eqnarray*}
la magnitud de este filtro es
\begin{eqnarray*}
\left| H(k)\right| =\frac{1}{N}\sqrt{\left( 1-\cos \frac{2\pi k}{N}\right)
^{2}+\left( sen\frac{2\pi k}{N}\right) ^{2}} \\
=\frac{1}{N}\sqrt{1-2\cos \frac{2\pi k}{N}+\cos ^{2}\frac{2\pi k}{N}+sen^{2}%
\frac{2\pi k}{N}} \\
=\frac{1}{N}\sqrt{2-2\cos \frac{2\pi k}{N}} \\
=\frac{1}{N}sen\frac{\pi k}{N}
\end{eqnarray*}
note que esta funci\'on tiene un m\'oximo en $\frac{N}{2}$ y un m\'inimo en 0, raz\'on por la cual, deja pasar las altas frecuencias y aten\~na las bajas frecuencias. En la figura podemos ver el comportamiento del filtro pasa bajas en el dominio de la frecuencia (ver figura \ref{fig:pasaaltas}).

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/pasaaltas.eps,width=8.0cm}} }
\caption{Respuesta a la frecuencia del filtro de pasa altas}
\label{fig:pasaaltas}
\end{figure}

\section{Filtro pasa bajas Butterworth.}

La magnitud al cuadrado de la respuesta de un filtro Butterworth esta dada por la expresi\'on
\[
\left| H\left( k\right) \right| ^{2}=\frac{1}{1+\left( \frac{2\pi k}{N}%
\right) ^{2n}}
\]
Note que $\left| H\left( 0\right) \right| ^{2}=1$ y que $\left| H\left(\frac{N}{2\pi }\right) \right| ^{2}=0.5$, lo cual le da su caracter\'istica de ser un filtro pasa bajas, pero adicionalmente este filtro tiene otro par\'ametro de control que es el exponente $n$\ al cual esta elevado la frecuencia. Si cambiamos este valor tendremos que la ventana del filtro se
modifica tal como se observa en la figura \ref{fig:buther}.

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/buther.eps,width=8.0cm}} }
\caption{Respuesta a la frecuencia del filtro de Butherword}
\label{fig:buther}
\end{figure}

Podemos notar que para valores bajos de $n$ la ventana es suave y para valores grandes tiende a una ventana cuadrada.

\section{Filtros de pasa banda.}

La ecuaci\'on de una funci\'on gaussiana $g$ la podemos representar por:
\[
g\left( \mu ,\sigma \right) =\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{\left(
x-\mu \right) ^{2}}{2\sigma ^{2}}}
\]
y podemos demostrar que la transformada de fourier es otra gaussiana $G$ dada como
\[
g\left( \mu ,\sigma _{t}\right) \stackrel{\mathcal{F}}{\leftrightarrow }%
G\left( \mu ,\sigma _{\omega }\right)
\]
y que $\sigma _{t}\sigma _{\omega }\geq K$. Esta expresi\'on es la formulaci\'on del principio de incertidumbre y el caso de una gaussiana se tiene la igualdad. El principio de incertidumbre establece que no podemos tener definici\'on simult\'aneamente en el dominio de la frecuencia y del tiempo.

Esta funci\'on puede ser utilizada como filtro pasa bajas cuando $\mu =0$, pero con valores diferentes cambiaremos la banda de la se\~nal que queremos filtrar. As\'i por ejemplo para filtrar una se\~nal consideraremos que la gaussiana tiene una media cero y que aplicaremos una translaci\'on en el tiempo y/o en la frecuencia de la se\~nal dada por $\mu $
\[
G\left( k\right) =\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{k^{2}}{2\sigma ^{2}}%
}
\]
si queremos hacer el filtrado en una frecuencia $w_{k}=\frac{2\pi }{N}k$ simplemente situamos una gaussiana en $G\left( k-\mu \right) $ y otra en $G\left( k+\mu \right) $ la transformada de fourier de estas ser\'a
\begin{eqnarray*}
G\left( k\right) \stackrel{\mathcal{F}}{\leftrightarrow }g(n) \\
\frac{1}{2}G\left( k-\mu \right) \stackrel{\mathcal{F}}{\leftrightarrow }%
\frac{1}{2}g(n)e^{j\left( \frac{2\pi }{N}\right) \mu n} \\
\frac{1}{2}G\left( k+\mu \right) \stackrel{\mathcal{F}}{\leftrightarrow }%
\frac{1}{2}g(n)e^{-j\left( \frac{2\pi }{N}\right) \mu n}
\end{eqnarray*}
el filtro en la frecuencia es la suma de $G\left( k-\mu \right) $ y $G\left(k+\mu \right) $ por lo que el filtro de convoluci\'on es la suma de estos dos
\begin{eqnarray*}
f_{1}(n)=\frac{1}{2}g(n)\left[ \cos \left( \frac{2\pi }{N}\right) \mu
n+jsen\left( \frac{2\pi }{N}\right) \mu n\right] \\
f_{2}(n)=\frac{1}{2}g(n)\left[ \cos \left( \frac{2\pi }{N}\right) \mu
n-jsen\left( \frac{2\pi }{N}\right) \mu n\right] \\
f_{1}(n)+f_{2}(n)=g(n)\cos \left( \frac{2\pi }{N}\right) \mu n
\end{eqnarray*}

\subsection{Ejemplo}
Una se\~nal $x(t)=seno(10t) + N(0,0.3)$, esta corrompida con ruido de Naturaleza gaussiana con media cero y varianza 0.3. Entonar calcular la media y la varianza de un filtro gaussiano pasa banda dada una frecuencia de muestreo $T_s=0.05$ seg y un n\'umero total de muestras de $N=64$

Podemos calcular el m\'oltiplo de la frecuencia $\frac{2 \pi}{N}$ recordando que la frecuencia de la se\~nal muestreada es $\omega_s = \omega t$. Con esto tenemos que
\begin{eqnarray*}
k &=& \frac{\omega T N}{2 \pi} \\
k &=& \frac{10 \times 0.05 \times 64}{2 \pi} \\
k &=& 5.0929
\end{eqnarray*}
Haciendo esto tenemos que nuestra Gaussiana la colocaremos en $\mu = 5.0929$ y dado que no tenemos una frecuencia entera utilizaremos una varianza $\sigma = 0.5$. El la figura \ref{fig:filtro_orig}, se muestra la se\~nal original con ruido y en la figuras \ref{fig:filtro_real} y \ref{fig:filtro_imag} la parte real e imaginaria de su transformada Discreta de Fourier. El la figura \ref{fig:filtro_gauss} se muestra las Gaussiana entonadas para filtrar la se\~nal y en la figura \ref{fig:filtro_sal} el resultado de haber aplicado el filtro.

\begin{figure}[h!]
\begin{center}
{\subfigure[Se\~nal con ruido \label{fig:filtro_orig}]{
\psfig{figure=figuras/filtro_orig.eps,width=5.0cm}}
\subfigure[Parte real DFT \label{fig:filtro_real}]{%
\psfig{figure=figuras/filtro_real.eps,width=5.0cm}} \subfigure[Parte
Imaginaria DFT
\label{fig:filtro_imag}]{\psfig{figure=figuras/filtro_imag.eps,width=5.0cm}}
\subfigure[Filtro entonado \label{fig:filtro_gauss}]{%
\psfig{figure=figuras/filtro_gauss.eps,width=5.0cm}}
\subfigure[Se\~nal filtrada \label{fig:filtro_sal}]{%
\psfig{figure=figuras/filtro_sal.eps,width=5.0cm}}\label{fig:filtro} }
\end{center}
\caption{Ejemplo de filtrado de una se\~nal con ruido}
\end{figure}


\section{Filtro de Gabor}

Pero que ocurre si en lugar de colocar un filtro en $\frac{1}{2}G\left(
k-\mu \right) $ y otro en $\frac{1}{2}G(k+\mu )$, pusi\'oramos uno solo en $%
G\left( k-\mu \right) $%
\[
f(n)=g(n)\left[ \cos \left( \frac{2\pi }{N}\right) \mu n+jsen\left( \frac{%
2\pi }{N}\right) \mu n\right]
\]
note que la parte real es equivalente a la encontrada anteriormente, pero adem\'as tenemos una parte compleja. El hecho de tener solamente un filtro $G$ en el dominio de la frecuencia, nos da m\'os informaci\'on acerca de la banda
que andamos buscando
\begin{eqnarray*}
f_{R}(n)=g(n)\cos \left( \frac{2\pi }{N}\right) \mu n \\
f_{I}(n)=g(n)sen\left( \frac{2\pi }{N}\right) \mu n
\end{eqnarray*}
a este tipo de filtro se le conoce como filtro de Gabor. La magnitud del filtro nos dar\'o los puntos de la se\~nal donde la frecuencia para la cual entonamos el filtro produce esa se\~nal, siendo mas alta en los puntos de dicha frecuencia.

\subsection{Filtro de Gabor en dos dimensiones}

Para el caso de dos dimensiones el Kernel de Gabor que utilizaremos es

\[
f(n,m)=g(n,m)e^{j(\frac{2\pi }{N}nk_{0}+\frac{2\pi }{M}ml_{0})}
\]
La parte real del filtro es
\[
f_{R}(n,m)=g(n,m)\cos (\frac{2\pi }{N}nk_{0}+\frac{2\pi }{M}ml_{0})
\]
y la parte imaginaria es
\[
f_{I}(n,m)=g(n,m)\sin (\frac{2\pi }{N}nk_{0}+\frac{2\pi }{M}ml_{0})
\]

Dado que la convoluci\'on requiere de $(NM)^{2}$ operaciones, resulta mas r\'apido implementar el kernel de Gabor de manera separable, as\'i el n\'umero de operaciones ser\'o $N^{2}M+NM^{2}$. De manera separable la parte real queda
\begin{eqnarray*}
f_{R}(n,m) &=&g(n,m)\cos (\frac{2\pi }{N}nk_{0}+\frac{2\pi }{M}ml_{0}) \\
f_{R}(n,m) &=&g(n)*g(m)\left[ \cos (\frac{2\pi }{N}nk_{0})\cos (\frac{2\pi }{%
M}ml_{0}))-\sin (\frac{2\pi }{N}nk_{0})\sin (\frac{2\pi }{M}ml_{0}))\right]
\\
f_{R}(n,m) &=&\left[ g(n)\cos (\frac{2\pi }{N}nk_{0})\right] *\left[
g(m)\cos (\frac{2\pi }{M}ml_{0}))\right] -\left[ g(n)\sin (\frac{2\pi }{N}%
nk_{0})\right] *\left[ g(m)\sin (\frac{2\pi }{M}ml_{0}))\right]
\end{eqnarray*}

Si definimos
\begin{eqnarray*}
g_{1}(n)=g(n)\cos (\frac{2\pi }{N}nk_{0}) \\
g_{2}(n)=g(n)\sin (\frac{2\pi }{N}nk_{0}) \\
g_{3}(m)=g(m)\cos (\frac{2\pi }{M}ml_{0}) \\
g_{4}(m)=g(m)\sin (\frac{2\pi }{M}ml_{0})
\end{eqnarray*}
podemos escribir la parte real como
\[
f_{R}(n,m)=g_{1}(n)*g_{3}(m)-g_{2}(n)*g_{4}(m)
\]

De forma similar podemos calcular la parte imaginaria y llegar al siguiente kernel separable.
\[
f_{I}(n,m)=g_{1}(n)*g_{4}(m)+g_{2}(n)*g_{3}(m)
\]
En la figura \ref{fig:gabor}, podemos ver unos ejemplos del filtro de Gabor para diferentes valores de frecuencia espacial.

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[Parte real, entonado en la frecuencia espacial (0,0)%
\label{fig:gabor_r00}]{\psfig{figure=figuras/gabor_r00.eps,width=5.0cm}} \hfill %
\subfigure[Parte imaginaria, entonado en la frecuencia espacial (0,0)\label%
{fig:gabor_i00}]{\psfig{figure=figuras/gabor_i00.eps,width=5.0cm}} \subfigure[Parte
real, entonado en la frecuencia espacial (2,2)\label{fig:gabor_r22}]{%
\psfig{figure=figuras/gabor_r22.eps,width=5.0cm}} \hfill \subfigure[Parte
imaginaria, entonado en la frecuencia espacial (2,2)\label{fig:gabor_i22}]{%
\psfig{figure=figuras/gabor_i22.eps,width=5.0cm}} \label{fig:gabor} }
\end{center}
\caption{Filtros de Gabor}
\end{figure}

\section{Como entonar un filtro}

Resulta m\'as natural al momento de entonar un filtro, hablar de frecuencias cuyas unidades son ciclos por segundo o Hertz. Dado el proceso de discretizaci\'on, perdemos la noci\'on del tiempo y nuestra frecuencia en el dominio discreto ahora esta dada en ciclos/muestra. La pregunta es como convertir Hertz a ciclos/muestra.

Consideremos una funci\'on muestreada con tama\'~no $N$, en el dominio de Fourier en la posici\'on $k=N$ tenemos que $N$ representa la frecuencia angular $2\pi $, por lo tanto, podemos representar todas las frecuencia como m\'oltiplos de $\frac{2\pi }{N}$\ como $\omega =\frac{2\pi }{N}k$ [rad/muestra] y la frecuencia es $f_{k}=\frac{k}{N}$ [ciclos/muestra]. Dada una frecuencia de muestreo $f_{m}$ en [muestras/seg] podemos calcular el tiempo necesario para
una muestra, as\'i : $1muestra=\left( 1/f_{m}\right) seg$, sustituyendo esto tenemos:
\begin{eqnarray*}
f_{t}=\frac{k}{N}\text{ }[ciclos/\left( 1/f_{m}\right) seg] \\
f_{t}=\frac{f_{m}k}{N}\text{ }[ciclos/seg] \\
f_{t}=f_{m}f_{k}\text{ }[ciclos/seg]
\end{eqnarray*}
finalmente $k=\frac{f_{t}}{f_{m}}N.$

\subsection{Ejemplo}

Consideremos una se\~nal $x(t)=sen(200\pi t)+ruido,$ la cual es muestreada con una $f_{s}=800$ Hz, calcular el valor al cual debe ser entonado el filtro pasa bandas para un tama\'~no de la muestra $N=128$.

La frecuencia de la se\~nal es $f_{t}=200\pi /(2\pi )=100$ hz, por lo tanto el valor al que debe entonarse es $k=\frac{100}{800}128=16.$ De otra forma

\[
x(t)=sen(200\pi t)=sen(200\pi \frac{n}{800})=sen(\frac{2\pi }{128}16n)
\]

\section{Filtro Elimina Banda}

Dada una se\~nal $x(n)$ el filtro pasa banda nos permitir\'a para la se\~nal dada, solo mostrar la se\~nal para la cual fue entonado el filtro. Pero como hacer si queremos mostrar la se\~nal eliminando una banda dada.

En el domino de la frecuencia multiplicamos la transformada de Fourier de la se\~nal por una gaussiana posicionada en $k_{0}$, esto es
\[
\widehat{X}_{k_{0}}(k)=X(k)\frac{1}{\sqrt{2\pi }\sigma _{k}}e^{\frac{-\left(
k-k_{0}\right) ^{2}}{2\sigma _{k}^{2}}}
\]

Para eliminar la se\~nal hacemos

\[
\widehat{X}_{-k_{0}}(k)=X(k)\frac{1}{\sqrt{2\pi }\sigma _{k}}\left[ 1-e^{%
\frac{-\left( k-k_{0}\right) ^{2}}{2\sigma _{k}^{2}}}\right]
\]
y aplicamos la transformada de Fourier
\begin{eqnarray*}
\widehat{x}_{-k_{0}}(n) &=&x(n)*cte\left[ \delta \left( n\right) -g\left(
n\right) e^{\frac{2\pi k_{0}}{N}n}\right] \\
&=&cte\left[ x(n)-x(n)*g\left( n\right) e^{\frac{2\pi k_{0}}{N}n}\right] \\
&=&x(n)-\widehat{x}_{k_{0}}(n)
\end{eqnarray*}

De la expresi\'on anterior podemos deducir que el filtro elimina banda consiste en restar a la se\~nal original, la se\~nal despu\'es de aplicar el filtro pasa banda.

\section{Filtro de Mediana}

Un filtro de mediana consiste en buscar en una vecindad de tama\'~no $N\times M$ la mediana de un conjunto de pixeles y reemplazar el valor del pixel centrada por la mediana. Para calcular la mediana ser\'a necesario, al igual que la convoluci\'on, hacer un barrido sobre toda la imagen y ordenar los $N\times M$ pixeles de menor a mayor y la mediana ser\'o el valor a la mitad del arreglo \cite{Parker97}. El filtro de mediana tiene la caracter\'astica de preservar los bordes.

En base a esto podemos proponer el filtro de moda, en el cual a diferencia de la mediana de la muestra se calcula la moda. Otras alternativas podr\'ia se remplazar la media o moda por los valores min o max de la ventana de convoluci\'on.

\section{Filtro Binario}

En el caso de tener una imagen binaria aplicar un filtro de convoluci\'on dar\'< como resultado una imagen con n\'umeros reales. En este caso la convoluci\'on la reemplazaremos por
\[
y\left( n,m\right) =\bigvee_{k=-\infty }^{\infty }\bigvee_{l=-\infty
}^{\infty }x\left( k,l\right) h\left( n-k,m-l\right) =x\vee h
\]
donde $\bigvee $ representa la operaci\'on or y esta operaci\'on es conocida como la or convoluci\'on.

Por otro lado podemos calcular la and convoluci\'on como
\[
y\left( n,m\right) =\bigwedge_{k=-\infty }^{\infty }\bigwedge_{l=-\infty
}^{\infty }x\left( k,l\right) h\left( n-k,m-l\right) =x\wedge h
\]

La or convoluci\'on tambi\'en es conocida como operaci\'on de dilaci\'on y la and convoluci\'on como contracci\'on. Si hacemos la aplicaci\'on de ambos $\left(x\vee h\right) \wedge h$, tenemos primero una dilaci\'on y posteriormente una
contracci\'on, lo cual permite eliminar ruido de la imagen binaria. Se definen cerradura a la operaci\'on $\left( x\vee h\right) \wedge h$ y la apertura a la operaci\'on $\left( x\wedge h\right) \vee h$

Para obtener los bordes de la imagen podemos hacer la diferencia de la imagen original con la imagen dilatada haciendo $x-\left( x\vee h\right) .$

\section{Filtro de Membrana}

En esta secci\'on describiremos la aplicaci\'on de la regularizaci\'on al c\'alculo de un filtro de membrana. La regularizaci\'on es una t\'ecnica de adaptable de filtrado de se\~nales que permite estimar componentes de baja frecuencia. Abordaremos el problema desde un punto de vista estad\'istico, para ello, calcularemos primero el estimador de m\'oxima verosimilitud, agregaremos informaci\'on a priori y finalmente con regla de Bayes calcularemos el filtro.

\subsection{Probabilidad de un evento}

Si un experimento puede dar como resultado cualquiera $N$ resultado diferentes igualmente probables, y si exactamente $n$ de estos resultado corresponden al evento $A$, entonces la probabilidad del evento $A$ es
\[
P(A)=\frac{n}{N}
\]

\subsection{Probabilidad condicional}

La probabilidad de que ocurra un evento $B$ cuando se sabe que ha ocurrido alg\'un otro evento $A$ se denomina probabilidad condicional y se denota como $P(B|A)$.

Consideremos el espacio muestral $S=\left\{ 1,2,3,4,5,6,7\right\} $, donde cada uno de los eventos son igualmente probables y estos eventos se agrupan en dos conjuntos $A=\left\{ 1,2,3,4\right\} $ y $B=\left\{ 3,4,5,6,7\right\}$, tal que $S=A\cup B$. De acuerdo a la definici\'on de probabilidad de un evento, la probabilidad de $A$ es $P(A)=4/7$ y la probabilidad del conjunto $B$ es $P(B)=5/7$. En la figura podemos ver, de manera mas clara, como se
agrupan estos conjuntos (ver fig \ref{fig:conjunto}).

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/conjunto.eps,width=8.0cm}} }
\caption{Ejemplo de dos conjuntos}
\label{fig:conjunto}
\end{figure}

Note que existe una intersecci\'on entre los conjuntos $A$ y $B$, en notaci\'on de conjuntos este conjunto es $A\cap B$ y la probabilidad de estos elementos es $2/7$.

Ahora queremos determinar la probabilidad de que ocurra un elemento del conjunto $A$ dado que solo tengo solamente elementos del conjunto $B,$ la cual denotaremos por $P(A|B)$. Aplicando nuestra definici\'on podemos ver que
\[
P(A|B)=\frac{n\left\{ A\cap B\right\} }{n\left\{ B\right\} }
\]
si dividimos esta ecuaci\'on entre el total de elementos del espacio muestral tenemos
\begin{eqnarray*}
P(A|B)=\frac{n\left\{ A\cap B\right\} /N}{n\left\{ B\right\} /N} \\
=\frac{P(A\cap B)}{P(B)}
\end{eqnarray*}

Para nuestros datos tenemos
\[
P(A|B)=\frac{2}{5}
\]

Por otro lado la probabilidad de $P(B|A)=1/2$. Note que estos valores siguen
cumpliendo nuestra definici\'on de probabilidad muestral.

Dado lo anterior, podemos definir la probabilidad condicional de $B$ dado $A$, que se denota $P(B|A)$ com

\[
P(A|B)=\frac{P(A\cap B)}{P(B)}
\]

\subsection{Independencia}

Dos eventos $A$ y $B$ son independientes si y solo si $P(B|A)=P(B)$ y $P(A|B)=P(A)$, tambi\'on se cumple que $P(A\cap B)=P(A)P(B).$

\subsection{Regla de Bayes}

Si los eventos $B_{1},B_{2},...,B_{k}$ constituyen una partici\'on del espacio muestral S, donde $P\left( B_{i}\right) \neq 0$, entonces, para cualquier evento A de S
\[
P\left( B_{r}|A\right) =\frac{P\left( B_{r}\right) P\left( A|B_{r}\right) }{%
\sum_{i=1}^{k}P\left( B_{i}\right) P\left( A|B_{i}\right) }
\]
ver \cite{Walpole87}

\subsection{Estimador de maxima verosimilitud.}

Para encontrar el estimador de m\'axima verosimilitud $f$, dado un conjunto de observaciones $g$, suponemos que estos tienen una distribuci\'on de probabilidad normal con varianza $\sigma ^{2}=1/2$, la cual se expresa como:
\[
p(g_{i}|f_{i})=\frac{1}{C_{1}}e^{-\left( f_{i}-g_{i}\right) ^{2}}
\]
considerando que los datos son generados de manera independiente tenemos que la distribuci\'on de probabilidades conjunta es
\[
p(g|f)=\prod_{i=0}^{N-1}\frac{1}{C_{1}}e^{-\left( f_{i}-g_{i}\right) ^{2}}
\]
Note que la probabilidad conjunta es m\'axima cuando $g_{i}=f_{i}$. Queremos calcular una se\~nal suave, por lo que, nuestra informaci\'on a priori ser\'a
\[
p(f)=\prod_{i=0}^{N-1}\frac{1}{C_{2}}e^{-\lambda \nabla
^{2}f_{i}}=\prod_{i=0}^{N-1}\frac{1}{C_{2}}e^{-\lambda \left(
f_{i}-f_{i-1}\right) ^{2}}
\]
aplicando la regla de Bayes, encontramos la expresi\'on para la probabilidad a posteriori dada por:
\begin{eqnarray}
p(f|g)=\frac{p(g|f)*p(f)}{p(g)}  \label{poste} \\
p(f|g)=\prod_{i=0}^{N-1}\frac{1}{C}e^{-\left[ \left( f_{i}-g_{i}\right)
^{2}+\lambda \left( f_{i}-f_{i-1}\right) ^{2}\right] }  \nonumber \\
p(f|g)=\prod_{i=0}^{N-1}\frac{1}{C}e^{-U(f)}  \nonumber
\end{eqnarray}

La ecuaci\'on \ref{poste} es la distribuci\'on de probabilidad a posteriori, el m\'inimo de esta funci\'on, lo encontramos cuando la funci\'on de energ\'ia $U(f)$ es m\'inima. Nuestro problema lo traducimos en calcular el m\'inimo de la siguiente funci\'on:
\[
U(f)=\sum_{i=0}^{N-1}\left[ \left( f_{i}-g_{i}\right) ^{2}+\lambda \left(
f_{i}-f_{i-1}\right) ^{2}\right]
\]
la cual representa la energ\'ia potencial almacenada en un sistema de resortes acoplados, tal como se muestra en la figura \ref{fig:resortes}.

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/resortes.eps,width=8.0cm}} }
\caption{Sistema de resortes equivalente al filtro de membrana}
\label{fig:resortes}
\end{figure}

Para calcular el valor de $f$ que minimiza la funci\'on $U(f)$, hacemos $\frac{\partial U(f)}{\partial f_{i}}=0$
\begin{equation}
\frac{\partial U(f)}{\partial f_{i}}=2\left( f_{i}-g_{i}\right) +2\lambda
\left( f_{i}-f_{i-1}\right) -2\lambda \left( f_{i+1}-f_{i}\right) =0
\label{mem}
\end{equation}
lo cual nos da el siguiente sistema lineal de ecuaciones :

\[
\left[
\begin{array}{llllllll}
1+\lambda & -\lambda &  &  &  &  &  &  \\
-\lambda & 1+2\lambda & -\lambda &  &  &  &  &  \\
&  & \ddots & \ddots & \ddots &  &  &  \\
&  & -\lambda & 1+2\lambda & -\lambda &  &  &  \\
&  &  & -\lambda & 1+2\lambda & -\lambda &  &  \\
&  &  &  & \ddots & \ddots & \ddots &  \\
&  &  &  &  & -\lambda & 1+2\lambda & -\lambda \\
&  &  &  &  &  & -\lambda & 1+\lambda
\end{array}
\right] \left[
\begin{array}{l}
f_{1} \\
f_{2} \\
\vdots \\
f_{i} \\
f_{i+1} \\
\vdots \\
f_{N-1} \\
f_{N}
\end{array}
\right] =\left[
\begin{array}{l}
g_{1} \\
g_{2} \\
\vdots \\
g_{i} \\
g_{i+1} \\
\vdots \\
g_{N-1} \\
g_{N}
\end{array}
\right]
\]

\subsection{Interpretaci\'on del filtro de Membrana en el dominio de la Frecuencia.}

Tomando la transformada discreta de Fourier a ambos miembros de la ecuaci\'on \ref{mem} y agrupando los t\'erminos obtenemos:

\[
F_{k}+\lambda \left( F_{k}-F_{k}e^{-\left( \frac{2\pi }{N}\right) k}\right)
-\lambda \left( F_{k}e^{\left( \frac{2\pi }{N}\right) k}-F_{k}\right) =G_{k}
\]
agrupando t\'orminos obtenemos
\begin{eqnarray*}
\left[ 1+2\lambda -\lambda e^{-\left( \frac{2\pi }{N}\right) k}-\lambda
e^{\left( \frac{2\pi }{N}\right) k}\right] F_{k}=G_{k} \\
\left[ 1+2\lambda -2\lambda \cos \left( \frac{2\pi }{N}k\right) \right]
F_{k}=G_{k}
\end{eqnarray*}
finalmente tenemos que
\begin{eqnarray*}
F_{k}=\frac{1}{\left[ 1+2\lambda -2\lambda \cos \left( \frac{2\pi }{N}%
k\right) \right] }G_{k}=H_{k}G_{k} \\
H_{k}=\frac{1}{\left[ 1+2\lambda -2\lambda \cos \left( \frac{2\pi }{N}%
k\right) \right] }
\end{eqnarray*}
donde la funci\'on $H_{k}$ es un filtro pasa bajas equivalente al filtro de membrana. Note que cuando el valor de $\lambda $ aumenta tenemos que el ancho de banda se disminuye, en las figuras \ref{fig:lambda1} y \ref{fig:lambda1000} podemos ver la respuesta a la frecuencia de este filtro para valores de $\lambda $ 1 y 1000 respectivamente.

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/lambda1.eps,width=8.0cm}} }
\caption{Respuesta a la frecuencia para el filtro de membrana con $\lambda
=1 $}
\label{fig:lambda1}
\end{figure}

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/lambda1000.eps,width=8.0cm}} }
\caption{Respuesta a la frecuencia para el filtro de membrana con $\lambda
=1000$}
\label{fig:lambda1000}
\end{figure}

\chapter{Aplicaciones}

\section{Detecci\'on de corrimientos utilizando t\'ecnicas de restauraci\'on}

Dadas dos im\'agenes $f^{\prime }$ y $f$, la delta de dirac $\delta $ y el operador de corrimiento $S_{d}$ podemos decir:
\[
f^{\prime }=S_{d}f=S_{d}f*\delta =f*S_{d}\delta =f*\delta _{d}
\]
lo cual indica que si realizamos convoluci\'on con un impulso desplazado, tendremos una imagen desplazada a un nuevo punto de coordenadas dado por $d$. Aplicando transformada de Fourier podemos intentar calcular el valor de
desplazamiento haciendo
\begin{eqnarray*}
f^{\prime }(n)=f*\delta _{d}(n) \\
F^{\prime }(k)=F(k)e^{j\left( \frac{2\pi }{N}\right) kd}
\end{eqnarray*}
de esta expresi\'on podemos despejar el valor de $d$ pero si un valor de $F(k)=0$, no tenemos manera de estimar el valor del mismo.

En su lugar utilizaremos t\'ecnicas de Regularizaci\'on, para ello, minimizamos la funci\'on
\begin{eqnarray*}
\left| f^{\prime }-f*g\right| ^{2} \\
\text{sugeto a }\left| l*g\right| ^{2}
\end{eqnarray*}
donde $f^{\prime }(n)$ es la imagen desplazada, $f(n)$ es la imagen origen, $l(n)$ es un operador lineal que escogeremos de la mejor manera para facilitar la soluci\'on y $g(n)$ es la funci\'on impulso que intentamos encontrar. Para nuestro calculo procedemos
\begin{eqnarray*}
U(g)=\sum_{n=0}^{N-1}\left[ f^{\prime }(n)-f*g(n)\right] ^{2}+\beta
\sum_{n=0}^{N-1}\left| l*g(n)\right| ^{2} \\
=\sum_{n=0}^{N-1}\left[ f^{\prime }(n)-\sum_{i=0}^{N-1}f(n-i)g(i)\right]
^{2}+\beta \sum_{n=0}^{N-1}\left[ \sum_{i=0}^{N-1}l(n-i)g(i)\right] ^{2}
\end{eqnarray*}

Para encontrar el valor de g que minimiza esta expresi\'on hacemos
\begin{eqnarray*}
\frac{\partial U(g)}{\partial g(i)}=-2\sum_{n=0}^{N-1}\left[ f^{\prime
}(n)-\sum_{i=0}^{N-1}f(n-i)*g(i)\right] f(n-i) \\
+2\beta \sum_{n=0}^{N-1}\left[ \sum_{i=0}^{N-1}l(n-i)*g(i)\right] l(n-i) \\
=0
\end{eqnarray*}
reorganizado t\'erminos tenemos

\begin{eqnarray*}
\sum_{n=0}^{N-1}\left[ \sum_{i=0}^{N-1}f(n-i)*g(i)\right] f(n-i)+\beta
\sum_{n=0}^{N-1}\left[ \sum_{i=0}^{N-1}l(n-i)*g(i)\right]
l(n-i)=\sum_{n=0}^{N-1}f^{\prime }(n)f(n-i) \\
\left[ f*f^{r}+\beta l*l^{r}\right] *g(n)+=f^{\prime }*f^{r}(n)
\end{eqnarray*}

Al aplicar transformada de Fourier tenemos:
\begin{eqnarray*}
G(k)=\frac{\left[ F^{\prime }(k)\right] ^{*}F(k)}{\left[ F(k)\right]
^{*}F(k)+\beta \left[ L(k)\right] ^{*}L(k)} \\
G(k)=\frac{\left[ F^{\prime }(k)\right] ^{*}F(k)}{\left| F(k)\right|
^{2}+\beta \left| L(k)\right| ^{2}}
\end{eqnarray*}
al sacar la antitrasformada de Fourier calculamos la funci\'on impulso $g(n)$.

\subsection{Ejemplos}

Se utilizaron como entrada la imagen $f$ mostrada en \ref{fig:panoramica1}, y la imagen $f^{\prime }$ de la figura \ref{fig:panoramica2}. Al par\'ametro $\beta $ se le dio un valor de 0.1.

Despu\'es de calcular $g(n)$ al computar la TFD$^{-1}$ de $G(k)$, se localiz\'o una magnitud m\'oxima igual a 1926.3965, en las coordenadas (2,179), lo que significa que el segmento de la imagen de $f^{\prime }$ las coordenadas cuya columna es mayor que 179 no es visible desde $f$, y que los renglones de $f^{\prime }$ menores que 2 no son visibles desde $f$. Una vez ensamblada la imagen panor\'amica con la informaci\'on anterior, el resultado se muestra en la Fig. \ref{fig:panoramicaf}.

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[Imagen $f$\label{fig:panoramica1}]{%
\psfig{figure=figuras/panoramica1.eps,width=5.0cm}} \hfill \subfigure[Imagen $%
f^{\prime}$\label{fig:panoramica2}]{%
\psfig{figure=figuras/panoramica2.eps,width=5.0cm}} \label{fig:panoramicas} }
\end{center}
\caption{Im\'ogenes de entrada para el sistema.}
\end{figure}

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/panoramicaf.eps,width=7.0cm}} }
\caption{Imagen panor\'omica que se form\'o con la imagen $f$ y $f^{\prime }$.}
\label{fig:panoramicaf}
\end{figure}

Pudiera parecer que el ensamble no fue correcto, puesto que las l\'ineas rectas no parecen ajustar perfectamente. Sin embargo, este problema se debe a tres factores principales. El primero, es que la c\'amara que se utiliz\'o
cuenta con una distorsi\'on considerable, que se puede observar en la curvatura de las l\'oneas que se suponen rectas. En segundo lugar, al tomar lafotograf\'ia pudo haber existido una transformaci\'on m\'as alla de una traslaci\'on
horizontal. Finalmente, la iluminaci\'on de la escena captada por la c\'amara puede ser diferente para cada fotograf\'ia lo cual perjudicar\'ia el comportamiento del algoritmo A pesar de estos tres factores, se encuentra una aproximaci\'on bastante aceptable que puede servir incluso como proveedor de valores iniciales de correcci\'on proyectiva. En el caso ideal, en donde de estos factores no se presentan, el resultado es tambi\'en ideal. Para ejemplificar esta situaci\'on, podemos observar las im\'agenes iniciales en la Fig. \ref{fig:pan}, y el resultado se observa en la Fig. \ref{fig:panf}. En este caso, el empalme es perfecto puesto que no existe otra variante m\'as que traslaci\'on, ni cambio de iluminaci\'on entre las im\'agenes, ni distorsi\'on de la c\'amara. De hecho, este ejemplo se realiz\'o fragmentando una imagen en tres m\'as peque\~nas con diferente traslaci\'on.

\begin{figure}[h!]
\begin{center}
{\normalsize \subfigure[Imagen 1\label{fig:pan1}]{%
\psfig{figure=figuras/pan1.eps,width=3.5cm}} \hfill \subfigure[Imagen 2\label%
{fig:pan2}]{\psfig{figure=figuras/pan2.eps,width=3.5cm}} \hfill \subfigure[Imagen 3%
\label{fig:pan3}]{\psfig{figure=figuras/pan3.eps,width=3.5cm}} \label{fig:pan} }
\end{center}
\caption{Im\'ogenes de entrada para la creaci\'on de una panor\'omica final.}
\end{figure}

\begin{figure}[h!]
{\normalsize \centering
\centerline{\psfig{figure=figuras/panf.eps,width=7.0cm}} }
\caption{Imagen panor\'omica que se form\'o con la imagen 1, 2 y 3.}
\label{fig:panf}
\end{figure}

\chapter {Tareas}

\input {Tareas/Tarea1/Tarea1.tex}
\newpage

\input {Tareas/Tarea2/Tarea2.tex}
\newpage

\input {Tareas/Tarea3/Tarea3.tex}
\newpage

\input {Tareas/Tarea4/Tarea4.tex}
\newpage

\input {Tareas/Tarea5/Tarea5.tex}
\newpage

\input {Tareas/Tarea6/Tarea6.tex}
\newpage

\input {Tareas/Tarea7/Tarea7.tex}
\newpage

\input {Tareas/Tarea8/Tarea8.tex}
\newpage

\input{Tareas/Tarea9/Tarea9.tex}
\newpage

\input{Tareas/Tarea10/Tarea10.tex}
\newpage

\input{Tareas/Tarea11/Tarea11.tex}
\newpage

\bibliographystyle{apalike}
\bibliography{referencias}


\end{document}
