Sei sulla pagina 1di 69

Analisi tempo-frequenza

Il rumore

Il rumore è una componente intrinseca della misura e può essere di diversa origine:

1. Rumore ambientale → intereferenze


Nel caso per esempio di misure acustiche con microfoni questi captano il campo acustico emesso dalla sorgente di
rumore ma anche tutto il rumore circostante. Il rumore ambientale può essere ridotto utilizzando filtri adattativi che non
richiedono la conoscenza a priori del rumore ambientale.

2. Artefatti prodotti dal trasduttore che risponde non solo all’ingresso desiderato ma anche a quelli interferenti. Per
esempio gli estensimetri che misurano le deformazioni sono sensibili anche alla temperatura.

3. Rumore elettronico → rumore bianco, con contenuto uniforme a tutte le frequenze.


Esempi di rumore elettronico: rumore Johnson o rumore termico che si ha nei resistori, shot noise che si ha nelle
giunzioni dei semiconduttori
Rapporto Segnale Rumore SNR

Il segnale misurato sarà dato dalla somma del segnale desiderato (SEGNALE) e del RUMORE. La quantità relativa
di SEGNALE presente nel segnale totale rispetto al RUMORE è il logaritmo in base 10 del rapporto tra il valore RMS
del SEGNALE e il valore RMS del RUMORE ed espresso in deciBell o dB:

 SEGNALERMS 
S NR = 20 log10   [dB]
 RUMORE RMS 
Un SNR pari a 20 dB indica che il SEGNALE è 10 volte maggiore del RUMORE:

 SEGNALE RMS 
S NR = 20 = 20 log10  
 RUMORE RMS 
SEGNALE RMS
→ = 101 = 10
RUMORE RMS
Rapporto Segnale Rumore SNR

Un SNR pari a 3 dB indica che il SEGNALE è 1.41 volte maggiore del RUMORE:

 SEGNALE RMS 
S NR = 3 = 20 log10  
 RUMORE RMS 
SEGNALE RMS
→ = 103 20 = 1.41 = 2
RUMORE RMS

Un SNR pari a 0 dB indica che il SEGNALE è uguale al RUMORE:

 SEGNALERMS 
S NR = 0 = 20 log10  
 RUMORE RMS 
SEGNALERMS
→ = 100 = 1
RUMORE RMS
Esempio

Sia dato un segnale sinusoidale a 30 Hz campionato a 10kHz di frequenza di


campionamento. Si vuole simulare come si presenta il segnale con diversi SNR.
SNR={+10dB,+3dB,-3dB,-10dB}

Si utilizza un codice in matlab simile a quello qui di seguito riportato


fs=10000; // frequenza di campionamento
T=0.5; // durata del segnale
nsamples=T*fs;
t=(0:nsamples-1)/fs;
SNRdB=[10;3;-3;-10]; // valori di SNR in dB
signal_NoiseFree=sin(2*%pi*30*t); // segnale privo di rumore
//noise_max=rand(nsamples,1); // Gaussian noise
noise_max=grand(nsamples,1, "nor", 0, 0.1)
figure
for ii=1:size(SNRdB,1)
snr_n = 10^(SNRdB(ii)/20); // Convert from dB
rms_s=norm(signal_NoiseFree)/sqrt(nsamples);
A = (rms_s/snr_n) * 1.414; // Determine gain
noise_s=A*noise_max;
signal=signal_NoiseFree+noise_s';
subplot(2,2,ii),
plot(t,signal),ylabel('x(t)'),xlabel('t [s]')
end
Esempio

150 200

100
+10dB +3dB
100
50

x(t)

x(t)
0 0

-50
-100
-100

-150 -200
0 0.2 0.4 0 0.2 0.4
t [s] t [s]

400 1000

-3dB -10dB
200 500
x(t)

x(t)
0 0

-200 -500

-400 -1000
0 0.2 0.4 0 0.2 0.4
t [s] t [s]
Metodi per mitigare il rumore

