• Non ci sono risultati.

1.2 FUNZIONAMENTO DEI METODI SVILUPPATI E PROBLEMI RISCONTRATI

N/A
N/A
Protected

Academic year: 2021

Condividi "1.2 FUNZIONAMENTO DEI METODI SVILUPPATI E PROBLEMI RISCONTRATI "

Copied!
15
0
0

Testo completo

(1)

CAPITOLO V

STIMA MULTIPLA CON SATV E FFT

1.1 INTRODUZIONE

1.2 FUNZIONAMENTO DEI METODI SVILUPPATI E PROBLEMI RISCONTRATI

1.1 Introduzione

In questo capitolo verrà spiegato il funzionamento, i risultati ottenuti ed i

problemi riscontrati nella risoluzione del problema della stima multipla dei parametri di

una funzione di trasferimento, utilizzando una tecnica che si basa sull’utilizzo di moduli

che agiscono in parallelo sul processo fisico G(s) con l’utilizzo dell’algoritmo FFT per la

stima delle fasi.

(2)

1.2 Funzionamento dei metodi sviluppati

Come conseguenza dei risultati ottenuti dalla soluzione che adotta la tecnica SATV con filtri, in questo capitolo verranno esposti i funzionamenti di alcuni dei metodi che sono stati sviluppati per cercare di eliminare i problemi riscontrati nella soluzione con i filtri. Tutti i metodi spiegati in questo capitolo hanno come caratteristica comune quella di aver eliminato l’utilizzo dei filtri per separare i segnali. Si è deciso infatti di non cercare di separare più i segnali per poterne studiare lo sfasamento introdotto dal sistema G(s) singolarmente ma di cercare di ottenere una stima delle fasi studiando i segnali sovrapposti con l’algoritmo di FFT.

Lo schema di massima del funzionamento di questi metodi è quello di figura V.2.1 in cui si possono notare i blocchi di stima, ognuno dei quali è dedicato a controllare la stima di un parametro della funzione di trasferimento di G(s), il sistema G(s) e il blocco dedicato ad analizzare lo spettro del sistema G(s) con la tecnica FFT.

Figura V.2.1 – Schema generico del funzionamento dei metodi sviluppati in questo capitolo.

(3)

Prima di spiegare il funzionamento generale dei metodi scelti, verrà analizzato il blocco analizzatore di spettro utilizzato in questi metodi in quanto la sua struttura è la solita per ogni metodo spiegato in questo capitolo.

Analizzatore di spettro

Il blocco analizzatore di spettro realizzato in simulink è quello rappresentato in figura V.2.2. Tale blocco è utilizzabile solo nel caso di due stime contemporanee ma il suo funzionamento non varia nel caso di più stime (cambia solo il numero di ingressi e uscite).

Figura V.2.2 – Modello dell’analizzatore di spettro.

In generale, il blocco analizzatore di spettro ha minimo tre ingressi:

o si Ingresso attraverso il quale viene memorizzato il segnale che andrà in ingresso al sistema G(s).

o so Ingresso attraverso il quale viene memorizzato il segnale in uscita dal sistema G(s).

o freq In questo ingresso viene indicata all’algoritmo FFT la frequenza

alla quale effettuare la stima di modulo e fase della f.d.t di G(s). Il numero

di questo tipo di ingressi è pari al numero di stime da effettuare.

(4)

Tale blocco inoltre ha una uscita denominata stime che restituisce un vettore di lunghezza pari a 3*numero_stime. I valori relativi ad una stima sono rappresentati in un vettore di tre elementi come si può notare in figura V.2.3.

bit di validità Stima del modulo Stima della fase

Figura V.2.3 – Forma dell’uscita del blocco stima spettrale nel caso di una singola stima.

Il blocco analizzatore di spettro ha inoltre una interfaccia attraverso la quale è possibile immettere i parametri necessari al suo funzionamento. Tali parametri sono:

