• Non ci sono risultati.

3.2 L’algoritmo MMSE- STSA

N/A
N/A
Protected

Academic year: 2021

Condividi "3.2 L’algoritmo MMSE- STSA "

Copied!
21
0
0

Testo completo

(1)

3 La tecnica MMSE-STSA

Negli ultimi decenni, la ricerca inerente la soppressione e il riconoscimento vocale ha focalizzato maggiormente la propria attenzione nei confronti della cancellazione dei rumori di fondo additivi. Dal punto di vista dell’operazione di signal processing, il rumore additivo è più facile da trattare rispetto a quello che presenta caratteristiche convolutive o, in generale, non lineari.

Ad ogni modo, a causa della natura “bursty” del parlato (la sua presenza nel canale audio infatti non può essere considerata continua), è possibile osservare le caratteristiche del rumore stesso durante pause e silenzi, aspetto molto importante da considerare in una trattazione che preveda l’impiego di concetti legati alla statistica.

Un processo legato al riconoscimento vocale, invece, necessiterebbe di particolari processi di stima applicati al segnale, dato che il rumore non presenta caratteristiche di stazionarietà e l’orecchio umano, il “giudice finale”, non basa la propria sensazione uditiva secondo semplici criteri di errore matematici: in queste particolari situazioni di studio, allora, sono richieste misure soggettive di intellegibilità e qualità.

Il fine ultimo, comunque, di entrambi gli approcci è quello di trovare una stima ottima del segnale vocale puro s*(t), una volta che al sistema sia stata fornita una misura rumorosa y(t) = s(t) + n(t).

3.1 Stime di ampiezza spettrale

L’importanza relativa rappresentata in questi processi dalla fase del segnale utile ha dato il via allo sviluppo di un’ampia famiglia di metodologie

(2)

e algoritmi basati unicamente sulla stima di ampiezza spettrale. Si tratta, in questi casi,quindi, di implementare una serie di stimatori che lavorano sullo spettro di frequenza del segnale, in cui una stima del segnale vocale puro viene ricombinata con la fase rumorosa prima di un processo di sintesi finale, basato su procedure standard di Overlap - Add.

3.1.1 La sottrazione spettrale

appresenta la più semplice tra le varianti di studio poco fa accennate:

essa

rdiamo, per semplicità e brevità di trattazione, come, nel caso di rum

s (t)

R

sfrutta semplicemente le proprietà che presentano gli spettri di ampiezza in potenza di segnali additivi e statisticamente indipendenti e afferma la veridicità delle stesse per stime temporali di breve periodo di durata.

Rico

ore stazionario, sia sufficiente sottrarre il termine dato dal valore medio

Ampiezza del segnale rumoroso Analisi Freq.

Figura 3.1 Schema a blocchi di processo di analisi di segnale vocale tramite stima di spettro.

Ampiezza stimata del segnale “ripulito” dal rumore Fase del

segnale rumoroso

Stima v. m. di rumore

Stima di Ampiezza

Sintesi Freq.

Analisi Statistiche sui contributi di Rumore e di Segnale s* (t)

(3)

statistico per ottenere una stima di tipo “Least Mean Squares” dello spettro di potenza:

| S*(f) |2 = | Y(f) |2 – E[ | N(f) |2 ] ≈ | Y(f) |2 - | N(f) |2

S*(f) = | S*(f) | · arg ( Y(f) )

Il più grande pregio della tecnica di sottrazione spettrale risiede quindi nella sua semplicità e nel fatto che tutto ciò che si richiede alla sua applicabilità è una stima di valor medio, senza necessità di particolari assunzioni sul segnale.

Allo stesso tempo, però, quanto detto rappresenta anche la principale debolezza del metodo appena citato, e le motivazioni, così come le possibili soluzioni, sono state ampiamente illustrate nel Capitolo 2, quando si è introdotto il fenomeno del rumore musicale.

3.1.2 Stimatori a minimo valor medio [8]