Il segnale acquisito nel tempo di acquisizione viene trattato in modo statistico ovvero vengono acquisiti più
segnali in diversi intervalli di tempo. Se il segnale è stazionario, sarà sempre lo stesso in tutti gli intervalli di
tempo acquisiti, mentre il rumore, che per sua natura è casuale, sarà sempre diverso e pertanto può essere
eliminato operando un processo di media sui segnali.
Il processo di media può essere di due tipi:

Medie nel tempo → Linear o ensemble averaging

Medie nel dominio della frequenza → Power averaging


Linear averaging

Consideriamo un segnale che venga acquisito per N volte: x k (t ) per k = 1...N

Se si ha la possibilità di sincronizzare i segnali mediante un trigger in comune è possibile effettuare una media
sugli N xk(t) nel dominio del tempo.
Linear averaging
Nel caso in cui i segnali non sono sincronizzati il processo di medi è controproducente e abbatte il segnale.
Power averaging

Nel dominio della frequenza, la media avviene sommando gli spettri degli x k (t ) segnali misurati,
ovvero Xk(f ) ( per k = 1...N )
Dove per spettro del segnale si intende:
Auto-spettro di un segnale
𝑁 𝑁
1 1
𝐴𝑃 𝑥 = ෍ 𝐹𝐹𝑇 𝑥 ∗ 𝐹𝐹𝑇 ∗ 𝑥 = ෍ 𝐹𝐹𝑇 𝑥 2
𝑁 𝑁
𝑘=1 𝑘=1
Cross-spettro tra due segnali
𝑁
1
𝐶𝑃 𝑥, 𝑦 = ෍ 𝐹𝐹𝑇 𝑥 ∗ 𝐹𝐹𝑇 ∗ 𝑦
𝑁
𝑘=1
Anche in questo caso il segnale deve essere stazionario cioè non deve cambiare il suo contenuto in frequenza
nel tempo. Nel caso in cui vengano sommati gli spettri non è necessario avere una sincronizzazione tra i vari
segnali acquisiti e la media può essere fatta in due modi:
- Sequenziale
- Con sovrapposizione.
Power averaging

Medie sequenziali: x k (t )
I segnali vengono acquisiti uno dopo l’altro

x1 (t ) x 2 (t ) x 3 (t )

Medie con sovrapposizione o OVERLAP:


I segnali si ricoprono per una certa percentuale. Nel caso
in figura la percentuale di overlap è il 75%, ma può
essere anche inferiore. E’ sconsigliato invece utilizzare un
overlap maggiore del 75% perché poi i segnali risultano
essere molto simili tra loro
Power averaging

Nel processo di media si usa anche finestrare il segnale e allora x k (t )


Nel caso di media sequenziale si usano finestre giustapposte.

Nel caso di medie con sovrapposizione si usano finestre


giustapposte. Per esempio qui sono riportate finestre con
sovrapposizione del 50%.
Power averaging: durata del processo

La durata totale T0 di acquisizione corrispondente al complesso dei segnali necessari per effettuare n medie nel caso di
processo sequenziale è

T0 = btn
dove b è il numero di campioni acquisiti per ogni segnale e t è il tempo di campionamento.
Nel caso di processo con sovrapposizione è

T0 = bt1 + 1 − ( p / 100)(n − 1)


dove p è la percentuale di sovrapposizione.

Se si effettuano 10 medie con sovrapposizione del 50% si avrà un tempo di acquisizione totale di
T0 = 5.5bt
Mentre nel caso di processo sequenziale
T0 = 10bt
Segnale nel tempo

Il segnale nel tempo viene moltiplicato per la finestra

x
Segnale nel tempo finestrato

→ spettro
Segnale nel dominio della frequenza

Se si effettuano 100 medie il segnale emerge dal piedistallo di rumore

1 sola media 100 medie


ANALISI CONGIUNTA TEMPO-FREQUENZA

L’ ANALISI DI FOURIER ha un inconveniente: si perde l’informazione sul tempo.


