50
LABORATORIO MATLAB: TEORIA DEI SEGNALI Segnali deterministici e stocastici Elaborazione di dati e segnali Biomedici 2018/2019

LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

LABORATORIO MATLAB:

TEORIA DEI SEGNALI

Segnali deterministici e stocasticiElaborazione di dati e segnali Biomedici

2018/2019

Page 2: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

2

Signal Processing Toolbox La Signal Processing Toolbox™ fornisce funzioni e app per analizzare, pre-elaborare ed estrarre feature da segnali campionati in modo uniforme o non uniforme. Il toolbox comprende gli strumenti per la progettazione di filtri e l’analisi, il ricampionamento, la linearizzazione, l’eliminazione del trend e la stima dello spettro di potenza. Il toolbox fornisce inoltre funzionalità per estrarre feature come changepoint e inviluppi, trovare modelli di picchi e segnali, quantificare somiglianze di segnale ed eseguire misurazioni come SNR e distorsione. È inoltre possibile eseguire l’analisi modale e degli ordini dei segnali di vibrazione.Oltre alle funzioni che permettono l’elaborazione dei segnali, le toolbox di MATLAB contengono app integrate per l’analisi semplificata dei dati, una di queste è la Signal Analyzer.

Page 3: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

3

Teoria dei segnali in MATLAB

MATLAB è uno degli strumenti più importanti utilizzati in ricerca scientifica biomedica per l’analisi e il processamento dei segnali biologici. Lo studio di essi deve passare prima per l’applicazione della teoria dei segnali mediante MATLAB.

Come esempio saranno mostrate le funzioni MATLAB per la generazione di segnali notevoli, quali:- Rect- Tri- Delta di Dirac- Treno di impulsi

NB. Dato che sono funzioni si presuppone che i parametri di input siano dichiarati al di fuori delle funzioni (script o command window)

Per semplicità, l’intervallo dei tempi è stato definito con>> t = [ -10:0.01:10 ];

Page 4: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

4

Generazione segnali: rect.m

function [y]=rect(x);

y=(abs(x)<0.5)+0.5*(abs(x)==0.5);

end

Page 5: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

5

Generazione segnali: tri.m

function [y]=tri(t)

y=(1-abs(t)).*(abs(t)<1);

end

Page 6: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

6

Generazione segnali: delta.mfunction [y]=delta(t)

y=zeros(1,length(t));

[~,i]=min(abs(t));

y(i)=1/(t(2)-t(1));

end

Page 7: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

7

Generazione segnali: treno.mfunction [y]=treno(t,T)

i=T;

y=delta(t); %delta in 0

while i<=max(t)

y=y+delta(t-i)+delta(t+i);

i=T+i;

end

end

Page 8: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

8

Area ed energia di un segnale Scrivere un programma che mostri la figura su un periodo del segnale periodico (con passo di campionamento pari a 0.02):

e ne calcoli area ed energia.Il segnale è periodico di periodo 2π. Per calcolare area ed energia avendo a che fare con campioni di segnale (vettore) è necessario effettuare le approssimazioni:

AREA

ENERGIA