La tecnica di sottrazione spettrale rappresenta una stima a minimo valor medio alla cui base sono presenti poche o in taluni casi nessuna assunzione riguardo le distribuzioni a priori dei coefficienti di spettro del segnale e del rumore. Questo è il principale motivo dell’introduzione, in tale tecnica, di operazioni ad hoc quali quella di “clipping”.

Il fatto di poter operare sull’ampiezza spettrale del segnale suddivisa in più frames comporta diverse migliorie e principalmente due grossi vantaggi alla tecnica di stima che ne consegue:

(4)

• La possibilità di modellare secondo il loro andamento reale la distribuzione statistica dei coefficienti spettrali di rumore e segnale.

• La possibilità di rendere minimo l’errore di stima in un dominio sensibilmente più rilevante rispetto al dominio delle potenze spettrali (come, ad esempio, può essere il dominio dello spettro di ampiezza).

Questi stimatori MMSE sono stati sviluppati in differenti maniere e sotto varie ipotesi (come nel caso di campioni distribuiti secondo una funzione di distribuzione gaussiana o anche di distribuzione logaritmica normalizzata delle ampiezze).

Se da un lato, però, si ha la tendenza ad avere risultati che permettono notevoli migliorie dal punto di vista qualitativo, come contro-altare essi tendono ad essere complessi dal punto di vista computazionale.

Una prima generazione di stimatori MMSE fu pensata come utilizzante una singola funzione di distribuzione allo scopo di fornire un modello del parlato ed un’altra che, analogamente, si occupava di tutto il rumore presente nel sistema.

Ad ogni modo, risulta possibile l’ottenimento di significativi miglioramenti se le stesse funzioni tengono conto della caratteristica di non stazionarietà del parlato (e del contributo stesso del rumore). L’uso di modelli “locali” per un certo segnale vocale dato implica, all’interno dell’algoritmo, la presenza di termini di varianza più piccoli da esaminare e stime ristrette ad intervalli più brevi (portando quindi ad un più corretto modeling del sistema).

Il problema di stima secondo la tecnica STSA (Short Time Spectral Amplitude, cioè ad ampiezza di spettro all’interno di brevi periodi

(5)

temporali) consiste quindi nella valutazione del modulo relativo ad ogni coefficiente di Fourier dell’espansione complessa del segnale vocale in un dato frame.

Se consideriamo, inoltre, che tali coefficienti rappresentano i campioni della trasformata di Fourier del segnale in analisi, dalla stretta relazione che intercorre tra l’espansione in serie di Fourier e la sua trasformata discreta corrispondente, ecco allora che lo studio può essere riportato sotto forma di una trattazione più semplice. Quest’ultima relazione di “parentela” infatti permette un’efficiente implementazione mediante utilizzo di un algoritmo di tipo FFT (Fast Fourier Transform).

Allo scopo di derivare uno stimatore MMSE – STSA, dovrebbero essere note, per completezza d’informazione, le funzioni di distribuzione a priori dei coefficienti dell’espansione di Fourier del segnale vocale e del rumore presenti nel canale audio.

Poichè nella pratica essi risulteranno di difficile interpretazione, si può pensare di misurare ogni distribuzione di probabilità oppure, in alternativa, assumere un modello statistico ragionevole.

Per quanto riguarda il problema in esame, ricordiamo che c’è inoltre da tener presente il fatto che sia la voce che il rumore aggiuntivo rappresentano processi statistici non-stazionari, nè tanto meno sono ergodici. Come visto, ciò esclude a priori la conveniente possibilità di ricavare le distribuzioni sopra citate dopo una disamina del comportamento di ogni processo per lunghi intervalli di tempo: di conseguenza, una delle modalità di studio più agevoli potrebbe essere data da un’esame delle funzioni relative a campioni indipendenti appartenenti, nel loro insieme, a ciascun processo (ad esempio, lo studio dei vari contributi a ciascun campione di segnale dati da un array di microfoni).

(6)

Siccome le distribuzioni di probabilità con cui avremmo a che fare in questi casi saranno tempo varianti (causa processi non stazionari) la loro misura e caratterizzazione attraverso la strada appena descritta risulta abbastanza complicata e l’intera procedura alquanto impraticabile.