E’ applicabile per segnali stazionari, che non variano nel tempo, ma nel caso di segnali transitori (es. deriva,
tendenza, inizio e fine di eventi) si perde l’informazione di variabilità nel tempo.
Molti segnali nella diagnostica hanno la andamenti variabili nel tempo, per esempio accelerazioni e decelerazioni di
macchine rotanti ma l’analisi di Fourier non è adatta a rilevarli.
Se abbiamo due segnali:
- uno costituito dalla somma di due sinusoidi presenti durante tutta la finestra di acquisizione
- l’altro costituito dalle stesse sinusoidi ma presenti una successivamente all’altra
essi danno luogo alla stessa trasformata di Fourier.
Segnale stazionario

x(t)=sin(2π30t)+0.7sin(2π 60t);

1.5

0.5

-0.5

-1

-1.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Segnale non stazionario

x(t)=sin(2π30t) t=[0,1] x(t)=0.7sin(2π60t) t=[1,2]

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Trasformata di Fourier dei due segnali

x(t) 1.5
|X(f)| 1

1
0.8

0.5
0.6
0
0.4
-0.5

0.2
-1

-1.5 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 50 100 150 200 250 300 350 400 450 500

x(t) 1 |X(f)| 0.5

0.4
0.5

0.3
0
0.2

-0.5
0.1

-1 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 50 100 150 200 250 300 350 400 450 500
Trasformata di Fourier dei due segnali

La trasformata di Fourier dei due segnali è identica a parte del leakage presente nel segnale non stazionario.
Pertanto il fatto che le due frequenze del segnale (30 e 60 Hz) non esistono contemporaneamente non viene
rilevato mediante FFT.

Per trattare segnali non stazionari si utilizza l’analisi congiunta tempo frequenza il cui strumento principale è la
Short Time Fourier Transform (STFT).
STFT

STFT: calcola la trasformata di Fourier di una finestra temporale (di lunghezza ∆T) molto più corta del segnale
acquisito (T) che poi viene spostata temporalmente per analizzare tutto il segnale.

x(t)
T T T ...

T
t

FFT 1 FFT 2 FFT 3 ...


STFT

Per ogni spezzone di segnale lungo ∆T si calcola la trasformata di Fourier e così si ha una mappa bidimensionale: in un
asse si riporta il tempo che avrà una risoluzione pari a ∆T, nell’altro asse la frequenza che avrà una risoluzione ∆f pari a
(1/∆T cioè l’inverso della durata del singolo spezzone) e nel terzo asse l’ampiezza della trasformata di Fourier.

x(t)
T T T ...

FFT 1 FFT 2 FFT 3 ...


f
FFT 1 FFT 2 FFT 3 ...
|X|

T T T ... t
STFT

Se ho un segnale acquisito con frequenza di campionamento Fs con un numero totale di campioni N esso avrà una durata
T=N/Fs.
Esso verrà spezzato in storie temporali consecutive di durata T e numero di campioni Ns. Di ogni storia temporale verrà
effettuata la trasformata di Fourier con una risoluzione in frequenza di
f=1/T=Fs/Ns.
Si otterrà uno spettrogramma la cui risoluzione nel tempo è T e in frequenza f.

f
f FFT 1 FFT 3 ...
FFT 2
|X|

T T T ... t
STFT

Si deduce che tanto maggiore è la risoluzione nel tempo (T↓ e Ns=numero di campioni per ogni finestra ↓) tanto
minore è la risoluzione in frequenza (f=1/T=Fs/Ns ↑).

Se voglio f ↓ (risoluzione in frequenza spinta) devo prendere tanti campioni Ns e dunque T ↑ cioè posso
spezzare il segnale in poche finestre (→ risoluzione nel tempo peggiore).

f
f FFT 1 FFT 3 ...
FFT 2
|X|

T T T ... t
STFT

La STFT è una trasformazione in cui si effettua una correlazione tra il segnale x(t) e la famiglia di sinusoidi exp(-
j2πft), come avviene nella trasformata di Fourier tradizionale mediante una sliding window w(t-τ) che taglia il
segnali in spezzoni consecutivi. La trasformazione sarà bidimensionale perché sarà funzione del tempo con cui si
trasla il segnale (τ) e della frequenza delle famiglie di sinusoidi

