\documentclass[mathserif,professionalfonts,compress,slidestop,10pt]{beamer}

\mode<presentation>

\usepackage[utf8x]{inputenc}
\usepackage[italian]{babel}
\usepackage{default}
% \usepackage[T1]{fontenc}

\usepackage{amsmath}
\usepackage{tikz}
\usepackage{subfigure}

% Comandi miei, ovvero piccole cose matematiche che
% ci saranno utili in seguito.
\newcommand{\R}{\mathbb{R}}
\newcommand{\Z}{\mathbb{Z}}
\renewcommand{\hat}{\widehat}

% Il nostro tema
% \usetheme{CambridgeUS}
\usetheme{Antibes}
\usecolortheme{dolphin}
\beamertemplateshadingbackground{blue!10}{blue!2}
\setbeamercovered{transparent=15}

% Chi siamo e cosa facciamo
\author{Leonardo Robol}
\title{Wavelet e signal processing}
\subtitle{Trasformata wavelet discreta e dintorni}

\begin{document}

% Pagina principale
\begin{frame}[plain]
 \titlepage
\end{frame}

\begin{frame} \frametitle{Outline}
  \tableofcontents
\end{frame}

%
% Teoremi
%
\theoremstyle{plain} \newtheorem{teo}{Teorema}
\theoremstyle{remark} \newtheorem{de}{Definizione}