Per le ragioni appena illustrate, si preferisce seguire la strada della ricerca di un modello statistico.

3.1.3 Il modello statistico [8]

Le assunzioni fatte, al solo scopo di rendere più semplice il modello, senza peraltro perdita di validità generale, sono le seguenti:

• I coefficienti dell’espansione di Fourier di ogni processo possono essere modellate come variabili gaussiane casuali statisticamente indipendenti tra loro.

• Il valor medio di ogni coefficiente è considerato pari a zero (processi a media nulla).

• La varianza relativa ad ogni coefficiente è considerata tempo- dipendente ( σ = σ(t) ), causa non stazionarietà del “parlato”.

La prima ipotesi, e cioè l’indipendenza statistica nel modello gaussiano, porta alla considerazione equivalente che i coefficienti di Fourier sono statisticamente incorrelati, e quindi ad una notevole semplificazione dei calcoli.

Nel nostro problema, inoltre, ciascun frame di analisi non può essere campionato in un periodo T troppo ampio a causa della non stazionarietà del

(7)

segnale vocale : un valore tipico adottato consiste nello scegliere T in un range tra i 20 ed i 40 millisecondi.

In pratica, è possibile pensare di adottare una finestra di campionamento appropriata (ad esempio un finestra di Hamming, con andamento simile ad una sinusoide al quadrato) ed applicarla al segnale: questo procedimento permette di ridurre la correlazione tra le componenti spettrali molto distanti tra loro, a spese comunque di un aumento di percentuale di correlazione tra componenti adiacenti

Il modello appena descritto, inoltre, ancora non tiene conto del fatto che il

“parlato” possa essere completamente assente all’interno del campione rumoroso in analisi.

Un approccio molto più utile sarebbe allora poter realizzare uno stimatore che permetta di considerare l’incertezza relativa alla presenza del segnale di interesse.

Un ragionamento di questo tipo può essere inserito nella definizione del modello, in modo da tener conto della presenza del “parlato”: a tal fine risulta utile introdurre una funzione probabilità di presenza/assenza di parlato p ( con p<1 ); tale parametro ci fornisce un utile parametro di libertà in più che allo stesso tempo permette l’adozione di un compromesso tra la quantità effettiva di rumore soppresso e gli effetti di distorsione introdotti sul segnale utile.

Terminata l’introduzione riguardante i parametri necessari alla costruzione di un modello atto a favorire l’implementazione della tecnica di soppressione, passiamo alla descrizione della metodologia nei suoi punti essenziali, che il paragrafo che segue si occupa di descrivere.

(8)

3.2 L’algoritmo MMSE- STSA

3.2.1 Caratteristiche principali [8]

Come già ampiamente affermato, questa tecnica di sottrazione spettrale (attuata, quindi, nel dominio delle frequenze) è basata su una stima statistica di minimo: per la precisione, per quando concerne le grandezze sotto analisi, lo stimatore prende in esame il minimo valor quadratico medio.

L’algoritmo di soppressione permette buona qualità vocale risultante, e per ampi range di SNR. Essa fa ampio utilizzo dei criteri di stima, con qualche differenza riguardo alle sue applicazioni sui segnali presenti all’interno dell’algoritmo stesso: la stima del rapporto segnale/rumore non è basata su processi stocastici, mentre la stima pesata del rumore segue i cambiamenti delle caratteristiche dello stesso, sia nei periodi di “parlato” che in assenza di esso. In conseguenza di ciò, viene effettuata anche una modifica del guadagno spettrale.

L’utilizzo di una tale metodologia contempla anche la possibilità di una sua più ampia applicazione: può essere estesa ed esser resa più complessa, allo scopo di ottenere ulteriori migliorie sulla qualità del segnale “ripulito”, utilizzando tecniche di aggiunta di pseudo-rumore e finestre di sintesi [2]. Il metodo proposto, se paragonato agli algoritmi convenzionali di soppressione, mostra la sua superiorità in termini di accuratezza nella stima del rumore e di qualità del segnale vocale in uscita al sistema. Ciò risulta ancora più evidente in condizioni di basso SNR.

(9)

