Abbiamo elaborato i campioni della corrente di collettore a nostra
disposizione, in modo tale da estrarre un periodo esatto del segnale,
al fine di eliminare le ridondanze, e da ricavare una sua approssimazione
usando un numero limitato di armoniche. Siano
(
)
i campioni del segnale di partenza; il comando MATLAB fft(
)
restituisce un vettore così strutturato:
| 1 | continua |
| 2 |
|
|
|
|
|
|
|
|
|
| 1 | continua |
| 2 |
|
|
|
|
| dato da scartare | |
|
|
|
|
|
Quindi se
, e vogliamo che solo le prime
armoniche
siano diverse da zero, dobbiamo considerare anche la continua ponendo
, e quindi:
| 1 | continua |
| 2 |
|
|
|
|
| 0 | |
| 0 | |
| 6 |
|
| 7 |
|
Si può iterare questo discorso, in modo tale da considerare un numero
di armoniche sempre più grande arrestandosi al raggiungimento dell'approssimazione
desiderata. L'algoritmo si arresta comunque quando
,
che in caso di
dispari è uguale a
e
in caso di
pari è uguale a
, ottenendo
la ricostruzione completa del segnale di partenza.
Il programma richiede come valore di input l'errore relativo voluto, e restituisce il numero di campioni elaborati, il numero di armoniche utilizzato, e l'errore che si ottiene calcolando alcuni parametri della corrente di collettore dalla sua approssimazione.