From adf1f0c5d206469424525a207c45b0ca4a6f0890 Mon Sep 17 00:00:00 2001 From: Leonardo Robol Date: Sun, 21 Mar 2010 11:55:06 +0100 Subject: [PATCH] Aggiunte conclusioni. --- Filtering/Filtering.py | 1 + Slide/slide.tex | 77 +++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 62 insertions(+), 16 deletions(-) diff --git a/Filtering/Filtering.py b/Filtering/Filtering.py index a69692f..ff85515 100644 --- a/Filtering/Filtering.py +++ b/Filtering/Filtering.py @@ -295,6 +295,7 @@ class FilterBank(): # E li filtriamo insieme ai low samples. low = self.lowPassInverseFilter (UpSample (low)) + low += self.highPassInverseFilter (UpSample (high)) # Facciamo shiftare l'array in modo che il delay dei sample diff --git a/Slide/slide.tex b/Slide/slide.tex index 3998a44..af81cb1 100644 --- a/Slide/slide.tex +++ b/Slide/slide.tex @@ -5,7 +5,7 @@ \usepackage[utf8x]{inputenc} \usepackage[italian]{babel} \usepackage{default} -% \usepackage{iwona} +\usepackage{iwona} \usepackage[T1]{fontenc} % \usepackage{rotate} @@ -306,17 +306,17 @@ % % % %%%%%%%%%%%%%%%%%% -% SEZIONE FILTERBANK +% SEZIONE filter bank % %%%%%%%%%%%%%%%%%% % % % % -\section{FilterBank} +\section{Filter Bank} \pausaindice -\subsection{Cos'è una filterbank} -\begin{frame} \frametitle{Struttura di una filterbank} - Possiamo immaginare una \emph{filterbank} come una successione di filtri +\subsection{Cos'è una filter bank} +\begin{frame} \frametitle{Struttura di una filter bank} + Possiamo immaginare una \emph{filter bank} come una successione di filtri che, partendo, da uno o più segnali di input $x(n)$ produca uno o più segnali di output $y_{0}(n) \ldots y_{1}(n)$. \\[15pt] Questo esempio prende un input (in giallo) e restituisce tre output (in blu). @@ -340,13 +340,13 @@ \draw[->] (y0.east) -- (y00.west); \end{tikzpicture} - \caption{Esempio di filterbank} + \caption{Esempio di filter bank} \end{figure} \end{frame} -\begin{frame} \frametitle{Perché una filterbank?} +\begin{frame} \frametitle{Perché una filter bank?} - Le filterbank ci permettono di scomporre (e ricomporre un segnale). Questo ci è utile per: + Le filter bank ci permettono di scomporre (e ricomporre un segnale). Questo ci è utile per: \vskip 20pt @@ -367,7 +367,7 @@ \begin{frame} \frametitle{} -% Consideriamo i seguenti filtri e filterbank: +% Consideriamo i seguenti filtri e filter bank: % \[ % 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}) @@ -395,7 +395,7 @@ \draw[->] (y1.east) -- (y1down.west); \end{tikzpicture} - \caption{Analysis filterbank} + \caption{Analysis filter bank} \end{figure} @@ -423,22 +423,22 @@ \end{tikzpicture} - \caption{Synthesis filterbank} + \caption{Synthesis filter bank} \end{figure} \begin{problema} - Trovare condizioni necessarie per ricostruire un segnale decomposto con l'analysis filterbank - tramite la synthesis filterbank. + Trovare condizioni necessarie per ricostruire un segnale decomposto con l'analysis filter bank + tramite la synthesis filter bank. \end{problema} \end{frame} -\begin{frame} \frametitle{Analysis filterbank} +\begin{frame} \frametitle{Analysis filter bank} Analizziamo un segnale ad una frequenza fissata $\{e^{in\omega}\}$. \vskip 10pt $\{e^{in\omega}\}$ è un autovalore per - $h_0$ e $h_1$ e quindi dopo il primo passaggio dell'Analysis filterbank si ottiene + $h_0$ e $h_1$ e quindi dopo il primo passaggio dell'Analysis filter bank si ottiene \[ y_0(n) = H_0(\omega)e^{in\omega} \qquad y_1(n) = H_1(\omega)e^{in\omega} \] @@ -770,6 +770,51 @@ \end{example} \end{frame} +\begin{frame} \frametitle{Spazi wavelet} + Consideriamo ancora gli spazi $W_0, W_1, \ldots$; + \begin{de} + Una funzione $w(t)$ si dice \emph{wavelet} se per ogni $j$ si ha che $\{w(2^jt-k) \: | \: k \in \Z \}$ è + una base per $W_j$. + \end{de} + + \vskip 10pt + + \begin{teo} + $w(t) = \sum_{i=0}^{N} h_1(k) \Phi(2t-k)$ dove $h_1$ è l'highpass filter della filter bank + è una wavelet. + \end{teo} + \vskip 10pt + Se ad esempio $h_0 = \left(\frac 1 2, \frac 1 2\right)$ e $h_1 = \left(\frac 1 2, - \frac 1 2\right)$ si ha + che $w(t)$ è ortogonale a $\Phi(t-k)$ per ogni $k$. +\end{frame} + +\begin{frame} \frametitle{Conclusioni} + La \textrm{DWT} scompone un segnale in ``details'' e ``averages'' riscrivendolo come + una somma + \[ + x(n) = \sum_{j} x_j(n) + \] + dove $x_j(t)$ sono dei segnali che contengono alte frequenze se $j$ è grande, e basse frequenze + se $j$ è piccolo. + + \vskip 15pt + + Questo permette di rappresentare il segnale $x_0(n)$ con un \textbf{numero minore di sample} rispetto + al campionamento del segnale originale. + + \vskip 10pt + + I segnali con $j$ grande avranno alte frequenze (e quindi necessiteranno di un gran numero di sample) + ma saranno di \textbf{modulo inferiore} ai segnali principali. +\end{frame} + +\begin{frame} \frametitle{Un esempio pratico} + + \vskip 65pt + \begin{center} + \texttt{./dwt.py {-}{-}show file.raw} + \end{center} +\end{frame} \end{document} -- 2.1.4