o Lunghezza buffer Attraverso tale parametro è possibile decidere la lunghezza del buffer nel quale verranno memorizzati gli ingressi si e so.

o Nptfft Con questo parametro si decide su quanti punti (campioni) dei segnali memorizzati verrà effettuato il calcolo dell’algoritmo FFT.

o Sample time rappresenta il tempo di campionamento al quale verranno campionati i segnali provenienti dagli ingressi si ed so.

o Pltfft indica il numero di nuovi campioni da avere prima di effettuare il calcolo dell’algoritmo FFT.

In base alla regolazione dei seguenti parametri è possibile decidere il funzionamento del

blocco analizzatore spettrale. Dato che tale blocco dovrà stimare la fase e il modulo dei

segnali immessi nel sistema G(s), per i motovi spiegati nel capitolo dedicato all’algoritmo

FFT, bisogna scegliere un tempo di campionamento e la lunghezza del buffer in modo

tale che entri nel buffer il segnale più lento per un numero di periodi sufficienti.

(5)

Primo metodo

In questo metodo il blocco dell’analisi spettrale è stato applicato con un buffer di 2048 elementi, l’algoritmo FFT calcola le stime su N=2048 elementi ogni 2048 nuovi elementi.

Il tempo di campionamento è stato impostato a t

c

= 0.05 secondi. Il valore del tempo di campionamento è stato deciso in base al fatto che per quella dimensione del buffer, in frequenza avrei ottenuto una risoluzione pari a

N t

c

k

1 2 π

ω = = 0.06 (rad/s). In questo modo avrei potuto separare in frequenza due segnali molto vicini tra loro. Inoltre tale tempo di campionamento è sufficientemente basso da consentire buone stime anche in presenza di rumore sui segnali. Con tali parametri il blocco analizzatore di spettro emette una stima ogni 0.05*2048=102.4 secondi.

Visto che il tempo di stima è abbastanza elevato bisogna cercare un metodo per far convergere il più velocemente possibile la fase del processo P(s) al valore di -180 gradi.

Lo schema generale nel caso di due stime contemporanee si può osservare in figura V.2.4.

In figura V.2.5 si può vedere il blocco che serve a stimare il margine di fase. Tale blocco

ha come uscita Pm che rappresenta il valore del margine di fase stimato in gradi del

sistema fisico; omega rappresenta il valore della frequenza in rad/s in cui viene trovato il

margine di fase; Fase che rappresenta la fase del processo P(s) in gradi (solo quando

questa raggiunge -180 gradi i valori di Pm e omega sono quelli esatti).

(6)

Figura V.2.4 - Schema generale del primo metodo nel caso di due stime contemporanee.

Figura V.2.5 – Modello di stima per il margine di fase

(7)

Adesso si andrà ad analizzare lo schema interno del blocco SATV che stima il margine di fase. Il funzionamento degli altri blocchi SATV che effettuano altre stime è identico e cambiano solamente le funzioni per il calcolo della fase del processo P(s) date le stime del sistema G(s). In figura V.2.6 è rappresentato lo schema interno del blocco SATV di stima del margine di fase.

Figura V.2.6 – Schema interno del blocco SATV per la stima del Phase margin.

Vediamo adesso di spiegare il funzionamento dello schema di Figura V.2.6.

Il blocco chiamato oscillatore è un blocco che funziona come generatore di segnali sinusoidali a frequenza imposta dal valore dell’ingresso freq. Dall’ingresso mefst entra un vettore di tre elementi proveniente dal blocco stima spettrale.

Nel blocco chiamato Phase margin viene calcolato il valore del margine di fase in gradi

come 180+(180/pi)* ∠ G ( j ω ) .

(8)

Nel blocco chiamato calcola pm viene richiamata una funzione (calcolapm.m) che calcola il modulo e fase del processo P(s) in base al criterio del cerchio per il calcolo del margine di fase.

Di seguito viene allegato il codice della funzione calcolapm.m:

function risu=calcolapm(mf)