segnale

Finestra sliding Famiglia di


sinusoidi

La finestra che taglia il segnale nell’intervallo di tempo [t – τ , t + τ] puo’ essere rettangolare (es. precedente)
ma più spesso si usano finestre Hanning o simili.
STFT

Finestra rettangolare
x(t)
T T T ...

FFT 1 FFT 2 FFT 3 ...


Finestra di Hanning
x(t)
T T T ...

v T

FFT 1 FFT 2 FFT 3 ...


STFT

La STFT verrà applicata ai due segnali visti precedentemente. Il grafico bidimensionale viene chiamato spettrogramma: spesso
è un grafico in cui si ha il tempo sulle ascisse e la frequenza sulle ordinate. La scala di colori rappresenta l’ampiezza della
trasformata del segnale.
Per il segnale stazionario

x(t)=sin(2π30t)+0.7sin(2π 60t);

Lo spettrogramma presenta due linee orizzontali ovvero le frequenze di 30 e 70 Hz che rimangono


costanti per tutta la durata del segnale.
STFT

Per il segnale non stazionario x(t)=sin(2π30t) t=[0,1]


x(t)=0.7sin(2π60t) t=[1,2]

Lo spettrogramma presenta una linea orizzontale alla frequenza di 30 Hz tra 0 e 1 secondo e una
linea a 70 Hz tra 1 e 2 secondi, pertanto ricostruisce correttamente il segnale originario.
STFT Overlap

L’OVERLAP è un metodo che usa una % del blocco dei dati precedenti per calcolare l’FFT del blocco dei dati
corrente. Se usato con finestrature, massimizzza l’uso di tutto il blocco dei dati. Se non si usa l’OVERLAP la
parte di segnale vicina ai bordi della finestra è molto attenuato (perdita di informazioni in questa regione).

x(t)
T T T ...

v T

FFT 1 FFT 2 FFT 3 ...


STFT Overlap

In Matlab l’overlap è dato in termini di numero di campioni → se il numero di campioni per ogni spezzone di
segnale è nfft=2048 per avere overlap del 50% devo settare come numero di campioni di overlap:
noverlap=1024.
x(t)
T T T ...

v v T

FFT 1 FFT 2 FFT 3 ...


STFT

SVANTAGGI

1. la selezione della finestra ottimale che riesca a separare caratteristiche diverse può essere difficile (il segnale
potrebbe contenere frequenze diverse che si succedono a intervalli di tempo molto brevi → se si vogliono separare si
devono usare segmenti brevi e dunque scarsa risoluzione in frequenza)

2. la stretta dipendenza tra risoluzione temporale e quella in frequenza (inversamente proporzionali) limita le
applicazioni. Per avere buona risoluzione temporale occorre spezzare il segnale in segmenti molto brevi e pertanto si
potrebbe perdere l’informazione alle basse frequenze che non possono essere rappresentate in tempi brevi.

PRINCIPIO DI INCERTEZZA cerca di limitare il problema risoluzione temporale (T)-risoluzione spettrale (B). Ovvero il
prodotto della risoluzione temporale (cioè della durata di ogni spezzone di segnale, T) e della risoluzione in frequenza (B)
deve essere maggiore di un valore minimo:
1
BT 
4
Esempio

Sia dato un segnale sinusoidale a frequenza variabile nel tempo di acquisizione in


maniera lineare da 10 a 200 Hz. Questo tipo di segnale già visto nelle lezioni precedenti è
chiamato CHIRP. In Matlab può essere costruito in tal modo:
N = 16384; // Numero di campioni
fs = 8192; // Frequenza di campionamento
f1 = 10; // Frequenza iniziale del segnale chirp
f2 = 200; // Frequenza finale del segnale chirp
tc = (1:N)/fs; // Vettore tempo
fc = ((1:N)*((f2-f1)/N)) + f1; // Frequenza variabile linearmente del segnale chirp
x = sin(pi*tc.*fc); // Segnale chirp

In Matlab la funzione chirp è implementata e può essere usata in tal modo:

x=chirp(tc,f1,max(tc),f2);

