Sviluppo in serie di Fourier - IIS "Crocetti
Transcript
Sviluppo in serie di Fourier - IIS "Crocetti
Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 1 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats 1. Sulle motivazioni del progetto didattico E’ paradossale che la diffusione del calcolatore negli istituti d’istruzione secondaria superiore non abbia portato all’impiego diffuso di alcune classiche tecniche matematiche specialmente utili nella totalità delle discipline scientifiche. Il paradosso è nella constatazione di come tali speciali strategie matematiche, formulate dai grandi matematici del passato (particolarmente produttivi sono stati il XVIII e il XIX secolo), siano rimaste appannaggio dei soli esperti nell’arte matematica a motivo di talune difficoltà di calcolo che sono da considerare, oggi, totalmente superate con l’impiego del calcolatore e delle tecniche di analisi numerica. Le straordinarie peculiarità dell’ambiente di programmazione bidimensionale Agilent HP VEE consentono di avviare nelle scuole secondarie superiori il processo per l’acquisizione di una nuova cultura dell’uso del mezzo matematico basato sulla la sperimentazione. Gli effetti dell’impiego in ambiente numerico di strategie matematiche apparentemente complesse renderanno immediatamente percepibili sia la potenza e che l’importanza delle stesse. Da qui, la scintilla che porterà i giovani utenti a desiderare, e perfino ad amare, l’impiego del mezzo matematico per una migliore formazione professionale. 2. Serie di Fourier e formule di Eulero Sia f(t) una funzione del tempo, periodica di periodo T. Vale l’equazione seguente per qualsiasi intero n: f(t+n*T) = f(t) Il numero T è il periodo della funzione f(t). Joseph Fourier (1768-1830) ha dimostrato che la funzione f(t) può essere effettivamente ricostruita come somma di una infinità funzioni elementari caratterizzate tutte dall’essere del tipo sinusoidale e dall’avere ognuna un’ampiezza diversa da tutte le altre e un periodo che, pur diverso l’uno dall’altro, risulta sempre un multiplo intero del periodo T della funzione periodica f(t) . Lo sviluppo in serie di Fourier consente di ricostruire la funzione secondo la serie matematica espressa nella relazione: f(t)=a0 + [ an*cos(n*2*/T*t) + bn*sin(n*2*/T*t) ] (1) I termini an e bn , nella equazione (1), rappresentano le ampiezze delle funzioni elementari di tipo cosinusoidale e sinusoidale, mentre i termini (n*2*/T*t) corrispondono agli argomenti delle medesime funzioni elementari e la sommatoria si deve intendere estesa a tutta la infinità di interi n=0, 1,2,3,…….,i,…………. L’equazione (1) , in forma esplicita, così apparirebbe: Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 2 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats f(t)=a0+a1*cos(1**2*/T*t)+b1*sin(1**2*/T*t)+a2*cos(2*2*/T*t)+b2*sin(2*2*/T*t)+a3*c os(3*2*/T*t)+b3*sin(3*2*/T*t)+a4*cos(4*2*/T*t)+b4*sin(4*2*/T*t)+a5*cos(5*2*/T*t)+ b5*sin(5*2*/T*t)+…………………… (2) Il termine a0 è una costante e corrisponde al valore medio della funzione periodica f(t); può essere positivo o negativo e vale zero solo se la funzione f(t) è a valore medio nullo. a1*cos(1*2*/T*t)+b1*sin(1*2*/T*t) rappresenta la prima armonica, di cui La somma a1*cos(1*2*/T*t) ne costituisce la componente cosinusoidale e b1*sin(1*2*/T*t) la componente sinusoidale. La somma a2*cos(2*2*/T*t)+b2*sin(2*2*/T*t) costituisce la seconda armonica, di cui a2*cos(2*2*/T*t) ne rappresenta la componente cosinusoidale e b2*sin(2*2*/T*t) la componente sinusoidale. La a3*cos(3*2*/T*t)+b3*sin(3*2*/T*t) somma a3*cos(3*2*/T*t) è la terza armonica, ne è la componente cosinusoidale e b3*sin(3*2*/T*t) di cui la componente sinusoidale. E così di seguito, per una infinità di termini. Fourier ha dimostrato che i termini a0 , an e bn possono essere determinati con le seguenti formule (3): a0=1/T*integrale[ f(t)*dt ] integrale esteso da: -T/2 a +T/2 an=2/T*integrale[ f(t)*cos(n*2*/T*t)*dt ] integrale esteso da: -T/2 a +T/2 bn=2/T*integrale[ f(t)*sin(n*2*/T*t)*dt ] integrale esteso da: -T/2 a +T/2 con n=1,2,3,4,5,……,n,….. note come formule di Eulero. L’infinito matematico è solo uno “sfuggevole concetto” e nella pratica non sarà mai possibile produrre alcuna somma di infiniti termini. Ci si dovrà accontentare di sommare un numero limitato di componenti armoniche. Tuttavia l’uso del calcolatore permettere di sommare un numero comunque elevato di armoniche, numero limitato solo dal tempo a disposizione per giungere ai risultati e dalle prestazioni del sistema di calcolo. Si avrà modo, comunque, di sperimentare che nella maggior parte dei casi la riproduzione della funzione periodica f(t) potrà giudicarsi soddisfacente anche con un limitato numero di armoniche. Le sezioni seguenti illustreranno dettagliatamente la sequenza di passi necessari per determinare, in ambiente di programmazione bidimensionale Agilent HP VEE, i valori da assegnare alle ampiezze delle diverse componenti cosinusoidali e sinusoidali delle armoniche e le tecniche per riprodurre la funzione data attraverso la somma delle diverse componenti. Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 3 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Per quanto attiene alle caratteristiche di periodicità della funzione f(t) e delle armoniche, è prassi fare riferimento alle frequenze, o alle pulsazioni, anziché al periodo della funzione e ai periodi delle armoniche. Così, f=1/T è la frequenza della funzione f(t) e =1/f ne indica la pulsazione. Allo stesso modo n*2**(1/T) ovvero n*2**f ovvero n* indica la pulsanzione delle componenti cosinusoidali e sinusoidali della n_esima armonica. Le componenti della armonica n_esima sono quelle la cui frequenza risulta n volte la frequenza del segnale f(t) da ricostruire. Le formule di Eulero possono essere così riscritte: a0=1/T*integrale[ f(t)*dt ] integrale steso da: -T/2 a +T/2 an=2/T*integrale[ f(t)*cos(n**t)*dt ] integrale steso da: -T/2 a +T/2 bn=2/T*integrale[ f(t)*sin(n**t)*dt ] integrale steso da: -T/2 a +T/2 con n=1,2,3,4,5,………………….. 3. L’integrale definito calcolato per via numerica Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 4 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Le immagini riportate nelle Figura_1 e Figura_2 illustrano due trame minime per la valutazione degli integrali definiti: integrale[ sin(x)*dx ] esteso da 0 a integrale[ cos(x)*dx ] esteso da 0 a L’operatore sceglie la funzione da integrare, sin(x) oppure cos(x) , per intervento diretto sull’oggetto tipo SelectionControl. L’oggetto Formula denominato funzione_da_integrare riceve sia il segnale relativo alla espressione matematica della funzione attraverso il morsetto d’ingresso denominato formula, sia una collezione di 256 valori della variabile indipendente per tramite il morsetto d'’ngresso x. I valori della variabile indipendente sono organizzati in una struttura ad Array1D prodotta dall’oggetto Formula denominato ramp(256, limite inferiore, limite superiore. Viene qui impiegata la funzione di libreria ramp(numElem,start,stop) per produrre un segnale (Data) del tipo (type) Real con organizzazione (shape) ad Array1D composto di 256 elementi (parametro numElem) linearmente crescenti dal valore minimo 0 (parametro start) al valore massimo (parametro stop). Ogni funzione matematica, come è noto, agisce su un argomento. L’argomento deve avere determinate caratteristiche per essere “trattato” dalla funzione prescelta; le funzioni log10(x) oppure ln(x), ad esempio, non possono “trattare” argomenti negativi. Quì l’argomento della Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 5 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats funzione ramp(……..) è composto di tre parametri che devono assegnare, nell’ordine: il numero di elementi componenti l’Array1D (il size dell’Array1D) , il valore assegnato al primo elemento dell’Array1D (quello di indirizzo 0), il valore assegnato all’ultimo elemento dell’Array1D (quello di indirizzo numElem-1). In tutte le strutture di dati ad Array, ad una dimensione (vettori) o a più dimensioni (matrici), gli elementi componenti sono indirizzati a partire dall’intero 0 (zero). E’ stata questa la scelta della Hewlett&Packard e della Agilent Technologies; altre multinazioni, quali la IBM, iniziano l’indirizzamento dall’intero 1 (uno). L’oggetto Formula denominato funzione_da_integrare si attiva quando sui morsetti d’ingresso (Input Pins) sono presenti entrambi i segnali. Conseguenza della ”messa in moto” è l’emissione dal morsetto d’uscita Result (Default Output Pin) un Array1D di 256 elementi corrispondenti ai valori che la funzione da integrare, sin(x) oppure cos(x), assume in corrispondenza di ogni valore campionato dell’ascissa nell’intervallo 0---------. L’oggetto Build_Coord riceve ai morsetti d’ingresso gli Array1D di reali relativi ai valori dell’ascissa e a quelli della funzione, li organizza e li emette in uscita, dal morsetto Coord, sotto forma di segnale (Data) del tipo (Type) Coord strutturato (Shape) ad Array1D. L’oggetto Build_Coord organizza i dati d’ingresso in coppie di valori ognuna composta da un valore dell’ascissa e dal corrispondente valore della ordinata ovvero del valore che la funzione ha assunto in corrispondenza di quell’ascissa. In definitiva, dall’oggetto Build Coord vengono emesse 256 coppie di valori reali organizzati in una struttura di dati indirizzabili del tipo Array1D. L’oggetto Formula denominato defintegral (f(x), limite inferiore, limite superiore) utilizza la funzione di libreria defintegral(x,a,b) per il calcolo dell’integrale definito. Nella parametrizzazione di default i tre parametri della funzione defintegral(x,a,b) indicano rispettivamente la funzione da integrare (x), il limite inferiore (a) e quello superiore (b) dell’intervallo d’integrazione. Nei casi specifici in esame, l’istruzione all’interno dell’oggetto Formula appare come defintegral(array,0, ). Il risultato dell’integrazione è un numero reale che viene visualizzato su un Alphanumeric display. L’oggetto del tipo XvsY_Plot visualizza, in verde, l’area sottesa dalla funzione che corrisponde al valore dell’integrale definito. 4. La funzione periodica da riprodurre Lo sviluppo in serie di Fourier permette la ricostruzione di qualsiasi funzione periodica come somma di armoniche di tipo cosinusoidale e sinusoidale. Le espressioni (1), (2), (3) mostrano che è necessario, per la determinazione dei valori da assegnare alle ampiezze delle diverse componenti armoniche, disporre della funzione f(t) da riprodurre. La soluzione non numerica esigerebbe la conoscenza dell’espressione della funzione f(t) . Per praticare la via numerica saranno ugualmente utili sia la conoscenza dell’espressione della f(t) sia una collezione adeguata di valori assunti dalla Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 6 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats funzione in corrispondenza di ascisse note. In quest’ultimo caso sarà necessario di disporre di tante coppie di valori, ascisse e ordinate, in un intervallo della variabile indipendente pari, almeno, ad un periodo della funzione che si vuole ricostruire con l’impiego di componenti armoniche cosinusoidali e sinusoidali. La libreria Agilent HP VEE dispone di un oggetto Function_Generator per la produzione di segnali periodici canonici del tipo Sine, Cosine, Square, Tri, +Ramp, -Ramp (ovviamente in forma numerica). In Figura_3 è riportata una trama per la produzione e visualizzazione di un segnale sinusoidale, esteso ad un periodo, mediante 32 campioni indirizzati da 0 a 31. I valori delle ordinate sono mostrati sull’Alphanumeric_display. Il segnale prodotto dal Function_Generator è del tipo Waveform con struttura ad Array1D e mappings lineare da 0 a 20.6452E-3 per l’associazione dei valori corrispondenti delle ascisse. Per le immagini di Figura_4, Figura_5, Figura_6, Figura_7, Figura_8 valgono considerazioni analoghe in riferimento alla produzione e visualizzazione di segnali del tipo Cosine, Square, Tri, +Ramp e –Ramp rispettivamente. Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 7 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 8 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 9 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 10 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Il numero di campioni del segnale canonico è stato volutamente limitato a 32 per consentire la lettura di tutti i valori sull’oggetto Alphanumeric_display. Tanto maggiore è il numero di campioni con cui si riproduce un periodo della funzione nota tanto più la “approssimazione numerica” del segnale si avvicina al segnale analogico. Il numero di campioni è limitato solo dalla precisione fissata nel progetto di calcolo automatico, dalle prestazioni hardware del sistema e dai tempi ammissibili per la produzione dei risultati. Anche quando il tracciato sul display del tipo Waveform (Time) apparirà continuo, in realtà di tratta della rappresentazione di un segnale discreto e, perciò, con un numero limitato di stati o livelli. Le due immagini seguenti di Figura_10 rendono chiaro quanto appena affermato. Si riferiscono entrambe ad un stesso segnale. Nella prima Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 11 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats è stato visualizzato l’intero tracciato riferito ad un periodo mentre nella seconda sul display Waveform(Time) appare il risultato di una forte zoomata. 5. Le componenti della prima armonica Verrà qui illustrato il procedimento per determinare le ampiezze delle componenti cosinosuidale e sinusoidale della prima armonica con impiego delle formule di Eulero. La Figura_11 è una delle possibili trame che assolvono allo scopo. E’ un programma strutturato in quanto utilizza uno UserObject (sottoprogramma) denominato Calcola Ampiezze Armoniche. Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 12 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Uno UserObject non è un componente della libreria di default bensì un programma realizzato dall’utente per assolvere ad uno scopo preciso e limitato. E’ stato costruito per determinare le ampiezze delle componenti di un numero qualsiasi di armoniche ma viene qui impiegato per calcolare solamente le ampiezze delle componenti della prima armonica. L’organizzazione interna dello UserObject Calcola Ampiezze Armoniche è mostrata nella successiva immagine di Figura_12 . I morsetti d’ingresso f , c , s sono dedicati alla ricezione delle informazioni tipo Waveform (type: Waveform, shape:Array1D, con mappings) relative alla Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 13 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats funzione f(t) da riprodurre, alla componente cosinusoidale e a quella sinusoidale, rispettivamente, di ampiezze unitarie e frequenze pari a quella della f(t). La comprensione della trama di Figura_11 è immediata: il segnale da riprodurre, del tipo +Ramp a frequenza 50 Hz, è generato dal Function_Generator denominato segnale_f(t)_da_riprodurre la componente cosinusoidale di ampiezza unitaria e frequenza 50 Hz, è generata dal Function_Generator denominato COSINE la componente sinusoidale di ampiezza unitaria e frequenza 50 Hz, è generata dal Function_Generator denominato SINE i precedenti tre segnali del tipo Waveform (type: Waveform, shape:Array1D, con mappings) vengono trasmessi ai morsetti f , c , s dello UserObject Calcola_Ampiezze_Armoniche che li elabora ed emette in uscita, ai morsetti ac ed as, due segnali tipo Real (type:Real, shape:Scalar) corrispondenti alle ampiezze delle componenti cosinusoidali e sinusoidali rispettivamente, della prima armonica (quella di frequenza 1*50 Hz) e calcolate attraverso l’integrazione delle formule di Eulero. L’organizzazione interna dello UserObject Calcola_Ampiezze_Armoniche permette di comprenderne la logica: gli oggetti UnBuild_Waveform_f , UnBuild_Waveform_c , UnBuild_Waveform_s convertono i segnali tipo Waveform (type: Waveform, shape:Array1D, con mappings) in segnali tipo Real(type: Real, shape:Array1D, con mappings) l’oggetto Formula_1 produce i segnali y1 ed y2 corrispondenti, rispettivamente, al prodotto delle ordinate della funzione da riprodurre f(t) per quelle della componente cosinusoidale di ampiezza unitaria e al prodotto della medesima f(t) per le ordinate della componente sinusoidale di ampiezza unitaria l’oggetto formula denominato ramp(numElem,start,stop) impiega la funzione ramp( , , ) per produrre un Array1D di valori dell’ascissa temporale composto da 256 elementi indirizzati da 0 a 255 e crescenti linearmente dal valore minimo (start) 0 al valore massimo (stop) 20.0784E-3. gli oggetti Build_Coord_f1 e Build_Coord_f2 ricevono in ingresso gli Array1D realtivi alle ascisse di campionamento e alle ordinate delle funzioni y1 e y2 rispettivamente e producono i segnali del tipo Coord con struttura ad Array1D necessari per eseguire l’operazione successiva di integrazione definita Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 14 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats l’oggetto Formula_2 calcola le ampiezze delle componenti cosinusoidale e sinusoidale della prima armonica, ne associa i valori alle due variabili localmente create ac ed as e li mette a disposizione ai morsetti d’uscita. 6. Armoniche in numero qualsiasi La procedura per la determinazione delle ampiezze delle componenti cosinusoidale e sinusoidale di un numero qualsiasi di armoniche è la naturale estensione della trama precedente. E’ solo necessario specificare il numero di armoniche e predisporre un algoritmo iterativo affinché la procedura di Figura_11 venga rielaborata, in modo automatico, per ogni frequenza multipla di quella della funzione da riprodurre f(t), fino alla armonica di ordine massimo prestabilito. La Figura_13 riproduce il programma per la determinazione delle ampiezze delle componenti COSINE e SINE di dieci armoniche, dalla frequenza minima 50 Hz alla massima 500 Hz. Il Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 15 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats For_Range è uno degli oggetti utilzzabili per il controllo iterativo di una trama logica. Quando viene attivato emette in uscita, uno alla volta, dieci scalari reali, da 1 fino a 10 con passo 1. Ogni volta che il For_Range emette uno scalare, a partire dal primo, l’evento attiva l’intera trama di oggetti che al controllore di flusso è relazionata e il For_Range emetterà il prossimo scalare solo dopo che il flusso logico della trama si è compiuto. Alla prima attivazione il For_Range emette lo scalare 1 e viene completato il calcolo delle ampiezze delle due componenti dell’armonica di frequenza 50 Hz. Segue la seconda attivazione del For_Range con l’emissione dello scalare 2 e il conseguente calcolo delle ampiezze delle due componenti della seconda armonica di frequenza 100 Hz. Quindi la terza attivazione del For_Range determina il calcolo delle ampiezze delle componenti della terza armonica di frequenza 150 Hz. Così di seguito fino alla decima riattivazione, quando verranno calcolate le ampiezze relative alle componenti della decima armonica di frequenza 500 Hz. Il numero di armoniche è stato qui limitato a 10 solo per permettere la visualizzazione delle frequenze e delle ampiezze delle componenti sui display del tipo Logging_Alphanumeric. Si può osservare come la trama di Figura_13 discenda da una modesta variante eseguita su quella di Figura_11. Nell’immagine successiva di Figura_14, le ampiezze delle componenti cosinusoidale e sinusoidale delle armoniche sono riportate, anziché sui Logging_Alphanumeric, su due diversi visualizzatori del tipo Xvs.Y_Plot a formare i relativi spettri di ampiezza. Si nota che le ampiezze delle componenti sinusoidali sono molto più elevate di quelle delle componenti cosinusoidali e questo particolarmente per le armoniche di più bassa frequenza. Perciò, nella ricostruzione del segnale f(t) la somma delle componenti cosinusoidali avrà una rilevanza molto minore rispetto alle altre. Ogni vertice dei due tracciati è determinato dalle coordinate della frequenza e dell’ampiezza della componente armonica. Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 16 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 17 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats 7. Il contributo delle componenti cosinusoidali e sinusoidali Nella ricostruzione della funzione periodica f(t), i contributi delle componenti di tipo COSINE e SINE sono generalmente molto diversi. Lo sviluppo in serie di Fourier afferma che nella ricostruzione delle funzioni di tipo dispari sono le componenti SINE a contribuire maggiormente mentre nella ricostruzione delle funzioni di tipo pari sono le componenti COSINE a svolgere il ruolo primario. Una funzione f(t) si dice dispari quando risulta f(t) = -f(-t), mentre si dice pari quando risulta risulta f(t) = f(-t). La funzione Sine(*t), tracciata nell’intervallo - <= *t <= + va considerata dispari, mentre la funzione Cosine(*t), nello stesso intervallo, deve ritenersi pari, così come evidenziato nell’immagine successiva di Figura_15. Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 18 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats 8. La somma delle componenti armoniche E’ necessario ampliare la trama di calcolo per realizzare la somma delle componenti cosinusoidali e sinusoidali di tutte le armoniche. La procedura di Figura_16 calcola le ampiezze delle componenti cosinusoidali e sinusoidali di dieci armoniche e mostra i risultati su una serie di visualizzatori del tipo Waveform(Time). Ancor prima di spiegare nel dettaglio la parte di algoritmo che permette di sommare le componenti armoniche, si vuole fare qualche osservazione sui diversi tracciati. Sul primo visualizzatore è riprodotto un periodo del segnale f(t) , del tipo +Ramp, da riprodurre. Sul secondo Waveform(Time) appare il tracciato derivante dalla somma delle sole componenti cosinusoidali delle dieci armoniche; si nota che le ampiezze di picco (positivo e negativo) ammontano a 7.36m e 26.14m, rispettivamente. Poiché il segnale f(t) ha ampiezza unitaria, appare immediato riconoscere che i contributi millesimali delle componenti cosinusoidali avranno un peso molto ridotto nella ricostruzione. Al contrario, sul successivo visualizzatore emerge che il tracciato derivante dalla somma delle componenti riproduce abbastanza fedelmente il tracciato della funzione f(t) sia nella forma che nell’ampiezza. Abbiamo una prima conferma strumentale alla teoria di Fourier: il segnale f(t) da riprodurre è del tipo dispari e solo le componenti sinusoidali (funzioni del tipo dispari) contribuiscono efficacemente alla ricostruzione. Se il numero di armoniche fosse stato più elevato, l’aderenza tra il segnale originario e quello ricostruito sarebbe stata ancora più evidente, così come mostrato nelle immagini riportate in Figura_17. Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 19 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 20 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 21 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats 9. Un algoritmo con retroazione La ricostruzione della funzione data f(t) avviene attraverso la somma di un prefissato numero di armoniche, ognuna composta di una componente di tipo COSINE ed una di tipo SINE di ampiezze diverse e con frequenze multiple della fondamentale. La Figura_18 è relativa alla stralcio dei soli oggetti dedicati alla ricomposizione della funzione f(t) attraverso la somma delle armoniche, come è evidente a motivo del fatto che al alcuni morsetti d’ingresso di taluni oggetti non giunge alcun collegamento per la ricezione dei segnali. Il For_Range scandisce l’ordine dell’armonica e la restante parte della trama, quella non riportata in Figura_18, calcola i valori delle ampiezze per le componenti cosinusoidale e sinusoidale. Tali valori, insieme a quello della frequanza dell’armonica n_esima, vengono trasmessi agli oggetti Function_Generator, rispettivamente denominati genera_comp._COSINE e genera_comp._SINE, che provvedono alla generazione di due segnali tipo Waveform, uno di tipo COSINE e l’altro di tipo SINE, corrispondenti alle componenti dell’armonica n_esima. In ognuno degli oggetti tipo Formula denominati somma_comp._COSINE e somma_comp._SINE si realizza, ad ogni attivazione del controllore di flusso For_Range, la somma a+b: alla variabile a viene consegnato il segnale Waveform prodotto via via da genera_com._COSINE mentre alla variabile b è associato il segnale all’uscita dell’oggetto Formula medesimo. Con la prima attivazione dell’oggetto Formula il segnale b non potrebbe provenire dall’uscita dello stesso in quanto non ancora prodotto. Gli oggetti JCT funzionano come blocchi logici di tipo OR e fanno si che solo alla prima attivazione, cioè quando il For_Range emette lo scalare 1, ai morsetti B dei relativi oggetti Formula vengano passate le informazioni tipo Waveform prodotte dagli oggetti Function_Generator denominati, rispettivamente, COSINE_iniz. e SINE_iniz. Esaurita la prima iterazione, quindi a partire dalla seconda armonica, ai morsetti B delle due Formule vengono retroalimentate le uscite degli stessi oggetti, uscite che corrispondono, passo dopo passo, alla somma delle diverse componenti armoniche di tipo cosinusoidale e sinusoidale. All’interno di ogni oggetto i segnali scorrono da sinistra verso destra. L’attivazione degli oggetti è asincrona. Gli oggetti JCT consentono il feedback del segnale prelevato in uscita agli oggetti tipo Formula denominati rispettivamente somma_comp._COSINE e somma_comp._SINE permettendone il rientro sui rispettivi morsetti d’ingresso. Il segnale prelevato in una sezione di valle della catena di produzione del segnale viene fatto rientrare in una sezione di monte della stessa catena a condizionare il valor del segnale nella sezione di valle. Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 22 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Gli oggetti tipo Gate fanno si che il segnale in attesa sull’ingresso A possa transitare sul morsetto d’uscita X, solo quando il Gate stesso riceve l’impulso di attivazione attraverso il Sequence Input Pin superiore. Tale impulso di attivazione del Gate viene emesso dal controllore di flusso For_Range, attraverso il Sequence Output Pin, solo quando questo ha scandito l’ordine dell’ultima armonica e tutti gli effetti conseguenti si sono realizzati.. Quando i Gate si attivano, il segnale che transita sul morsetto X d’uscita corrisponde alla somma di tutte e dieci le componenti cosinusoidali, per l’uno, e sinusoidali per l’altro e ciò è quello che si voleva ottenere. E’ necessario comprendere senza equivoci alcuni aspetti procedurali per la realizzazione della retroalimentazione di un segnale: il feedback può esistere solo nell’ambito di un processo dinamico; in ambiente Agilent HP VEE il dinamismo esiste solo se la struttura logica di una trama viene gestita da almeno uno fra gli oggetti della categoria Repeat del tipo For_Count, For_Range, For_Log_Range, Until_Break, On_Cycle; il feedback di un segnale necessita di un valore iniziale per quel segnale; il feedback può avvenire solo con l’impiego dell’oggetto Junction. Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 23 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats 10. Una procedura strutturata La Figura_19 riporta l’immagine del pannello d’interfaccia (panel view) di una procedura in forma strutturata per la ricostruzione di segnali periodici canonici. L’operatore interviene sul datore di segnale tipo Selection_Control denominato segn._f(t)_da_riprodurre per decidere la tipologia del segnale canonico da riprodurre, agisce sul cursore del sensore tipo Integer_Slider denominato numero_di_armoniche per assegnare il numero di armoniche per la ricostruzione, interviene sul cursore dell’oggetto tipo Real_Slider denominato fase_segn._f(t)_da_riprodurre per fissare la fase del segnale f(t). Gli attuatori esterni del tipo Xvs.Y_Plot e Waveform(Time) permettono di osservare i risultati sotto forma di tracciati XY. In particolare, sul visualizzatore Xvs.Y_Plot denominato spettro_ampiezze_componenti_COSINE è riportato lo spettro delle ampiezze delle componenti cosinusoidali, sul visualizzatore Xvs.Y_Plot denominato spettro_ampiezze_componenti_SINE è riportato lo spettro delle ampiezze delle componenti sinusoidali, infine sul visualizzatore tipo Waveform(Time) denominato segnali:_originale,_ricostruito,_somma_comp._COS, somma_comp._SIN sono riportati i tracciati relativi al segnale canonico f(t) da riprodurre, il Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 24 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats segnale ricostruito come somma di tutte le componenti armoniche, il segnale ricostruito come somma delle sole componenti armoniche di tipo COSINE e il segnale ricostruito come somma delle sole componenti armoniche di tipo SINE. La struttura del programma è caratterizzata da una dinamicità molto elevata che consente, con la sola limitazione dovuta alle prestazioni del sistema hardware, di modificare in fase di running qualsiasi tra i parametri d’ingresso e osservarne immediatamente gli effetti. Come è noto un panel view può esistere solo se esiste un programma ad esso associato. L’immagine di Figura_20 riporta il programma che ha permesso la realizzazione del pannello d’interfaccia precedente. Si tratta di una procedura di calcolo molto compatta che utilizza il modulo UserObject denominato Fourier,_2002. Gli oggetti sulla work area sono pochi; oltre allo UserObject sono visibili i datori di segnale, i visualizzatori e il controllore di flusso On_Cycle. L’attivazione di quest’ultimo, per intervento sul bottone di Start oppure per azione su uno qualsiasi dei datori di Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 25 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats segnale nel panel view, mette in stato di running continuo la trama operativa. Ogni modifica ulteriore dei parametri d’ingresso, a partire dall’istante d’avvio, verrà rilevata e tradotta nei conseguenti risultati. La struttura interna dello UserObject denominato Fourier,_2002 mostra che lo stesso utilizza due ulteriori UserObject denominati Calcola_Ampiezze_Armoniche e Sommatore_di_Armoniche. L’immagine di Figura_21 ne mostra l’organizzazione interna. Le ridotte dimensioni dello schermo e della pagina non consentono di disporre gli oggetti in modo da rendere lineare e chiara la lettura della trama. Tuttavia, nel file Agilent HP VEE gli oggetti sono disposti su una direttrice orizzontale e si estendono da sinistra verso destra per tre pagine video. La collocazione topografica consente di cogliere pienamente il significato dell’algoritmo insito nella trama del sottoprogramma Fourier,_2002. Le caratteristiche interne del sottoprogramma Calcola_Ampiezze_Armoniche sono già state mostrate nell’immagine di Figura_12 . L’organizzazione dello Sommatore_di_Armoniche è esplicitata nella seguente Figura_22 Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 26 UserObject Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats 11. Alcuni pannelli d’interfaccia Sono state redatte diverse versioni del progetto di calcolo automatico relativo alla ricostruzione dei segnali canonici periodici mediante lo sviluppo in serie di Fourier, ognuna dotata di peculiarità che possono renderla preferibile alle altre in riferimento alle diverse contingenze del momento didattico. Di seguito sono riportati i pannelli d’interfaccia relativi alle diverse versioni di programma. Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 27 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Panel View del programma archiviato sul file : Fourier – definitivo A Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 28 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Panel View del programma archiviato sul file : Fourier – definitivo B Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 29 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Panel View del programma archiviato sul file : Fourier – definitivo C Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 30 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Panel View del programma archiviato sul file : Fourier – definitivo E Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 31 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats 12. Conclusioni Lo sviluppo di una procedura di calcolo automatico in ambiente di programmazione visuale Agilent HP VEE è un processo articolato che coinvolge tutte le risorse intellettuali dell’allievo: dalla conoscenza degli specifici argomenti tecnici, alla padronanza delle regole sintattiche e semantiche della lingua italiana, alla comprensione dell’inglese tecnico, all’abilità nell’uso degli strumenti della matematica, all’intuizione nel perseguire gli obiettivi attraverso percorsi di maggiore efficienza. Se pure a digiuno di una solida cultura della programmazione numerica, l’elevatissima efficienza dell’ambiente di programmazione bidimensionale gli consente di dare concretezza al processo logico che procede dall’analisi del sistema fisico, alla modellazione matematica attraverso l’applicazione dei principi di conservazione dell’energia, alla ricerca dell’algoritmo solutore, alla progettazione passo dopo passo della procedura di calcolo automatico. Sono poche le regole di sintassi per la gestione degli oggetti compresi nelle varie librerie del menu Agilent HP VEE. La gestione degli oggetti segue regole di assoluta logicità, spesso mutuate da quelle che disciplinano la gestione dei dispositivi hardware elementari e perciò facilmente identificabili e traslabili per la costruzione delle trame algoritmiche. La costruzione del programma di calcolo automatico segue le regole basilari di stesura di qualsiasi progetto: dalle specifiche alla prima bozza, e via via per affinamenti e correzioni successive fino alla versione definitiva, quella che meglio soddisfa le specifiche progettuali. La trattazione teorica dello sviluppo in serie di Fourier non è quasi mai riuscita a mostrarne, agli allievi delle classi terminali dei corsi di specializzazione, la reale importanza per le applicazioni pratiche. Le peculiarità della piattaforma di sviluppo software Agilent HP VEE induce gli allievi a cimentarsi nella trattazione di problematiche altrimenti ritenute al di sopra delle proprie possibilità. Le procedure di calcolo automatico, costruite passo passo secondo il criterio della progettazione strutturata, consentono a tutti di vedere oltre la “ cortina di mistero” che avvolge la serie di Fourier e le formule di Eulero. Giulianova, aprile 2002 Prof. Piero Nardi Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 32 Istituto Tecnico Industriale “Vincenzo Cerulli” - via Gramsci , Giulianova Dipartimento di Elettrotecnica e Automazione – Laboratorio di Sistemi Automatici “Istruire non significa riempire un secchio, ma cercare di accendere un fuoco” William Butler Yeats Indice Generale 1. Sulle motivazioni della ricerca pagina 2 2. Serie di Fourier e formule di Eulero pagina 2 3. L’integrale definito calcolato per via numerica pagina 4 4. La funzione periodica da riprodurre pagina 6 5. Le componenti della prima armonica pagina 13 6. Un numero qualsiasi di armoniche pagina 16 7. Il contributo delle componenti cosinusoidali e sinusoidali pagina 20 8. La somma delle componenti armoniche pagina 21 9. Un algoritmo con retroazione pagina 23 10. Una procedura strutturata pagina 25 11. Alcuni pannelli d’interfaccia pagina 28 12. Conclusioni pagina 33 Riferimenti bibliografici: Advanced Engineering Mathematics Erwin Kreyszig - Third Edition Wiley Ambienti software: Agilent HP VEE 5.01 Agilent Techologies & Hewlett Packard Microsoft Word 97 Microsoft Corporation Sviluppo in Serie di FOURIER e Ricostruzione di Segnali Periodici Analisi Numerica in Ambiente di Programmazione Bidimensionale Agilent HP VEE Unità d’Innovazione Didattica - Prof. Piero Nardi Pagina 33