%serve per calcolare lo sfasamento di modulo e fase di un sistema

%retroazionato con il metodo del cerchio

%per calcolare il phase margin dato solo lo sfasamento in modulo e fase

%del processo vero G(s).(mf=[modulo fase])

%ATTENZIONE: deve entrare la fase in radianti ed esce la fase in radianti

a=mf(1)*exp(i*mf(2));

faseu=phase(a-1)-phase(1+a)-pi/2;

risu=[modu; faseu];

Sarà proprio la fase calcolata da questa funzione che dovrà essere portata al valore di - 180 gradi (agendo sulla variabile omega) affinchè venga rispettata la condizione del criterio del cerchio.

Tale condizione viene controllata dalla macchina a stati finiti Chart [10]. Essa ha tre ingressi:

o fase che rappresenta la fase stimata del processo P(s)

o omega che rappresenta la frequenza alla quale si riferisce la stima di fase o pronto che indica quando il blocco FFT ha reso disponibile nuove stime.

E tre uscite:

o out che abilita la vera stima sullo switch

o porta che seleziona una delle tre porte del multiswitch port

o stima che rappresenta il valore della stima da inviare all’integratore

In Figura V.2.7 viene rappresentato il diagramma a blocchi del funzionamento

dell’automa.

(9)

Figura V.2.7 – Schema interno dell’automa.

L’automa contiene otto stati i quali vengono elencati di seguito:

o attesa_pronto all’avvio l’automa si trova in questo stato ed attende che il bit pronto (inviato dal blocco FFT) venga settato ad 1 (pronto=1 significa che i dati sono pronti).

o Prima_stima superato il primo stato significa che i dati sono arrivati, quindi si salva il valore della fase stimata e il relativo valore di frequenza.

o Mantieni_uscita Questo stato pone l’uscit out = 0 (abilita il passaggio della stima effettuata) e mantiene tale stato per un numero di secondi pari a T=delay*periodo del clock.

1

Fatti delay cicli passa allo stato successivo.

1 Il valore del periodo del clock è stato posto pari a 0.01 in modo che un delay pari a 10 significa che l’uscita manterrà quel determinato valore per un tempo pari a T=0.01 * 10 = 0.1 secondi. Questo tempo assieme al valore di scelto permette all’integratore di modificare il proprio valore di omega in questo

(10)

o Attesa_pronto2 In questo stato viene riportato l’uscita out ad 1 ( quindi adesso nell’ingresso dell’integratore entra il valore -180 gradi e quindi non viene modificato il valore di omega) e si attende che il bit pronto venga riportato ad 1.

o Stime_successive Una volta entrati in questo stato viene salvato il valore della fase stimata e della frequenza relativa. A questo punto viene calcolato il

“coefficiente angolare”

2

presunto del diagramma di fase del processo P(s) (viene utilizzata ancora la variabile delay). Prima di passare ad uno degli stati successivi viene calcolato il passo (differenza tra i due valori di omega) e se esso risultasse troppo piccolo (< 0.05) viene escluso lo stato primo_cost

3

o Primo_cost Questo stato abilita la prima porta del multiswitch quella con coefficiente minore (si presuppone una forte inclinazione della funzione di fase). Dopo questo stato si ritorna allo stato mantieni_uscita

o Seconda_cost Questo stato abilita la seconda porta del multiswitch quella con coefficiente angolare maggiore (si presuppone una bassa inclinazione della funzione fase). Dopo questo stato si ritorna allo stato mantieni_uscita

o Terza_cost Questo stato abilitala terza porta del multiswitch ossia quella che ha un coefficiente intermedio. Dopo questo stato si ritorna allo stato mantieni_uscita

Si può subito notare che nel caso di risposte in frequenza particolari ( dove solo in un picco si raggiunge il valore di -180 e in tutti gli altri casi la fase è < -180 gradi) questo automa potrebbe non convergere alla soluzione.

2 Il coefficiente angolare della fase è calcolato semplicemente come

1

.

1