dove tc è il vettore tempo, f1 è la frequenza iniziale del segnale, f2 è la frequenza che il


segnale assume al tempo finale che in questo caso è alla fine dell’acquisizione cioè
max(tc).
Esempio

Sia dato poi lo stesso segnale sinusoidale a frequenza variabile nel tempo di acquisizione
in maniera lineare, ma con frequenza decrescente, cioè la frequenza iniziale vale 200 Hz
e quella finale 10 Hz. In questo caso si avrà
f1 = 200; // Frequenza iniziale del segnale chirp
f2 = 10; // Frequenza finale del segnale chirp
x=chirp(tc,f1,max(tc),f2); // Segnale chirp

dove tc è il vettore tempo, f1 è la frequenza iniziale del segnale, f2 è la frequenza che il


segnale assume al tempo finale che in questo caso è alla fine dell’acquisizione cioè
max(tc).
Chirp lineare a frequenza decrescente
x(t)
1

0.5

-0.5

-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 t
Chirp lineare a frequenza crescente
x(t)
1

0.5

-0.5

-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 t
Esempio

Effettuando la trasformata di Fourier dei due segnali mediante la funzione fft di Matlab
si ottengono due segnali nel dominio della frequenza identici perché la FFT non mantiene
l’informazione di variabilità nel tempo, si vedano le figure seguenti.
FFT dei segnali

Chirp lineare a frequenza crescente


1 0.08
x(t) |X(f)| 0.07

0.5 0.06

0.05

0 0.04

0.03

-0.5 0.02

0.01

-1 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
t 0 50 100 150 200 250 300 350 400 450 500
f
Chirp lineare a frequenza decrescente
x(t) 1 |X(f)| 0.08

0.07

0.5 0.06

0.05

0 0.04

0.03

-0.5 0.02

0.01

-1 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
t 0 50 100 150 200 250 300 350 400 450 500
f
Esempio

Effettuando invece lo spettrogramma, mediante la funzione spectrogram si ottengono


due spettrogrammi diversi. Quello del chirp a freqeunza crescente è una retta a pendenza
poisitiva. Quello a frequenza decrescente è una retta a pendenza negativa.
La sintassi di applicazione della funzione spectrogram è la seguente:
[S,f,t] = spectrogram(x,window,noverlap, F,fs);

// dove gli input sono


// x=segnale
// window=finestra con cui si taglia il segnale che per default è di tipo Hanning
// noverlap=numero di campioni di sovrapposizione
// F vettore frequenza che viene calcolato automaticamente dall’algoritmo se non viene specificato, cioè se si inserisce
// il vettore vuoto []
// fs=freqeunza di campionamento

Nel nostro caso usiamo, per esempio


nfft = 2048; // numero di campioni in cui si calcola la finestra per tagliare il segnale, cioè numero di
// campioni di ogni spezzone
noverlap=1536; // overlap al 75% → noverlap=nfft*0.75
[S,f,t] = spectrogram(x,hanning(nfft),noverlap, [],fs);
S=abs(S) ; // si calcola il modulo dello spettro
Spettrogrammi dei segnali

Chirp lineare a frequenza crescente


Spettrogrammi dei segnali

Chirp lineare a frequenza decrescente


Esempio

Sia dato il segnale sinusoidale a frequenza variabile nel tempo di acquisizione in maniera
lineare da 10 a 200 Hz, identico a quello precedente.
N = 16384; // Numero di campioni
fs = 8192; // Frequenza di campionamento
f1 = 10; // Frequenza iniziale del segnale chirp
f2 = 200; // Frequenza finale del segnale chirp
tc = (1:N)/fs; // Vettore tempo
fc = ((1:N)*((f2-f1)/N)) + f1; // Frequenza variabile linearmente del segnale chirp
x = sin(pi*tc.*fc); // Segnale chirp

x(t) Chirp lineare a frequenza crescente


1

0.5

-0.5

-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 t
Esempio

Usando i seguenti parametri:


