viewgit/index.php:465 Only variables should be passed by reference [2048]

viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]

  1. \documentclass[mathserif,professionalfonts,compress,slidestop,10pt]{beamer}
  2.  
  3. \mode<presentation>
  4.  
  5. \usepackage[utf8x]{inputenc}
  6. \usepackage[italian]{babel}
  7. \usepackage{default}
  8. % \usepackage{iwona}
  9. \usepackage[T1]{fontenc}
  10.  
  11.  
  12. \usepackage{amsmath}
  13. \usepackage{tikz}
  14. \usepackage{subfigure}
  15.  
  16. % Comandi miei, ovvero piccole cose matematiche che
  17. % ci saranno utili in seguito.
  18. \newcommand{\R}{\mathbb{R}}
  19. \newcommand{\Z}{\mathbb{Z}}
  20. \newcommand{\N}{\mathbb{N}}
  21. \renewcommand{\hat}{\widehat}
  22. \renewcommand{\tilde}{\widetilde}
  23. \newcommand{\upsample}[1]{\makebox[0.85\width]{$\uparrow$}_{#1}}
  24. \newcommand{\downsample}[1]{\makebox[0.85\width]{$\downarrow$}^{#1}}
  25. \newcommand{\pausaindice}{
  26. \begin{frame} \frametitle{Outline}
  27. \tableofcontents[current]
  28. \end{frame}}
  29. % \newcommand{\downsample}[1]{\downarrow{#1}}
  30.  
  31. % Il nostro tema
  32. % \usetheme{CambridgeUS}
  33. \usetheme{Antibes}
  34. \usecolortheme{dolphin}
  35. \beamertemplateshadingbackground{blue!10}{blue!2}
  36. \setbeamercovered{transparent=15}
  37.  
  38. % Chi siamo e cosa facciamo
  39. \author{Leonardo Robol}
  40. \title{Wavelet e signal processing}
  41. \subtitle{Trasformata wavelet discreta e dintorni}
  42.  
  43. \begin{document}
  44.  
  45. % Pagina principale
  46. \begin{frame}[plain]
  47. \titlepage
  48. \end{frame}
  49.  
  50. % \begin{frame} \frametitle{Outline}
  51. % \tableofcontents[pausesections]
  52. % \end{frame}
  53.  
  54. %
  55. % Teoremi
  56. %
  57. \theoremstyle{plain} \newtheorem{teo}{Teorema}
  58. \theoremstyle{remark} \newtheorem{de}{Definizione}
  59. \theoremstyle{remark} \newtheorem{os}{Osservazione}
  60. \theoremstyle{remark} \newtheorem{problema}{Problema}
  61.  
  62. %
  63. % Cominciamo a capire cosa ci interessa di un segnale e come lo vogliamo
  64. % guardare.
  65. %
  66. \section{Manipolazione di segnali}
  67. \subsection{Segnali analogici e segnali digitali}
  68. \pausaindice
  69. % FRAME: Cosa sono i segnali
  70. \begin{frame}\frametitle{Segnali}
  71. Un \emph{segnale analogico x} è una funzione $x_{analog}: \R \to \R$.
  72.  
  73. Quasi tutti i sengali ``nascono''
  74. in forma analogica ma vengono \emph{campionati} per essere rappresentati come
  75. \[
  76. \left\{ \begin{array}{ll}
  77. x_{digital}(n): & \Z \to \R \\
  78. x_{digital}(n)= & x_{analog}(nT) \\
  79. \end{array} \right.
  80. \]
  81. dove $T \in \R$ è l'\emph{intervallo di campionamento}.
  82.  
  83. Questo permette di memorizzare un segnale analogico su un supporto digitale (i.e. un computer).
  84. \end{frame}
  85.  
  86. % FRAME: Shannon sampling theorem
  87. \begin{frame} \frametitle{Shannon sampling theorem}
  88.  
  89. Quando un segnale viene campionato molta ``informazione'' viene scartata. Se però il segnale
  90. è \emph{band-limited} allora questo non crea nessun problema, come ci dice il seguente teorema:
  91. \begin{teo}
  92. Ogni segnale analogico le cui frequenze non superano un dato $\omega_{max} \in \R_+$
  93. può essere ricostruito dal suo campionamento $x(nT)$ se $\frac{1}{T} > \frac{\omega_{max}}{\pi}$.
  94. \end{teo}
  95.  
  96. %% Commento allo shannon sampling theorem
  97. \begin{de}
  98. Il valore $\frac{\omega_{max}}{\pi}$ viene chiamato \emph{Nyquist period}.
  99. \end{de}
  100. \end{frame}
  101.  
  102. % FRAME: Aliasing
  103. \begin{frame} \frametitle{Aliasing}
  104.  
  105. % Un po' di spettacolo
  106. \transdissolve[duration=0.2]<2>
  107. \transdissolve[duration=0.2]<3>
  108.  
  109. Cosa succede quando non è soddisfatta l'identità $T^{-1} > \omega_{max} \pi^{-1}$?
  110.  
  111. Osserviamo il seguente esempio:
  112.  
  113. \begin{itemize}
  114. \only<1-> {\item Sia $x(t) = sin(\omega x)$. }
  115. \uncover<2-> { \item Consideriamo il sampling $x(nT)$ con $T = \frac{3\pi}{2\omega}$. }
  116. \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ò
  117. venire ricostruito. }
  118. \end{itemize}
  119.  
  120. \begin{figure}
  121. \begin{tikzpicture}[domain=0:7,samples=150]
  122. \draw[->] (0,0) -- (8,0) node[anchor=west]{$t$};
  123. \draw[->] (0,0) -- (0,1.5) node[anchor=south]{$sin(\omega t)$};
  124.  
  125. % Disegno la funzione
  126. \only<1->{
  127. \draw[color=blue] plot[id=signal] function {sin(5*x)};
  128. }
  129.  
  130. % Disegno i puntini del sampling
  131. \visible<2->{
  132. \foreach \x in {0,1.8849,...,7}
  133. {\fill (\x, 0) circle (0.05cm);}
  134. \foreach \x in {0.94,4.71,...,7}
  135. {\fill (\x, -1) circle (0.05cm);}
  136. \foreach \x in {2.81,6.59,...,7}
  137. {\fill (\x, 1) circle (0.05cm);}
  138. }
  139.  
  140. % Disegno la funzione alias
  141. \visible<3-> {
  142. \draw[color=red] plot[id=aliasedsignal] function {-1 * sin( 1.666667 * x)};
  143. }
  144. \end{tikzpicture}
  145. \caption{Esempio di aliasing}
  146. \end{figure}
  147. \end{frame}
  148.  
  149. % FRAME: Cosa sono i filtri
  150. \subsection{Filtri e FIR}
  151. \begin{frame} \frametitle{Filtri}
  152. Supponiamo di avere il segnale campionato $x(nT)$; d'ora in poi
  153. supporremo $T = 1$ per semplicità.
  154.  
  155. \begin{de}
  156. Un \emph{filtro} è un'applicazione che manda $x(n)$ in un altro segnale $y(n)$.
  157. Diremo che un filtro è
  158. \begin{description}
  159. \item[causale] se $y(n)$ è funzione unicamente di $x(n), x(n-1), \ldots$;
  160. \item[FIR\footnote{che sta per finite impulse response.}] se $y(n)$ si può ottenere con un numero finito di
  161. campioni di $x(n)$ per ogni $n$;
  162. \end{description}
  163. \end{de}
  164.  
  165. I filtri FIR e causali sono interessanti perché possono essere calcolati
  166. in \emph{real--time}.
  167.  
  168. \end{frame}
  169.  
  170. % FRAME: Esempio di filtro
  171. \begin{frame} \frametitle{Esempio di filtro}
  172. Sia $h \in \R^n$ e consideriamo il filtro:
  173. \[
  174. x(n) \longrightarrow y(n) = \sum_{i=1}^{n} h_{i} x(n - i)
  175. \]
  176. Questo è sia FIR che causale. Consideriamo i seguenti segnali:
  177. \[
  178. \left\{ \begin{array}{l}
  179. x_1(n) = ( \ldots , 1 , 1 , 1 , 1 , 1 , \ldots ) \\
  180. x_2(n) = ( \ldots , 1 , -1 , 1 , -1 , 1 , \ldots ) \\
  181. \end{array} \right.
  182. \]
  183. ed i seguenti filtri:
  184. \[
  185. \left\{ \begin{array}{l}
  186. h_0 = ( \frac{1}{2}, \frac{1}{2} ) \\
  187. h_1 = ( \frac{1}{2}, - \frac{1}{2} ) \\
  188. \end{array} \right.
  189. \]
  190.  
  191. Si ottengono i seguenti output:
  192. \[
  193. h_0x_0 = x_0 \qquad h_1x_0 \equiv 0 \qquad h_0x_1 \equiv 0 \qquad h_1x_2 = x_2
  194. \]
  195.  
  196. \end{frame}
  197.  
  198. \begin{frame} \frametitle{Frequency response}
  199. %$h_0$ è un \emph{lowpass filter}, perché elimina le alte frequenze lasciando invariate quelle
  200. %basse, mentre $h_1$ è un \emph{highpass filter} perché mantiene le alte frequenze eliminando
  201. %quelle basse.
  202. %
  203. % Osserviamo che per ogni $\omega$ e per ogni $h$, $h * {e^{in\omega}} = H(\omega)e^{in\omega}$ e quindi
  204. % $e^{inw}$ è un autovettore per il filtro. Il suo autovalore $H(\omega)$ viene detto
  205. % \emph{frequency response} del filtro alla frequenza $\omega$.
  206.  
  207. Sia $x(n) = e^{in\omega}$. Questo è un autovettore per il filtro:
  208. \[
  209. h * \{e^{in\omega}\} = \sum_{i=0}^{N} h(i)e^{i(n-i)\omega} =
  210. e^{in\omega} \underbrace{\sum_{i=0}^{N} e^{-i\omega}}_{\textrm{autovalore } H(\omega)}
  211. \]
  212.  
  213. \vskip 10pt
  214.  
  215. \uncover<2-> {
  216. Consideriamo un segnale generico $x(n)$, e la sua trasformata di Fourier $X(\omega)$.
  217.  
  218. La trasformata di Fourier $Y(\omega)$ del segnale $y(n)$ ottenuto dopo l'applicazione del filtro
  219. sarà
  220. \[
  221. Y(\omega) = X(\omega) H(\omega)
  222. \]
  223. }
  224. \end{frame}
  225.  
  226.  
  227. \begin{frame} \frametitle{Lowpass e Highpass}
  228.  
  229. % Nell'esempio precedente abbiamo
  230. \begin{figure}
  231. \subfigure{
  232. \begin{tikzpicture}[domain=0:1.57, samples=150,scale=1.5]
  233. \draw[->] (0,0) -- (1.9,0) node[anchor=west] {$\omega$};
  234. \draw[->] (0,-0.1) -- (0,1.1) node[anchor=south] {$H_0(\omega)$};
  235.  
  236. \draw[color=blue] plot[id=h0resp] function {cos(x)};
  237. \end{tikzpicture}
  238. }
  239. \subfigure {
  240. \begin{tikzpicture}[domain=0:1.57, samples=150,scale=1.5]
  241. \draw[->] (0,0) -- (1.9,0) node[anchor=west] {$\omega$};
  242. \draw[->] (0,-0.1) -- (0,1.1) node[anchor=south] {$H_1(\omega)$};
  243.  
  244. \draw[color=blue] plot[id=h1resp] function {sin(x)};
  245. \end{tikzpicture}
  246. }
  247.  
  248. \caption{Frequency response di $h_0$ ed $h_1$}
  249. \end{figure}
  250.  
  251. \begin{description}
  252. \item[$H_0(\omega)$] Il filtro $h_0$ si dice \emph{lowpass} perché lascia invariati i segnali
  253. a bassa frequenza, mentre elimina quelli ad alta frequenza.
  254.  
  255. \item[$H_1(\omega)$] Analogamente $h_1$ si dice \emph{highpass}.
  256. \end{description}
  257.  
  258. \end{frame}
  259.  
  260. \subsection{Upsampling e downsampling}
  261. \begin{frame} \frametitle{Downsampling}
  262.  
  263. \begin{de}
  264. Diremo che $y(n)$ è il \emph{downsampling} di $x(n)$ e lo indicheremo con
  265. $y(n) = \downsample{k}x(n)$ se
  266. \[
  267. y(n) = x(kn) \quad \textrm{dove } k \in \N
  268. \]
  269. \end{de}
  270.  
  271. \begin{example}
  272. Applichiamo il downsampling ad un numero finito di samples:
  273. Se $x = (1, 5, 3, 2, 6, 4, 8) = x(0) \ldots x(6)$ si ha
  274. \[
  275. \downsample{3}x = (1, 2, 8) \qquad \downsample{2}x = (1,3,6,8)
  276. \]
  277. \end{example}
  278.  
  279. \end{frame}
  280. \begin{frame} \frametitle{Upsampling}
  281.  
  282. Per ``invertire'' il downsampling applicheremo l'\emph{upsampling}:
  283. \begin{de}
  284. Diremo che $x(n)$ è l'upsampling di $y(n)$ di un fattore $k$ e lo
  285. indicheremo con $x(n) = \upsample k y(n)$ se
  286. \[
  287. x(n) = \left\{ \begin{array}{ll}
  288. y(\frac{n}{k}) & \textrm{se } n \textrm{ è multiplo di } k \\
  289. 0 & \textrm{altrimenti}
  290. \end{array} \right.
  291. \]
  292. \end{de}
  293. \begin{os}
  294. Il downsampling è l'inverso dell'upsampling ma non viceversa, ovvero
  295. \[
  296. \downsample{k}\upsample{k} x(n) = x(n) \quad \textrm{ma} \quad \upsample{k}\downsample{k} x(n) \neq x(n)
  297. \]
  298. \end{os}
  299. \end{frame}
  300.  
  301.  
  302.  
  303.  
  304.  
  305. %
  306. %
  307. % %%%%%%%%%%%%%%%%%%
  308. % SEZIONE FILTERBANK
  309. % %%%%%%%%%%%%%%%%%%
  310. %
  311. %
  312. %
  313. %
  314. \section{FilterBank}
  315. \pausaindice
  316. \subsection{Cos'è una filterbank}
  317. \begin{frame} \frametitle{Struttura di una filterbank}
  318. Possiamo immaginare una \emph{filterbank} come una successione di filtri
  319. che, partendo, da uno o più segnali di input $x(n)$ produca uno o più segnali
  320. di output $y_{0}(n) \ldots y_{1}(n)$. \\[15pt]
  321. Questo esempio prende un input (in giallo) e restituisce tre output (in blu).
  322. \begin{figure}
  323. \begin{tikzpicture}[rounded corners=2pt, scale=0.5, thick, node distance=50pt]
  324. \tikzstyle{place}=[rectangle,draw=blue!80,fill=white!20]
  325. \tikzstyle{input}=[rectangle,draw=blue!80,fill=yellow!50]
  326. \tikzstyle{output}=[rectangle,draw=blue!80,fill=blue!20]
  327.  
  328. %% Disegnamo i pezzetti
  329. \node [input] (inputsignal) {$x(n)$};
  330. \node [place] (y0) [right of=inputsignal, yshift=25pt] {$y_0(n)$};
  331. \node [output] (y1) [right of=inputsignal, yshift=-25pt] {$y_1(n)$};
  332. \node [output] (y00)[right of=y0, yshift=20pt] {$y_{00}(n)$};
  333. \node [output] (y01)[right of=y0, yshift=-20pt] {$y_{01}(n)$};
  334.  
  335. %% .. e li colleghiamo
  336. \draw[->] (inputsignal.east) -- (y0.west);
  337. \draw[->] (inputsignal.east) -- (y1.west);
  338. \draw[->] (y0.east) -- (y01.west);
  339. \draw[->] (y0.east) -- (y00.west);
  340.  
  341. \end{tikzpicture}
  342. \caption{Esempio di filterbank}
  343. \end{figure}
  344. \end{frame}
  345.  
  346. \begin{frame} \frametitle{Perché una filterbank?}
  347.  
  348. Le filterbank ci permettono di scomporre (e ricomporre un segnale). Questo ci è utile per:
  349.  
  350. \vskip 20pt
  351.  
  352. \begin{description}
  353. \item[Analisi] Vorremmo avere il segnale in una forma che metta in evidenza
  354. la decomposizione in frequenze del segnale e contemporaneamente la localizzazione
  355. temporale;
  356.  
  357. \vskip 25pt
  358.  
  359. \item[Compressione] Vorremmo scomporre il segnale in piccole componenti più idonee ad
  360. essere compresse (ovvero che contengano dati omogenei);
  361. \end{description}
  362.  
  363. \end{frame}
  364.  
  365. \subsection{Un esempio significativo}
  366.  
  367. \begin{frame}
  368. \frametitle{}
  369. % Consideriamo i seguenti filtri e filterbank:
  370. % \[
  371. % h_0 = (\frac{1}{2}, \frac{1}{2}) \qquad h_1 = (\frac 1 2 , - \frac{1}{2}) \qquad
  372. % f_0 = (\frac{1}{2}, \frac{1}{2}) \qquad f_1 = (-\frac 1 2 , \frac{1}{2})
  373. % \]
  374.  
  375. \begin{figure}
  376. \begin{tikzpicture}[rounded corners=2pt, scale=0.5, thick, node distance=50pt]
  377. \tikzstyle{title}=[rectangle,draw=blue!80,fill=white!20]
  378. \tikzstyle{input}=[rectangle,draw=blue!80,fill=yellow!50]
  379. \tikzstyle{output}=[rectangle,draw=blue!80,fill=blue!20]
  380.  
  381. %% Disegnamo i pezzetti
  382. \node [input] (inputsignal) [xshift=10mm] {$x(n)$};
  383. \node [input] (y0) [right of=inputsignal, yshift=10pt, xshift=10mm] {$y_0(n) = h_0 * x(n)$};
  384. \node [input] (y1) [right of=inputsignal, yshift=-10pt, xshift=10mm] {$y_1(n) = h_1 * x(n)$};
  385.  
  386. \node [output] (y0down) [right of=y0, xshift=15mm] {$\tilde{y_0}(n) = \downsample{2}y_0(n)$};
  387. \node [output] (y1down) [right of=y1, xshift=15mm] {$\tilde{y_1}(n) = \downsample{2}y_1(n)$};
  388.  
  389. %% .. e li colleghiamo
  390. \draw[->] (inputsignal.east) -- (y0.west);
  391. \draw[->] (inputsignal.east) -- (y1.west);
  392.  
  393. \draw[->] (y0.east) -- (y0down.west);
  394. \draw[->] (y1.east) -- (y1down.west);
  395.  
  396. \end{tikzpicture}
  397. \caption{Analysis filterbank}
  398. \end{figure}
  399.  
  400.  
  401. \begin{figure}
  402. \begin{tikzpicture}[rounded corners=2pt, scale=0.5, thick, node distance=50pt]
  403. \tikzstyle{title}=[rectangle,draw=blue!80,fill=white!20]
  404. \tikzstyle{input}=[rectangle,draw=blue!80,fill=yellow!50]
  405. \tikzstyle{output}=[rectangle,draw=blue!80,fill=blue!20]
  406.  
  407.  
  408. %% Disegnamo i pezzetti
  409. \node [input] (inputsignal0) [xshift=10mm, yshift=3.5mm] {$\tilde{y_0}(n)$};
  410. \node [input] (inputsignal1) [xshift=10mm, yshift=-3.5mm] {$\tilde{y_1}(n)$};
  411.  
  412. \node[input] (inputsignal0up) [right of=inputsignal0, xshift=5mm] {$z_0(n) = \upsample{2} \tilde{y_0}(n)$};
  413. \node[input] (inputsignal1up) [right of=inputsignal1, xshift=5mm] {$z_1(n) = \upsample{2} \tilde{y_1}(n)$};
  414.  
  415. \node [output] (xn) [right of=inputsignal0up, xshift=25mm, yshift=-3.5mm] {$x(n) = f_0*z_0(n) + f_1*z_1(n)$};
  416.  
  417. %% .. e li colleghiamo
  418. \draw[->] (inputsignal0up.east) -- (xn.west);
  419. \draw[->] (inputsignal1up.east) -- (xn.west);
  420. \draw[->] (inputsignal0.east) -- (inputsignal0up.west);
  421. \draw[->] (inputsignal1.east) -- (inputsignal1up.west);
  422.  
  423.  
  424. \end{tikzpicture}
  425. \caption{Synthesis filterbank}
  426. \end{figure}
  427. \begin{problema}
  428. Trovare condizioni necessarie per ricostruire un segnale decomposto con l'analysis filterbank
  429. tramite la synthesis filterbank.
  430. \end{problema}
  431. \end{frame}
  432.  
  433. \begin{frame} \frametitle{Analysis filterbank}
  434.  
  435. Analizziamo un segnale ad una frequenza fissata $\{e^{in\omega}\}$.
  436.  
  437. \vskip 10pt
  438.  
  439. $\{e^{in\omega}\}$ è un autovalore per
  440. $h_0$ e $h_1$ e quindi dopo il primo passaggio dell'Analysis filterbank si ottiene
  441. \[
  442. y_0(n) = H_0(\omega)e^{in\omega} \qquad y_1(n) = H_1(\omega)e^{in\omega}
  443. \]
  444.  
  445. \vskip 15pt
  446. %
  447. % \begin{os}
  448. % Con questo filtraggio abbiamo separato le alte frequenze dalla basse frequenze; ora però
  449. % ci sono \textbf{il doppio} dei samples di prima e quindi il segnale occupa
  450. % il doppio dello spazio.
  451. % \end{os}
  452.  
  453.  
  454. Per liberarci dell'informazioni in eccesso ne scartiamo la metà effettuando un downsampling,
  455. ovvero ponendo
  456. \[
  457. \tilde y_0(n) = \downsample{2} y_0(n) \qquad \tilde y_1(n) = \downsample{2} y_1(n)
  458. \]
  459. \end{frame}
  460.  
  461. %
  462. %\begin{frame} \frametitle{Liberarsi della ridondanza}
  463. % Il problema dell'informazione in eccesso è stato sicuramente risolto, ma sarà possibile
  464. % recuperare il segnale originale? \\[15pt]
  465. %
  466. % Per fortuna la risposta è affermativa. Supponiamo ora di conoscere solamente i segnali
  467. % $\tilde y_0$ e $\tilde y_1$ ottenuti da questo processo, ovvero
  468. % \[
  469. % \tilde{y_0}(n) = H_0(\omega)e^{2in\omega} \qquad \tilde{y_1}(n) = H_1(\omega)e^{2in\omega}
  470. % \]
  471. %\end{frame}
  472.  
  473. \begin{frame} \frametitle{Il ritorno dell'aliasing}
  474.  
  475. \begin{problema} Cosa succede ad un segnale $\{e^{in\omega}\}$ se effettuiamo un downsampling
  476. seguito da un upsampling?
  477. \end{problema}
  478. \vskip 15pt
  479. \uncover<2-> {
  480. Osserviamo che per ogni $\omega$ vale la seguente uguaglianza
  481. \[
  482. \upsample{2}\downsample{2} \{e^{in\omega}\} = \{\frac{1}{2} ( e^{in\omega} + e^{in(\omega+\pi)})\}
  483. \]
  484. ovvero l'upsampling ci restituisce il segnale originale ``sporcato'' con dell'aliasing.
  485. }
  486.  
  487. \only<3-> {
  488. \[
  489. z_0(n) = \upsample{2}\downsample{2} h_0 * x(n) \qquad z_1(n) = \upsample{2}\downsample{2} h_1 * x(n)
  490. \]
  491. }
  492.  
  493. \end{frame}
  494.  
  495. \begin{frame} \frametitle{La sintesi}
  496. % Osserviamo cosa succede ora se consideriamo
  497. \begin{eqnarray*}
  498. r(n) &=& f_0 * z_0(n) + f_1 * z_1(n) = \\
  499. &=& \frac{f_0}{2} * (\tilde{y_0}(n) + e^{in\pi}\tilde{y_0}(n)) + \frac{f_1}{2} * (\tilde{y_1}(n) + e^{in\pi}\tilde{y_1}(n)) = \\
  500. &=& \frac{f_0}{2} * H_0(\omega)(e^{in\omega} + e^{in(\omega + \pi)}) + \frac{f_1}{2} * H_1(\omega)(e^{in\omega} + e^{in(\omega + \pi)})
  501. \end{eqnarray*} \vskip 10pt
  502. e sviluppando in funzione del segnale iniziale $e^{in\omega}$ si ottiene che $r(n)$ si può scrivere come
  503. (consideriamo $-\omega = \omega + \pi$)
  504. % Fare un riqadro
  505. \[
  506. \frac{(F_0(\omega)H_0(\omega) + F_1(\omega)H_1(\omega))e^{in\omega} + (F_0(-\omega)H_0(\omega) + F_1(-\omega)H_1(\omega))e^{-in\omega}}{2}
  507. \]
  508. % e quindi $r(n)$ è combinazione lineare di $\{e^{in\omega}\}$ e di $\{e^{in(\omega + \pi)}\}$.
  509. \end{frame}
  510.  
  511. \begin{frame} \frametitle{La sintesi}
  512. La condizione per riottenere il segnale originale è $r(n) = x(n)$ che è equivalente a
  513. \[
  514. \left\{ \begin{array}{l}
  515. F_0(\omega)H_0(\omega) + F_1(\omega)H_1(\omega) = 1 \\
  516. F_0(\omega+\pi)H_0(\omega) + F_1(\omega+\pi)H_1(\omega) = 0
  517. \end{array}
  518. \]
  519. In realtà è sufficiente che la prima equazione valga $e^{-il\omega}$ per ogni $\omega$ e per qualche
  520. $l \in \N$. \\[5pt]
  521.  
  522. \vskip 10pt
  523.  
  524. In questo modo avremmo che $r(n) = e^{-il\omega}x(n) = e^{i(n-l)\omega}$, cioè è $x(n)$
  525. con un ritardo di $l$. \\[5pt]
  526.  
  527. \end{frame}
  528.  
  529. \begin{frame} \frametitle{Il caso di Haar}
  530. Ricordando i filtri $h_0, h_1, f_0, f_1$ che avevamo scelto all'inizio, calcoliamo le relative
  531. response function $H_0, H_1, F_0, F_1$.
  532.  
  533. \vskip 10pt
  534.  
  535. Ricordando la formula $H(\omega) = \sum_{k=0}^{N} h(k) e^{-ik\omega}$ si ottiene:
  536.  
  537. \vskip 10pt
  538. \[
  539. H_0(\omega) = \frac 1 2 ( 1 + e^{-i\omega} ) \qquad H_1(\omega) = \frac 1 2 (1 - e^{-i\omega})
  540. \]
  541. \[
  542. F_0(\omega) = 1 + e^{-i\omega} \qquad F_1(\omega) = -1 + e^{-i\omega}
  543. \]
  544. \end{frame}
  545.  
  546. \begin{frame} \frametitle{Il caso di Haar}
  547. Valutando le equazioni della PR condition si ottiene:
  548. \[
  549. \left\{ \begin{array}{l}
  550. F_0(\omega)H_0(\omega) + F_1(\omega)H_1(\omega) = e^{-i\omega} \\
  551. F_0(\omega+\pi)H_0(\omega) + F_1(\omega+\pi)H_1(\omega) = 0
  552. \end{array}
  553. \]
  554. La Filterbank di Haar ci permette quindi di decomporre e ricomporre esattamente un segnale
  555. con un ritardo di $1$! \\[10pt]
  556. \uncover<2> {
  557. \begin{example}
  558. Consideriamo il vettore $x = (6,4,5,2)$ ed applichiamoci i filtri $h_0$ e $h_1$:
  559. \begin{eqnarray*}
  560. y_0 = h_0 * x = (3,5,4.5.3.5,1) & y_1 = h_1 * x = (3,-1,0.5,-1.5,-1) \\
  561. \tilde{y_0} = \downsample{2}y_0 = (3,4.5,1) & \tilde{y_1} = \downsample{2}y_1 = (3,0.5,-1) \\
  562. z_0 = \upsample{2}\tilde{y_0} = (3,0,4.5,0,1,0) & z_1 = \upsample{2}\tilde{y_1} = (3,0,0.5,0,-1,0) \\
  563. \end{eqnarray*}
  564. $$ f_0 * z_0 + f_1 * z_1 = (0,6,5,4,2,0,0) $$
  565.  
  566. \end{example}
  567. }
  568. \end{frame}
  569.  
  570.  
  571.  
  572. %
  573. %
  574. % %%%%%%%%%%%%%%%%
  575. % SEZIONE WAVELETS
  576. % %%%%%%%%%%%%%%%%
  577. %
  578. %
  579. %
  580. %
  581.  
  582. \section{Wavelet}
  583. \subsection{Refinement function}
  584. \begin{frame} \frametitle{Refinement equation}
  585. Cerheremo ora di estendere l'esempio precedente ad un procedimento generale per
  586. analizzare segnali. \\[15pt]
  587.  
  588. Introduciamo un'importante equazione detta \emph{Refinement equation}:
  589. \[
  590. \Phi(t) = 2 \sum_{k=0}^{N} h(k)\Phi(2t-k)
  591. \]
  592. dove $h$ è un lowpass filter di lunghezza $N$ e $\Phi(t)$ una funzione da $\R$ in $\R$.
  593. \end{frame}
  594.  
  595. \begin{frame} \frametitle{Trovare una soluzione}
  596. Supponiamo di aver fissato il filtro e di voler trovare una soluzione alla \emph{refinement equation}.
  597.  
  598. \begin{os} Se $\Phi(t)$ è soluzione, allora anche $\lambda \Phi(t)$ lo è. La normalizzazione
  599. che generalmente si utilizza è
  600. \[
  601. \int_{-\infty}^{\infty} \Phi(t) dt = 1
  602. \]
  603. \end{os}
  604.  
  605. Infatti se $\Phi(t)$ è soluzione allora è una funzione a supporto compatto, e quindi l'integrale è finito.
  606.  
  607. \end{frame}
  608.  
  609. \begin{frame} \frametitle{Il caso di Haar}
  610. \begin{example}
  611. Consideriamo ancora il filtro $h_0 = (\frac 1 2 , \frac 1 2)$. La refinement equation diventa
  612. \[
  613. \Phi(t) = \Phi(2t) + \Phi(2t - 1)
  614. \]
  615. e la soluzione è la funzione $\chi_{[0,1]}(t)$.
  616. \end{example} \vskip 15pt
  617.  
  618. Possiamo osservare un'altra interessante proprietà. \\[10pt]
  619.  
  620. Se $h$ e $j$ sono due filtri per cui $\Phi$ e $\Psi$ sono refinement function (ovvero soluzione
  621. della refinement equation) allora $\Phi * \Psi$ è una refinement function per $h*j$, ovvero per
  622. la composizione dei filtri.
  623. \end{frame}
  624.  
  625. \begin{frame} \frametitle{Come calcolare effettivamente la soluzione?}
  626. Per il caso del filtro di Haar abbiamo trovato la soluzione per verifica diretta. \\[10pt]
  627. Sfruttando l'osservazione precedente possiamo trovare la refinement function per una qualsiasi
  628. combinazione di filtri di cui la conosciamo singolarmente. Come possiamo risolvere il problema
  629. in generale? \\[15pt]
  630.  
  631. \uncover<2> {
  632.  
  633. Consideriamo il seguente metodo iterativo:
  634. \[
  635. \left\{\begin{array}{lcl}
  636. \Phi_0(t) &=& \chi_{[0,1]}(t) \\
  637. \Phi_{j+1}(t) &=& 2\sum_{k=0}^{N} h(k) \Phi_{j}(2t - k)
  638. \end{array} \right.
  639. \]
  640.  
  641. Se il metodo converge ad una funzione $\bar\Phi$ questa sarà soluzione
  642. della refinement equation. }
  643.  
  644. \end{frame}
  645.  
  646. \begin{frame} \frametitle{Condizioni per la convergenza}
  647. \begin{problema}
  648. Trovare condizione necessarie e sufficienti per la convergenza della successione $\Phi_k(t)$.
  649. \end{problema}
  650.  
  651. \end{frame}
  652. \end{document}
  653.