In questo capitolo introdurremo l’analogo discreto di quanto della teoria descritta nel capitolo precedente. L’obiettivo sarà quello di ottenere la cosiddetta trasformata di Fourier discreta. Per arrivare a questo obiettivo sarà necessario riprendere il concetto di base e base ortogonale di algebra lineare.

Funzione discreta

Nel Capitolo 6 si partiva dal presupposto di conoscere una funzione $f : \R → \R$ periodica di periodo $p$. Questa funzione è nota ovunque, ossia prende in pasto un qualsiasi $t$ e restituisce il suo valore. La maggior parte delle volte però non si è così fortunati. Si pensi per esempio alle immagini in scala di grigi. Per descrivere tali immagini si utilizzano i pixel che sono la quantità di colore in una specifica regione.

Possiamo utilizzare un’idea analoga per le funzioni. Piuttosto che avere una funzione nota in tutti i punti dell’intervallo di periodicità $[0, p]$, possiamo pensare di conoscere solamente i valori di questa funzione in alcuni punti e avere una sua approssimazione a “scalini”. In Figura 1 diamo l’idea che sta alla base dell’approssimazione discreta di una funzione. Per semplicità supponiamo che la funzione sia periodica di periodo $p = 1$ e diamo la sua approssimazione nell’intervallo $[0, 1]$. Possiamo pensare di suddividere questo intervallo in $N$ parti uguali di ampiezza $\frac1N$ e costruire i seguenti punti (7.1):

$$ t_i = \frac{\frac iN + \frac{i+1}{N}}{2} = \frac{2i+1}{2N}, \ \ \ i=0,...,N-1 $$

La versione discreta della funzione $f$ non sarà nient’altro che un array che contiene gli $N$ valori di $f$ nei punti $t_i$, i.e., (7.2):

$$ f=(f_9, ..., f_{N-1})\in\R^N $$

Ora che la funzione è diventata un vettore, è possibile utilizzare alcuni strumenti di algebra lineare e vedere quel che possiamo ottenere da questo vettore.

Untitled

Base canonica

Partendo da un vettore esso può essere decomposto secondo la cosiddetta base canonica, i.e., (7.3)

$$ f=\sum_{k=0}^{N-1}c_ke_k $$

dove i $c_k$ sono opportuni coefficienti e abbiamo definito

$$ e_k=\Big(\underbrace{0,0,...,0,1}_{k-1 \text{ terms}}, 0,...,0\Big) $$

ossia il vettore di dimensione $N$ che ha l’unico coefficiente diverso da zero alla componente $(k+1)$-esima. I coefficienti $c_k$ sono molto semplici da calcolare. Infatti, dato che i vettori $e_k$ “vedono” solo la componente $(k+1)$-esima del vettore $f$, essi non sono nient’altro che i valori della componente $(k+1)$-esima del vettore $f$, i.e.,

$$ c_k=fk, \ \ \ \ \forall k=0,1,...,N-1 $$

Si può ottenere il medesimo risultato in un modo più rigoroso. Supponiamo di voler calcolare uno specifico coefficiente $c_k$. Partiamo da Equazione (7.3), cambiamo l’indice della sommatoria per non andare in confusione con il $k$ che indica il coefficiente da calcolare e facciamo il prodotto scalare di entrambi i membri dell’uguaglianza per $e_k$ (7.4)

$$ f=\sum_{j=0}^{N-1}c_je_j \ \ \implies \ \ f\cdot e_k = \Big( \sum_{j=0}^{N-1}c_je_j\Big) \cdot e_k $$

Sfruttando le proprietà del prodotto scalare possiamo spezzare la somma e portare fuori la costante $c_j$