SONAR-INFO-p233




Calcolatore della serie di Fourier
-Processo di approssimazione-



1) La serie di Fourier in poche figure

Prima di descrivere il calcolatore della serie di Fourier, al quale è dedicato il paragrafo 2, esaminiamo l'algoritmo omonimo mostrato in figura 1

figura 1

questo consente, per via esclusivamente analitica, lo studio dei fenomeni periodici funzioni del tempo
f(x) ( dove x = 2 π f t ), quali ad esempio il segnale periodico F(x), onda rettangolare, espresso matematicamente secondo figura 2a

figura 2a
il cui andamento è tracciato in figura 2b

figura 2b

L'impiego della serie di Fourier porta alla determinazione dello spettro di frequenza a righe G ( w ), dell'onda di figura 2b, così come mostrato in figura 3.

figura 3

Se dell'onda da analizzare non si conosce la legge F(t), come ad esempio per la curva di figura 4:

figura 4

la serie di Fourier non è applicabile; è sostituibile, con buona approssimazione, dall'algoritmo di figura 5 che prevede la determinazione dello spettro mediante l'elaborazione dei coefficienti An' e Bn' da " m " campioni di F(t), messi a calcolo, rilevati da grafici o da presentazioni su oscilloscopio:

figura 5

Si osservi che:
a) I coefficienti di figura 5 sono indicati con A'n e B'n per distinguerli da quelli diversi di figura 1.
b) A'o, A'n, B'n sono determinati con processo numerico iterativo implementando nel programma di calcolo le funzioni esposte in figura 5a dove, ad esempio, 20 campioni del periodo in analisi sono riportati in memoria con i simboli
a(1).....a(20) .

figura 5a

c) Il modulo della n esima riga dello spettro è indicato da C'n; nel calcolatore i valori C'n sono valutati snza l'addizione di A'o che viene calcolato separatamente.

Vedremo di seguito, in dettaglio, l'impiego degli algoritmi di figure 5 e 5a contestualmente all'esame del pannello operativo del calcolatore.

2) Il pannello operativo del calcolatore della serie di Fourier

All'avvio del file eseguibile Serie di Fourier sul P.C. si presenta il pannello operativo del calcolatore che riportiamo in figura 6 con una serie di numeri in rosso per consentire l'identificazioni delle diverse sezioni:

figura 6

Sezione 1 (Variabili di calcolo) :
La sezione contiene 4 textbox nei quali inserire, l'una dopo l'altra, le seguenti variabili:
-Durata del periodo dell'onda da analizzare espressa con T (Sec.).
-Il numero "m" dei campioni da prelevare dal periodo dell'onda da analizzare.
-Il numero "k" delle righe dello spettro che si vogliono calcolare.
-L'incremento di calcolo "dm" dal quale dipendono sia la precisione che il tempo calcolo.
Il pulsante "Ingresso variabili" per l'avvio dei primi calcoli.
Al lancio del programma la sezione è impostata, in via provvisoria, con i valori:
T = 0.01 Sec. ; m = 20 ; k = 10; dm = 0.01.

Sezione 2: (Campioni nel periodo)
La sezione contiene un label, a sinistra, che indica il numero progressivo dei campioni ricavati dal periodo da analizzare e un textbox, a destra, per l'inserzione delle ampiezze dei diversi campioni.
Un pulsante "Ingresso campioni" per l'inserzione progressiva dei valori sopra citati;il pulsante presenta colore verde nella fase d'introduzione campioni, cambia colore in arancio una volta che i campioni dell'onda sono pari al valore impostato di " m "
Un pulsante " Azzeramento memorie" per la ripetizione, se necessario, dell'inserzione dati.