= −

i i

i i

omega omega

fase ang fase

coeff

il valore del coeff. Ang. per discriminare la scelta di è stato trovato empiricamente provando su diversi sistemi in modo che nei punti in cui l’incremento di omega risultasse troppo lento si applicasse un più grande

3 Questo viene fatto perchè si possono verificare altrimenti dei passi troppo piccoli che manderebbero il valore del coefficiente angolare calcolato a dei valori troppo alti; quindi si verificherebbe un incremento di omega troppo piccolo. In questa maniera invece si puo ottenere un passo < 0.05 solo in prossimità della fase -180 e quindi non ho problemi se utilizzo il corfficiente di più alto.

(11)

Problemi della prima realizzazione

Il problema principale di questa realizzazione è il tempo di simulazione che è molto alto (1000 sec. circa). Questo è dovuto principalmente al fatto che avendo più segnali sovrapposti non si può utilizzare un buffer o un tempo di campionamento tali da poter cercare di diminuire i tempi di simulazione sfruttando le caratteristiche della trasformata di Fourier. Il tempo di stima infatti rimane costante e pari a 102.4 secondi per tutto il tempo della simulazione.

Secondo metodo

Visti i problemi riscontrati con il primo metodo, si è ritenuto necessario provare ad effettuare delle modifiche a tale metodo al fine di poter diminuire i tempi di simulazione.

Per diminuire i tempi di simulazione si è pensato di far calcolare l’algoritmo FFT non ogni 2048 nuovi elementi in ingresso ma bensì ogni 4 elementi. Si è visto che alcune stime calcolate in questo modo dopo un tempo fissato pari al riempimento del buffer per 3/4 (al di sotto del quale le stime sono errate) possono convergere al loro valore finale. In questo modo si potrebbe guadagnare dei secondi di simulazione per ogni stima se tutti i valori stimati convergessero prima del riempimento del buffer ( 102.4 secondi per un buffer di 2048 elementi campionati a 0.05 secondi). Questo evento dovrebbe avvenire più frequentemente all’aumentare delle pulsazioni delle sinusoidi in ingresso al sistema G(s).

Per questo metodo viene utilizzato una macchina a stati finiti che oltre a decidere la nuova frequenza da emettere controlla se le stime di fase sono converse ad un valore fisso; solo quando tutte le stime sono converse, la macchina a stati finiti emette le stime definitive ad i vari sottosistemi SATV.

In figura V.2.8 è rappresentato lo schema generale del secondo metodo. Si può subito

notare che è stato aggiunto un nuovo automa in cascata al blocco analizzatore di spettro.

(12)

pltfft = 4, sample time = 0.05, nptfft = 2048.

Figura V.2.8 – Schema generale del secondo metodo.

Figura V.2.9 – Schema interno della macchina a stati finiti automa.

(13)

L’automa [10] di figura V.2.8 riceve le stime che vengono effettuate dal blocco analizzatore di spettro ogni 4 punti nuovi di ingresso e controlla che le stime effettuate stazionino tutte. Solo quando l’automa riceve delle stime stabili per ogni blocco SATV esso inoltra il valore relativo di stima ad ogni sottoblocco SATV e si rimette in attesa di nuove stime stabili.Gli schemi interni dei sottoblocchi SATV rimangono identici a quelli di figura 18 e figura V.2.6.

In figura V.2.9 si può vedere lo schema dell’automa posto in serie al blocco dell’algoritmo FFT. Esso ha come ingresso (caso di stima doppia) 5 valori : il primo è il bit pronto che indica quando la FFT ha effettuato la stima e gli altri quattro valori sono i valori stimati di modulo e fase per una determinata frequeza dei processi P(s) calcolati con il criterio del cerchio.

L’automa ha 6 uscite: tre per il primo sottosistema SATV e gli altri tre per l’altro sottosistema. Ad ogni sottosistema viene inviato il valore definitivo della stima di modulo e fase. Questo automa ha infatti la frequenza di ingressi nel tempo molto maggiore della frequenza degli ingressi in uscita.