3.2.2 Complessità dell’algoritmo [9]

L’algoritmo risulta in generale abbastanza complesso, dato che si richiedono operazioni sia per il processo di stima del rumore che per, eventualmente, la modifica del guadagno spettrale.

La stima pesata del rumore consiste di 3 passi: sono necessari una stima del rapporto segnale/runore, il calcolo del fattore di peso e un’operazione di media.

Il guadagno spettrale può essere modificato in due differenti modi: con un’operazione di scaling condizionale e attraverso un fattore di limitazione.

Lo scaling condizionale sopprime ulteriormente il rumore residuo da alti SNR, la limitazione è di ausilio per l’eliminazione di oversuppression indesiderata.

Volendo fare una “cruda” valutazione della complessità computazionale dell’implementazione, anche in previsione di una sua implementazione futura su piattaforma DSP, può esser messo in evidenza che, per ogni coefficiente spettrale discreto di frequenza preso in analisi, necessitiamo del seguente numero di operazioni:

1 MUL + 2 ADD + 2 DIV + 2 CMP + (L+1) STR (per la stima del rumore)

1 MUL + 2 CMP (per il processo di modifica del guadagno)

in cui i termini indicati stanno rispettivamente ad indicare:

MUL = operazione di moltiplicazione ADD = operazione di addizione DIV = operazione di divisione CMP = operazione di comparazione

(10)

STR = operazione di storage (immagazzinamento dei risultati in un registro)

Il numero totale delle operazioni necessarie si otterrà moltiplicando il tutto per M, numero di campioni del segnale considerato.

3.2.3 Analisi della tecnica convenzionale [8] [9]

L’algoritmo che proponiamo permette l’ottenimento di una alta qualità del segnale audio, per ampi range di SNR e basato su una stima pesata del rumore, integrata alla tecnica MMSE STSA.

In sostanza, ripetiamo, si tratta di modellare le componenti spettrali, sia di rumore che di segnale utile, come variabili gaussiane statisticamente indipendenti.

Partendo dalla considerazione che uno stimatore di tipo STSA (Short Time Spectral Amplitude) è uno stimatore ottimo che opera su termini di ampiezza spettrale, la formulazione e la successiva risoluzione del problema risiederà nella stima del modulo relativo a ciascun coefficiente complesso dell’espansione in serie di Fourier del segnale, all’interno dello specifico frame sotto analisi, tra quelli in cui è stato suddiviso il segnale di partenza.

Questa formulazione è motivata dal fatto che i coefficienti dell’espansione in serie di Fourier di un segnale segmentato sono rappresentati dai campioni della sua trasformata e dalla stretta relazione tra l’espansione in serie di Fourier stessa e la trasformata discreta di Fourier.

Quest’ultima relazione ci permette un’efficiente implementazione dell’algoritmo risultante per mezzo della trasformata FFT (Fast Fourier Transform).

(11)

Nella sua ricostruzione, in un secondo momento, il segnale elaborato verrà poi ricombinato con il termine esponenziale complesso relativo alla fase del segnale rumoroso: questo ultimo passo risulta di lecita applicazione, in quanto il termine di fase non condiziona il risultato del nostro processo di stima.

Allo scopo di ricavare uno stimatore MMSE STSA è necessaria innanzitutto la conoscenza della funzione di distribuzione di probabilità a priori dei coefficienti della serie, relativi sia al “parlato” che al termine di rumore. Poichè, nella pratica, questi termini risultano di difficile determinazione, si può pensare di misurare la distribuzione di probabilità di ciascuno, o, in alternativa, assumere un modello statistico ragionevole.

La realizzazione consiste e si basa sulla possibilità di aggiornare in modo continuo il termine di stima del rumore per mezzo del segnale originario, dotando quest’ultimo di opportuni fattori di peso in accordo con un valore di SNR stimato. Una migliore stima di rumore permette l’ottenimento di valori del SNR più precisi, che influiranno positivamente sui valori di guadagno spettrale, e che porteranno, come risultato finale, sia sufficiente soppressione sui disturbi che buona qualità audio sul segnale desiderato.