nfft = 2048; // numero di campioni in cui si calcola la finestra per tagliare il segnale, se si usa un numero
// elevato di campioni si avrà una buona risoluzione in frequenza
noverlap=1024; // overlap al 50% → noverlap=nfft*0.5
[S,f,t] = spectrogram(x,hanning(nfft),noverlap, [],fs);
S=abs(S) ; // si calcola il modulo dello spettro

Bassa risoluzione nel tempo data da noverlap/fs=0.125s


Esempio

Usando i seguenti parametri:


nfft = 512; // numero di campioni in cui si calcola la finestra per tagliare il segnale, se si usa un numero
// limitato di campioni si avrà una risoluzione in frequenza più scarsa ma la risoluzione nel
// tempo migliora
noverlap=256; // overlap al 50% → noverlap=nfft*0.5
[S,f,t] = spectrogram(x,hanning(nfft),noverlap, [],fs);
S=abs(S) ; // si calcola il modulo dello spettro

Bassa risoluzione in
frequenza data da
fs/nfft=16Hz
Cepstrum
Il Cepstrum

Il Cepstrum è uno strumento dell’analisi del segnale molto utilizzata nella diagnostica delle macchine e soprattutto delle
macchine rotanti perché è molto potente per la rilevazione di:

- componenti periodiche nello spettro, ovvero armoniche della frequenza fondamentale che si originano in presenza di
organi palettati, ingranaggi e cuscinetti quando è presente una difettosità. Rilevare le armoniche pertanto permette di
rilevare e riconoscere il tipo di difetto.
- bande laterali incentrate intorno a una frequenza portante che si originano in presenza di modulazioni causate dalla
presenza di difetti in elementi di macchine come organi palettati, ingranaggi e cuscinetti.
- echi o riflessioni e per questo il cepstrum è molto usato anche in acustica per eliminare effetti sgraditi dovuti alle
riflessioni del segnale in ambienti riverberanti.
Il Cepstrum

In origine è stato definito come lo spettro di potenza del logaritmo dello spettro di potenza del segnale. Pertanto è stato
chiamato

cepStrum → ribaltando le lettere di cepS si ottiene Spec → Spectrum

Per questo motivo il dominio del cepstrum, che operando due volte lo spettro, dovrebbe ritornare nel tempo, si chiama
dominio della quefrenza.
Le armoniche si chiamano ramoniche.
Il processo di filtraggio o filtering si chiama liftering. E così via.
Il Cepstrum di potenza xp

Il cepstrum di potenza è la trasformata di Fourier inversa del logaritmo naturale dell’ampiezza


della trasformata di Fourier del segnale originale.

con in rad/s.
L’integrale non è altro che una trasformata di Fourier inversa, pertanto con il cepstrum si ritorna
nel dominio del tempo, anche se viene chiamato dominio della quefrenza.
Poiché si fa l’antitrasformata dell’ampiezza dell’FFT del segnale elevata al quadrato, , si
perde l’informazione sulla fase.
Il processo seguito nel cepstrum può essere così schematizzato:

Il fatto che il cepstrum abbia il logaritmo permette di evidenziare le componenti deboli dello spettro, per esempio le armoniche in alta frequenza.

Dal cepstrum reale, effettuando il processo inverso, non è possibile ricostruire il segnale originale poiché nell’operazione si è persa l’informazione
della fase, avendo utilizzato solo l’ampiezza della FFT del segnale originale.
Il Cepstrum complesso

Il cepstrum complesso è la trasformata di Fourier inversa del logaritmo naturale della trasformata
di Fourier del segnale originale, in forma complessa.

con in rad/s.
è una quantità complessa costituita da modulo e fase. Il fatto che si utilizzi la forma
complessa della FFT rende il cepstrum complesso più generale rispetto a quello reale e permette
di ricostruire il segnale originale partendo dal cepstrum complesso.
Il processo seguito nel cepstrum può essere così schematizzato:

Questo processo è invertibile per ricostruire il segnale originale:


Il Cepstrum complesso

Esprimendo la trasformata di Fourier del segnale x(t) in termini di ampiezza A e fase φ:

da cui

e quindi

Nel cepstrum di potenza si aveva :

