From 22d286066eb06ccd69d1dd239290060d57bd9672 Mon Sep 17 00:00:00 2001 From: Leonardo Robol Date: Wed, 10 Mar 2010 17:12:09 +0100 Subject: [PATCH] Altre slide sui filtri. --- Slide/slide.tex | 143 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 125 insertions(+), 18 deletions(-) diff --git a/Slide/slide.tex b/Slide/slide.tex index 6407839..be2cd5a 100644 --- a/Slide/slide.tex +++ b/Slide/slide.tex @@ -1,15 +1,15 @@ -\documentclass{beamer} +\documentclass[mathserif,professionalfonts,compress,slidestop,10pt]{beamer} \mode \usepackage[utf8x]{inputenc} \usepackage[italian]{babel} \usepackage{default} -\usepackage[T1]{fontenc} -\usepackage{libertine} +% \usepackage[T1]{fontenc} \usepackage{amsmath} \usepackage{tikz} +\usepackage{subfigure} % Comandi miei, ovvero piccole cose matematiche che % ci saranno utili in seguito. @@ -18,7 +18,11 @@ \renewcommand{\hat}{\widehat} % Il nostro tema -\usetheme{CambridgeUS} +% \usetheme{CambridgeUS} +\usetheme{Antibes} +\usecolortheme{dolphin} +\beamertemplateshadingbackground{blue!10}{blue!2} +\setbeamercovered{transparent=15} % Chi siamo e cosa facciamo \author{Leonardo Robol} @@ -28,20 +32,25 @@ \begin{document} % Pagina principale -\begin{frame} +\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{Dominio del tempo e delle frequenze} +\section{Manipolazione di segnali} \subsection{Segnali analogici e segnali digitali} % FRAME: Cosa sono i segnali \begin{frame}\frametitle{Segnali} @@ -64,18 +73,25 @@ \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 + è \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: @@ -83,7 +99,7 @@ \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(t) = \sin(\frac{\omega}{3}t)$, e quindi il segnale non può + \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} @@ -98,7 +114,7 @@ } % Disegno i puntini del sampling - \only<2->{ + \visible<2->{ \foreach \x in {0,1.8849,...,7} {\fill (\x, 0) circle (0.05cm);} \foreach \x in {0.94,4.71,...,7} @@ -108,7 +124,7 @@ } % Disegno la funzione alias - \only<3-> { + \visible<3-> { \draw[color=red] plot[id=aliasedsignal] function {-1 * sin( 1.666667 * x)}; } \end{tikzpicture} @@ -116,14 +132,105 @@ \end{figure} \end{frame} -% FRAME: Cosa ci interessa di un segnale -\begin{frame}\frametitle{Tempo e frequenza} - Per analizzare un segnale abbiamo due scelte ovvie: - \begin{itemize} - \item Analizzarle come funzioni del tempo; - \item Analizzarle come funziona della frequenza, considerandone la - trasformata di fourier $\hat x(\omega)$; - \end{itemize} +% 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 del segnale $y(n)$ ottenuto dopo l'applicazione del filtro + sarà il prodotto di $X(\omega)$ e di $H(\omega)$\footnote{che in effetti è la trasformata + di Fourier del filtro considerato come funzione da $\R$ in $\R$.}. + + \vskip 25pt + + Il filtro \textbf{amplifica ogni frequenza del segnale} di un coefficiente $H(\omega)$. \end{frame} -- 2.1.4