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