con T passo di campionamento.

)(sin)(sin 3

2

0

2

0

3 kTTdttT

k

=

2

2

0

2

0

2)()( kTfTdttf

T

k

=

)(sin)( 3 ttf =

function [e]=energia(y,t)

e=sum((abs(y)).^2)*(t(2)-t(1));

end

function [e]=area(y,t)

e=sum(y)*(t(2)-t(1));

end

Page 9: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

9

Figura

Page 10: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

10

Energia di un segnale Scrivere un programma che mostri la figura del segnale tempo discreto (sequenza):

f[nT]=e−0.02nTsin[nT](ho una sequenza, per cui T=1) e ne calcoli l’area e l’energia (su un intervallo finito, ad esempio tra 0 e 200).

N.B. stem(Y) plots the data sequence Y as stems from the x axis terminated with circles for the data value.

Page 11: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

11

Convoluzione

Consideriamo due sequenze a[n] e b[n] a supporto limitato. La loro convoluzione èdefinita come

Il segnale b risulta ribaltato (b(-k)) come se venisse ruotato di 180 gradi attorno alprimo campione. Avendo a che fare con segnali di lunghezza finita la sommatoria avràin realtà estremi limitati e ciascun elemento n del segnale finale (convoluzione) saràdato dalla sommatoria di più contributi che vedono il segnale a in posizione kmoltiplicato di volta in volta per il segnale b in posizione n-k: mentre il segnale a èfisso, il segnale b scorre avanzando da sinistra verso destra. K andrà da 0 al valore dellalunghezza del risultato pari alla somma della lunghezza dei singoli segnali a e b meno 1.

][][])[( kaknbnbak

+

−=

−=

Page 12: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

12

ESERCIZIOConsideriamo due segnali rettangolari scalati in ampiezza, traslati e su base diversa da 1, campionati a passoT=0.02:

s1 t = 2 rectt − 1.5

2s2 t =

1

3rect

t

3

Scrivere le due rect utilizzando la funzione implementata precedentemente che è di seguito riportata(ricordare che x è un vettore dei tempi, su cui costruisco la rect, del tipo t = [−X, ..., −dx, 0, dx, ..., X] ):

function y = rect( x )

y = (abs(x) < .5) + .5 * (abs(x) == .5);

end

Calcolare la loro convoluzione (senza utilizzare il comando conv) con uno script che definisca le due recterichiami una funzione che si presenta nella forma:

function X=conv(s1,s2)

Rappresentare su tre figure diverse le due rect e il risultato della funzione conv.

Convoluzione

Sono tutti vettori colonna

Page 13: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

Codice convoluzione.m

t = -10:0.01:10;

s1 = 2*rect((t-1.5)/2);

s2 = 1/3*rect(t/3);

X = conv(s1,s2);

t2 = linspace(min(t),max(t),length(X));

plot(t2,X)

S1(t)

S2(t)X(t)

Page 14: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

14

Convoluzione

CONVOLUZIONE

S1(t) S2(t)

FIGURE FINALI

Page 15: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

15

Convoluzione tempo TCScrivere uno script che, utilizzando la funzione convoluzione implementata, calcoli la convoluzione tra una sinc2(t) e una δ(t-10) e la rappresenti graficamente.

))((sin 2 tc

tempo(s)

Page 16: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

16

Campionamento del segnaleIl campionamento del segnale consiste nella moltiplicazione del segnale stesso per un treno diimpulsi.La frequenza di Nyquist (fs/2) è la minima frequenza alla quale campionare il segnale per evitaredistorsioni e perdita di informazioni sul segnale (aliasing): data una funzione la cui trasformata diFourier sia nulla al di fuori di un certo intervallo di frequenze (ovvero un segnale a banda limitata)la frequenza di Nyquist corrisponde al doppio della sua frequenza massima.

𝑓𝑠 ≥ 2 ∗ 𝑓𝑚𝑎𝑥

Con:

fs, frequenza di campionamentofmax, frequenza massima del segnale da campionare

A livello pratico, il segnale risulta correttamente campionato se

fs > 10*fmax

Page 17: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

17

Effetti del campionamento

t = [0:0.1:10];

x = sin(2*pi*100*t);

plot(t,x)

t = [0:0.1:10];

x = sin(2*pi*1*t);

plot(t,x)

Page 18: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

18

❑ Lo strumento matematico che consente di trasferire lo studio dei segnali e dei sistemi dal dominio deltempo al dominio della frequenza è la trasformata di Fourier. Il vantaggio che deriva dall’introduzione deidue domini è la possibilità di cambiare la prospettiva con la quale si osserva un dato fenomeno.

Analisi dei segnali nel dominio della frequenza

❑ La relazione che definisce la trasformata di Fourier non è direttamente implementabile mediante unelaboratore digitale di segnale, sia perche essa richiede l’analisi di segnali continui, x(t) e X(f), sia perchel’integrale si estende all’infinito e richiederebbe dunque un numero infinito di dati da elaborare.

❑ Per poter effettuare tale trasformazione con un sistema digitale sono dunque necessarie tre operazionifondamentali:

→Campionamento (Segnali discreti)→il troncamento del segnale→la discretizzazione dell’asse delle frequenze.

Ciascuna di queste operazioni può influenzare significativamente l’attendibilita del risultato dell’analisi.

Page 19: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

19

Trasformata discreta di FourierN

knjN

n

nexX k21

0

−−

=

=

La sequenza Xk prende il nome di Trasformata discreta di FourierDFT (Discrete Fourier Transform)NB: Nella formula non compare T

10 − Nk

La relazione che permette di calcolare gli N campioni di xn partendodagli N campioni di Xk prende il nome di

Trasformata discreta di Fourier inversaIDFT (Inverse Discrete Fourier Transform).

N

knjN

k

keXN

xn21

0

1=−

= 10 − Nn

Page 20: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

20

❑ La DFT avrà lo stesso numero di campioni delsegnale nel tempo, ma distanziati di un intervalloΔf = Fs/N (risoluzione in frequenza: minimadistanza alla quale si devono trovare duefrequenze per essere distinte) con Fs pari allafrequenza di campionamento ed N numero dielementi del vettore dei tempi t

Xn

Campionamento nel tempo e in frequenza

Page 21: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

21

Trasformata discreta di Fourier

❑ La trasformata di Fourier viene implementata in Matlab utilizzando il comando fft(x)che calcola la DFT del vettore x utilizzando l’algoritmo FFT.

❑ Il successo di questo strumento è in buona parte dovuto all'esistenza di un algoritmo,noto come FFT (Fast Fourier Transform, i.e. trasformata veloce di Fourier), chepermette di calcolare la DFT in maniera veloce.

❑ La FFT consente di decomporre il problema in sottoproblemi di complessità minore.Con questa si riduce il numero delle operazioni computazionali da N2 a NlogNnell’ipotesi che N sia una potenza di 2. Nel caso in cui il numero di campioni nonsoddisfi l’ipotesi si aggiungono dei campioni nulli (operazione di Zero Padding).

Page 22: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

22

La sintassi: fft(x,N) →calcola la FFT su N punti, aggiungendo zeri se x ha meno di N punti, e troncando se ne ha di più.

Poiche in generale la X(f) cioè Y è complessa, essa puo essere descritta mediante gli spettri di ampiezza e fase. Per semplicita di trattazione, le figure che riportano gli andamenti degli spettri in frequenza dei segnali complessi X(f) si riferiranno, implicitamente, soltanto alle loro ampiezze.

Trasformata discreta di Fourier

Page 23: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

23

Trasformata discreta di FourierCOMANDI

fft(x) :

La trasformata di Fourier di un segnale discreto è un segnale periodico nel dominio delle frequenze. Matlab lavorasempre nel dominio discreto, quindi usando la funzione fft si ottengono sempre segnali periodici in frequenza. Ad

esempio: dato un segnale di N campioni, definito rispetto al vettore di tempo t=[-N/2 : +N/2-1]*t0 ( t0 =passo di

scansione), la sua trasformata di Fourier sarà un segnale periodico nelle frequenze che si ripeterà ogni N campioni .Per questo motivo dopo una fft il segnale che si ottiene è quello in figura 1 dove i campioni relativi a frequenzenegative, vengono riportati in fondo, nella seconda metà del vettore .

Page 24: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

24

Trasformata discreta di FourierCOMANDI

fftshift(fft(x)) :Shift zero-frequency component to center of spectrum

La funzione fftshift permette di riordinare le frequenze e rappresentare così il segnale trasformato al centro delvettore delle frequenze, come ci si aspetta.

Page 25: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

25

Trasformata discreta di FourierFIGURA FINALE

Page 26: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

26

Trasformata discreta di Fourier: fourierTransform.m

function

[X,f,df]=fourierTransform(x,fs,nfft)

N=length(x);

t=linspace(0,N/fs,N);

dT=t(2)-t(1);

X=fftshift(fft(x,nfft));

f=linspace(-.5*1/dT,+.5*1/dT,nfft);

df=abs(f(2)-f(1));

end

Page 27: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

27

Trasformata discreta di Fourier: Esempio

Scrivere un programma che restituisca il PSD della somma di:- Seno di ampiezza 10 e frequenza 10 Hz;- Seno di ampiezza unitaria e frequenza 30 Hz;

NB. Si ricorda che secondo il teorema del campionamento la frequenza di campionamento (fs) deve essere maggiore o uguale alla frequenza MASSIMA del segnale.

dT = 0.01; % passo di campionamento (scelto secondo Nyquist)

fs = 1/dT; % frequenza di campionamento

t = [0:0.01:10]; %asse dei tempi

x = 10*sin(2*pi*10*t) + sin(2*pi*30*t); %segnale

nfft = 2^nextpow2(length(x)); %numero di punti in frequenza

[X,f,df] = fourierTransform(x,fs,nfft); %trasformata di Fourier

plot(f,abs(X))

Page 28: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

28

Trasformata discreta di Fourier: Risultato

Page 29: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

29

❑ Si è gia visto che l’analisi di Fourier si applica formalmente a segnali di durata infinitamente estesa e pertanto anche lasequenza dei campioni che rappresenta il segnale in forma discreta dovra essere teoricamente di lunghezza infinita.Tale ipotesi non è ovviamente realizzabile nella pratica. In generale, con riferimento a un processo di campionamentoreale, la sequenza dei campioni avra necessariamente un inizio e una fine.

❑ Per esaminare il problema è utile considerare il segnale di durata limitata come una porzione del segnale generico x(t),prelevata attraverso una opportuna finestra temporale w(t) (window), detta anche finestra di troncamento o diosservazione.

Troncamento del segnaleDispersione spettrale (leakage)

L’effetto del troncamento sul segnale si puo rappresentare nel seguente modo:xw (t) = x(t) ⋅ w(t)

La trasformata di Fourier del segnale troncato risulta dalla convoluzione degli spettri:

Xw(f)= X(f)∗W(f)

La convoluzione della trasformata X(f) del segnale con la trasformata W(f) della finestra di troncamento introduce un nuovo tipo di distorsione, detta dispersione spettrale (spectral leakage).

Page 30: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

30

Troncamento del segnaleDispersione spettrale (leakage)

In pratica se lo spettro del segnale originario X(f) contiene delle transizioni nette, ad esempio componenti armonicheimpulsive come nel caso di un segnale periodico nel tempo, tali transizioni vengono smussate e lo spettro del segnaleperiodico troncato si disperde in frequenza, tanto piu quanto piu è stretta la finestra di troncamento.

L’entita della dispersione in frequenza dipende dalla durata Tw della finestra di osservazione e dal suo andamentotemporale. In particolare l’andamento nel tempo della finestra di troncamento determina l’ampiezza dei lobi laterali delladispersione e risulta quindi direttamente responsabile della accuratezza con cui viene stimato lo spettro del segnaletroncato. Sotto questo aspetto, concreti vantaggi possono essere ottenuti ampliando, entro limiti accettabili dal punto divista pratico, la durata Tw o utilizzando finestre temporali non rettangolari, ma con transizione piu graduale delle estremita(smoothing windows).

Page 31: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

31

t=0:0.0002:63*0.2e-3; % vettore dei tempi

s1=4*cos(2*pi*1000*t+0.2*pi); % generazione del segnale

x dato

s2=1.5*cos(2*pi*1500*t); % dalla somma di due sinusoidi

x=s1+s2;

L=length(x);

NFFT= 2^nextpow2(L);

X=abs(fft(x,NFFT)); % calcolo dell'FFT su NFFT punti

f=linspace(-1/0.0002*1/2,1/0.0002*1/2,NFFT); % vettore

delle frequenze

plot(f,X);

xlabel('Frequenza [Hz]');

ylabel('Ampiezza');

Il seguente script calcola e visualizza la FFT di un segnale composto dalla somma di due sinusoidi rispettivamente a 1000 e 1500 Hz.

NFFT=64

N.B. La risoluzione spettrale (Δf, distanza tra i campioni in frequenza) non permette la visualizzazione dei lobi secondari, ma si nota un allargamento alla base del lobo principale. Lo spettro del segnale x infinito (non finestrato) mostra invece due nette armoniche alle frequenze 1000 e 1500 Hz

Troncamento del segnale

Page 32: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

32

NFFT=256

FFT del segnale x=s1+s2

precedente valutata su 256

campioni

Troncamento del segnale

Page 33: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

33

Scrivere uno script che calcoli e visualizzi la FFT di un segnale composto da una sinusoide a 500 Hz

Esercizio

Page 34: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

34

PSD: periodogrampxx = periodogram(x)

pxx = periodogram(x,window)

pxx = periodogram(x,window,nfft)

restituisce la stima dello spettro di potenza del segnale di ingresso x, modificata utilizzando un tipo di finestra. La finestra è un vettore della stessa lunghezza di x.

restituisce la stima dello spettro di potenza del segnale di ingresso x, utilizzando nfft punti nella trasformazione discreta di Fourier (DFT).

restituisce la stima dello spettro di potenza del segnale di ingresso x, rilevato utilizzando una finestra rettangolare.

'Bartlett''Bartlett-Hann''Blackman''Blackman-Harris''Bohman’'Gaussian''Hamming’'Rectangular''Triangular''Tukey'

[pxx,f] = periodogram(x,window,nfft,fs) restituisce la stima dello spettro di potenza del segnale di ingresso x e il vettore delle frequenze f. La frequenza di campionamento, fs, è il numero di campioni per unità di tempo. Se l'unità di tempo è secondi, allora f è in cicli / secondo (Hz).

N.B. Se nfft è la potenza di 2 più vicina alla lunghezza del segnale, il vettore di default restituito da periodogram è pari a: nfft/2+1. Se invece come terzo ingresso alla funzione specifico un numero di elementi su cui lavorare pari a NFFT, per un segnale reale avrò:Pxx di lunghezza (NFFT/2+1) se NFFT è pari, di lunghezza (NFFT+1)/2 e NFFT è pari.

Page 35: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

35

Power spectral density (PSD) estimateWELCH PERIODOGRAM

pxx = pwelch(x)

❑ Restituisce la stima della densità spettrale di potenza (PSD), pxx, del segnale in ingresso, x,rilevata utilizzando lo stimatore di Welch che calcola la media di segmenti sovrapposti.Quando x è un vettore, viene trattato come un singolo canale.

❑ Quando x è una matrice, la PSD viene calcolata indipendentemente per ogni colonna ememorizzata nella colonna corrispondente di pxx.

❑ Di default, il segnale x viene diviso in segmenti più lunghi possibili per ottenere un valoreprossimo e non superiore a 8 segmenti con il 50% di sovrapposizione e ogni segmento vienefinestrato con una finestra di Hamming. I periodogrammi ottenuti vengono mediati perottenere la stima PSD. Se la lunghezza di x non può essere divisa esattamente in un numerointero di segmenti con il 50% di sovrapposizione, x viene troncato di conseguenza

Page 36: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

36

pxx = pwelch(x,window)pxx = pwelch(x,window,noverlap)pxx = pwelch(x,window,noverlap,nfft)[pxx,f] = pwelch(___,fs)

window può essere un vettore (la funzione in tal caso divide il segnale in segmenti di lunghezza uguale alla lunghezza di window e li moltiplica per esso) o un numero intero (il segnale viene diviso in segmenti, di lunghezza pari al numero indicato, che vengono successivamente moltiplicati per una finestra di Hamming della stessa lunghezza). noverlap se specificato è un numero intero, necessariamente minore della lunghezza di window. Di default esso viene ricavato dividendo per 2 la lunghezza di window (50% di overlapping).nfft specifica il numero di campioni per la Trasformata Discreta di Fourier da usare nella stima della PSD. Nfft di default è il numero più grande tra 256 e la più vicina potenza di 2 superiore alla lunghezza dei segmenti in cui ho suddiviso il segnale x.

[pxx,f] = pwelch(x,window,noverlap,f,fs)

restituisce la stima della PSD di Welch alle frequenze specificate nel vettore f. fs è la frequenza di campionamento. f deve contenere almeno 2 elementi in cicli per unità di tempo. Se l’unità di tempo è in secondi, allora f è in Hz.

Power spectral density (PSD) estimateWELCH PERIODOGRAM

Page 37: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

37

Elettromiografia di superficie (sEMG): acquisizione ed elaborazione

Page 38: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

38

Acquisizione del segnale sEMG

Page 39: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

39

• Filtraggio del segnale nella banda 10 Hz - 450 Hz, fondamentale per eliminare rumori e artefatti al di fuori del contenuto frequenziale del segnale

• Stima di inviluppo Metodo classico: IEMG (Integrated ElectroMyoGraphy) che consiste in-rettificazione del segnale -filtraggio passa-basso (a seconda delle esigenze) o smoothing

• Normalizzazione, poiché il segnale EMG è dipendente dalle condizioni di misura

• Determinazione degli intervalli di attivazione muscolare

Pre-processing del segnale sEMG

Page 40: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

40

Pre-processing del segnale sEMGStima di inviluppo

load('segnaliEMG.mat')

RBFrettificato=abs(RightBicepsfemoriscaputlongus);

RBFinviluppo=smooth(RBFrettificato,100);

figure

plot(Time,RightBicepsfemoriscaputlongus, 'b','LineWidth', 2)

xlabel('time','FontSize', 20)

ylabel('Right Biceps femoris caput longus (mV)', 'FontSize', 20)

figure

plot(Time,RBFrettificato, 'y')

hold on

plot(Time,RBFinviluppo, 'b','LineWidth', 2)

xlabel('time','FontSize', 20)

ylabel('Right Biceps femoris caput longus (mV)', 'FontSize', 20)

hold on

plot(stance_dx/1000,0, 'ro', 'LineWidth', 3)

hold on

plot(swing_dx/1000,0,'go', 'LineWidth', 3)

Per risolvere il problema della natura casuale del segnale EMG si utilizzano algoritmi di smoothing sul segnale rettificato che ne vadano ad evidenziare l’andamento del trend medio:

Page 41: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

41

Segnale EMG grezzo

Page 42: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

42

Stima di inviluppo

Page 43: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

43

Elaborazione del segnale sEMGParametri nel dominio del tempo

Idealmente vorremmo ottenere un tracciato che sia direttamente legato a una caratteristica del muscolo(principalmente forza generata): a parità di task motorio è del tutto improbabile osservare gli stessi patternnel segnale tra soggetti diversi (non riproducibilità). Selezionando opportuni parametri di “ampiezza”,calcolati per piccoli sottointervalli (in genere tra 50ms e 100ms a seconda della rapidità dei movimenti) sicerca di limitare la parte non riproducibile del segnale:

SMOOTHING DEL SEGNALE RETTIFICATO A MEDIA MOBILE

SMOOTHING SULLA POTENZA MEDIA DEL SEGNALE

Page 44: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

44

ESERCIZIO: 1)Calcolare ARV dei segnali EMG di Retto Femorale, Bicipite Femorale, Tibiale Anteriore e Gastrocnemio Laterale in un sottointervallo a scelta di appoggio e di volo del passo (utilizzare il file .mat SegnaliEMG).2)Calcolare l’RMS nelle stesse condizioni del punto precedente.

