Corso di “Meccatronica” A.A. 2013/2014 Docente Prof.Ing.Nicola Ivan Giannoccaro Studente Antonio Tricarico matricola 20009708 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≥2fMAX , con fMAX = massima frequenza componente del segnale che si desidera acquisire. Nel caso considerato, fMAX = 50 Hz, per cui si opta per fc = 200 Hz. Se si optasse per fc < 2fMAX , si verificherebbe il fenomeno di ALIASING Scelta di fc: condizioni di aliasing fc=90 Hz (fMAX=50 Hz, fc < 2fMAX) Il segnale appare caratterizzato da una frequenza differente da quella effettiva fc=200 Hz, fMAX=50 Hz fc ≥ 2fMAX segnale campionato correttamente fc=90 Hz, fMAX=50 Hz fc ≤ 2fMAX 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) 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 IIR Finite Impulse Response Infinite Impulse Response •Metodo delle finestre •Campionamento in frequenza •Minimi quadrati •Equiripple •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 dB ω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]= cheby1[O,Rp,Wn,type] Chebishev II tipo [b,a]= cheby2[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,cheb1ord,cheb2ord,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 I •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 quelli ellittici 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=filtfilt(b,a,segnale) Operazione di filtraggio del segnale. filtfilt 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= fir1(O,Wn,type,window) b= fir2(O,F,M) Minimizzazione ai minimi quadrati b= firls(O,F,M) Equiripple b= firmp(O,F,M) fir1 configurazione passa alto, passa basso, passa banda e arresta banda fir2 •F = vettore intervalli di frequenze normalizzati (bande) ([0 f1 f2...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.