Cerchiamo di addentrarci, ora, in un’analisi approfondita della soluzione proposta, rivisitando la tecnica con analisi attenta dei suoi punti di forza ma anche dei suoi aspetti negativi, che osservazioni accurate permettono di superare.

L’algoritmo MMSE STSA, nella sua struttura, consiste di 6 funzioni:

• Analisi di Fourier del segnale, partizionato in brevi segmenti temporali.

(12)

• Stima del rumore.

• Stima a priori di SNR.

• Stima a posteriori di SNR.

• Calcolo del guadagno spettrale.

• Processo di sintesi e ricostruzione del segnale nel dominio del tempo.

Lo schema a blocchi riportato (Figura 3.2) mostra i processi necessari all’implementazione di tale tecnica:

Descriviamo, ora, in maniera sintetica, le funzioni implementate di vari blocchi del sistema.

La “Short Time Fourier Analysis” computa la trasformata discreta di Fourier del segnale, costituita da un termine di ampiezza e da uno di fase.

Short Time Fourier Analysis

Stima di rumore

Stima di SNR a posteriori

Stima di SNR a priori

Funzione di Guadagno spettrale

| Xn (k)|

Short Time Synthesis x(t)

Gn (k) /__ Xn (k)

λn(k)

y(t)

Figura 3.2 . Schema a blocchi che realizza l’algoritmo MMSE STSA

γn(k) ξn(k)

| Yn (k)|

(13)

L’ampiezza, moltiplicata per un opportuno fattore di guadagno, ci permetterà di ottenere in uscita l’ampiezza del segnale desiderato.

Il termine di guadagno spettrale è calcolato in conseguenza delle stime a priori e a posteriori del rapporto segnale/rumore. Queste due grandezze derivano da calcoli relativi alla stima sullo spettro di potenza del rumore, con quest’ultima calcolata dallo spettro di ampiezza del segnale originario durante periodi in cui il parlato è assente.

Il processo di sintesi, infine, genera in uscita il prodotto tra la trasformata inversa di Fourier dell’ampiezza del segnale dopo l’operazione denoising e la fase del segnale rumoroso originario. Al termine del processo di Overlap - Add, consistente nella giunzione dei segmenti temporali del segnale opportunamente elaborati, si ottiene il segnale vocale “ripulito” nel dominio del tempo.

Illustriamo ora gli steps necessari all’algoritmo, partendo dall’assunzione che il segnale audio s(t) sia corrotto dal termine n(t) di rumore.

Il segnale in ingresso al sistema di soppressione è allora:

x(t) = s(t) + n(t)

x(t), durante il processo di analisi, viene segmentato in frames di M campioni; a tale scopo viene applicata una finestra di analisi h(t) di grandezza 2M con un 50% di overlap (sovrapposizione) al segnale xn(t), risultante da una precedente segmentazione di x(t) in un numero n di frames, in modo da avere 2M campioni come segue:

n(t) = h(t) · xn-1(t) se 1≤ t ≤ M;

(14)

n(t) = h(t) · xn(t - M) se M < t ≤ 2M;

Utilizziamo la notazione Xn(t) per la trasformata discreta di Fourier di n(t), dove n e k stanno ad indicare rispettivamente il frame sotto analisi e l’indice dei coefficienti di frequenza.

Il processo di soppressione è applicato solo al termine di ampiezza

|Xn(k)|: ciò va esteso ad ogni coefficiente spettrale discreto, con termine di fase lasciato inalterato (quest’ultimo, infatti, non è rilevante per la qualità e l’intellegibilità del segnale, non presentando alcun contributo informativo).

Le quantità SNR a priori ξn(k) e SNR a posteriori γn(k) sono dati dalle seguenti formule:

γn(k) = |Xn(k)|2 / E{|Nn(k)|2 } (SNR a posteriori)

ξn(k) = |Sn(k)|2 / E{|Nn(k)|2 } (SNR a priori)

dove Sn(k) e Nn(k) sono le trasformate discrete di Fourier di s(t) e n(t), rispettivamente. Il termine E{·}indica l’operazione di aspettazione.

