Calcolatore serie di Fourier

Da testwiki.
Vai alla navigazione Vai alla ricerca
 Template:Risorsa

-Processo di approssimazione per la determinazione dello spettro dei segnali periodici-

La serie di Fourier con il supporto delle figure

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

F(x)=a0+n=1(ancosnx+bnsinnx){a0=12ππ+πf(x)dxan=1ππ+πf(x)cosnx dxbn=1ππ+πf(x)sinnx dx1)

questo consente, per via esclusivamente analitica, lo studio dei fenomeni periodici funzioni del tempo per il computo del loro spettro in frequenza, spettro espresso in figura 1 con il simbolo F(x) ( dove x=2πft).

Generalmente la funzione F(x) è espressa con il simbolo G(ω).

Un esempio di segnale periodico f(t), onda rettangolare, espresso matematicamente è mostrato in figura 2a

f(2πf0t)={E:per (2k1)π<2πf0t<2kπ+E:per 2kπ<2πf0t<(2k+1)π2a)

il cui andamento è tracciato in figura 2b

figura 2b

Template:Clear

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

figura 3

Template:Clear

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

figura 4

Template:Clear

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 n campioni di f(t) , messi a calcolo, rilevati da grafici o da presentazioni su oscilloscopio:

C'n=A'0+n=1n=kA'ncos(n2πf0t)+B'nsin(n2πf0t)5)

Si osservi che:

  • Con il simbolo Cn s'intende l'ampiezza della n esima riga dello spettro di frequenza.
  • I coefficienti di figura 5 sono indicati con An e Bn per distinguerli da quelli diversi di figura 1.
  • Ao,An,Bn 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 apposita memoria del P.C, con i simboli a(1).....a(20) .
A'0=12π[0,5a(1)+a(2)+a(3)++a(19)+0,5a(20)]2π195a)A'n=1π[0,5a(1)cos(nwt1)+a(2)cos(nwt2)++0,5a(20)cos(nwt20)]2π19B'n=1π[0,5a(1)sin(nwt1)+a(2)sin(nwt2)++0,5a(20)sin(nwt20)]2π19C'n=(A'n2+B'n2)12
  • Il modulo della n esima riga dello spettro è indicato da Cn ; nel calcolatore l valori Cn sono valutati senza l'addizione di Ao 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.

Il pannello operativo del calcolatore

Il pannello operativo, mostrato in figura 6, è generato da un file eseguibile disponibile all'indirizzo: wikiFourier oppure seriefourier

Il file esguibile consente il calcolo e la presentazione grafica dello spettro dell'onda da analizzare.

figura 6

Template:Clear

In figura 6, con una serie di numeri in rosso, sono distinte le 5 sezioni funzionali:

Sezione 1 (Variabili di calcolo)

La sezione contiene il pulsante ingresso variabili e 4 textbox nelle quali inserire i seguenti dati:

  • Durata del periodo dell'onda da analizzare espressa con T in secondi.
  • Il numero m=n 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.

Al lancio del programma la sezione è impostata, in via preliminare, con i valori:

T=0.01 S; m=n=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=n
  • 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 3a coppia, F=1300 Hz  C3=0.65432 ; ciascuna coppia definisce una riga dello spettro sia in frequenza che in ampiezza normalizzata.
  • In alto, sopra il listato, il valore calcolato di Co ( componente continua dell'onda ove sia presente )


Sezione 5: (Area di presentazione grafici)

I grafici sono tracciati a solo scopo illustrativo dato che i valori che li generano sono già contenuti nei listati della sezione 4.

  • In alto lo spettro dell'onda con le m=n righe messe a calcolo; le ascisse del tracciato non sono calibrate in frequenza
  • In basso il profilo del periodo dell'onda definito con tanti punti quanti sono gli m=n campioni messi a calcolo; le ascisse del tracciato non sono calibrate in tempo.

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:

y=4πE(cosx13cos3x+15cos5x17cos7x+)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 preliminari assegnati al calcolatore al momento dell'avvio, come mostra la figura 8 della sezione 1.

figura 8

Template:Clear


Quindi pigiamo il pulsante "Ingresso variabili".

Impostiamo nella sezione 2, premendo " Ingresso campioni" (pulsante arancione), 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 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 9 che i grafici di figura 10

figura 9

Template:Clear


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

figura 10

Template:Clear


Procediamo ora al controllo della lista di figura 9 impostando una tabella che riporta, tanto le ampiezze calcolate con l'espressione dello spettro teorico espresso in figura 7, che quelle del listato di figura 9:

Righe> C'1 C'2 C'3 C'4 C'5 C'6
Con il calcolatore 1,0000 0,0012 0,3333 0,0012 0,2000 0,0012
Per via analitica 1,0000 0 0,3333 0 0,2000 0

Come si vede in tabella di tavolo i valori di Cn 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 tempo superiore di sviluppo.

Secondo esempio: 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 dei dati elaborati dal calcolatore:

y=2πE(sinx12sin2x+13sin3x14sin4x+)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

Template:Clear


quindi pigiamo il pulsante "Ingresso variabili".

Impostiamo nella sezione 2, premendo " Ingresso campioni" ( pulsante giallo ), i campioni d'ampiezza di un'onda a dente di sega quale quella riportata in figura 13

figura 13

Template:Clear


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 T 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

Template:Clear


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

figura 15

Template:Clear


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
Con il calcolatore 1,0000 0,5001 0,3335 0,2501 0,2001 0,1667
Per via analitica 1,0000 0,5000 0,3333 0,2500 0,2000 0,1666

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

Terzo esempio: 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

Template:Clear


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

figura 17

Template:Clear


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

periodo ampiezza
t0 0,00
t1 0,40
t2 0,64
t3 0,75
t4 0,85
t5 0,99
t6 1,04
t7 0,86
t8 0,53
t9 0,21
t10 0,00
t11 -0,02
t12 -0,17
t13 -0,38
t14 -0,47
t15 -0,40
t16 -0,28
t17 -0,26
t18 -0,29
t19 -0,22
t20 -0,00

I dati di tavola 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

Template:Clear


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

figura 20

Template:Clear

Quarto esempio: 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 4a armonica di ampiezza C4=0.3333.

L'onda in oggetto, generata da un'apposita funzione matematica, è riportata in figura 21:

figura 21

Template:Clear


L'onda ha un periodo T=0.001 S 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 tavola:

periodo ampiezza
t0 0,00
t1 0,62
t2 0,78
t3 0,61
t4 0,63
t5 0,99
t6 1,26
t7 1,00
t8 0,39
t9 -0,00
t10 -0,00
t11 0,00
t12 -0,38
t13 -1,00
t14 -1,26
t15 -1,00
t16 -0,63
t17 -0,61
t18 -0,78
t19 -0,63
t20 -0,00

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

Template:Clear


figura 24

Template:Clear


L'esame dei dati, sia numerici ( riga C4 ) che grafici evidenziano, come era nelle aspettative, la presenza di una riga a 4000 Hz di ampiezza C4=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.

Bibliografia

  • G. Moretti, Analisi matematica-vol.II -parte II,Hoepli, Milano 1953.
  • A. Papoulis, The Fourier integral and its applicationsMc Graw-Hill, New York 1962.
  • Edit: Milton Abramowitz ..Handbook of mathematical functios, USA 1970.
  • C. Del Turco, La matematica con il personal computer, Editrice MODERNA La Spezia 1998.