Applicazioni EMG

muscles=[RightBicepsfemoriscaputlongus, RightGastrocnemiuslateralis, RightRectusfemoris,

RightTibialisanterior];

%fase di appoggio

ARVstance=[];

for j=1: size(muscles,2)

ARVstance(j)=sum(abs(muscles(stance_dx(1):swing_dx(1),j)))/(swing_dx(1)-stance_dx(1));

end

%fase di volo

ARVswing=[];

for j=1: size(muscles,2)

ARVswing(j)=sum(abs(muscles(swing_dx(1):stance_dx(2),j)))/(stance_dx(2)-swing_dx(1));

end

Page 45: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

45

Analisi spettrale del tracciato originale: frequenza mediana (valore che divide l’area in parti uguali) o frequenza media (valore che identifica il baricentro dello spettro di densità di

potenza) come indici del processo di reclutamento delle UM.

:

MDF

Elaborazione del segnale sEMGParametri nel dominio della frequenza

Page 46: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

46

Frequenza media e medianaSINTASSI MATLAB

Page 47: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

47

Fs=1000; %freq di campionamento

nfft= 2^nextpow2(size(RightGastrocnemiuslateralis,1));

[Pvv,fv]= periodogram(RightGastrocnemiuslateralis,[],nfft,Fs);