analoga all’espressione del cepstrum di potenza con fase nulla.


Esempio: annullamento di echi con cepstrum di potenza

Si consideri un segnale composto da una breve forma d’onda e da un’eco ad un


istante di tempo t0, :

Considerando una sorgente sonora impulsiva che genera l’onda , un ascoltatore riceve
l’onda diretta e l’onda riflessa da una parete e pertanto ritardata di t0 perché
deve compiere un percorso più lungo e attenuata di a.

Gli obiettivi pratici che richiedono l’utilizzo del cepstrum possono essere tre: 1. stimare il tempo di
arrivo dell’eco, 2. determinare la forma dell’onda diretta (s), 3. stabilire le caratteristiche di
trasferimento dei percorsi di trasmissione.
Esempio: annullamento di echi

La trasformata di Fourier di è 𝑆(𝜔)𝑒 −𝑗𝜔𝑡.0

La trasformata di Fourier di è:

Da cui:

Poiché
Esempio: annullamento di echi

Si ottiene

Passando al logaritmo:

Si nota che l’informazione sull’onda originale e quella sull’eco sono separabili, in quanto in questa
forma sono sommate linearmente, per effetto del logaritmo.
Sapendo che lo sviluppo in serie del logaritmo è dato da:

con

e supponendo che a (l’attenuazione) sia sufficientemente piccolo da poter considerare trascurabili


le potenze di a con esponente maggiore di 1, si ottiene:
Esempio: annullamento di echi

Nel logaritmo dello spettro del segnale compaiono pertanto due componenti:
- lo spettro logaritmico dell’onda originale
- Una sinusoide con periodo t0 nel dominio della frequenza

Sinusoide nel dominio della frequenza alla frequenza t0


sovrapposta allo spettro del segnale originale
Esempio: annullamento di echi

Nel cepstrum comparirà un picco alla quefrenza t0 sovrapposto al segnale originale s(t). Il picco è
localizzato proprio a 0.5 s che è l’istante in cui si ha l’eco.
Esempio: annullamento di echi

Per annullare l’eco può essere utile effettuare un filtraggio (liftering) nel dominio della quefrenza,
dove il picco relativo all’eco è ben separato dal resto del segnale. Si parla allora di long-pass lifter
nel caso in cui si fanno passare le alte quefrenze (analogo al filtro passa alto) o di short-pass lifter
nel caso in cui si fanno passare le basse quefrenze (analogo del filtro passa basso). Si hanno
anche comb lifter (filtri a pettine, detti anche notch) che alternano filtri passa-banda a filtri stop-
band.

Rispetto all’autocorrelazione, nel cepstrum il logaritmo permette evidenziare componenti di debole


ampiezza. Pertanto il cepstrum è utile per riconoscere strutture periodiche in uno spettro. Per
esempio la modulazione di ampiezza o di frequenza può generare delle bande laterali molto vicine
alla frequenza portante e quindi difficilmente distinguibili se non si usa una risoluzione in
frequenza molto spinta. Se invece si applica il cepstrum, linee spettrali molto ravvicinate si
trasformano in quefrenze molto separate, essendo la risoluzione in quefrenza inversa alla
risoluzione in frequenza.
Esempio: annullamento di echi con cepstrum complesso

Riprendendo il segnale composto da una breve forma d’onda e da un’eco ad un


istante di tempo t0, :

la sua trasformata di Fourier sarà:

Passando al logaritmo si ha:

Ricordando lo sviluppo in serie del logaritmo:

Il sarà composto dal logaritmo dello spettro complesso del segnale originale più una
serie di sinusoidi a frequenza multipla, t0, 2t0, 3t0, ….
Esempio: annullamento di echi

Nel cepstrum complesso pertanto si avranno una serie di picchi alle quefrenze , t0, 2t0, 3t0, ….
Il segnale originale si può ricostruire rimuovendo l’eco dal suo cepstrum mediante liftering che
elimina tutta la serie di picchi in frequenza e poi effettuando il cepstrum inverso.

Segnale originale con 2 echi che si sovrappongono