Sezione 3: ( Presentazione spettro)
La sezione contiene il pulsante "Calcolo dello spettro" per l'avvio del programma di calcolo per:
La presentazione grafica del modulo delle righe dello spettro tracciate come visione indicativa dello stesso.
Un listato numerico delle frequenze e relative ampiezze normalizzate delle righe dello spettro.
L'azione di questo comando provoca inoltre il tracciamento del periodo dell'onda inserito a campioni nella sezione 2 per un controllo della correttezza del suo profilo.

Sezione 4: (Listato valori calcolati)
Nel listato compaiono le "n" coppie calcolate nella forma, ad esempio per una generica 3^ coppia,
F = 1300 C'3 = 0.65432; ciascuna coppia definisce una riga dello spettro sia in frequenza che in ampiezza normalizzata.
In alto, all'esterno del listato, il valore calcolato di C'o ( componente continua dell'onda ove sia presente )

Sezione 5: (Area di presentazione grafici)
In alto lo spettro dell'onda con le " n " righe messe a calcolo.
In basso il profilo del periodo dell'onda definito con tanti punti quanti soni gli " m " campioni messi a calcolo.

3)Primo esempio di calcolo della serie di Fourier con controllo analitico

Questo esempio, che interessa l'analisi di un'onda rettangolare, si avvale di un riscontro analitico in quanto lo spettro dell'onda in esame è definito dalla caratteristica serie di figura 7 che servirà come controllo dati elaborati dal calcolatore:

figura 7
Come si vede la serie analitica è formata soltanto da addendi dispari i cui coefficienti, espressi con frazioni, sono gli analoghi dei termini Cn elaborati dal calcolatore.

Utilizziamo sempre i valori di base assegnati al calcolatore al momento dell'avvio, come mostra la figura 8 della sezione 1.

figura 8

Quindi pigiamo il pulsante "Ingresso variabili".
Impostiamo nella sezione 2, premendo " Ingresso campioni", per lo spettro di un'onda rettangolare quale quella riportata in figura 2b, la seguente sequenza di campioni:
1;1;1;1;1;1;1;1;1;1; -1;-1;-1;-1;-1;-1;-1;-1:-1:-1 relativa ad un period dell'onda sopra citata fino a quando il pulsante stesso diventa arancione.
Dopo la pressione del pulsante " Calcolo dello spettro ", si ha sia il listato dei valori così come riportato in figura 9 che i grafici di figura 10:

figura 9

La lista indica righe multiple di 1000 Hz dato che, essendo T = 0.001, f = 1/ 0.001 = 1000 Hz.

figura 10

Procediamo ora al controllo della lista di figura 6 impostando una tabella che riporta, tanto le ampiezze dello spettro teorico espresso in figura 7 che quelle della lista di figura 9:

Righe> C'1 C'2 C'3 C'4 C'5 C'6 C'7 C'8 C'9 C'10
Con il calcolatore 1.0000 0.0012 0.3333 0.0012 0.2000 0.0012 0.1429 0.0012 0.1111 0.0012
Per via analitica 1.0000 0 0.3333 0 0.2000 0 0.1428 0 0.1111 0

Come si vede in tabella i valori di C'n per n dispari, praticamente coincidono, per n pari il calcolatore commette un errore presentando ampiezze pari a 0.002 invece che 0 come da processo analitico.
Gli errori si riducono ripetendo il computo con un passo di calcolo inferiore a dm = 0.01, ad esempio dm = 0.001; naturalmente il processo di calcolo richiede un superiore tempo di sviluppo.

4)Secondo esempio di calcolo della serie di Fourier con controllo analitico

Questo esempio, che interessa l'analisi di un'onda a dente di sega, si avvale di un riscontro analitico in quanto lo spettro dell'onda in esame è definito dalla caratteristica serie di figura 11 che servirà come controllo dati elaborati dal calcolatore:

figura 11
Come si vede la serie analitica è formata da addendi pari e dispari i cui coefficienti, espressi con frazioni, sono gli analoghi dei termini Cn elaborati dal calcolatore.



Utilizziamo sempre i valori di base assegnati al calcolatore al momento dell'avvio, come mostra la figura 12 della sezione 1.