% dove l'argomento è vuoto ([]) si può usare il nome di una finestra

figure

plot(fv,Pvv,'m');

xlabel('f [Hz]','FontSize', 20); ylabel('PSD(f)','FontSize', 20);

title(' Densità spettrale di potenza (periodogramma)','FontSize', 20);

%Calcolo frequenza media e mediana

freqmean=meanfreq(Pvv,fv);

freqmedian=medfreq(Pvv,fv);

figure

meanfreq(Pvv,fv);

hold on

medfreq(Pvv,fv);

Stima dello spettro di densità di potenza

Page 48: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

48

Stima dello spettro di densità di potenza

Page 49: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

49

Stima dello spettro di densità di potenza

Page 50: LAORATORIO MATLA: TEORIA DEI SENALI · Teoria dei segnali in MATLA MATLA è uno degli strumenti più importanti utilizzati in ri er a sientifia iomedia per l’analisi e il proessamento

50

Scrivere una funzione « analisiEMG» che dati 4 segnali EMG li racchiuda in una matrice nF(numero frame segnali)x nS(numero segnali) e che calcoli tramite ciclo for per ogni segnale : AVR, RMS , PSD, Frequenza media e mediana.

function[Pvv,fv,freqmean,freqmedian,ARV,RMS]=analisiEMG(segn1,segn2,segn3,segn4,window,noverlap,

Fs)

segnTOT=[segn1,segn2,segn3,segn4];

[N,M]=size(segnTOT);

ARV=[];

RMS=[];

Pvv=[];

fv=[];

freqmean=[];

freqmedian=[];

for i=1:M

ARV(1,i)=sum(abs(segnTOT(:,i)))/N;

RMS(1,i)=sqrt((sum(segnTOT(:,i).^2))/N);

[Pvv(:,i),fv(:,i)]= pwelch(segnTOT(:,i),window,noverlap,Fs);

freqmean(1,i)=meanfreq(Pvv(:,i),fv(:,i));

freqmedian(1,i)=medfreq(Pvv(:,i),fv(:,i));

end

end

Esercizio