Gli echi sono dei picchi evidenti nel cepstrum complesso

Cepstrum filtrato (picchi rimossi)

Segnale originale privo di echi, ricostruito


Momenti statistici
Momenti statistici

Data una storia temporale di un segnale casuale acquisita in maniera digitale essa sarà costituita da una
serie di N campioni, che può essere considerata come una distribuzione di cui si possono calcolare i
momenti statistici intorno all’origine e intorno alla media (momenti centrali).
Per un insieme N di numeri reali {xi}, l’n-simo momento intorno all’origine è dato da:

1 N n
vn =   xi
N i =1

Il momento di ordine I intorno all’origine è la media:

1 N
v1 = x =   xi
N i =1
Momento di ordine n intorno alla media

Si ottiene togliendo la media alla distribuzione:

( )
n
1 N
 n =   xi − x
N i =1

Il momento centrale di ordine 2 è la varianza e la sua radice quadrata la deviazione standard σ:

( )
2
1 N
 2 =  =   xi − x
2

N i =1
Per segnali aventi valor medio nullo la varianza è uguale al valor medio dei quadrati e la deviazione
standard è il valore RMS.
Momenti centrali normalizzati

Per poter effettuare validi confronti fra differenti insiemi di valori è più conveniente se i
momenti statistici di ordine superiore sono normalizzati mediante la potenza corrispondente
al loro ordine della deviazione standard:

( )
N n
1
n  i
n =  x −x
N i =1
Momento centrale di ordine 3 normalizzato - SKEWNESS

E’ detto anche FATTORE DI SIMMETRIA perché misura l’asimmetria della distribuzione rispetto al suo
valor medio:

( )
N 3
1
3  i
3 =  x −x
N i =1
Se l’insieme di campioni ha una distribuzione gaussiana la skewness è zero perché i valori, specialmente
quelli più lontani dal valor medio sono ugualmente distribuiti sui due lati.
Momento centrale di ordine 3 normalizzato - SKEWNESS
Momento centrale di ordine 4 normalizzato - KURTOSIS

E’ detto anche FATTORE DI APPIATTIMENTO o DI IMPULSIVITA’ perché misura


l’appiattimento della distribuzione:

( )
N 4
1
4  i
4 =  x −x
N i =1

Se la maggior parte dei campioni hanno valori vicini alla media la curva di distribuzione
mostra un picco elevato intorno alla media e cade a zero rapidamente tutto intorno da
entrambi i lati. In questo caso il kurtosis ha un valore basso e la curva è detta leptokurtica.
Se, invece, il valore di kurtosis è elevato, la curva è allargata ed è detta platokurtica.
Momento centrale di ordine 4 normalizzato - KURTOSIS

k↑↑
k ↓↓
Momento centrale di ordine 4 normalizzato - KURTOSIS

Una distribuzione gaussiana ha un valore di kurtosis pari a 3.


Per le altre curve si hanno i seguenti valori:

Segnale kurtosis
Sinusoide 1.5
Onda quadra 1
Onda triangolare 1.75
Casuale 3
Urto >3
Segnale impulsivo

Dato un segnale che presenta degli impulsi dovuti per esempio alla vibrazione indotta dal passaggio di
un difetto, il valore di kurtosis è 26.88. Il fattore di cresta è un altro indicatore di impulsività e vale
6.55.
Segnale gaussiano – rumore bianco

Dato un segnale che presenta una distribuzione gaussiana, il valore di kurtosis è 2.98. Il suo fattore di
cresta è 4.30 e non differisce molto dal fattore di cresta del segnale impulsivo → il kurtosis è un
parametro più discriminante.
Distribuzioni

La distribuzione dei due segnali sono le seguenti: la campana relativa al segnale


impulsivo è molto appiattita, avendo valori di kurtosis molto alti, ed è una platokurtica. La
distribuzione del rumore bianco è una distribuzione gaussiana ed ha campana più stretta
di quella relativa al segnale impulsivo (tutti i valori sono distribuiti uniformemente intorno
al valor medio) ed è una leptokurtica.

Potrebbero piacerti anche