Lo schema dell’automa, diverso dai precedenti automi è composto da uno stato generale che prende il nome di controllo_uscita_FFT. All’interno dello stato generale sono contenuti ( in figura V.2.9) tre blocchi che vengono eseguiti in parallelo.

I blocchi eseguiti in parallelo sono di due tipi:

o Blocchi_numerati contengono il controllo della convergenza della stima di fase per ogni sistema SATV contenuto (in questo caso due). Il numero di questo tipo di blocchi dipende dal numero di stime contemporanee effettuate.

o Blocco_fine_contemporanea Questo blocco è unico e serve unicamente a

sincronizzare l’uscita dei vari blocchi numerati una volta che tutti contengono una

stima attendibile. ( stazionata ad un valore).

(14)

Gli stati interni dei blocchi di tipo Blocchi_numerati sono tre:

o Via In questo stato si controlla che la stima di fase effettuata relativa al processo P(s) stazioni su un determinato valore. Vengono imposti inoltre dei vincoli temporali. Le stime non vengono prese in considerazione come buone per i primi 60 secondi dato che è stato visto attraverso simulazioni che entro questo tempo si possono verificare falsi stazionamenti su dei valori errati. Dopo 60 secondi dall’inizio della stima, si può passare allo stato uscita ( dato valido) se la differenza della stima tra due istanti successivi è minore di un valore di soglia.

o Uscita Questo stato è solo uno stato di passaggio che indica che i valori di stima sono buoni e possono essere presi in considerazione. Tali stime vengono salvate e prima di passare allo stato attesa si avverte il blocco_fine_contemporanea che per il presente blocco la stima è pronta.

o Attesa Risiedono in questo stato tutti i blocchi numerati che hanno raggiunto una stima stabile. Solo quando tutti i blocchi numerati sono in attesa in questo stato, viene abilitata l’uscita delle stime verso i blocchi esterni SATV. Una volta tornati nel blocco via il processo si ripete.

Problemi della seconda realizzazione

Sviluppando questa seconda realizzazione si è notato che per alcune frequenze si possono ottenere delle stime errate della fase; questo è dovuto principalmente al fatto che il buffer ed il tempo di campionamento non sono stati regolati in maniera ottimale rispetto al segnale controllato. Questo però non può essere fatto in quanto il segnale da controllare è formato dalla somma di sinusoidi a diverse frequenze che variano nel tempo in modo non prestabilito.

Dal punto di vista dei tempi di simulazioni si possono notare dei leggeri miglioramenti

dei tempi di simulazione delle singole stime che però lasciano i tempi di simulazione

finale sempre molto alti (900 secondi circa).

(15)

Problemi in comune ai due metodi

Si è inoltre notato che per sistemi che hanno più cicli limite, le tecniche precedentemente

affrontate (cosi come la tecnica ATV o SATV ) riescono solamente a stimare la

pulsazione di un solo ciclo limite e se esso è stabile. Nel caso di cicli limiti instabili

questi metodi non riescono a stimare la pulsazione critica in quanto non convergono mai

a tale valore.

Riferimenti

Documenti correlati

Corso di Laurea Specialistica in Ingegneria Civile Anno Accademico 2010/2011..

Si è scelto di utilizzare come errore associato al miglior valore non la deviazione standard dalla media, bensì l'incertezza determinata mediante propagazione a partire da

[r]

[r]

Il Fornitore si obbliga a osservare, nell’esecuzione delle prestazioni contrattuali, tutte le norme e le prescrizioni tecniche e di sicurezza in vigore al momento dell’affidamento e

Sezione I: Amministrazione aggiudicatrice - I.1) Denominazione e indirizzi: Inail - Istituto nazionale per l'assicurazione contro gli infortuni sul lavoro. II.2.4)

8 Che tipo di funzione è la funzione rappresentata nella figura seguente?. A Iniettiva ma

[r]