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. \vskip 10pt
  207.  
  208. Nell'esempio precedente abbiamo
  209. \begin{figure}
  210. \subfigure{
  211. \begin{tikzpicture}[domain=0:1.57, samples=150,scale=1.5]
  212. \draw[->] (0,0) -- (1.9,0) node[anchor=west] {$\omega$};
  213. \draw[->] (0,-0.1) -- (0,1.1) node[anchor=south] {$H_0(\omega)$};
  214.  
  215. \draw[color=blue] plot[id=h0resp] function {cos(x)};
  216. \end{tikzpicture}
  217. }
  218. \subfigure {
  219. \begin{tikzpicture}[domain=0:1.57, samples=150,scale=1.5]
  220. \draw[->] (0,0) -- (1.9,0) node[anchor=west] {$\omega$};
  221. \draw[->] (0,-0.1) -- (0,1.1) node[anchor=south] {$H_1(\omega)$};
  222.  
  223. \draw[color=blue] plot[id=h1resp] function {sin(x)};
  224. \end{tikzpicture}
  225. }
  226.  
  227. \caption{Frequency response di $h_0$ ed $h_1$}
  228. \end{figure}
  229. \end{frame}
  230.  
  231. \begin{frame} \frametitle{Lowpass e Highpass}
  232. Il filtro $h_0$ si dice \emph{lowpass} perché lascia invariati i segnali
  233. a bassa frequenza, mentre elimina quelli ad alta frequenza.
  234.  
  235. Analogamente $h_1$ si dice \emph{highpass}.
  236.  
  237. \vskip 25pt
  238.  
  239. Consideriamo un segnale generico $x(n)$, e la sua trasformata di Fourier $X(\omega)$.
  240. La trasformata di Fourier $Y(\omega)$ del segnale $y(n)$ ottenuto dopo l'applicazione del filtro
  241. sarà
  242. \[
  243. Y(\omega) = X(\omega) H(\omega)
  244. \]
  245.  
  246. \vskip 25pt
  247.  
  248. Il filtro \textbf{amplifica ogni frequenza del segnale} di un coefficiente $H(\omega)$.
  249. \end{frame}
  250.  
  251. \subsection{Upsampling e downsampling}
  252. \begin{frame} \frametitle{Downsampling}
  253. In seguito ci troveremo molto spesso nella condizione di avere "troppa informazione",
  254. ovvero di avere gruppi di segnali che contengono informazioni ridondanti. \\[15pt]
  255.  
  256. Per ovviare a questo trasformeremo i segnali $x(n)$ in degli altri segnali $y(n)$
  257. tramite un'operazione di \emph{downsampling}:
  258. \begin{de}
  259. Diremo che $y(n)$ è il \emph{downsampling} di $x(n)$ e lo indicheremo con
  260. $y(n) = \downsample{k}x(n)$ se
  261. \[
  262. y(n) = x(kn) \quad \textrm{dove } k \in \N
  263. \]
  264. \end{de}
  265. In questo modo scarteremo una parte dell'informazione (a seconda del $k$ scelto, solitamente
  266. avremo $k = 2$). \\[5pt]
  267.  
  268. \end{frame}
  269. \begin{frame} \frametitle{Upsampling}
  270.  
  271. Per ``invertire'' il downsampling applicheremo l'\emph{upsampling}:
  272. \begin{de}
  273. Diremo che $x(n)$ è l'upsampling di $y(n)$ di un fattore $k$ e lo
  274. indicheremo con $x(n) = \upsample k y(n)$ se
  275. \[
  276. x(n) = \left\{ \begin{array}{ll}
  277. y(\frac{n}{k}) & \textrm{se } n \textrm{ è multiplo di } k \\
  278. 0 & \textrm{altrimenti}
  279. \end{array} \right.
  280. \]
  281. \end{de}
  282. \begin{os}
  283. Il downsampling è l'inverso dell'upsampling ma non viceversa, ovvero
  284. \[
  285. \downsample{k}\upsample{k} x(n) = x(n) \quad \textrm{ma} \quad \upsample{k}\downsample{k} x(n) \neq x(n)
  286. \]
  287. \end{os}
  288. \end{frame}
  289.  
  290.  
  291.  
  292.  
  293.  
  294. %
  295. %
  296. % %%%%%%%%%%%%%%%%%%
  297. % SEZIONE FILTERBANK
  298. % %%%%%%%%%%%%%%%%%%
  299. %
  300. %
  301. %
  302. %
  303. \section{FilterBank}
  304. \pausaindice
  305. \subsection{Cos'è una filterbank}
  306. \begin{frame} \frametitle{Struttura di una filterbank}
  307. Possiamo immaginare una \emph{filterbank} come una successione di filtri
  308. che, partendo, da uno o più segnali di input $x(n)$ produca uno o più segnali
  309. di output $y_{0}(n) \ldots y_{1}(n)$. \\[15pt]
  310. Questo esempio prende un input (in giallo) e restituisce tre output (in blu).
  311. \begin{figure}
  312. \begin{tikzpicture}[rounded corners=2pt, scale=0.5, thick, node distance=50pt]
  313. \tikzstyle{place}=[rectangle,draw=blue!80,fill=white!20]
  314. \tikzstyle{input}=[rectangle,draw=blue!80,fill=yellow!50]
  315. \tikzstyle{output}=[rectangle,draw=blue!80,fill=blue!20]
  316.  
  317. %% Disegnamo i pezzetti
  318. \node [input] (inputsignal) {$x(n)$};
  319. \node [place] (y0) [right of=inputsignal, yshift=25pt] {$y_0(n)$};
  320. \node [output] (y1) [right of=inputsignal, yshift=-25pt] {$y_1(n)$};
  321. \node [output] (y00)[right of=y0, yshift=20pt] {$y_{00}(n)$};
  322. \node [output] (y01)[right of=y0, yshift=-20pt] {$y_{01}(n)$};
  323.  
  324. %% .. e li colleghiamo
  325. \draw[->] (inputsignal.east) -- (y0.west);
  326. \draw[->] (inputsignal.east) -- (y1.west);
  327. \draw[->] (y0.east) -- (y01.west);
  328. \draw[->] (y0.east) -- (y00.west);
  329.  
  330. \end{tikzpicture}
  331. \caption{Esempio di filterbank}
  332. \end{figure}
  333. \end{frame}
  334.  
  335. \begin{frame} \frametitle{Perché una filterbank?}
  336. Potremmo chiederci:
  337. \begin{quote}
  338. Qual'è la relazione fra le wavelet e le filterbank?
  339. \end{quote} \\[15pt]
  340.  
  341. La risposta breve è che le filterbank (in realtà delle opportune
  342. filterbank) sono l'equivalete discreto della trasformata wavelet. \\[15pt]
  343.  
  344. Cominciamo a considerare
  345. un esempio, la \emph{filterbank di Haar}.
  346.  
  347. \end{frame}
  348.  
  349. \subsection{Un esempio significativo}
  350.  
  351. \begin{frame}
  352. \frametitle{Haar filterbank}
  353. Consideriamo i seguenti filtri:
  354. \[
  355. h_0 = (\frac{1}{2}, \frac{1}{2}) \qquad h_1 = (\frac 1 2 , - \frac{1}{2}) \qquad
  356. f_0 = (\frac{1}{2}, \frac{1}{2}) \qquad f_1 = (-\frac 1 2 , \frac{1}{2})
  357. \]
  358.  
  359. Chiamiamo \emph{Analysis filterbank} quella che suddivide un segnale $x(n)$ in
  360. \[
  361. h_0 * x(n) = y_0(n) \qquad h_1 * x(n) = y_1(n)
  362. \]
  363. e \emph{Synthesis filterbank} quella che invece prende in input due segnali $y_0(n)$ e $y_1(n)$
  364. e restituisce un segnale $x(n)$ calcolato mediante
  365. \[
  366. x(n) = f_0 * y_0(n) + f_1 * y_1(n)
  367. \]
  368. Prendiamo poi un segnale di esempio. Scegliamo un segnale finito $x(n) = \{e^{i\omega n}\}$.
  369. Estenderemo poi questo caso particolare ad un segnale qualsiasi.
  370. \end{frame}
  371.  
  372. \begin{frame} \frametitle{Discrete Wavelet Transform}
  373. Osserviamo cosa succede al segnale quando viene trasformato tramite la filterbank.
  374.  
  375. Come abbiamo osservato prima otteniamo $\{e^{in\omega}\}$ è un autovalore per
  376. questi filtri e quindi otteniamo due segnali
  377. \[
  378. y_0(n) = H_0(\omega)e^{in\omega} \qquad y_1(n) = H_1(\omega)e^{in\omega}
  379. \]
  380.  
  381. \begin{os}
  382. Con questo filtraggio abbiamo separato le alte frequenze dalla basse frequenze; ora però
  383. ci sono \textbf{il doppio} dei samples di prima e quindi il segnale occupa
  384. il doppio dello spazio.
  385. \end{os}
  386. \end{frame}
  387.  
  388. \begin{frame} \frametitle{Liberarsi della ridondanza}
  389. Per liberarci dell'informazioni in eccesso ne scartiamo la metà effettuando un downsampling,
  390. ovvero ponendo
  391. \[
  392. \tilde y_0(n) = \downsample{2} y_0(n) \qquad \tilde y_1(n) = \downsample{2} y_1(n)
  393. \]
  394. Il problema dell'informazione in eccesso è stato sicuramente risolto, ma sarà possibile
  395. recuperare il segnale originale? \\[15pt]
  396.  
  397. Per fortuna la risposta è affermativa. Supponiamo ora di conoscere solamente i segnali
  398. $\tilde y_0$ e $\tilde y_1$ ottenuti da questo processo, ovvero
  399. \[
  400. \tilde{y_0}(n) = H_0(\omega)e^{2in\omega} \qquad \tilde{y_1}(n) = H_1(\omega)e^{2in\omega}
  401. \]
  402. \end{frame}
  403.  
  404. \begin{frame} \frametitle{Il ritorno dell'aliasing}
  405. Cominciamo con il cercare di invertire (per quanto possibile) il downsampling.
  406.  
  407. Poniamo quindi:
  408. \[
  409. z_0(n) = \upsample{2} \tilde y_0(n) \qquad z_1(n) = \upsample{2} \tilde y_1(n)
  410. \]
  411. e osserviamo che per ogni $\omega$ vale questa uguaglianza
  412. \[
  413. \upsample{2}\downsample{2} \{e^{in\omega}\} = \{\frac{1}{2} ( e^{in\omega} + e^{in(\omega+\pi)})\}
  414. \]
  415. ovvero l'upsampling ci restituisce il segnale originale ``sporcato'' con dell'aliasing. Come liberarsene?
  416.  
  417. \end{frame}
  418.  
  419. \begin{frame} \frametitle{La sintesi}
  420. Osserviamo cosa succede ora se consideriamo
  421. \begin{eqnarray*}
  422. r(n) &=& f_0 * z_0(n) + f_1 * z_1(n) = \\
  423. &=& \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)) = \\
  424. &=& \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)})
  425. \end{eqnarray*}
  426. e sviluppando in funzione del segnale iniziale $e^{in\omega}$ si ottiene che $r(n)$ si può scrivere come
  427. (consideriamo $-\omega = \omega + \pi$)
  428. \[
  429. \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}
  430. \]
  431. \normalsize
  432. e quindi $r(n)$ è combinazione lineare di $\{e^{in\omega}\}$ e di $\{e^{in(\omega + \pi)}\}$.
  433. \end{frame}
  434.  
  435. \begin{frame} \frametitle{La sintesi}
  436. Per recuperare il segnale iniziale farebbe comodo avere $r(n) = x(n)$ che è equivalente a
  437. \[
  438. \left\{ \begin{array}{l}
  439. F_0(\omega)H_0(\omega) + F_1(\omega)H_1(\omega) = 1 \\
  440. F_0(\omega+\pi)H_0(\omega) + F_1(\omega+\pi)H_1(\omega) = 0
  441. \end{array}
  442. \]
  443. In realtà è sufficiente che la prima equazione valga $e^{-il\omega}$ per ogni $\omega$ e per qualche
  444. $l \in \N$. \\[5pt]
  445.  
  446. In questo modo avremmo che $r(n) = e^{-il\omega}x(n) = e^{i(n-l)\omega}$ è uguale a $x(n)$
  447. con un ritardo di $l$. \\[5pt]
  448.  
  449. Purtroppo questo è inevitabile, perché i filtri ``guardano solamente indietro'', e quindi introducono
  450. un ritardo.
  451. \end{frame}
  452.  
  453. \begin{frame} \frametitle{Il caso di Haar}
  454. Ricordando i filtri $h_0, h_1, f_0, f_1$ che avevamo scelto all'inizio, calcoliamo le relative
  455. response function.
  456. \end{frame}
  457.  
  458.  
  459.  
  460. %
  461. %
  462. % %%%%%%%%%%%%%%%%
  463. % SEZIONE WAVELETS
  464. % %%%%%%%%%%%%%%%%
  465. %
  466. %
  467. %
  468. %
  469.  
  470. \section{Wavelet}
  471. \subsection{Refinement function}
  472. \begin{frame} \frametitle{Refinement equation}
  473. Cerheremo ora di estendere l'esempio precedente ad un procedimento generale per
  474. analizzare segnali. \\[15pt]
  475.  
  476. Introduciamo un'importante equazione detta \emph{Refinement equation}:
  477. \[
  478. \Phi(t) = 2 \sum_{k=0}^{N} h(k)\Phi(2t-k)
  479. \]
  480. dove $h$ è un lowpass filter di lunghezza $N$ e $\Phi(t)$ una funzione da $\R$ in $\R$.
  481. \end{frame}
  482.  
  483. \begin{frame} \frametitle{Trovare una soluzione}
  484. Supponiamo di aver fissato il filtro e di voler trovare una soluzione alla \emph{refinement equation}.
  485.  
  486. \begin{os} Se $\Phi(t)$ è soluzione, allora anche $\lambda \Phi(t)$ lo è. La normalizzazione
  487. che generalmente si utilizza è
  488. \[
  489. \int_{-\infty}^{\infty} \Phi(t) dt = 1
  490. \]
  491. \end{os}
  492.  
  493. Infatti se $\Phi(t)$ è soluzione allora è una funzione a supporto compatto, e quindi l'integrale è finito.
  494.  
  495. \end{frame}
  496.  
  497. \begin{frame} \frametitle{Il caso di Haar}
  498. \begin{example}
  499. Consideriamo ancora il filtro $h_0 = (\frac 1 2 , \frac 1 2)$. La refinement equation diventa
  500. \[
  501. \Phi(t) = \Phi(2t) + \Phi(2t - 1)
  502. \]
  503. e la soluzione è la funzione $\chi_{[0,1]}(t)$.
  504. \end{example} \vskip 15pt
  505.  
  506. Possiamo osservare un'altra interessante proprietà. \\[10pt]
  507.  
  508. Se $h$ e $j$ sono due filtri per cui $\Phi$ e $\Psi$ sono refinement function (ovvero soluzione
  509. della refinement equation) allora $\Phi * \Psi$ è una refinement function per $h*j$, ovvero per
  510. la composizione dei filtri.
  511. \end{frame}
  512.  
  513. \begin{frame} \frametitle{Come calcolare effettivamente la soluzione?}
  514. Per il caso del filtro di Haar abbiamo trovato la soluzione per verifica diretta. \\[10pt]
  515. Sfruttando l'osservazione precedente possiamo trovare la refinement function per una qualsiasi
  516. combinazione di filtri di cui la conosciamo singolarmente. Come possiamo risolvere il problema
  517. in generale? \\[15pt]
  518.  
  519. \uncover<2> {
  520.  
  521. Consideriamo il seguente metodo iterativo:
  522. \[
  523. \left\{\begin{array}{lcl}
  524. \Phi_0(t) &=& \chi_{[0,1]}(t) \\
  525. \Phi_{j+1}(t) &=& 2\sum_{k=0}^{N} h(k) \Phi_{j}(2t - k)
  526. \end{array} \right.
  527. \]
  528.  
  529. Se il metodo converge ad una funzione $\bar\Phi$ questa sarà forzatamente soluzione
  530. della refinement equation. }
  531.  
  532. \end{frame}
  533.  
  534. \begin{frame} \frametitle{Condizioni di convergenza}
  535.  
  536. \end{frame}
  537. \end{document}
  538.