Creazione di uninterfaccia grafica in ambiente Matlab per
Creazione di un’interfaccia grafica in ambiente Matlab per l’acquisizione e l’elaborazione dei dati da un file *. txt Corso di “Meccatronica” A. A. 2013/2014 Docente Prof. Ing. Nicola Ivan Giannoccaro Studente Antonio Tricarico matricola
Fasi di sviluppo dell’interfaccia grafica • Simulazione del processo di campionamento di un segnale sinusoidale; • Salvataggio dei dati in un file di testo (*. txt); • Caricamento dei dati acquisiti, stima dell’andamento temporale ed analisi nel dominio della frequenza; • Filtraggio digitale (filtri FIR e IIR) e analisi del segnale filtrato in relazione all’input.
Elaborazione del segnale • Analisi nel dominio del tempo Il segnale è analizzato rispetto alla variabile tempo (ampiezza positiva e negativa massime, ampiezza picco-picco, valore medio e valore efficace) • Analisi nel dominio della frequenza È analizzato lo spettro delle frequenze che costituiscono il segnale: l’analisi spettrale mediante l’analisi di Fourier si basa sull’ipotesi secondo la quale qualsiasi onda può essere scomposta in una somma di onde sinusoidali , la cui somma ricostruisce l’onda originale. DOMINIO DEL TEMPO ANALISI DI FOURIER DOMINIO DELLA FREQUENZA Il segnale è scomposto in una somma di sinusoidi (armoniche), ciascuna con una propria ampiezza e fase (Fast Fourier Transform)
Struttura della GUI Pulsante acquisizione dati Forma d’onda segnale acquisito Spettro segnale acquisito Forma d’onda segnale filtrato Spettro segnale filtrato Inserimento specifiche di filtraggio e visualizzazione risultati
Definizione del segnale in ingresso SEGNALE ANALIZZATO Segnale ideale A*sin(2*pi*F'*t) + d • A = vettore riga ampiezze • F = vettore riga frequenze • d = rumore Segnale misurato Il segnale in esame può essere considerato periodico ed è caratterizzato da numerose armoniche. Il disturbo in oggetto (disturbo a frequenza di rete 50 Hz) rende tale segnale fortemente degradato
Forma d’onda e spettro del segnale campionato La scelta della frequenza di campionamento fc deve essere tale da rispettare il teorema di Shannon, ossia fc≥ 2 f. MAX , con f. MAX = massima frequenza componente del segnale che si desidera acquisire. Nel caso considerato, f. MAX = 50 Hz, per cui si opta per fc = 200 Hz. Se si optasse per fc < 2 f. MAX , si verificherebbe il fenomeno di ALIASING
Scelta di fc: condizioni di aliasing fc=90 Hz (f. MAX=50 Hz, fc < 2 f. MAX) Il segnale appare caratterizzato da una frequenza differente da quella effettiva fc=200 Hz, f. MAX=50 Hz fc ≥ 2 f. MAX segnale campionato correttamente fc=90 Hz, f. MAX=50 Hz fc ≤ 2 f. MAX segnale sottocampionato i. e. ALIASING
Contaminazione del segnale La misura del segnale di interesse è affetta dalla presenza di disturbi e rumore il segnale ne risulta contaminato e il suo andamento non è determinato correttamente ELIMINAZIONE DI PARTE DEL CONTENUTO ARMONICO DEL SEGNALE L’utilizzo di tecniche di filtraggio permette di ridurre o eliminare il livello di disturbo e/o rumore presente nel segnale, ottenendo un segnale ripulito.
Effetti del rumore y(t) = yi(t) + yr(t) = rumore yi(t) = segnale ideale y (t) = segnale misurato Il segnale acquisito comprende il disturbo indotto dalla componente yr(t) SEPARARE IL SEGNALE UTILE DAL RUMORE Segnale ideale vs Segnale misurato
Filtri digitali FIR Finite Impulse Response • Metodo delle finestre • Campionamento in frequenza • Minimi quadrati • Equiripple IIR Infinite Impulse Response • Bessel • Butterworth • Chebishev (I tipo) • Chebishev (II tipo) • Ellittico
Tipi di filtro • FILTRO PASSA-ALTO (HIGH-PASS) elimina le componenti inferiori alla frequenza di taglio; • FILTRO PASSA-BASSO (LOW-PASS) elimina le componenti superiori alla frequenza di taglio; • FILTRO PASSA-BANDA (BANDPASS) combina gli effetti dei due filtri precedenti; • FILTRO ARRESTA-BANDA (BANDSTOP) rimuove le frequenza appartenenti ad un dato intervallo Condizioni di non idealità: • ripple banda passante (Rp) • banda di transizione non nulla • ripple banda oscura (Rs) La maschera del filtro, impostata in fase di progetto, specifica i margini di accettabilità delle non idealità elencate
Soppressione del rumore: filtro passa basso Rp ripple banda passante Rs ripple banda oscura ωc frequenza di taglio a 3 d. B ωs frequenza di inizio banda oscura 0 ≤ ωc banda passante ωc ≤ ωs banda di transizione ω > ωs banda oscura
Funzioni Matlab per il filtraggio IIR Butterworth [b, a]= butter[O, Wn, type] Chebishev I tipo [b, a]= cheby 1[O, Rp, Wn, type] Chebishev II tipo [b, a]= cheby 2[O, Rs, Wn, type] Ellittico [b, a]= ellip [O, Rp, Rs, Wn, type] b, a coefficienti del filtro O ordine del filtro freqz(b, a) Visualizza la funzione di trasferimento del filtro Wn frequenza di taglio Rp ripple banda passante Rs ripple banda oscura type: ‘high’, ‘low’, ‘bandpass’, ‘stop’ n, Wn = ?
Fasi progettuali • Si assegnano i valori di Wp, Ws, Rp, Rs Wp, Ws vettori delle frequenze che delimitano le bande passanti e oscura Wp = 0. 4, Ws = 0. 5, Rp = 3, Rs = 20 • Funzioni buttord, cheb 1 ord, cheb 2 ord, ellipord: forniscono i valori di n e Wn che soddisfano le specifiche Butterworth n=8, Wn=41 Hz Chebishev I tipo n=4, Wn=40 Hz Chebishev II tipo n=4, Wn=50 Hz Ellittico n=3, Wn=40 Hz I filtri ellittici soddisfano le specifiche imposte per n più basso
Inserimento dati per il filtraggio ORDINE Più è elevato l'ordine del filtro e maggiore è l'eliminazione delle armoniche fuori banda TIPO DI FILTRO • passa alto • passa basso • passa banda • arresta banda FREQUENZA DI TAGLIO CATEGORIA
Filtri IIR Butterworth Chebishev II • Butterworth • Chebishev II • Ellittico Chebishev I Ellittico Risposta in fase non lineare, ritardo di fase in aumento in prossimità di fc. All’aumentare di n aumenta la pendenza della banda di transizione. A parità di n, la banda di transizione diventa più ripida passando dai filtri di Butterworth a quellittici per i quali il ritardo di fase è estremamente non lineare. “maximally flat” in banda passante, lenta transizione banda passante-banda oscura banda di transizione più stretta, ripple in banda passante banda di transizione più stretta, ripple in banda oscura banda di transizione maggiormente ridotta, ripple in banda passante e banda oscura
Segnale filtrato vs Segnale input segnale_filtrato=filt(b, a, segnale) Operazione di filtraggio del segnale. filt in luogo di filter rifasa il segnale cancellando il ritardo NON LINEARITÀ Filtro ellittico passa basso, n = 3, fc = 40 Hz
Funzioni Matlab per il filtraggio FIR Finestre Campionamento in frequenza b= fir 1(O, Wn, type, window) b= fir 2(O, F, M) Minimizzazione ai minimi quadrati b= firls(O, F, M) Equiripple b= firmp(O, F, M) fir 1 configurazione passa alto, passa basso, passa banda e arresta banda fir 2 • F = vettore intervalli di frequenze normalizzati (bande) ([0 f 1 f 2. . . 1]) • M = vettore ampiezze desiderate in ogni banda firls firpm Utilizzano algoritmi che minimizzano gli errori tra la risposta in frequenza desiderata e la risposta in frequenza attuale
Filtri passa basso FIR F = [0 0. 4 0. 5 1] A = [1 1 0 0] banda passante 0 Hz -40 Hz, banda oscura 50 Hz -100 Hz Filtro FIR Frequency Sampling, n=3 Filtro FIR Least Squares, n=3
Filtraggio mediante filtri FIR • Risposta LINEARE in fase • Filtri SEMPRE STABILI • Maggiori specifiche rispetto ai filtri IIR Filtro FIR Equiripple n = 3 complessità progettuale Filtro IIR Ellittico n = 3 DSP
FIR vs IIR Fs = 200; %Frequenza di campionamento F = [40 50]; %Banda passante, Banda oscura A = [1 0]; %Ampiezze desiderate DEV = [0. 171 0. 1]; %Rp=3, Rs=20 [n, fo, ao, w] = firpmord(F, A, DEV, Fs) Filtro FIR Equiripple n = 11 Filtro IIR Ellittico n = 3 I filtri FIR necessitano di un ordine superiore ai filtri IIR per realizzare le stesse specifiche su Wp, Ws, Rs e Rp
Segnale filtrato Filtro FIR Equiripple n = 11 Filtro IIR Ellittico n = 3
Considerazioni finali • La scelta di un filtro è il risultato di obiettivi talvolta contrastanti. • Ad un aumento delle specifiche imposte al filtro corrisponde, inevitabilmente, un aumento della difficoltà di realizzazione e del costo del filtro stesso. Il progetto di un filtro è coadiuvato da dispositivi DSP, i cui costi sono relativamente contenuti in relazione alla capacità di elaborazione offerta. • Rispetto ai filtri FIR, i filtri IIR sono più efficienti, in quanto permettono di ottenere roll-off rate più marcate a parità di n, tuttavia possono presentare problemi di stabilità e presentano risposta in fase non lineare. • I filtri FIR, “incondizionatamente stabili” e con risposta in fase lineare, necessitano di un ordine e specifiche maggiori rispetto ai filtri IIR i. e. il progetto dei FIR è richiesto quando c’è necessità di linearità della fase e stabilità, senza grosse limitazioni per la quantità di memoria per i coefficienti, il cui numero è legato all’ordine del filtro. La scelta di usare un filtro FIR o IIR è in genere legata, oltre alle caratteristiche della risposta in frequenza e fase desiderate, anche a considerazioni di tipo computazionale, al ritardo di gruppo ammissibile, ecc. • Avere una fase lineare può risultare vantaggioso in molte situazioni e, laddove è compatibile con il tipo di applicazione, risulta preferibile l’uso di filtri FIR. L’utilizzo di filtri IIR risulta preferibile in applicazioni in cui, per ragioni costruttive e di DSP (costi contenuti), l’ordine n deve essere mantenuto basso.
- Slides: 23