%
% Cominciamo a capire cosa ci interessa di un segnale e come lo vogliamo
% guardare.
%
\section{Manipolazione di segnali}
\subsection{Segnali analogici e segnali digitali}
% FRAME: Cosa sono i segnali
\begin{frame}\frametitle{Segnali}
	Un \emph{segnale analogico x} è una funzione $x_{analog}: \R \to \R$. 

	Quasi tutti i sengali ``nascono''
	in forma analogica ma vengono \emph{campionati} per essere rappresentati come
	\[
		\left\{ \begin{array}{ll}
		  x_{digital}(n): & \Z  \to  \R \\
		  x_{digital}(n)= &  x_{analog}(nT) \\
	  \end{array} \right.
	\]
	dove $T \in \R$ è l'\emph{intervallo di campionamento}. 

	Questo permette di memorizzare un segnale analogico su un supporto digitale (i.e. un computer). 
\end{frame}

% FRAME: Shannon sampling theorem
\begin{frame} \frametitle{Shannon sampling theorem}

	Quando un segnale viene campionato molta ``informazione'' viene scartata. Se però il segnale
	è \emph{band-limited} allora questo non crea nessun problema, come ci dice il seguente teorema:
	\begin{teo}
		Ogni segnale analogico le cui frequenze non superano un dato $\omega_{max} \in \R_+$ 
		può essere ricostruito dal suo campionamento $x(nT)$ se $\frac{1}{T} > \frac{\omega_{max}}{\pi}$.
	\end{teo}

	%% Commento allo shannon sampling theorem
	\begin{de}
	  Il valore $\frac{\omega_{max}}{\pi}$ viene chiamato \emph{Nyquist period}. 
	\end{de}
\end{frame}

% FRAME: Aliasing
\begin{frame} \frametitle{Aliasing}

	% Un po' di spettacolo
	\transdissolve[duration=0.2]<2>
	\transdissolve[duration=0.2]<3>

	Cosa succede quando non è soddisfatta l'identità $T^{-1} > \omega_{max} \pi^{-1}$?

	Osserviamo il seguente esempio:

  \begin{itemize}
		\only<1-> {\item	Sia $x(t) = sin(\omega x)$.	}
		\uncover<2-> {		\item Consideriamo il sampling $x(nT)$ con $T = \frac{3\pi}{2\omega}$. }
	  \uncover<3-> { \item Si ottiene lo stesso sampling che per $\hat x_{alias}(t) = \sin(\frac{\omega}{3}t)$, e quindi il segnale non può
					venire ricostruito. }
	\end{itemize}

  \begin{figure}
	\begin{tikzpicture}[domain=0:7,samples=150]
		\draw[->] (0,0) -- (8,0) node[anchor=west]{$t$};
		\draw[->] (0,0) -- (0,1.5) node[anchor=south]{$sin(\omega t)$};

		% Disegno la funzione
		\only<1->{
			\draw[color=blue] plot[id=signal] function {sin(5*x)};
		}

		% Disegno i puntini del sampling
		\visible<2->{
			\foreach \x in {0,1.8849,...,7}
				{\fill (\x, 0) circle (0.05cm);}
			\foreach \x in {0.94,4.71,...,7}
				{\fill (\x, -1) circle (0.05cm);}
			\foreach \x in {2.81,6.59,...,7}
				{\fill (\x, 1) circle (0.05cm);}
		}

		% Disegno la funzione alias
		\visible<3-> {
			\draw[color=red] plot[id=aliasedsignal] function {-1 * sin( 1.666667 * x)};
		}
	\end{tikzpicture}
	\caption{Esempio di aliasing}
	\end{figure}
\end{frame}

% FRAME: Cosa sono i filtri
\subsection{Filtri e FIR}
\begin{frame} \frametitle{Filtri}
	Supponiamo di avere il segnal campionato $x(nT)$; d'ora in poi
	supporremo $T = 1$ per semplicità.

  \begin{de}
	Un \emph{filtro} è un'applicazione che manda $x(n)$ in un altro segnale $y(n)$. 
	Diremo che un filtro è
	\begin{description}
		\item[causale] se $y(n)$ è funzione unicamente di $x(n), x(n-1), \ldots$;
		\item[FIR\footnote{che sta per finite impulse response.}] se $y(n)$ si può ottenere con un numero finito di
		campioni di $x(n)$ per ogni $n$;
	\end{description}
	\end{de}

	I filtri FIR e causali sono interessanti perché possono essere calcolati
	in \emph{real--time}. 

\end{frame}

% FRAME: Esempio di filtro
\begin{frame} \frametitle{Esempio di filtro}
	Sia $h \in \R^n$ e consideriamo il filtro:
	\[
		x(n) \longrightarrow y(n) = \sum_{i=1}^{n} h_{i} x(n - i)
	\]
	Questo è sia FIR che causale. Consideriamo i seguenti segnali:
	\[
		\left\{ \begin{array}{l}
			x_1(n) = ( \ldots , 1 , 1 , 1 , 1 , 1 , \ldots ) \\
			x_2(n) = ( \ldots , 1 , -1 , 1 , -1 , 1 , \ldots ) \\
		\end{array} \right.
	\]
	ed i seguenti filtri:
	\[
		\left\{ \begin{array}{l}
			h_0 = ( \frac{1}{2}, \frac{1}{2} ) \\
			h_1 = ( \frac{1}{2}, - \frac{1}{2} ) \\
		\end{array} \right.
	\]

	Si ottengono i seguenti output:
	\[
		h_0x_0 = x_0 \qquad h_1x_0 \equiv 0 \qquad h_0x_1 \equiv 0 \qquad h_1x_2 = x_2
	\]
	
\end{frame}

\begin{frame} \frametitle{Frequency response}
	%$h_0$ è un \emph{lowpass filter}, perché elimina le alte frequenze lasciando invariate quelle
	%basse, mentre $h_1$ è un \emph{highpass filter} perché mantiene le alte frequenze eliminando
	%quelle basse. 

	Osserviamo che per ogni $\omega$ e per ogni $h$, $h * {e^{in\omega}} = H(\omega)e^{in\omega}$ e quindi
	$e^{inw}$ è un autovettore per il filtro. Il suo autovalore $H(\omega)$ viene detto
	\emph{frequency response} del filtro alla frequenza $\omega$. 

	\vskip 10pt

	Nell'esempio precedente abbiamo
	\begin{figure}
	\subfigure{
		\begin{tikzpicture}[domain=0:1.57, samples=150,scale=1.5]
			\draw[->] (0,0) -- (1.9,0) node[anchor=west] {$\omega$};
			\draw[->] (0,-0.1) -- (0,1.1) node[anchor=south] {$H_0(\omega)$};

			\draw[color=blue] plot[id=h0resp] function {cos(x)};
		\end{tikzpicture}
	}
	\subfigure {	
		\begin{tikzpicture}[domain=0:1.57, samples=150,scale=1.5]
			\draw[->] (0,0) -- (1.9,0) node[anchor=west] {$\omega$};
			\draw[->] (0,-0.1) -- (0,1.1) node[anchor=south] {$H_1(\omega)$};

			\draw[color=blue] plot[id=h1resp] function {sin(x)};
		\end{tikzpicture}
	}
	
	\caption{Frequency response di $h_0$ ed $h_1$}
	\end{figure}
\end{frame}

\begin{frame} \frametitle{Lowpass e Highpass}
	Il filtro $h_0$ si dice \emph{lowpass} perché lascia invariati i segnali
	a bassa frequenza, mentre elimina quelli ad alta frequenza. 

	Analogamente $h_1$ si dice \emph{highpass}.

	\vskip 25pt

	Consideriamo un segnale generico $x(n)$, e la sua trasformata di Fourier $X(\omega)$. 
	La trasformata di Fourier $Y(\omega)$ del segnale $y(n)$ ottenuto dopo l'applicazione del filtro
	sarà 
	\[
		Y(\omega) = X(\omega) H(\omega)
	\]
	
	\vskip 25pt

	Il filtro \textbf{amplifica ogni frequenza del segnale} di un coefficiente $H(\omega)$.
\end{frame}

\section{FilterBank}
\subsection{Cos'è una filterbank}
\begin{frame}
	\frametitle{Haar filterbank}
	Consideriamo i seguenti filtri:
	\[
	  h_0 = (\frac{1}{2}, \frac{1}{2}) \qquad h_1 = (\frac 1 2 , - \frac{1}{2}) \qquad
	  f_0 = (\frac{1}{2}, \frac{1}{2}) \qquad f_1 = (-\frac 1 2 , \frac{1}{2})
	\]
\end{frame}

\end{document}