Poiché E{|Nn(k)|2} è un valore che risulta a noi ignoto, il suo posto nella nostra trattazione verrà preso da una sua stima λn(k), così da avere:

¥n(k) = |Xn(k)|2 / λn(k) (SNR a posteriori approssimato)

Notiamo che la stima dell’aspettazione sul rumore λn(k) si ricava mediando la potenza spettrale del segnale di partenza nel primo periodo di assenza del segnale vocale.

Con i valori di ¥n(k) e ¥n-1(k), rispettivamente stime di SNR nel frame considerato e in quello subito ad esso precedente, è possibile ricavare

(15)

un’approssimazione di ξn(k), mediante l’introduzione ed utilizzo di una funzione di correzione P[x] e un fattore α, tale che 0< α <1:

Єn(k) = α ·¥n-1(k)·Gn21+(1- α )P[¥n(k)-1] (SNR a priori approssimato)

Il guadagno spettrale Gn(k) è calcolato facendo uso dei valori dei parametri

¥n(k) e Єn(k) stimati:

Gn(k) = [(1+vn(k))I0(vn(k)/2)+vn(k)I1(vn(k)/2)]·Λn(k)/[1+Λn(k)]· πvn(k)/ [2¥n(k)] exp (-vn(k)/2)

Tale parametro presenta le funzioni di Bessel I0(z) e I1(z) di primo e di secondo ordine rispettivamente, mentre vn(k) e Λn(k) sono definite come:

vn(k) = {ηn(k) / [1+ ηn(k)]}· ¥n(k)

Λn(k) = (1-q)/q · exp(vn(k) / [1+ ηn(k)]

dove ηn(k) = Єn(k)/[1-q]

e q rappresenta la probabilità di assenza di parlato, definita dalla assenza totale o presenza non significativa di segnale audio in x(t).

Lo spettro in uscita al sistema Yn(k) viene infine costruito grazie al valore di ampiezza calcolato |Yn(k)| e fase arg( Xn(k)), relativa al segnale originario:

Yn(k) = |Yn(k)| · exp { j · arg( Yn(k) ) }= Gn(k) · |Hn(k)| · exp {j · arg( Xn(k) ) }

(16)

Dopo trasformazione inversa di Fourier di |Yn(k)|, denotata con ŷn(t), otteniamo yn(t) dal processo di Overlap - Add dei singoli valori calcolati:

yn(t) = ŷn-1(t+M) + ŷn(t) con 1≤ t ≤ M;

3.2.4 Soluzioni ad eventuali problemi di stima del rumore [9]

L’applicazione dell’algoritmo MMSE STSA convenzionale permette una stima relativa alla potenza spettrale del rumore dal segnale corrotto unicamente nel primo periodo di assenza di parlato, dove il solo rumore è presente. Ciò implica, in presenza rumore non stazionario, che un cambiamento delle caratteristiche del rumore stesso non possa essere rivelato nella maniera più corretta possibile, rendendo più povera la bontà del metodo.

Per poter ottenere una stima continua del rumore e, al tempo stesso, meno condizionata da artefatti, si potrebbe pensare di adottare un metodo basata su Statistiche di Minimo (sfruttare, ad esempio, il valor minimo della potenza spettrale del segnale rumoroso “smoothed” all’interno di finestra di lunghezza temporale finita LMS, e prendere tale valore come la quantità di rumore stimato).

Il valore λn(k) nel frame n-imo e per il suo k-imo campione è allora ottenuto come:

λn(k)=CMSminl|Xnl( )k |2 l = 0, ..., LMS

(17)

CMS è un valore costante di compensazione dovuta alla minima stima,

|Xn-1(k)|2 denota la potenza spettrale del segnale nel frame n-imo:

( ) 1( ) 2 ( ) 2

2 | | 1 | ( )|

|

|Xn k =β Xn k + β Xn k con 0<β<1 e costante;

Al solito, la scelta di LMS è frutto di un compromesso: un valore di finestra più ampio per LMS garantirebbe una stima più accurata nel caso di rumore stazionario, mentre la capacità di tracking per rumore non stazionario risulterebbe degradata. L’utilizzo di una finestra più stretta, invece, potrebbe portare a problemi di sovrastima, con conseguente perdita in qualità del sistema per alti valori di SNR, per cui si può affermare che la migliore via possibile di implementazione consista in un compromesso nella scelta inerente il dimensionamento di LMS.

Allo scopo di ottenere buon tracking e, allo stesso tempo, evitando errori di sovrastima a seconda della diversificazione delle sorgenti di disturbo, si potrebbe pensare all’impiego di una metodologia di stima con utilizzo di fattori di peso, dipendenti dal rapporto segnale/rumore stimato: poiché quest’ultimo non si basa su alcun processo stocastico, agendo in questo modo saremo sicuri di una scelta appropriata riguardo l’ampiezza delle finestre per l’operazione di windowing.

L’impiego di un fattore di peso presenterebbe inoltre il vantaggio di consentire in modo continuo la stima di rumore (senza effetti di sovrastima) anche in presenza di segnale utile: si otterrebbe il tracking delle caratteristiche mutanti del disturbo in tutto il segnale nel suo complesso. Per questa serie di motivi, l’algoritmo MMSE STSA appena presentato necessita di alcuni adattamenti per ciò che riguarda il calcolo del fattore di guadagno spettrale.

(18)

Stima pesata del rumore

Il processo consiste di 3 passi:

• Stima di SNR

• Calcolo del fattore di peso

• Operazione di media

Per quanto riguarda il primo step, il rapporto segnale/rumore stimato γ̃n(k) è ottenuto dalla potenza spettrale del segnale corrotto dai disturbi

|Xn(k)|2 nel frame n-imo e dalla stima del rumore nel frame ad esso precedente λn-1(k):

γ̃n(k) = |Xn(k)|2/ λn-1(k) (SNR stimato) (1)

Il fattore di peso Wn(k) è calcolato in dipendenza del valore appena definito, con l’ausilio di una funzione non lineare e alle costanti γ̃1, γ̃2 e θz . La funzione è stata pensata in modo da tale che Wn(k) risulti quasi inversamente proporzionale al valore di SNR stimato.

Il segnale di partenza pesato zn(k) e la sua media λn(k), (quest’ultima utilizzata come quota di rumore stimato) risultano:

|2

) (

| ) ( )