figura 12

Quindi pigiamo il pulsante "Ingresso variabili".
Impostiamo nella sezione 2, premendo " Ingresso campioni", per lo spettro di un'onda a dente di sega quale quella riportata in figura 13

figura 13


la seguente sequenza di campioni:
-1;-0.9;-0.8;-0.7;-0.6;-0.5;-0.4;-0.3;-0.2;-0.1;0;0.1;0.2;0.3;0.4;0.5;0.6;0.7:0.8:0.9 relativa ad un periodo dell'onda sopra citata fino a quando il pulsante stesso diventa arancione.
Dopo la pressione del pulsante " Calcolo dello spettro ", si ha sia il listato dei valori così come riportato in figura 14 che i grafici di figura 15:

figura 14

La lista indica righe multiple di 1000 Hz dato che, essendo T = 0.001, f = 1/ 0.001 = 1000 Hz.

figura 15

Procediamo ora al controllo della lista di figura 14 impostando una tabella che riporta, tanto le ampiezze dello spettro teorico espresso in figura 11 che quelle della lista nella figura citata:

Righe> C'1 C'2 C'3 C'4 C'5 C'6 C'7 C'8 C'9 C'10
Con il calcolatore 1.0000 0.5001 0.3335 0.2501 0.2001 0.1667 0.1428 0.1249 0.1109 0.0998
Per via analitica 1.0000 0.5000 0.3333 0.2500 0.2000 0.1666 0.1428 0.1250 0.1111 0.1000

Come si vede in tabella i valori di C' da calcolatore sono quasi coincidenti con dagli analoghi analitici; l'errore massimo è dell'ordine del 2 per mille.

5)Esempio di calcolo della serie di Fourier di un'onda generica

Questo esempio, che interessa l'analisi di un'onda generica, non si avvale alcun riscontro analitico.
Il tracciato dell'onda sia quello riportato in figura 16:

figura 16

Si esegue la campionatura di un periodo con 21 campioni così come mostrato in figura 17:

figura 17

Si compila, in figura 18, la lista delle ampiezze dei campioni ricavandola da rilievi geometrici su figura 17:

figura 18

I dati di figura 18 s'inseriscono progressivamente in sezione 2 pigiando il pulsante "Ingresso campioni".
Dopo la pressione del pulsante " Calcolo dello spettro ", si ha sia il listato dei valori così come riportato in figura 19 che i grafici di figura 20:

figura 19

La lista indica righe multiple di 1000 Hz dato che, essendo T = 0.001, f = 1/ 0.001 = 1000 Hz.

figura 20

5)Esempio di calcolo della serie di Fourier di un'onda precostruita

Per un controllo ulteriore del calcolatore analizziamo un'onda precostruita che è caratterizzata dalla presenza della sola 4^ armonica di ampiezza C'4 = 0.3333.
L'onda in oggetto, generata da un' apposita funzione matematica, è riportata in figura 21:

figura 21

L'onda ha un periodo T = 0.001 Sec e quindi una frequenza di 1000 Hz; il periodo viene campionato con le stesse modalità relative al periodo dell'esercizio precedente; il risultato della campionatura è riportato in figura 22:

figura 22

Seguendo la procedura d'inserzione dati e campioni analoga a quella del paragrafo precedente, dopo la pressione del pulsante " Calcolo dello spettro ", si ha sia il listato dei valori così come riportato in figura 23 che i grafici di figura 24:

figura 23

figura 24

L'esame dei dati, sia numerici ( riga C'4 ) che grafici evidenziano, come era nelle aspettative, la presenza di una riga a 4000 Hz di ampiezza C'4 = 0.3133.
Le righe a livello molto basso presenti in figura 23, non visibili in figura 24, sono dovute all'approssimazione dell'algoritmo di calcolo.


Home

Stampa immagine grafica o descrizione testuale