(k W k X k

zn = n n (2)

λn(k) = tr{Zn(k)}/ Ψ(Zn(k)) (3)

con Ψ(Zn(k) numero degli elementi ≠ 0 in Zn(k) e tr{·}somma degli elementi sulla diagonale, con:

(19)

Zn(k) = [zn(k), Z̃n-1(k)] per n ≤ Tinit

Zn(k) = [zn(k), Z̃n-1(k)] per γ̃n(k)< θz (4) Zn(k) = Zn-1(k) altrimenti

0(k) = 0|x(Lz-1) (5)

Zn(k) = Zn(k) [ ILz-1 0T|x(Lz-1)]T (6)

L’operazione data dalla (2) sta a significare che lo spettro di potenza del segnale originario è pesato da Wn(k), fattore basato su stime di SNR. Poiché Zn(k) rappresenta un vettore riga, tr{Zn(k)}è semplicemente la somma dei suoi elementi diversi da zero.

L’equazione (3) definisce allora una operazione di media per valori non nulli di zn(k). Lz e ILz-1 sono rispettivamente i numeri di campioni per la media e la matrice identità di grandezza Lz-1.

L’equazione (4) significa che Zn(k) è aggiornata unicamente quando il rapporto segnale/rumore stimato è al di sotto della soglia θz o che l’indice di frame è minore o uguale a Tinit. Un campione inadeguato di segnale rumoroso pesato da un inattendibile valore di stima per SNR verrà eliminato grazie al valore soglia θz al fine di ottenere un più adatto valore di λn(k).

La (5) e la (6) sono introdotte per esprimere lo stato iniziale. Sotto l’ipotesi che il segnale vocale non abbia inizio nei primi Tinit frames avremo che

Wn(k) = 1 per 0< n ≤ Tinit

La stima del rumore è realizzata indipendentemente per ogni coefficiente spettrale discreto di frequenza, permettendo così risultati di precisione più elevata a seconda del valore di SNR in ogni valore dello stesso considerato.

(20)

Modifica del guadagno spettrale

Presentiamo due possibili processi utili di modifica per il guadagno spettrale: il conditional scaling e la limitazione. Entriamo nel dettaglio e cerchiamo di spiegare di cosa si tratta.

• Il conditional scaling sopprime ulteriormente il rumore residuo presente per alti SNR, permettendo di ottenere un segnale vocale con caratteristiche ancora migliori. Il valor minimo del guadagno stesso, inoltre, viene limitato verso il basso da un valore Gfloor, in modo tale da evitare una eccessiva soppressione (causa, questa, che può creare distorsione).

• Il guadagno spettrale originale Gn(k), ottenuto dal metodo MMSE STSA, viene prima moltiplicato per un fattore di scala Gmod come segue:

Gn(k) = Gmod Gn(k) per ξn(k) < θG (7)

Gn(k) = Gn(k) altrimenti

Lo scaling è realizzato unicamente quando il valore del rapporto segnale/rumore a priori ξn(k) è inferiore alla soglia θG. Gmod < 1 rende il valore di Gn(k) più piccolo, in modo da sopprimere ulteriormente il rumore per bassi valori di SNR.

A questo punto segue un’operazione di limitazione: il guadagno spettrale Gn(k) è modificato in maniera che il suo valor minimo resti sempre minore o al massimo uguale al Gfloor:

Gn(k) = Gn(k) per Gn(k) > Gfloor (8)

(21)

Gn(k) = Gfloor altrimenti

Questa ultima formula è di aiuto nell’eliminazione di effetti indesiderati con il solo scopo quindi di aggiungere qualità al segnale.

Complessità di calcolo

Terminiamo la presentazione del metodo con alcune considerazioni finali sulla complessità relativa all’algoritmo di implementazione.

• La relazione (1) necessita soltanto di un’operazione divisione, poiché la potenza spettrale è stata già calcolata in precedenza.

• La (2) introduce una moltiplicazione per ogni coefficiente spettrale considerato.

• La (3) rappresenta un’operazione di media mobile: è possibile realizzarla per mezzo di due addizioni per campione e una divisione.

• La (4) consiste di due confronti, al massimo seguiti da una modifica relativa agli indici e dalla memorizzazione dei dati: al più verrà richiesto di memorizzare un numero Lz di zeri nella (6).

• Per quanto riguarda la modifica del guadagno spettrale, sono necessarie un’operazione di confronto seguita da una moltiplicazione per la (7) e un ulteriore confronto richiesto dalla (8).

Naturalmente, poiché il numero di operazioni necessarie appena calcolato si riferisce ad un singolo coefficiente spettrale discreto, il suo valore totale può essere ottenuto moltiplicandolo per M.

Riferimenti

Documenti correlati

[r]

come produciamo quello per cui ci pagano prima di acquisire prima di sviluppare durante lo sviluppo come controlliamo il singolo progetto. l insieme dell attività

QUALITA QUALITA PRESTAZIONALE Risoluzione NA Direttive CEE Norme tecniche CEN-UNI..

Poiché la stam- pa della soluzione finale sul file di testo dovrà riportare il costo totale della soluzione, gli indici delle colonne selezionate ed i relativi costi, oltre al

• Viene eseguita l’ istruzione , si valuta quindi l’ espressione booleana ; se l’espressione è falsa si procede con l’esecuzione. dell’istruzione che segue il ciclo se è

Progetto di elaborazione della brand identity e pianificazione della strategia di lancio della startup Taste It, operante nel settore agrifood &amp; green, approfondendo

Il bene in esame è ubicato in aperta campagna nel comune di Spello, in Provincia di Perugia, in località Feccioli, in una zona prettamente agricola. Il bene oggetto

• switch funziona come un interruttore a posizioni multiple, se il valore di espressione è uguale a (case) costante, sono eseguite le istruzioni che seguono costante. •