IT8368320A1 - Dispositivo per la verifica del parlatore - Google Patents
Dispositivo per la verifica del parlatoreInfo
- Publication number
- IT8368320A1 IT8368320A1 ITTO1983A068320A IT6832083A IT8368320A1 IT 8368320 A1 IT8368320 A1 IT 8368320A1 IT TO1983A068320 A ITTO1983A068320 A IT TO1983A068320A IT 6832083 A IT6832083 A IT 6832083A IT 8368320 A1 IT8368320 A1 IT 8368320A1
- Authority
- IT
- Italy
- Prior art keywords
- signal
- bus
- value
- sentence
- block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Complex Calculations (AREA)
- Machine Translation (AREA)
Description
,? Descrizione dell'invenzione avente per titolo:
V
"DISPOSITIVO PER LA VERIFICA DEL PARLATORE"
a nome CSELT, Centro Studi e Laboratori Telecomunicazioni S . p . A. Via G. R. Romoli, n. 274 - 10148 TORINO - nazionalit? italiana Inventori : Michele CAVAZ ZA
Alberto CIARAMELLA
Domanda n, 68320 A/83
Depositata il
19 OIC. 1983
?
Riassunto
Il dispositivo ricava certi parametri caratteristici da una frase standard pronunciata da un parlatore e li confronta con parametri medi del parlatpre stesso contenuti in una memo -ria interna e calcolati in precedenza; in base a questo confronto ricava un valore di probabilit? che la frase pronunciata appartenga a quel parlatore e lo paragona con una soglia resa indipendente dalla varianza dei parametri medi da un circuito di calcolo della soglia (CSV). Se la soglia ? superata, il dispositivo conside ra verificato il parlatore.
Il dispositivo comprende all 'ingresso un. circuito di determinazione degli istanti di inizio e fine effettivi della frase (RIF) per delimitare tra questi due istanti l'intervallo di tempo su cui calcolare i parametri caratteristici; comprende inoltre un circuito (AT) che allinea temporalmente i parametri caratteristici appena calcolati a quelli di una frase di rifer?mento, ottenendo lunghezze standard dei suoni componenti la
frase pronunciata (fig. 1 ).
Testo della descrizione
La presente invenzione riguarda i sistemi di analisi
delle caratteristiche vocali di individui e pi? in particolare
si riferisce ad un dispositivo per la verifica del parlatore.
Un dispositivo per la verifica del parlatore ha il compito di accertare che l'identit? dichiarata da un parlatore corrisponda a quella vera: al parlatore viene fatta pronunciare , una frase standard, da cui detto dispositivo ricava dei pararnetri vocali caratteristici che confronta con parametri vocali
U-I medi del parlatore stesso, ottenuti in una precedente fase di c/3 C addestramento facendo pronunciare a quel parlatore la stessa
frase standard per pi? volte. Il confronto ? eseguito calcolando
i la probabilit? che la frase appena pronunciata appartenga a .
tbiro Lraoida S ett Cunroe ?uel' parlatore : se il valore di probabilit? supera una cer iaip sinoazlc- Tn.um.coee ta soglia, allora il dispositivo considera verificato il parlatore.
I dispositivi per la verifica del parlatore noti nella tecnica,come ad esempio quello descritto nella memoria: "A
low cosi speaker verification device", presentata da M. H. Kuhn,
R. Geppert alla Carnahan Conference on Crime Countermeasures, svoltasi nella University of Kentucky, Lexington, nei giorni 14-16 Maggio 1980, comprendono generalmente i seguenti
blocchi circuitali:
- blocco di estrazione dei parametri, che suddivide ogni frase appena: pronunciata in intervalli temporali di durata opportuna fis sa, e calcola l' energia associata al segnale per ogni intervallo e per ognuna delle bande di frequenza in cui viene
suddiviso lo spettro di frequenza della banda vocale, ottenendo un vettore d'energia per ogni intervallo temporale; esegue
quindi la medi a dei vettori energia estesa a tutti gli intervalli, ottenendo un vettore di parametri medi, ogni componente
del quale ? relativa ad una banda di frequenze;
O ?j ? d. - blocco di determinazione della distribuzione dei parametri S ?
" i ????a o medi del parlatore in base a pi? ripetizioni della stessa fra 'u UJ __ c uS V? % U se : questo blocco lavora in fase di addestramento e costrui n i 5 ?j o 3 ?3 Ji G o sce degli istogrammi di distribuzione, uno per ogni banda di. ? ? frequenza, dei livelli di energia media ottenuti per ogni frase; viene creata una memoria di detti istogrammi per ogni parlatore ;
- blocco di calcolo delle probabilit? : lavora in fase di verifica
e per ogni banda di frequenza verifica in qiale punto dell'istugramma relativo, letto dalla me moria del parlatore, cade il nuovo valore di parametro medio appena calcolato dal
blocco di estrazione parametri, ed assegna un corrispondente valore di probabilit? che il nuovo valore appartenga al
parlatore; esegue poi il prodotto di tutti i valori di probabi?
lit? che confronta con un valore di soglia fis so.
Detti dispositivi noti presentano vari inconvenienti: il primo ? dovuto alla difficolt? di determinare gli istanti reali di
inizio e fine della frase, per evitare che il blocco di estrazione parametri consideri anche intervalli di tempo in cui ? presente solo rumore. Un altro inconveniente ? dovuto al fatto che la
durata effettiva della frase varia ad ogni ripetizione da parte
dello stesso parlatore, per cui il numero fisso di eventi acustici (caratteristico di una data frase) risulta suddiviso su di un
numero variabile di intervalli di tempo, dando luogo a pesature differenti degli stessi eventi acustici tra le varie ripetizioni
della stessa frase, e quindi riducendo la validit? della funzione di media temporale . Un ulteriore inconveniente
? costituito dal fatto che una soglia di probabilit? fis?
sa sfavorisce , nel processo di riconoscimento, i parla-? ? tori i cui istogrammi di distribuzione dei parametri medi han o-? ' cs Cu ? ? no una varianza pi? elevata, cio? una maggior dispersione di ? j? ?S-a J LU <? { L3> valori di parametri medi tra le ripetizioni della stessa frase, co ?? ?a ri O 3 o c_> in quanto aumenta la probabilit? di non essere riconosciuti. ? a ^
<? o> Sono noti alcuni metodi per determinare i punti di
inizio e fine di frase che si badano essenzialmente sulla misura dell'energia del segnale vocale.
Un primo metodo prevede di confrontare l'energia
del segnale vocale con un valore di soglia eventualmente adattato al rumore di fondo pres ente inizialmente nell'ambiente.
Un altro metodo, descritto nell'articolo: "An algo
rithm for determining th? endpoints of isolated utterances", di L . R . Rabiner e M . R . Sambur , The Bell System Technical Journal, voi . 54,
n . 2 , Febbraio 1975, prevede di confrontare l 'energia del segnale vo
cale con due soglie di valore diverso: l 'inizio , o fine frase ? quello
di superamento della soglia di valore minore se il superamento della
soglia di valore maggiore avviene prima di un riattraversamento del
la soglia minore
Se la frase inizia e/o finisce con una consonante vengono aggiunti degli intervalli di tempo corrispondenti adiacenti a quello di
i frase effettiva trovato, calcolati in base alla determinazione del numero j
I
di attraversamenti per lo zero del segnale acustico in quegli intervalli :
?*o-? n* di tempo. Questi metodi presentano tutti l ' inconveniente che un picco j o 2 XI _ ?
improvviso ? di rumore di energia elevata viene interpretato come inizio fcU! tm c 0 Ci r o fine della frase . p: l <Lr L?. Risolve questi problemi la presente invenzione di un disposi UJ ?
tivo per la verifica del parlatore che prevede un circuito di rivelazione dei punti di inizio e fine frase che si basa sulla misura della potenza del segnale vocale e della durata del tempo in cui la soglia di potenza viene superata ; il valore di soglia viene adattato continuamente
al livello di rumore di fondo. Il dispositivo prevede inoltre un circuito di allineamento temporale che implementando in modo nuovo un algoritmo di programmazione dinamica altera selettivamente l ' asse temporale di
ogni frase su cui sono proiettati i vettori energia
calcolati dal blocco di estrazione parametri, in modo che la durata complessiva di tutte le frasi sia identica e che i singoli even
ti acustici pesino in modo standard tra le varie ripetizioni della
stes sa frase. Il dispositivo prevede infine un circuito di calcolo
della soglia di probabilit? che rende il valore di soglia inversamente proporzionale al valore di varianza degli istogrammi
di distribuzione dei parametri medi, in modo da assegnare a tutti i parlatori la stessa probabilit? di essere riconosciuti.
E1 particolare oggetto della presente invenzione il
circuito descritto nella rivendicazione 1.
Queste ed altre caratteristiche della pres ente invenzione saranno meglio chiarite dalla descrizione che segue di un
esempio di realizzazione della stessa, dato a titolo non limita ?G O ni ? s? tivo, facendo rife rimento ai disegni annessi in cui: O ?
-J ?-1 .? - la fig. 1 mostra lo schema a blocchi generale del dispositivo UJ ? 3
oggetto dell'invenzione; O I o a.'
<? - la fig. 2 mostra un diagramma temporale utile a spiegare il u ^
funzionamento del blocco AT di fig. 1 ;
- la fig. 3 mostra lo schema circuitale del blocco RIF di fig. 1 ;
- la fig. 4 mostra l'andamento nel tempo di alcuni segnali interni del blocco RIF;
- la fig. 5 mostra lo schema circuitale del blocco AT di fig;l ;
- la fig. 6 mostra lo schema circuitale del blocco C BC di fig. 5;
- la fig. 7 mostra lo schema circuitale del blocco CO di fig. 6;
- la fig. 8 mostra l'organizzazione dei dati nella memoria
MEMP di fig. 5;
la fig. 9 mostra lo schema circuitale del blocco CSV di fig. 1.
In fig. 1 ? mostrato lo schema a blocchi della macchina per la verifica del parlatore. La macchina lavora in modo asincrono, cio? ogni suo blocco circuitale, alla fine . delle operazioni svolte, comanda l'inizio delle operazioni del blocco circuitale seguente.
Con MIC ? indicato un microfono atto a trasdurre la
voce di un parlatore in segnale elettrico con frequenze comprese nella banda vocale. Nel particolare esempio non limitativo
qui descritto per banda vocale si intender? quella compresa
tra 300 e 3400 Hz.
Il segnale elettrico prodotto viene portato tramite
il filo 1 al blocco AD che comprende un filtro passa -banda,
con banda 300 34 00 Hz, seguito da un conve rtitore analogi % tf re d. S * co -digitale , avente frequenza di campionamento fc pari a ? J? >-J-a 9 8 KHz. I campioni numerici cos? ottenuti sono forniti sul bus r0J i'? ?
^ ? 2 al blocco RIF e memorizzati in una sua memoria interna. Il
C ? H U segnale a frequenza di campionamento fc ? fornito da AD a u
RIF come riferimento.
Il blocco RIF determina gli istanti effettivi di inizio^ e di fine _tf^ della frase pronunciata dal parlatore mediante l'analisi dei campioni numerici di tutto l'intervallo di
tempo utile TU per pronunciare la frase stessa.
A questo scopo RIF, utilizzando il segnale fc come riferimento, determina una suddivisione dell'intervallo di tempo utile TU in sottointervalli di 32 ms, nel seguito chiamati inter-* Oc s . valli. j, ognuno comprendente un numero finito di campioni nu w j U rtt CL, O ? . merici. Gli istanti_ti_ e_tf_ saranno quindi rispettivamente l'istan J?Jj 3 o ? -s ?3a te di inizio del primo intervallo j utile (chiamato nel seguito C/D ? '3
U ? a o 3 intervallo ti ) e di fine dell'ultimo (chiamato nel seguito inter ? C u 4> U <Lr> u H vallo^).
Una volta determinati J?_ e _tf_ , RIF fornisce al blocco EP sul bus 4 il segnale di comando di inizio operazioni e i campioni numerici relativi agli intervalli j,nel seguito chiamati
intervalli effettivi, compresi tra_ti_ e tf .
Il blocco RIF sar? esaminato nel dettaglio in relazione alla fig, 3.
Il blocco EP svolge la funzione di estrazione dei parametri caratteristici della frase e quindi del parlatore.
Il blocco EP ? costituito essenzialmente da un banco di
filtri numerici passa-banda che coprono tutto il campo di frequenze della banda vocale: ogni filtro ? seguito da un integratore atto a calcolare l'energia associata al segnale in quella
banda in un intervallo effettivo j e da un registro accumulatore atto a memorizzare i valori calcolati dall'integratore.
Si ottiene per ogni intervallo effettivo j un vettore
energia ej = e i j e kj . , dove
con K ? indicato il numero di filtri usati (nell'esempioqui descritto si ? posto K = 17) e con j la variabile corrente che identifi
ca il numero dell'intervallo effettivo (1 ?? j ^ J).
Alla-fine della frase si ottiene cos? un insieme di vettori che forma la matrice :
_ e. t ( ? t ? , ? ? ? ? ? r
KJ 1 j J
La matrice X-, T rappresenta l'insieme dei pararnetri caratteristici della voce del parlatore per una data frase pronunciata. Questi parametri sono forniti tramite il bus 5 al bloc ? OG ? .
? c? co AT che li memorizza in una sua memoria interna. I blocchi
J H O EP e AT sono sincro nizzati dal segnale fc fornito da AD. UJ ?? w ? ?? Il blocco EP fornisce su un filo supplementare del u ^ a * o3 8 i> o 4J L? U* bus 5, al termine delle operazioni, un segnale di inizio funzionamento per il blocco AT.
Il blocco AT svolge la funzione di allineamento temporale dei parametri della frase ai parametri di una frase di
rife rimento presenti nel blocco MM2, che ? costituito da una m e
moria a sola lettura.
La normalizzazione temporale "stira" selettivamente
l'asse temporale ielle varie frasi in modo che dopo l'allineamento la durata complessiva di tutte le ripetizioni sia identica
e i singoli eventi acustici siano di durata simile tra tutte le
ripetizioni, per evitare la variabilit? nella durata di eventi acustici corrispondenti per varie ripetizioni della stes sa parola
anche da parte dello stesso parlatore; tale effetto ? ancora pi?
marcato nel caso di una intera frase.
La frase di riferimento ? sempre e solo la frase
utilizzata nelle fasi di addestramento e verifica; questa frase viene fatta ripetere pi? volte da ognuno di una serie di parlatori
presi a campione (? da notare che questi parlatori possono anche
non essere quelli che l? macchina dovr? poi verificare); in questo insieme di frasi cos? ottenuto si sceglie la frase che ha la minima delle massime distanze dalle altre frasi, dove con il termine distanza si intende la differenza tra i valori dei parametri estratti dalle frasi . Questo metodo di scelta della frase di riferimento e
noto nella tecnica come"clustering technique" ed ? descritto ad
esempio nell?articolo "Considerations in applying clustering
technique to speaker -independent word recognition" , L. R. Rabiher e J. G. Wilpon, Journal of Acoustical Society of America,
Voi. 66, No. 3 , Settembre .1979?.
Nella memoria MM2 ? quindi presente la matrice dei parametri caratteristici della frase di riferimento; questa ma-? ?i trice che verr? nel seguito chiamata X = e , . e 6 M 5 M 1 m
? ?? ?a . e , , , ? ricavata con la tecnica descritta in connessione IXl 02 ? ?a con il blocco EP; M ? il numero totale di intervalli effettivi. O 55 a ?
O i? Il blocco AT svolge le seguenti operazioni su ogni a *? matrice di parametri che giunge dal blocco EP:
a) costruzione di una tabella di corrispondenza tra indici j del?
la matrice XTJ- T, e indici m della matrice ?? ,, schematizzata in fig. 2
-tvj M
della linea spezzata at denominata "percorso di allineamento";
b) costruzione di una matrice X del tipo di X della frase di
KM M
riferimento, ottenuta come proiezione della matrice X di
KJ
partenza attraverso la spezzata at.
Verranno qui di seguito descritte le operazioni svolte
da AT relative al punto a) e facendo pure rife rimento alla fig.'.Z.
Per costruire la linea spezzata at^, il blocco AT implementa
un algoritmo di programmazione dinamica di tipo noto, a partire dalle matrici dei parametri della frase appena pronunciata , prelevata da EP, e della frase di riferimento , letta da MM2
tramite il bus 6.
Un esempio di tale algoritmo ? descritto nell'artico-
C? lo "Dynamic programming algorithm optimization for spoken ?i o l? & a word recognition", H. Sakoe, S. Chiba, IEEE T ransactions on
LU ? Si Acoustics, Speech, and Digital Processing, Voi. A5SP-26, CO ?q r4
& O
O w? 3 U No. 1 , Febbraio 19*78. a o S H
In fig. 2 con X ? indicata la matrice dei pararne-K J
tri della frase appena pronunciata : la dimensione temporale
(1 , . j, . J) ? riportata in senso verticale, mentre quella frequenziale (1 . . . . . . k . K) in senso orizzontale. C on X
M
? indicata la matrice della fase di riferimento :la dimensione temporale^ , . . .mi . . M) ? riportata in senso orizzontale, mentre quella frequenziale (1 . . . K)in senso verticale. La dim ensione temporale di
X ? proiettata sull'ass e temporale t? suddiviso in J intervalli (1 ?
KJ 1
j ir J);la dimensione temporale di X ? invece proiettata sull'asse temporale t^ suddiviso in M intervalli (1? m ^M). La spezzata at
c reata da AT congiunge i punti (1 , 1 ) e (J, M) del piano t* , t^.
L'algoritmo usato per la costruzione della spezzata
at_ prevede le seguenti fasi:
- calcolo della matrice Dj.^ (di dimensioni J? M)dei valori di distanza D(j,m) tra i vettori e . ed i vettori e , dove per dij m
stanza si intende la somma dei valori assoluti delle differenze tra le componenti di uguale indice di detti vettori, calcolata per ogni coppia di valori j,m;
- calcolo della matrice G^^|di dimensioni J*M)dei valori di distanza accumulata G (j,m) tra i vettori e . ed i vettori e ,
calcolata per ogni coppia di valori j.mjdoveper distanza accumulata G(j,m) si intende la seguente espressione: ?G o ..
rt di G(j, m-1 ) D(j, m) s ? G(j,m) - min G(j- 1 , m) D(j,m) W S ?il G(j - 1 , m - 1 ) D ( j , m ) g C 4> calcolata a partire da j,m = 1; ?? costruzione della matrice P di dimensioni J? M che ri.por-
JM
ta in ogni punto (j,m) l'indicazione della direzione da cui
proviene il minimo dei tre valori indicati nell'espressione
G(j,m): questa direzione ? in pratica la pendenza P(j,m)
del segmento che unisce il punto (j,m) con quello dei tre
punti (j,m-l) oppure (j-l,m) oppure (j-l,m-l) da cui proviene il minimo dei tre valori suddetti;
costruzione della spezzata af, a partire dal punto (J, M) e
tornando indietro seguendo le pendenze P (j,m) determinate al passo precedente, fino al punto (1, 1),
In pratica le matrici D, G, e P sono calcolate solo
nei punti i cui indici soddisfino la seguente relazione :
j - mi ? R
cio? nei punti interni alla fascia tratteggiata in fig. 2 : ci? porta
alla conseguenza di escludere le frasi che hanno una durata effettiva chesi discosta troppo da quella della frase di riferimento, cio? le frasi tali che(M - R) ? J (M R.)
Verranno qui di seguito descritte le operazioni svolte
LLi evolte da ?? relative al punto b) sopra menzionato, facendo W O
riferimento sempre alla fig, 2, con l?unica avvertenza che ora
si considera la matrice X ,,, , invece della matrice X
KM M
AT scrive nelle posizioni della matrice X il cui
KM
indice m ? la coordinata sull'asse t^1 della spezzata j?t , i vettori ej il cui indice j ? la corrispondente coordinata sull'as se
t ' , meno per i tratti dijit a pendenza verticale in corrispondenza dei quali AT scrive nella posizione di X il cui ?ndice m
KM
? la coordinata sull'as s e t ' di detti tratti, il vettore ?? le cui componenti m
ti sono la media, aritmetica delle corrispondenti componenti dei vettori Cri Sbdi Ltttoenororau ea Tiiliaecomz speuncaon... ?\ il cui indice j ? una delle corrispondenti coordinate sull'asse tj del
tratto di atln generale si pu? dire che nel passaggio dalla matrice X alla X , tramite la spezzata at, si varia il pe-KJ KM ?
so da attribuire ad ogni singolo vettore e . nel seguente modo:
i tratti di_at a pendenza obliqua mantengono inalterato il peso da attribuire ai vettori e . di X _ ;
J KJ
i tratti di_at e pendenza verticale dividono di un fattore pari al
numero di vettori ej coinvolti il peso da attribuire a questi;
- i tratti di _at a pendenza orizzontale moltiplicano di un fattore
pari al numero di vettori e coinvolti il peso da atribuire
m
ai vettori ej
Ci? che si ottiene tramite il blocco AT ? di ridurre la variabilit? temporale di ogni parlatore e di ricondurre i singoli suoni, contenuti in ogni intervallo j , ad una lunghezza standard. In questo modo i parametri estratti ad ogni intervallo j nel blocco EP, ed allineati temporalmente in AT , pos -? ci sono pesare in modo standard nel calcolo della media tempora ? C ? ?? '? le eseguito nel blocco MP a cui provengono tramite il bus 7.
UA ? .3 ? '? In fig. 1 con MP ? indicato un blocco comprendente
O si ? f; i registri accumulatori, sommatori e divisori sincronizzati dal
oM segnale f , atti ad eseguire la media artinietic?, estesa a tutc
ti gli intervalli effettivi M della frase, dei parametri relativi
ad ogni banda di frequenze dei vettori e forniti dal blocco AT
sul bus 7, ottenendo il vettore
r~>
e = e ?i . e i-? . .
1 k k
nel seguito chiamato vettore dei parametri medi, in cui una
generica componente ? data dalla media aritmetica delle
componenti di indice corrispondente dei vettori e
m
Il vettore e , presente nei registri accumulatori interni, ? poi fornito in uscita sul bus 8.
Con SVA ? indicato un normale selettore ad un ingresso e
due uscite , ad esempio realizzato mediante unmultiplexer al cui in
gres so di segnale sono portati, tramite il bus 8, i dati presenti all'uscita di MP. SVA fornisce i dati ricevuti o sul bus 9 o sul bus 11 ,
in base al livello logico sul filo 10 applicato al suo ingresso di
comando.
Se la macchina sta lavorando in addestramento, SVA
fornisce i dati in uscita sul bus 9 verso il blocco DP. Se invece
la macchina ? in fase di verifica, SVA fornisc e i dati al blocco
CP, tramite il bus 11.
A causa della non riproducibilit? della voce umana,
due ripetizioni della stes sa frase non origineranno mai le stesse componenti del vettore dei parametri medi e ; quindi la verifica del parlatore non potr? essere fatta in modo deterministico,
ma in modo probabilistico con tecniche di riconoscimento di
configurazioni (pattern recognition).
Allora in addestramento viene fatta ripetere al parlatore la stessa frase per un certo numero di volte; ad ogni ripetizione, all?uscita del blocco MP, si ha un determinato vettore CT CSE tbi Lordiaor Sa C ettuonre dei parametri medi e della frase appena pronunciata. iiiap sn Tlzocaunecom.e..
In DP viene costruito un istogramma di distribuzione
rJ
dei parametri medi di tutti i vettori e; questo istogramma ?
atto ad approssimare le curve di densit? di probabilit? relative ad ogni componente spettrale.
A questo scopo viene individuato uno spazio tridimensionale in cui:
- una prima dimensione ? costituita daLcampo di valori di ener
gi?, discretizzati su una scala di N intervalli (dell'esempio descritto N = 16), caratteristici di ogni banda di frequenze k;
- una seconda dimensione ? costituita dai valori di frequenza
centrale delle bande dei filtri del blocco EP; si ? gi? detto che
sono individuate K bande di frequenze;
- una terza dimensione ? costituita dal numero di eventi p.
rk n
registrati per ogni banda di frequenze e per ogni intervallo di
energia.
Dalla teoria delle probabilit? ? noto che le curve di
densit? di probabilit? sono tanto meglio approssimate quanto
pi? ? grande il numero di eventi riscontrati. o ? E w f | cl cr D'altronde non ? possibile far ripetere centinaia di o p:' o g-r, volte la stessa frase ad un parlatore. ?? & o ?
I? o Allora nell 'istogramma DP non registra il numero 3.
di eventi realmente verificatisi, ma per ogni evento reale, registra una distribuzione di pseudo-eventi centrata intorno al
valore dell'evento reale stesso.
Cio? per ogni vettore dei parametri medi e che riceve all'ingresso, DP verifica in quale intervallo di energie n
cade ogni sua componente; in istogramma , invece di aumentare di 1 il numero degli eventi negli intervalli trovati, per ogni componente aumenta di un numero totale di pseudo-eventi pari a N (nell'esempio descritto N p = 25) distribuiti intorno
all'intervallo n trovato con una certa legge di distribuzione
(ad esempio, 7 pseudo-eventi nell'intervallo n, 5 pseudo-eventi
negli intervalli, n i 1 , 3 pseudo-eventi negli intervalli n ? 2, 1
pseudo- evento negli intervalli n - 3 ).
Ci? che ne risulta ? un aumento fittizio del numero
di eventi reali, pi? rispondente ai requisiti? di creazione di
curve di densit? di probabilit? che risultano pi? smorzate, senza
eccessive differenze tra intervalli contigui.
Quindi nella fase di addestramento, vengono generati
detti istogrammi, uno per ogni parlatore; col procedimento descritto ? sufficiente che ogni parlatore ripeta per circa venti
volte la frase.
La memoria MEM ? suddivisa in aree specifiche per
ogni parlatore, in cui il blocco DP scrive, tramite il bus 12, gli
, istogrammi generati. M,? n> rt ^ 8 ? Esaurita la fase . di addestramento, il segnale sul filo 10 B O I. f . CO cambia livello logico ed il selettore SVA ? commutato in verifica. Al- I ? ? g r p" 5* 2 lora i nuovi vettori dei parametri medi e generali da MP vengono forni ? ? P ,es o r* ti al blocco CP, atto a calcolare la probabilit? che la frase appena pronunciata appartenga al parlatore.
E1 da notare che in verifica ogni parlatore, prima di
pronunciare la frase di identificazione, deve dichiarare la propria identit? (che poi dovr? essere verificata dalla macchina),
ad esempio scrivendo il proprio nome od un codice identificativo su di una ta stiera appositamente preposta, oppure inserendo
in un lettore collegato alla macchina una scheda magnetica in
cui sono registrati i propri dati identificativi. Queste operazioni preliminari sono schematizzate in fig. 1 tramite il selettore SPE che fornisce alla memoria MEM sulla connessione 13 un segna -j le di selezione dell'area dedicata a quel parlatore, ed inoltre il ? segnale di scrittura, se la macchina ? in fase di addestramento,
oppure di lettura se la fase ? di verifica. Inoltre SPE fornisce
a SVA il segnale di comando sul filo 10, che ? generato da un in- _i ? r UJ terruttore interno a SPE ed attuato ad esempio manualmente dall'e - i co ! O sterno ? Il blocco CP verifica in quale intervallo n di energie
cade ogni componente del nuovo vettore e; poi indirizza tramite
il bus 17, l'area di memoria di MEM selezionata da SPE, per
leggere tramite il bus dati 14 il nume ro di pseudo-eventi P^ n
relativi a detto intervallo e calcola l'area A come somma di tutk
ti gli pseudo -eventi relativi ad una componente di ?, sempre forniti
sul bus 14.
Quindi, nella ipotesi di considerare i valori delle componenti di e statisticamente indipendenti, tra loro, calcola
la probabilit? P che la frase appartenga a quel parlatore, utilizzando la formula:
K Pkn
p = jr ? ? (i )
k=l A '
k
dove il simbolo Jt indica la produttoria estesa a tutte le componenti di e. Il valore P e fornito poi tramite il bus 1 5 ad un ingres so del comparatore CMP. .
Il blocco CMP confronta il valore P con un opportuno
valore di soglia Pss calcolato dal blocco CSV e fornito al
secondo ingresso di CMP sul bus 18: se risulta P >Pss, allora
la frase appena pronunciata verr? interpretata come effettivamente appartenente a quel parlatore , e l'identit? dichiarata dal parlatore verr? interpretata come corrispondente a quella vera.
Nei sistemi noti, il calcolo del valore di soglia viene svolto secondo la seguente relazione, dove detto valore di soglia ? indicato con Ps :
? P
Ps = X -L- kMAX (2)
k=i ??
dove p , , ? v ? il numero di eventi massimo, per ogni banda di frequenze, letti dall'istogramma memorizzato in MEM tramite LD C/3 la connessione 14, e ?^ ? l'area sopra definita. o
Ora per? una tale formula non tiene conto delle varianze delle curve dell'istogramma. Ci? non fornisce a tutti i parlatori la stessa probabilit? di essere riconosciuti in qranto
la probabilit? di riconoscimento ? inversamente proporzionale
al valore di varianza delle curve.
Allora, secondo uno degli aspetti della presente invenzione il blocco CSV calcoler? un valore di soglia variabile
Pss dato dalla seguente relazione:
Ps
Pss = _ (3)
Y
dove Ps ? il valore dato dalla formula (2) e Y ?:
? ?/?
? = X (4)
k=l NORM
dove NORM ? il valore di varianza di un parlatore me lio assunto come riferimento; Z ? un fattore esponenziale correttivo fisso; 6*^ ? la deviazione standard della k-esima curva
dell? istogramma ed ? calcolata mediante la relazione:
2
(5)
n=l
dove p ? la media degli eventi della curva k-esima.
k
Polche si ? detto che Ps ? inversamente proporzionale alla varianza delle curve, il nuovo valore Pss tende a divenire indipendente dalla varianza.
Quindi se CMP verifica che P > Pss , fornir? un
segnale di parlatore verificato, tramite il filo 16, al blocco ER
che lo trasformer? in un segnale di abilitazione che pu? essere
? ci ad esempio costituito da un?emissione acustica tramite l'alto O -I -J parlante AP. LU ? CO
(J ? Altrimenti CMP emetter? un segnale di parlatore non o * u C? verificato.
In fig. 3 con MM1 ? indicata una comune memoria del
tipo a lettura e scrittura.
MM1 riceve gli indirizzi e i segnali di comando i-ul Tlieieciomuncazon
bus 53, mentre sul bus 2 riceve dal blocco AD di fig. 1 i campioni numerici da memorizzare.
Quando ? comandata in lettura, MM1 fornisce detti
campioni in successione sul bus 4.
Con PBT1 ? indicato un blocco atto a calcolare la
potenza a breve termine PBT associata ai campioni numerici
che riceve sul bus 4, dove per breve termine si intende un pe
riodo di un intervallo j.
PBT1 calcola il quadrato dei campioni numerici che
riceve in ingresso ? ad ogni intervallo j , la media dei valori calcolati estesa a quell'intervallo , e quindi il logaritmo della media che fornisce in uscita sul bus 27.
PBT1 ? sincronizzato dai segnali fc e 21.
Con FPB e FPA sono indicati due filtri numerici, rispettivamente passa-basso e passa-alto che filtrano il segnale numeo? a rico presente sul bus 4 e lo forniscono rispettivamente ai
blocchi PBT2 ,? PBT3 , uguali a PBT 1.
Nell'esempio qui descritto le frequenze di taglio di FPB e FPA sono rispettivamente di 900 e 2000 Hz.
Quindi ad ogni intervallo j' all'uscita di PBT2 sul bus 2 3 si ottiene il valore PPB di potenza a breve termine as sociata
al s egnale numerico filtrato pas sa-basso, mentre all'uscita di
PBT3 sul bus 29 si ottiene il valore PPA di potenza a breve
termine as sociata al segnale numerico filtrato passa-alto.
Con S2 ? indicato un sottrattore numerico che esegue la sottrazione tra il segnale presente sul bus 28 e quello sul
bus 29 e fornisce il risultato in uscita sul bus 30 ad un ingresso del sommatore numerico S3 al cui secondo ingresso ? portato il segnale di uscita di PBT1 sul bus 27.
All'uscita di S3 , sul bus 31 s i ottiene la quantit? logaritmica:
PBTP PBT PPB - PPA
cio? il logaritmo del valore di potenza a breve termine pesato secondo la quantit? PPB-PPA.
Il bus 31 ? portato all?ingresso dei blocchi RG3 e T l .
Con RG3 ? indicato un comune registro che riceve in ingresso
le quantit? PBTP presenti sul bus 31 e le memorizza temporaneamente e fornisce in uscita sul bus 32. RG3 riceve come se-'? ?r gnale di orologio il segnale sul filo 43. ? di o ? <? 3 Il bus 32 ? portato ad un ingresso del comparatore '-J ^ .2 UJ m uw* ? U OD ?? '? CMP1. s o S i Con T l ? indicato un circuito di ritardo per il segnale ti= ? O M o>
numerico che riceve dal sommatore S3 sul bus 31 ; il ritardo introdotto ? di un certo numero di intervalli DN pari al tempo stimato minimo di ritardo tra l'istante di inizio del tempo utile
per pronunciare la frase e l'istante in cui il parlatore inizia a parlare. Nell'esempio qui descritto ? DN = 12.
Tl ? costituito da un normale registro a scalamento comandato dal segnale fc a frequenza di campionamento.
I campioni numerici cos? ritardati sono poi forniti
da T l al blocco PLT atto a calcolare la potenza a lungo termine . associata al segnale numerico, dove per lungo termine si intende un periodo di un certo numero NFN di intervalli j cons ecutivi.
Il blocco PLT tiene memorizzati in un suo registro
interno, del tipo a scalamento, i valori ricevuti da Tl relativi
agli ultimi NFN intervalli j trascorsi (nell'esempio qui descrit
to ? NFN = 12). Ad ogni intervallo j calcola la media estesa
agli ultimi NFN intervalli j dei quadrati calcolati e quindi il
logaritmo della media che fornisce in uscita sul bus 2 0.
PLT ? sincronizzato dai segnali f c e 21 che, come
si vedr?, ? un segnale di periodo pari ad un intervallo j.
Con RG1 ? indicato un normale registro che riceve i
valori di potenza a lungo termine da PLT e, utilizzando il se -gnale sul filo 22 come segnale di orologio, li memorizza temporaneamente e li fornisce in uscita sul bus 23.
Quando il segnale di orologio ces sa, l'uscita di RG1
rimane fis sa al valore memorizzato all'ultimo periodo di detto
segnale d' orologio.
I dati sulla connes sione 23 sono sommati nel sommatore SI ad un valore costante, chiamato nel seguito soglia di aggancio SAG, memorizzato nella memoria ST01. La so-1 ? m 4 glia di aggancio ha valori diversi per le fasi di o ri h? _j 3 i ricerca dei punti di inizio e di fine effettivi della - fra OJ ? 9
73 -g a se (nell'esempio descritto, rispettivamente di 6 e 5 dB): questi O <? g 2 3>-valori sono letti in base ai due livelli logici del segnale 39 for c T3 u M nito a STOl come indirizzo.
I dati in uscita da SI sulla connessione 25 sono forniti
al registro RG2, del tipo di RG1 , che, quando ? presente il segnale di o rologio sul filo 22 le fornisce tramite la connessione
26 al secondo ingres so del comparatore CMPl ,' Quando cessa
il segnale di orologio, anche l'uscita di RG2 rimane fis sa.
CMP1 fornisce in uscita sul filo 33 un segnale indicativo del valore relativo delle due grandezze d?ingresso : in
particolare se il Calore sul bus 26 ? maggiore di quello sul bus 32,
sul filo 33 sar? presente uno zero logico; un uno logico nel caso opposto.
Con OFR ? indicato un divisore di frequenza del segnale fc che riceve in ingresso; OFR fornisce in uscita sul
filo 21 un segnale di periodo pari al periodo di intervallo j. L 'uscita di OFR ? attivata quando ? attivo il segnale
sul filo 52 applicato all'ingres so di abilitazione di OFR.
Il filo 21 ? portato ad un ingresso delle porte AND
34 e 3 5 ai cui secondi ingres si sono portati i valori negati dei
segnali sui fili 3 3 e 3 6. Le uscite delle porte 34 e 35 costitui 'C O c? .1
?d ci S ? scono gli ingressi della porta OR 37 la cui uscita ? il segnale di ? re _j L ? o ? ?3 abilitazione sul filo 22. co % O & S Con CTI ? indicato un contatore programmabile del tipo o S s ? avanti/indietro atto a contare il numero di intervallo, quindi il numero delle oscillazioni del segnale sul filo 21.
CT I riceve i comandi di inizio conteggio sul filo 3 8,
e di avanti o indietro sul filo 39; inoltre pe r il conteggio in avanti, che ? svolto durante la ricerca del punto di inizio frase, ? predisposto ad iniziare dal valore 0, mentre per il conteggio
indietro, che ? svolto durante la ricerca del punto li fine frase,
? predisposto ad iniziare dal numero di frames massimo
NFMAX, cio? il numero di frames contenute nell'intervallo di
tempo utile per pronunciare la frase.
I valori 0 e NFMAX sono contenuti nella memoria
ST02 letta mediante il segnale di avanti/indietro del filo 39.
L'uscita di CTI sul bus 40 ? portata ad un normale
comparatore CMP2 del tipo programmabile che la confronta
con un valore di soglia contenuto nella memoria ST03.
Durante la fase di ricerca del punto di inizio frase
ti , la soglia ? costituita dal valore DN; quando il valore di conteggio fornito da CT I sul bus 40 diviene maggiore della so-? ?c O ? .
ca d, glia fornita da ST03 , CMP2 emette un segnale di abilitazione o ?
? sul filo 41 che ? fornito alla porta AND 42 e consente a questa j? iJ??a O UJ ? _ '3 ? a> % a di fornire il segnale del filo 21 , applicato al suo secondo ingres sa^ a o S al blocco DR sul filo 43 come segnale di abilitazione. C ? n> c ? Invece durante la fas e di ricerca del punto di fine frase ^, la soglia ? costituita dal valore (NFMAX-DN); quando il
conteggio fornito da CTI diviene minore della soglia , CMP2
emette detto segnale di abilitazione sul filo 41 .
Il segnale sul filo 39 ? quindi portato a ST03 , come
indirizzo per scegliere il valore di soglia da fornire in uscita, e a CMP2 per programmare il tipo di comparazione da eseguire.
Con CMP3 ? indicato un comparatore programmabile
simile a CMF2 e atto a rivelare un?eventuale condizione di errore che si verifica se il circuito di fig. 3 non riesce ad individuare i punti di inizio o di fine effettiva della frase.
CMP3 confronta il valore di conteggio di CTI , fornito
tramite il bus 40-con un valore di soglia fornito dalla memoria
ST04.
Durante la fase di ricerca del punto ti , la soglia fornita da ST04 ? costituita dal valore (NFMAX-40 ); se il valore di con?
teggio di CTI diventa maggiore della soglia , CMP3 emette un
segnale di errore sul filo 44.
Durante la fase di ricerca del punto _tf_, la soglia
fornita da ST04 ? costituita dal valore 40; se il valore conteggiato da CTI diviene minore di questa soglia, CMP3 emette
il segnale di errore sul filo 44.
Il segnale sul filo 39 ? portato a ST04 come indirizzo per scegliere la soglia da fornire in uscita, e a CMP3 per programmare il tipo di comparazione da eseguire. Cu t/5 Con RG4 ? indicato un registro atto a memorizzare o ?a o> il numero di intervalli pres ente sul bus 40 nell'istante in
a D cui il segnale di abilitazione sul filo 3 3 commuta a l . Il
2 ? segnale sul filo 33 ? infatti applicato all'ingresso di orologio di RG4. Il valore memorizzato ? poi fornito sul bus
45.
Con CT2 ? indicato un contatore atto a contare fino ad un valore maasimo (nell'esempio qui descritto CT2 conta fino a 3 ) dall'istante in cui il segnale sul filo 33 , applicato al suo ingresso di ripristino, cambia stato logico (nell'esempio va a 1 ). CT2 conta i periodi del segnale sul filo 46
che ? l'uscita della porta AND 47 ai cui ingressi sono por
tati i fili 21 e 33. Il segnale sul filo 33 agisce quindi come
abilitazione per la porta AND 47 per fornire il segnale sul
filo 21 a CT2 sul filo 46. .
CT2 fornisce il conteggio sul bus 48 al comparatore
CMP4 che lo paragona con una soglia fis sa contenuta nella
memoria ST05.
Finche la soglia non ? superata, CMP4 fornisce il
segnale di abilitazione sul filo 36 alla porta 35 che quindi rimane abilitata per 3 intervalli j successivi a, quello in cui il
segnale sul filo 33 va a 1. In altra parole, per 3 intervalli j
successivi a quello in cui viene disabilitata la porta AND 34,
il segnale sul filo 21 ? ancora fornito ai registri RG1 e RG2
tramite la porta AND 35. o ?s ? & o ? Con CT 3 ? indicato un' contatore del tipo di CT2. An H o w _ ?* _ ? u che CT3 riceve il segnale sul filo 33 come segnale di ripristino co ? 3
O l/l 8: O 8. e conta i periodi del segnale del filo 46 che riceve all?ingresso C o di conteggio.
CT3 fornisce il conteggio sul bus 49 al primo
ingresso del comparatore CMP5 che lo paragona con un
valore di soglia fornito dalla memoria ST06 e denominato
numero di intervallo ottimale di aggancio; durante la fase
t
di ricerca del punto _ti_, detto valore di soglia indicato
con FRAGB^? posto uguale a 15, mentre durante la fase
di ricerca del punto _tf_ detta soglia , indicata con FRAGE ,
? posta uguale a 1 8. Il segnale 39 ? fornito a ST06 co
me indirizzo per la scelta del valore di soglia .
Quando il valore sul bus 49 supera la soglia
fornita da ST06, CMP5 emette un segnale di a bilitazione sul filo 51 che significa che il numero di intervallo
j presente in RG4 ? considerato come punto di effettivo
inizio o fine della frase , cio? come intervallo ti oppure tf .
Con LC ? indicato un circuito logico di controllo : la
sua realizzazione non costituisce problema per il tecnico del
ramo una volta note le funzioni logiche svolte , descritte qui
di seguito .
Il modo di operare del circuito LC , come del resto
di tutto il blocco RIF, ? lo stesso sia in fase di addestramento che di verifica,
LC genera e fornisce sul bus 53 gli indirizzi per la
memoria MM1 sfruttando il segnale a frequenza di campiona-"C o . mento fc fornito gli da AD (fig. 1 ). A questo scopo LC c.ontiene ? ?
? ? *8 -a un contatore programmabile del tipo avanti /indietro che conta
UJ. 5 i periodi del segnale f c : il conteggio ? fornito sul bus 53 co ? g C g Ci me indirizzo. Sul bus 53 ? anche presente il comando di lettura/ *-* . ? <
C &> H a> O scrittura per MM1.
All'istante di iniz io del tempo utile per pronunciare una frase, che nell'esempio qui desc ritto ? l'istante in cui il parlatore agisce sul pulsante PU, il contatore
interno di LC inizia a contare i n avanti partendo dal va
lore " 0" ; inoltre LC genera il segnale di scrittura per
MMl .
Alla fine del tempo utile per pronunciare la
frase, determinato da un orologio interno ad LC, il
contatore di indirizzi viene ripristinato a zero e vengono generati il segnale di lettura per MM1 , i segnali di abilitazione 52. e 38 , e il segnale di conteggio
in avanti per CT I sul filo 39.
A questo punto inizia la lettura dei campioni numerici
dalla memoria MM1 ed inizia la fase di ricerca del punto di inizio effettivo della fra*, e.
In seguito possono verificarsi due casi : o proviene il
segnale di errore sul filo 44, o il segnale di abilitazione sul
filo 51.
Nel primo caso le operazioni di RIF vengono interrotte. Il parlatore dovr? ripetere la frase appena pronunciata: ? *5
<4 LC invia tramite il filo 3 tale segnalazione al blocco ER
U? .y 05 "? ? (fig. o.
o s I o w- o u Nel secondo caso LC memorizza in un registro interno il *2 o H U
valore pre sente sui bus 45 , cio? il numero di intervallo ti , e quindi determina l?inizio della fase di ricerca del punto di fine effettiva della frase.
LC cambia livello logico al segnale sul filo 39 deter -minando il conteggio all?indietro di CTI , e ripristina al valore/^"
1?1
I u) t ? v ? NFMAX il contatore di indirizzi interno e ne comanda il contegA?^o^i^lv >2* 'CHI ? gio all'indietro.
In seguito si pu? verificare uno dei due casi seguenti:
o proviene il segnale di errore sul filo 44 o il segnale di abilitazione sul filo 51.
Nel primo caso le operazioni di RIF vengono interrotte ed il parlatore dovr? ripetere la frase.
Nel secondo caso L C memorizza nel suo registro
interno il valore presente sul bus 45, cio? il numero di intervallo ^. A questo punto la ricerca dei punti di inizio e fine effettivi della frase ? te rminata. Allora LC disabilita i segnali sui
fili 52 e 3 8. Poi calcola il valore tf - ti = J e lo confronta con
il valore M- memorizzato in un registro interno : se risulta
| J - M | ? R , allora fornisce il segnale di abilitazione sul O ? ? Qn c ? filo 4*, che si congiunge col bus 4, al blocco EP (fig. 1 ) per >- ?? -a J vJ O uJ ? S iniziare la fase di estrazione dei parametri caratteristici delo ^ a la frase : a questo scopo ripristina il contatore di indirizzi in o 8
C u ? ? terno al valore di intervallo ti_ presente nel suo registro interno e comanda il conteggio in avanti fino al valore di intervallo _tf_.
Se invece dal confronto di cui sopra ri sulta la condizione opposta , LC emette un segnale sul filo 3 che
? portato al blocco ER (fig. 1 ) e determina la ripetizione
della frase appena pronunciata che ? risultata o troppo veloce o troppo lenta.
Verr? ora desc ritto il funzionamento del blocco
RIF, di fig. 3, facendo pure riferimento alla fig. 4.
In fig. 4 ? mostrato un possibile andamento dei
segnali presenti sui fili 4 , 26, 31 , 32 del blocco RIF
di fig. 3 durante la fase di ricerca del punto di inizio
effettivo _ti_ della frase. Sull'asse temporale si ? ripor ?
tata una suddivisione in intervalli j a partire dall'istante to di inizio della suddetta fas e e corrispondente al
primo intervallo del periodo disponibile per pronunciare
la frase.
Per la fase di ricerca del punto di fine effettivo
dalla frase tf_ valgono ancora le stesse curve di fig. 4 con
l'accortezza di considerare la direzione sinistra -? destra come direzione decrescente nel tempo : allora l'istante to_ corrisponder? all 'intervallo TU di fine tempo utile per pronunciare la
frase, l'intervallo _ti. diventer? tf , l'intervallo DN diventer?
(TU - DN). ? ss g ? S ? Quando il parlatore agisce sul pulsante PU (fig. 3 ) ? g -q i L o LU il blocco LC inizia ad indirizzare tramite il bus 53 la memoria
O ^ MM1 in cui vengono scritti i campioni numerici relativi all'in C > e te rvallo di tempo utile TU per pronunciare la frase.
Al termine di questo intervallo inizia la fase
?
di ricerca del punto _ti_ : dall'istante _to in poi LC indirizza nuovamente MM1 che fornisce i campioni sul
bus 4.
Inoltre LC rende attivi i segnali sui fili 52 ,
38 e d? il segnale 39 di conteggio in avanti a CT I che inizia a contare r. periodi del segnale 21 fornito da
OFR.
All'uscita di PLT si hanno sul bus 2 0 i valori
di potenza a lungo termine , mentre all'uscita di S3
sul bus 31 i valori pesati di potenza a breve termine ;
sul bus 20 i dati sono ritardati di un tempo pari a DN , introdotto dal blocco T I ( Fig. 3 )t rispetto ai dati presenti sul filo 31 .
Il segnale 26 ? aumentato del valore di soglia di
o ? aggancio SAG rispetto al segnale sul filo 20. #~3?
ULI
Il segnale sul filo 32 rimane a zero fino all'istan-O w ?|f 3 p -3 te DN in cui l 'uscita di CMP2 sul filo 41 cambia livello
logico ed ? attivato il segnale sul filo 43 ; da questo istante il segnale 32 ricalca l'andamento del segnale 31 mostrato in fig. 4.
All'istante _tc l'uscita di CMP1 commuta poich? il segnale sul filo 32 assume un valore maggiore di quello sul filo
26 e il segnale sul filo 33 va a "1". Allora la porta 34 viene disabilitata, le porta 42 e 47 abilitate, i contatori CT2 , CT3
iniziano a contare e viene memorizzato in RG4 il numero di
intervallo j pres ente sul bus 40 (cio? il valore di conteggio raggiunto da CTI ).
Se il segnale sul filo 33 rimane a " 1" per un
tempo successivo a _t? sufficiente per consentire all'uscita
51 di CMP5 di commutare (cio? per 15 intervalli j consecutivi) , allora LC legge da RG4 il valore ivi memoriz^ ??
zato e lo interpreta come istante _ti^ di effettivo inizio
della frase.
Ma ? facile verificare dalla fig. 4 che dopo l'intervallo Jtc il segnale sul filo 33 ? maggiore di quello sul filo 26 solo
per 2 intervalli. consecutivi .
Allora il contatore CT3 viene ripristinato a zero dallo stesso livello logico sul filo 33 , prima che il suo conteggio
superi il valore di soglia di ST06: LC non legge il valore presente
in RG4 che non viene interpretato come istante ti . La ricerca
del punto ti continua come s a nulla fosse accaduto: infatti il contatore CT I continua nel suo conteggio in avanti non avendo rice -vuto segnali di ripristino; la porta 34 ? riabil itata come pure i registri RG1 , RG2 ; i contatori CT2, CT 3 sono ripristinati a
zero.
Tutto ci? accade anche dopo l'intervallo td in cui
CMP1 commuta nuovamente.
All'intervallo te si ha un'altra commutazione di CMP1 : ? facile vedere- che in questo caso l'uscita di CMP1 rimane a
"1" per pi? di 1 5 intervalli consecutivi: allora l'uscita 51 di C <U'
<u ?-? CMP5 commuta, e LC legge da RG4 il valore _t? ivi memoriz -zato e lo interpreta come intervallo ti di inizio effettivo della
frase.
Quindi LC cambia livello logico al segnale sul filo 39,
e d? inizio alla fase di ricerca del punto tf .
Dopo gli istanti tc , tti, te, la porta 3 5 rimane ancora
abilitata per il numero di intervalli contati da CT2 fino a quando
l'uscita di CMP4 sul filo 36 commuta; l'effetto di CT2 , CMP4,
35 ? quello di prolungare il periodo di abilitazione dei registri
I RG1 , RG2 per alcuni intervalli j successivi alla commutazione
?g ?a di CMP1 : ultimato questo periodo l'uscita di RG2 sul bus 26 ri ? d.
-mane fissa. In questo modo si aumenta l'immunit? ai disturbi j? Ls-a O
MJ U ? ?a del processo di ricerca dei punti ti e tf . ? Qi??l a Un'ultima condizione, non prevista nell'esempio di
fig. 4, ? quella relativa al caso in cui dopo l'istante to, oppure
dopo una commutazione di* CMPl per un tempo troppo breve,
l'uscita di quest'ultimo non commuti pi?; allora all' intervallo
(TU-40) commuta l?uscita di CMP3 sul filo 44 segnalando una
condizione di errore, cio? una condizione in cui la frase
non ? stata pronunciata , oppure il suo livello sonoro ?
insufficiente . Allora LC ritorna all'inizio delle procedure predisponendo la memoria MM1 per una nuova operazione di sc rittura.
11 funzionamento del circuito RIF durante la fas e di
ricerca del punto tf ? del tutto analogo a quello finora descritto
per il punto ti . Ora il contatore CT I conta all'indietro partendo dal valore massimo TU.
Alla fine di questa fase, LC disattiva il segnale 52 ,
che blocca l'uscita di OFR, e il segnale 38 che ferma il conta
tore CTI . Quindi LC attiva il segnale 4' di abilitazione per il blocco EP di fig. 1 al quale vengono inviati il successione sul bus
4 i campioni numerici dell'intervallo delimitato dagli istanti ti
e tf .
In fig. 5 ? mostrato lo schema circuitale del blocco
AT di fig. 1.
Per completezza di trattazione la memoria MM2 di
fig. 1 ? stata riportata anche in fig. 5, dove con C BC ? indicato
un blocco circuitale atto a calcolare le matrici , G .
P JM ?
MM2 fornisce sul bus 6 i vettori e m a CBC ed ? indiriz zata tramite il bus IND6 dalla logica di controllo LGC.
Con MM5 ? indicata una memoria del tipo a lettura
H P c* e scrittura che riceve dal blocco EP di fig. 1 tramite il bus ?r ? r ? o o ? P CQ O
5 i vettori e. della matrice che fornisce poi a CBC sempre trami- g | co j KJ S | m te il bus 5 e indirizzamento fornito da LGC sul bus IND5. LGC forni s r?
K> ? sce pure a MM5 il segnale di lettura /scrittura sul filo RW5.
^ a: Ad ogni operazione di lettura dati dalle memorie
MM2 e MM5 , LGC fornisce un "l" logico sui fili rispettivamente FL6 e FL5 che diventano un filo supplementare dei bus 6 e
5, e stanno ad indicare la presenza di dati su detti bus.
La struttura interna del blocco CBC verr? ora esaminata facendo riferimento alle figure 6 e 7.
In fig. 6 con C(-R}. . . . CO. . . . CR (dove R ? il valore(5> ( definito in relazione alla fig. 2) sono indicati 2R+1 circuiti
uguali, denominati nel seguito celle, interconnes se tra loro secondo due configurazioni in cascata rispettivamente di indice pari e
dispari.
I bus 5 e 6 sono connes si agli ingressi delle celle degli estremi opposti delle configurazioni a cascata: i dati che es -si portano ( i vettori e ed e ^ rispettivamente, pi? il bit aggiuntivo per indicare la presenza di dati) vengono fatti fluire
nelle direzioni opposte attraverso le "due" cascate di celle in
modo tale che ad ogni passo e a regime in una data cella siano contemporaneamente presenti i vettori e . ed e ^ la cui
differenza di indice ? uguale all'indice della c ella (ad esempio
nella cella CO saranno presenti i vettori per cui j = m e cos?
via).
Le celle Cr(-R ? r ^ R) sono atte a calcolare gli
l i elementi delle materici D , G , PJJ^ sopra definite, nel 3? a co O modo che risulter? pi? chiaro dopo aver descritto la struttura IL CO m circuitale di una di dette celle, ad esempio CO, mostrata in fig. 7. r 1 o *-? In fig. 7 con KEG5, REG6 sono indicati due registri S 3. a scorrimento del tipo parallelo/parallelo uguali che costituiscono un elemento di ritardo, di un tempo pari al periodo del
segnale di orologio CK1 , applicato al loro ingresso di clock,
e generato dal blocco LGC (fig. 5), per i dati presenti rispettivamente sui bus 5 e 6.
I dati sul bus 6 all'ingresso di REG6 provengono dal*? l' equivalente registro della cella C2 (fig. 6) mentre i dati in
uscita di REG6 sono destinati al registro equivalente della cella C (-2 ); la situazione opposta si verifica invece per i dati sul bus
5 che provengono a REG5 dal corrispondente registro delle cella
C(-2 ) e sono destinati alla cella C2.
Con CDS ? indicato un blocco atto a calcolare i valori
di distanza D(j, m): esso ? composto di K sottrattori, uno per
ogni coppia di componenti dei vettori e . , e portati dai bus
5 e 6, in uscita dai registri REG5 e REG6, ai corrispondenti
ingressi dei sottrattori. CDS comprende inoltre un sommatore
di tutti i valori calcolati dai sottrattori, presi senza l'informazione del segno. L'uscita del sommatore ? il valore di distanza
D(j , m) fornito sul bus DD al blocco CDA .
Con TFL ? indicato un blocco atto a fornire sul filo
TT un segnale di abilitazione al funzionamento dei blocchi CDA
?1 3 e REG7 solo se si verifica la pres enza contemporanea di dati ? 3 0 cj ? E. a sui bus 5 e 6 delle uscite dei registri REG5 e REG6 : TFL ? ?- C/3
I. Q m O r* 1 E. g costituito da una porta AND che verifica la presenza contempov
? sa b o ranea di un "1" logico sui fili dei bus 5 e 6 che portano l'infor ? 3.
mazione di presenza dati.
Con CDA ? indicato un blocco atto a calcolare le distanze accumulate G (j, m). Ai suoi ingres si provengono: i valori di distanza accumulata appena calcolati dalle celle CI e
C(-l ) di indice contiguo e portati tramite i bus Gl e G(-l ) rispettivamente; sul bus GG il valore di distanza accumulata
calcolato al passo precedente e memorizzato temporaneamente
nel registro REG7 il cui ingres so ? connes so con l'uscita di
CDA ; il valore di distanza dal blocco CDS.
CDA comprende un comparatore che verifica e fornisce all'uscita sulla connes sione PO un'indicazione di quale
dei tre valori di distanza accumulata ? il minimo; l'indicazione
? costituita da due bit dei seguenti valori:
' Oc rt) . - "11" se il minimo ? G (j-1 , m-1 ) ; ra L CL o 50 - "1 0" se il minimo ? G (j, m-1 ); I >4 o ..H L> - "01 " se il minimo ? G (j -1 , m); 11 - " 00" se il blocco CDA non ? attivato. ? 2 u ?
? TJ CDA comprende inoltre un sommatore del valore di
distanza presente sul bus DD e del minimo appena verificato
dei tre valori di distanza accumulata. La somma calcolata ? il
valore G (j , m) che fornisce in uscita sul bus GO.
Con CK21 , CK22, CK23 sono indicati i segnali di
orologio rispettivamente per i blocchi CDS, CDA , REG7; detti segnali sono ottenuti dal segnale CK1 opportunamente ritardato e costituiscono la conne ssione CK2 , proveniente dal bloc -co LGC (fig. 5).
Tornando alla fig. 6 si pu? vedere che il bus Gr
(-R r R) che esce dalla generica cella C r ? connesso alle
due celle di indice contiguo appartenenti all'altra configurazione in cascata.
Alle celle terminali CR e C (-R) ? connesso solo il bus
G(R-l ) e G(-R+l ) rispettivamente e quindi all,!ingresso rima
sto libero, dei rispettivi circuiti CDA (fig. 7) di dette celle, verr? cablata una configurazione di bit' tale da non venire mai interpretata come valore minimo da detti circuiti CDA.
Le connessioni Pr uscenti dalle varie celle compongono il bus PP che sar? quindi formato da 2(2R+l ) fili.
Il segnale di orologio CK1 ? portato a tutte le celle della fig. 6, mentre i segnali sulla connessione CK2 sono portati
solo alle celle di indice pari (quelle di destra in figura); alle celle di indice dispari sono portati invece i segnali di orologio presenti s ulla connessione CK3 , costituiti da quelli della connes sione CK2 opportunamente ritardati.
Il funzionamento del circuito di fig. 6 ? il seguente : o tf ?5 t? o 1/5 ad ogni impulso di CK1 i da ;i sui bus 5 e 6 scorrono di una
^ -a o posizione attraverso le celle C r nelle due direzioni opposte UJ 0*3 T ?3 o ? e evidenziate in figura. Ogni cella inizier? ad operare solo quan 2 a e <ut ? H do in essa saranno presenti dati su ambedue i bus 5 e 6. Al
periodo (R/2+1 ) - esimo di CK1, nelle celle C O , CI , C ( ? 1 )
saranno presenti dati su ambedue i bus 5 e 6: nella cella CO
i vettori e^ , em per cui j=m=l ; nella cella CI i vettori per
cui j = l , m = 2 , e nella cella C(- l ) i vettori per cui j = 2 , m=l .
Nell'ambito di questo periodo del segnale di orologio CK1 verranno allora eseguite le seguenti operazioni nel
? - G seguente ordine :
la cella CO calcola il valore D(l , l ); poi G(l , l ) che fornisce
?'CVL ' sul bus GO: ? da notare che G(1 , 1 )=D(1 , 1 ) poich? i bus G(1 ),
C-(-l) e GG recano valori nulli; quindi CO calcola F(l, 1) e lo fornisce sulla connessione FOj
- le celle CI e C(-l) calcolano rispettivamente i valori D(l,2) e D(2,l); poi i valori G(1 ,2) e G(2, 1) che forniscono sui bus
Gl e G(-l); quindi i valori F(l,2) e P(2,l) che forniscono
sulle connessioni FI e P(-l).
Dalla successione delle operazioni appena : descritte risulta automaticamente definito lo sfasamento nel tempo che deve avere ogni segnale di orologio delle connessioni CK2, CK3 rispetto a quello principale sul filo CK1 .
Al periodo successivo (R/2+2) -esimo di CK1, nelle seguenti celle saranno presenti i vettori e j , em di indice
s e gu ente :
in CO -* j = m = 2
in CI -? j = 2; m = 3 SJ d. in C2 ? ? j = 1 ; m = 3 ? ?sJ-.aS ? 3 in C3 -*>j = 1; m = 4 ?'l ,? ! in C(-l)?-j = 3; m = 2 ? c; JS ;U H XJ
in C(-2)-*j = 3; m = 1
in C(-3 ) -? j = 4; m =1
Quindi nell'ambito del suddetto periodo le celle suddette eseguiranno i calcoli nel modo descritto in precedenza.
Ai periodi successivi il numero di celle attivate aumenter?
fino ad arrivare alla condizione di attivazione di tutte le celle, dopo R l periodi di CK1.
Il blocco CBC termine r?, le proprie operazioni quando tutte le celle saranno disattivate, cio? quando i rispettivi
circuiti TFL (fig. 7) verificheranno l'assenza di dati su uno dei
bus 5, 6 o su tutti e due.
Tornando alla fig. 5, la struttura della logica di controllo LGC ? automaticamente definita una volta note le funzioni
svolte, che verranno descritte nel seguito.
Il blocco CBC fornisce sul bus P P i valori di pendenza P(j, m) che vengono memorizzati nella memoria MEMP del
tipo a lettura e scrittura che riceve direttamente da LGC il comando di lettura e scrittura RWP, e sul bus ADDP gli indirizzi
per la fase di scrittura .
Per la fase di lettura invece, MEMP riceve gli indirizzi sul bus ADDP dal circuito CPI.
In MEMP i dati vengono scritti sequenzialmente , in
modo da formare una tabella in cui ogni riga ha dimensione
?C ., pari a quella del bus PP, come si pu? vedere d?lia fig. 3. 2 <*.
g ? o ? Inoltre il circuito CBC calcola i valori F(j, m) in ?-?s-a tu u '? modo tale che sul bus PP siano disponibili alternativamente co f '3 o ? a quelli calcolati dalle celle si indice pari e dispari: ci? si riflet ? g ?? 8 u ?u u M< te anche nella disposizione dei dati in MEMP, in ogni riga della quale saranno scritti i valori P(j , m) per cui la somma degli indici j , m ? uguale ad un valore costante alternativamente
pari e dispari (fig. 8).
La logica di controllo LGC (fig. 5) riceve i dati del
bus PP per verificare la presenza di "I" logici su di esso, ed inizia a fornire gli indirizzi a MEMP per la fase di scrittura in corrispondenza del secondo invio di dati su P da parte di CBC;
il valore P(l , 1 ) non viene quindi memorizzato poich? non interessa, essendo i valori P (j , ra) le pendenze dei tratti di spez -zata _at che precedono i punti di uguale indice. Inoltre LGC termina la fase di scrittura in MEMP quando tutte le celle di CBC
sono disattivate -e su PP sono presenti tutti "0" logici: l?ultima scrittura in MEMP si ha quando j+m = J+M (fig. 8).
All?ultima operazione di scrittura in MEMP (fig. 5 ), sul bus PP sar? presente un unico dato valido , cio? il valore
P (J, M), poich? tutte le altre celle di CBC saranno gi? disattivate : LGC controlla quindi la posizione Pr di P(J, M) e fornisce a CPI sul bus BCP detto valore di posizione Pr, ed il valore J+M corrispondente all'ultimo indirizzo di scrittura. Inoltre "G O rt .
? ?< O "? LGC , dal valore J+M ricava il valore J per sottrazione di M
?1 ? che ? un valore fisso e fornisce a CPI i valori J ed M sempre LU ? 3
W? '3 u ? a sul bus BCP.
? ? ? Q- ?? <u <? Con CPI ? indicato un circuito, la cui struttura ? evidenziata all?interno del tratteggio, atto a generare gli indirizzi
per la fase di lettura di MEMP che avviene in direzione inversa rispetto alla fase di scrittura, partendo dalla posizione di MEMP in cui ? presente P(J, M); CPI ? atto inoltre a generare dati ed indirizzi per la memoria MEMC alla quale la logica LGC invia
il segnale di lettura/scrittura sul filo RWP,
CPI comprende quattro registri j, m, nr, pr, atti a contenere rispettivamente i valori correnti degli indici j , m,
del numero di riga nr di MEMP, della posizione Pr sulla riga
di MEMP da cui leggere il valore P(j, m ). Detti registri sono
caricati, all'inizio delle operazioni di CPI, tramite comando impartito da LGC sulla connessione CCP ,ai valori iniziali J, M,
J+M, Pr, il contenuto dei registri nr, pr serve per
l'indirizzamento di MEMP, mentre quello dei registri j , m
viene memorizzato nella memoria MEMC delle coordinate j, m
dei punti della spezzata at (fig. 2).
CPI comprende inoltre una logica aritmetica LAR
la cui realizzazione non ? un problema per il tecnico del ramo
una volta definite le funzioni svolte, descritte qui di seguito.
LAR lavora ih modo iterativo, svolgendo ad ogni ite g i ? 1 05 razione le seguenti operazioni: ^ h v-) oa UJ ^ ? a) scrittura in MEMC, tramite il bus VIN, del contenuto dei ? ? 'a a 3 <J ? a registri j, m : ? realizzata in modo sequenziale mediante un ? s3 ? u C ? * ?u< <J ^ contatore che invia il suo contenuto sul bus ADDC degli indirizzi per MEMC; la logica LGC fornisce a MEMC il segnale di scrittura sul filo RWC;
b) indirizzamento di MEMP mediante l'invio sul bus ADDP del contenuto dei registri nr, pr, e lettura del valore P(j, m)
tramite il bus VP; la logica LGC fornisce a MEMP il segnale di lettura sul filo RWP;
c) modifica del contenuto dei registri nr, pr, j, m in base alla
verifica del valore P(j, m) appena ricevuto , nel seguente modo:
- se P(j , m) = 11 , decrementa di 2 unit? il numero di riga nel registro nr, decrementa di 1 unit? i valori di indice nei
registri j, m, e nel passo succes sivo legge . da MEMP
il valore P(j, m) della stessa posizione di due righe precedenti: ci? corrisponde ad aver percorso a ritroso un
tratto obliquo sulla retta at [fi g. 2);
- se P(j, m ) = 1 0 , decrementa di 1 unit? il numero di riga nel registro nr, incrementa di 1 unit? la posizione di riga nel registro pr, decrementa di 1 unit? il valore di indice nel
registro j , e nel passo successivo legge . da MEMP il valore P(j, m) di una posizione pi? a destra della riga precedente : ci? corrisponde ad aver percorso a ritroso un tratto
' verticale sulla , retta _at (fig. 2); o? - cdI ra d, o ? ? -9 ?-, - se P(j , m) = 01 , decrementa di 1 unit? il numero di riga I i-J c SJ UJ o ' nel registro nr, decrementa di 1 unit? la posizione di riga w | o ? o nel registro pr, decrementa di 1 unit? il valore di indice u.
C 4> ? " H nel registro m, e nel pas so successivo legge da MEMP
il valore P(j, m) di una posizione pi? a sinistra della riga precedente: ci? corrisponde ad aver percorso a ritroso
un tratto orizzontale sulla retta at_ (fig. 2).
LAR segnala a LGC, tramite la connessione CC P,
la fine delle iterazioni quando i registri j, m contengono ambedue il valore 1. A questo punto in MEMC ? presente la ta
bella di tutte le coppie di indici j, m che risultano coordinate
della spezzata _at (fig. 2).
Allora LGC comanda l'inizio della fasi di lettura di
MEMC , tramite il filo RWC , e del funzionamento del blocco
ALTE, tramite l'invio a questo del segnale di orologio CCE.
Con ALTE ? indicato con tratteggio un circuito atto
a generare la matrice X dei parametri allineati anche mo-
KM *
?c . strata in fig. 2 , che sc rive nella memoria a lettura e scrittura 2 ? o 2 ?> MEMM. J -4 ?
CO ? ALTE comprende : i registri RSj, RSm, RSC atti a contenere gli indirizzi per le memorie MM5, MEMM, MEMC rispettivamente, forniti a queste sui bus IND5, ADDM, ADDC ;
un circuito di abilitazione ABL per il trasferimento dei dati del
bus 5 sili bus dati DAM della memoria MEMM; un comparatore CMPA
dei dati presenti sul bus VPR con quelli presenti all'uscita del
registro RSm; unit? aritmetiche costituite da un contatore
CNTA, un sommatore SMA, un moltiplicatore MLTA, un divisore DVA; una logica di controllo LGCA che comanda il funzionamento di dette unit? aritmetiche per calcolare il valore dei
vettori e m da fornire sul bus DAM alla memoria MEMM, in corrispondenza con i tratti a pendenza verticale della spezzata _at (fig. 2 ) ,e che genera inoltre gli indiri zzi per la memoria
MEMC e il segnale di lettura/scrittura RWM per la memoria
MEMM.
'?? a? , a ?-\? 0?? v\?>j La logica LGCA ? sincronizzata dal segnale di oro
logio CCE generato dalla logica di controllo LGC.
La realizzazione della logica di controllo LGCA non
costituisce problema per il tecnico del ramo una volta note le
funzioni svolte che verranno elencate qui di s eguito nel corso
della descrizi one del funzionamento del blocco ALTE.
ALTE lavora in modo iterativo svolgendo un'iterazione ogni periodo del segnale CCE.
Al primo impulso di CCE, la logica LGCA inizializza
i registri RSj , RSm, RSC al valore 1 tramite comando sulla
connessione CKRS e fornisce un segnale di abilitazione CKAB
? oc d. alla porta ABL, dimodoch? il vettore ei letto dalla memoria o c? MM5 sia scritto nella prima posizione della memoria MEMM LU o CO 'g ? come vettore e j della matrice X KM ? e che sia presente sul u ? a o 8 ?3 ? C u bus VPR la prima coppia di indici j, m (quella relativa al se <? ?.
condo punto della spezzata at).
Ai succes sivi impulsi di CCE, LGCA svolge le seguenti operazioni:
a) tramite comando sul filo CKCP abilita il comparatore CMPA
che fornisce a LGCA sulla connessione RCP il risultato della comparazione tra il valore di indice m presente sul bus VPR
con quello presente all'uscita di RSm sul bus ADDM;
b) fornisce ai registri RSj, RSm il segnale CKRS che determina l'aggironamento del loro contenuto con i valori j , m presenti sul bus VPR;
cl ) se il risultato della comparazione svolta da CMPA ? che il
il valore sul bus VPR ? maggiore di quello all'uscita di RSm (il che significa che il tratto di _at che unisce le due coppie
di indici ? a pendenza orizzontale od obliqua), LGCA fornisce
il segnale CKAB ad ABL: allora il nuovo vettore presente sul
bus 5 verr? scritto in MEMM nella nuova posizione indirizzata da RSm; poi LGCA aumenta di una unit? il contenuto di RSC
che indirizza la posizione succes siva di MEMC e pone a 1 il
contatore CNTA tramite comando sulla connes sione CKCN;
c2 ) se invece il risultato della comparazione svolta da CMPA
? che gli ingressi hanno uguale valore (il tratto di at_ che unisce le due coppie di indici ? a pendenza verticale), LGCA g ri d ? d? il segnale di lettura sul fj.lo RWM a MEMM e rilegge il va ? -?
LU ? lore di em appena scritto che viene fornito ad un ingres so co ;|
O & di MLTA al cui secondo ingres so ? presente il contenuto di o c o u CNTA ; quindi tramite comando sul filo CKML fa eseguire a
MOLT il prodotto tra i due ingressi che e fornito ad un ingres so di SOM, al cui secondo ingres so ? connesso il bus 5
su cui ? presente il nuovo vettore ej appena letto; poi incrementa di uno il contenuto di CNTA e tramite comando sul
filo CKSM fa eseguire a SMA la somma degli ingressi che ?
fornita ad un ingresso di DVA al cui secondo ingresso ? connes sa l'uscita di CNTA; quindi tramite comando sul filo CKDV
fa eseguire a DVA la divisione dell'uscita del sommatore per
il numero pre sente all'uscita di CNTA ; infine d? il segnale
di scrittura sul filo R.WM a MEMM e fa scrivere nella posi
zione indirizzata da RSm, che ? rimasta immutata, il valore all'uscita di DVA.
Quindi in corrispondenza di un tratto verticale di at_
che comprenda N vettori ej consecutivi, ALTE esegue
la media artimetica tra detti N vettori svolgendo N volte
consecutive le operazioni d?i punto c2), calcolando ad ogni iterazione la seguente espressione : '-J . -c [( (e m ) n _ i ? (n - 1) (?j )n]
(? ) = -m n n
cio? alla n-esima iterazione (1 ?L n ?: N) legge dalla memoriaMEMM il vettore (e m )n_i ottenuto alla iterazione precedente e lo moltiplica per il numero (n-1 ) di iterazioni precedenti; poi somma il risultato ottenuto con il nuovo (ej )n
letto dalla memoria MM5 e quindi divide il risultato per
n e trova il valor m?dio attuale (e m ) n che riscrive nel -la stessa posizione di MEMM,
ib Lid Stor Corata entoure iiial T sponcazuncmeeo... Ad ogni impulso di CCE, la logica LGC controlla se
i valori j, m presenti sul bus VPR sono uguali ai valori massimi J, M presenti in suoi registri interni: quando ci? si verifica interrompe il segnale CCE.
A questo punto nella memoria MEMM ? completata
la na trice Pararne?ri allineati temporalmente della
frase appena, pronunciata: allora LGC fornisce il comando di inizio funzionamento per il blocco MP (fig. 1 ), sul filo 7 ' , che ? con
nes so ad un filo del bus 7.
In fig. 9 ? mostrato lo schema a blocchi del blocco
CSV di fig. 1.
Con GSI ? indicato un circuito atto a generare i segnali di comando per i circuiti di fig. 9 e gli indirizzi per la lettura della memoria MEM di fig. 1. I segnali di comando sono
generati in modo asincrono: alla ricezione del segnale di fine
di una operazione GSI genera il segnale di comando per l'operazione seguente.
La realizzazione del blocco GSI non costituisce pro-O ?
blema per tecnico del ramo una volta note le funzioni svolte,
c ^ indicate nel seguito. J H ?I O a UJ u : CO % ", Con CDEV ? indicato un circuito, di tipo noto, atto a o ? O _ a e e*x i calcolare la deviazione standard 6*^ della formula (5): a questo C= <?-.
<? f. u ^ scopo, per ogni valore di k riceve sul bus 14 dalla memoria
MEM di fig. 1 , indirizzata da GSI tramite il bus 19 , i valori
p^ n , una prima volta per calcolare il valor medio ?^ , ed
una seconda volta per calcolare le differenze n -p^ * quindi calcola il quadrato di ognuna di dette differenz e, somma i qua
drati tra loro e calcola la radice quadrata di detta somma. Il
valore ottenuto per un dato k ? la deviazione standard <s^_ che
scrive nel registro di indice corrispondente Rk (1 ? k ? K)
tramite il bus 60.
Ogni ope razione eseguita da CDEV ? comandata da
GSI in modo asincrono : tramite la connessione 61 , GSI fornisce
il segnale di comando per una data operazione quando riceve da CDEV, sempre tramite la connessione 61 , il segnale di fine
operazione precedente. -GSI fornisce anche ai registriRl , . . . , Rk,
. . . , RK i segnali di comando CL1 , . . . , CLk. CLK per le operazioni
di scrittura e succes siva lettura dei valori 0*, .
k
T erminate le operazioni di CDEV, GSI comanda tramite la connessione bidirezionale 63 le operazioni del blocco
PRD.
Con PRD ? indicato un blocco atto a calcolare la produttoria della formula (4), cio? il prodotto dei valori ' , letti dai
J&
registri RI , . RK su comando di GSI e fornitigli in successione tramite il bus 62.
Il prodotto ottenuto viene fornito in uscita sul bus 64
?c O J M ad un ingres so d?i divisore DVS1 che lo divide per la quantit? rt 0<
C ? ?* ( fl* elevato alla k-esima potenza) contenuta in I l-J 5 NORM NORM UJ ? 1 una memoria a sola lettura ST08 comandata in lettura da GSI CO ? 'rt O w " ^5 ? O o o? tramite la connes sione 65. La quantit? ottenuta ? fo rnita trami-- H te il bus 66 al blocco ELP, comandato da GSI tramite la connes -sione bidirezionale 67. ELP calcola la potenza Z -esima e quindi la radice K-esima iella quantit? ricevuta in ingresso e fornisce in uscita sul bus 68 il valore Y della formula (4).
Con CSF ? indicato un blocco atto a calcolare il valore di soglia fis sa Ps della formula (2). A questo proposito riceve dalla memoria MEM (fig. 1 ) indirizzata da GSI i vari valori
di pseudo-eventi p^ e, per ogni k, calcola l'area ,
tiene memorizzato il valore PkMAX e calcola la quantit?
PkMAX /^k ' calc?la il prodotto di tutte le quantit?
ottenute e le fornisce sul bus 69. La successione delle operazioni svolte da CSF ? comandata da GSI in modo asincrono tramite
la connessione bidirezionale 70.
Con DVS2 ? indicato un divisore che esegue la divisione tra i dati presenti sul bus 63 e quelli sul bus 68 e fornisce
in uscita sul bus 18, verso il comparatore CMP di fig. 1 , il
valore di soglia variabile Pss,
Varianti e modifiche possono essere apportate all'esempio di realizzazione descritto, senza uscire dall'ambito dell'invenzione.
RIVENDICAZIONI
1 ) Dispositivo per la verifica del parlatore comprendente un
circ?ito di estrazione di parametri caratteristici di ogni frase, detti parametri essendo valori di energia associata al O ? ci? s * segnale vocale in diverse bande di frequenze in cui si suddi ? ?S 'S q U1 ai *> vide la banda vocale ed essendo componenti di vettori ognu co '% c.
zi O ? a O o no relativo ad uno degli intervalli in cui si suddivide un tem t ci 2 ?
U po utile per pronunciare la frase, un circuito di calcolo della media di detti vettori che fornisce un vettore di parametri medi, un circuito di determinazione di istogrammi, uno
per ogni banda di frequenza, di distribuzione dei parametri
medi su pi? ripetizioni della stessa frase, una memoria degli istogrammi di ogni parlatore, un circuito di calcolo della
probabilit? che una frase appena pronunciata appartenga ad un
dato parlatore, un circuito di calcolo di una soglia di probabilit? , un circuito di comparazione che emette un segnale di
parlatore verificato se detta probabilit? supera detto valore
di soglia di probabilit?, caratterizzato da ci? che comprende
inoltre :
- un circuito di determinazione degli istanti effettivi di ini-O C9 ni d> zio e fine di una frase (RIF) posto a monte di detto circuito o ?-J O di estrazione di parametri caratte ristici, che calcola ad ogni ILI i w rt (T. ? ' 3 intervallo un valore di potenza a lungo termine del segnale C - 1 o io ? *2 a vocale, es sendo lungo termine un periodo di un certo numero di inte rvalli consecutivi, calcola ad ogni intervallo un valore di potenza pesata a breve termine, es sendo breve termine un periodo di un intervallo, ottenuta come prodotto di
potenza del segnale vocale per il rapporto tra una potenza
di segnale vocale alle basse frequenze e una potenza di segnale vocale alle alte frequenze, confronta detti valori di
potenza a lungo termine aumentata di una quantit? fis sa con
detta potenza pesata a breve termine e considera l'istante
in cui il secondo diventa maggiore del primo come istante
effettivo di inizio della frase se questa condizione ? sempre verificata per un certo numero di intervalli consecutivi (FRAGB, FRAGE ) dopo detto istante, ripete dette operazioni per determinare l'istante effettivo di fine frase ana- , lizzando in senso contrario gli intervalli a partire dall'ul
timo intervallo della frase, e fornisce a detto circuito di estrazione .parametri solo gii intervalli compresi tra detti
istanti effettivi ?ii inizio e fine frase;
- un circuito di allineamento temporale (AT), posto a valle
di detto circuito di estrazione parametri, che determina
una tabella di corri spondenze , chiamata nel seguito percorso di allineamento (at) , tra indici dei vettori di pararnetriforniti da detto circuito di estrazione parametri e vettori di
o ca parametri di una frase di riferimento, ed in base a detta tabella cd a, c ? ? ?ao genera una nuova sequenza di vettori di parametri allineati
UJ GJ il cui numero ? quello dei vettori di parametri della frase o di riferimento, detti vettori di parametri allineati essendo
U inviati a detto circuito di calcolo della media;
caratterizzato inoltre da ci? che detto circuito di calcolo della
soglia di pro babilit? (CSV) comprende un circuito di calcolo
del prodotto delle deviazioni- standard di detti istogrammi di distribuzione dei parametri medi, detta soglia di probabilit?
es sendo poi divi sa per un fattore correttivo essenzialmente
composto da detto prodotto di deviazioni standard, ottenendo una soglia di probabilit? variabile.
2) Dispositivo come nella rivendicazione 1 , comprendente un
convertitore in numerico del segnale vocale per tutto il
tempo utile per pronunciare la frase^che ottiene una serie
di campioni numerici che scrive in una memoria dei campio?
ni numerici (MM1 ), caratterizzato da ci? che detto circuito
di determinazione degli istanti effettivi di inizio e fine frase
(RIF) comprende:
- un divisore di frequenza (OFR) atto a dividere la frequenza
di campionamento di detto convertitore (AD) per creare detta suddivisione in intervalli di tempo, ognuno comprendente un certo, numero di campioni numerici;
- un circuito di ritardo (T l ) di un numero DN di intervalli per
detti campioni numerici;
- un circuito (PLT ) di calcolo di detta potenza a lungo termineas -sociata ai campioni, chericeve da detto circuito di ritardo(Tl ),
e calcola ad ogni intervallo il logaritmo della media dei quadrati dei valori ricevuti negli ultimo NFN intervalli; ?G l O? - un primo registro(RGl ) che riceve i valori di potenza a lun ci c o UJ - ?a c go termine e li fornisce in uscita quando ? abilitato da un Lt> m '% ?3 O ? a primo segnale di abilitazione (22) costituito dal segnale o o C ? d?uscita di detto divisore di frequenza (OFR) portato attra <2 H
verso porte logiche (34, 35, 37);
- un primo sommatore (SI ) dell'uscita di detto primo registro (RG1 ) con un valore costante (STOl ), che fornisce il
risultato ad un secondo registro (RG2 ) pure abilitato da detto
primo segnale di abilitazione (22 );
- un circuito di calcolo di detta potenza pesata a breve termine che comprende un primo (PBT 1 ), un secondo (PBT2 )^
un terzo (PBT3 ) circuito di calcolo di potenza a breve termine che calcolano ad ogni intervallo il logaritmo della media
?
dei quadrati dei valori ricevuti in ingresso nell?ultimo intervallo, detto primo circuito (PBT1 ) ricevendo in ingres so det O ri tS ri* o <? ti campioni, detto secondo circuito (PBT2 ) detti campioni
i- ?J? a O LU u 3 o filtrati in un filtro passa-bas so (FPB) , detto terza circuito co ? '3 u ? a (PBT3 ) detti campioni filtrati in un filtro passa-alto (FPA), l'u o s ? C ?- a?>* <? u< ? ? scita di detto terzo circuito e ssendo sottratta da quella di detto secondo circuito in un sottratto re. (S2) la cui uscita b sommata coir
quella di detto primo circuito (PBT1 ) in un secondo sommatore (S 3 ) ;
- un terzo registro (RG3 ) che riceve l?uscita di detto secondo sommatore (S3 ), ed ? abilitato da un secondo segnale di abilitazione (43 ) costituito dal segnale d'uscita di detto divisore
di frequenza (OFR) portato attraverso una porta logica (42);
- un contatore avanti/indietro programmabile (CTI ), atto a contare gli intervallijcio? i periodi del segnale di uscita di detto divisore di frequenza(OFR), detto contatore contando in avanti a partire
dal valore zero durante la ricerca del punto di inizio frase , e indietro a partire da un valore di intervalli massimo durante la ricerca del punto di fine frase;
- un quarto registro(RG4) atto a memorizzare il valore all'uscita di
detto contatore (CTI )quando riceve un terzo segnale diabilitazior
ne (33 );
- un secondo contatore (CT3 ), ripristinato da detto terzo
segnale di abilitazione (33), che conta i periodi del segnale di uscita di detto divisore di frequenza (OFR) , detto
segnale essendo portato attraverso una porta logica (47)
abilitata da detto terzo segnale di abilitazione (33);
- un primo comparatore (CMP5) che paragona l'uscita di detto secondo contatore (CT3 ) con un valore costante costituito da detto numero di intervalli consecutivi (FRAGE,
FRAGB) , e fornisce un segnale di riconoscimento (51 )
quando l'uscita di detto secondo contatore (CT3 ) supera detto valore co stante ;
- un secondo comparatore (CMP1 ) che paragona le uscite di
detto terzo registro (RG3) e di detto secondo registro (RG2)
e, quando l'uscita del terzo registro diviene maggiore di
quella del secondo, emette detto terzo segnale di abilitazione (33 ) che ? pure portato come segnale di inibizione a
dette porte logiche (34, 37) che generano detto primo se -gnale di abilitazione (22);
- un terzo comparatore (CMP2) che quando l'uscita di detto
contatore avanti/indietro (CTI ) diventa maggiore di un valore costante (ST06), emette un segnale di abilitazione
i Lbdi S Ctrtotorao eanrue iiil Ta spazonmcecuneo... (41 ) per dfetta porta logica (42) che genera detto secondo
segnale di abilitazione (43);
- una logica di controllo (LC) che quando riceve un segnale
di comando (PU) determina la lettura sequenziale crescente
di detta memoria di campioni numerici (MM1 ) e l'inizio
conteggio in avanti di detto contatore avanti/indietro (CTI )
e quando riceve detto segnale di riconoscimento (51 ) interpreta l'uscita di detto quarto registro (RG4) come istante
5&
effettivo di inizio frase, d? il segnale di conteggio indietro
a detto contatore (CTI ) e determina la lettura sequenziale
decrescente di detta memoria di campioni numerici (MMl)
e quando riceve detto segnale di riconoscimento (51 ) interpreta l'uscita di detto quarto registro (RG4) come istante
effettivo di fine frase.
3) Dispositivo come nella rivendicazione 2, caratterizzato da
cib che detto circuito di determinazione degli istanti effettivi
(RIF) comprende inoltre:
- un terzo contatore (CT3 ), ripristinato da detto terzo segnale di abilitazione (33 ), che conta i periodi del segnale di
uscita di detto divisore di frequenza (OFR), detto segnale
essendo portato attraverso detta porta logica (47) abilitata O A te ?* da detto terzo segnale di abilitazione (33 ); s-a o ?a UJ AU
- un quarto comparatore (CMF4) che paragona l'uscita di C/3 cs ? detto terzo contatore (CT 3) con un valore costante, e finch?
U
questo valore costante non ? superato , emette un segnale
(36) atto a mantenere l'abilitazione, per dette porte logiche
(34, 35 , 37) che forniscono detto primo segnale di abilitazione(22), dopo che detto secondo comparatore (CMP1 ) ha
fornito il segnale di inibizione (33 );
- un quinto comparatore (CMP3 ) che paragona l'uscita di
detto contatore avanti/indietro (CT I ) con un valore di soglia di intervallo, il superamento di detta soglia determinando l' emissione li un segnale d'errore (44) verso detta
logica di controllo (LC ) che interrompe le operazioni.
4) Dispositivo secondo la rivendicazione 1 , caratterizzato da
ci? che detto circuito di allineamento temporale (AT ) comprende :
- una prima memoria (MM2 ) contenente i vettori di parametri di detta frase di riferimento, ogni vettore ess endo i-?? dentificato da un indice corrente m (1 ? m ^ M); O -? ? ri. S -- una seconda memoria (MM5) in cui detto circuito di estra--J *-> .2 tu ? 3 zione parametri (EP) scrive i vettori di parametri di una CD ? *3
| frase appena calcolaci, ogni vettore essendo identificato o 3
?3 ?? da un indice corrente j (1 j ? J);
- un circuito di calcolo direzioni (CBC) che riceve i vettori
da dette prima e seconda memoria e per ogni coppia di indici (j , m) di detti vettori calcola valori di direzione P(j, m)
che indicano da quale coppia precedente di indici contigui
(j , m-l ; j -l , m; j -l , m-1 ) proviene la minima delle som -me di differenz e tra componenti corrispondenti dei vettori;
- una terza memoria (MEMP) atta a contenere detti valori
di direzione P{j , m) in posizioni il cui indirizzo ? dato dai
valori delle coppie di indici j , m corrispondenti;
- una prima logica di indirizzamento e calcolo (LAR, nr, pr,
j, m)che sottrae all'indirizzo attuale il valore di direzione
P(j , m) letto da detta terza memoria (MEMP) ed ottiene il pros simo indirizzo per la lettura di detta memoria, ini
ziando dalla posizione corrispondente alla coppia di indici J, M; che scrive inoltre sequenzialmente in una quarta memoria (MEMC) gli indirizzi generati, detti indirizzi componendo detto percorso di allineamento (at);
- una seconda logica di indirizzamento e calcolo (ALTE), che .
indirizza in ordine sequenziale crescente detta quarta memoria (MEMC ), legge dette coppie di indici j , m del percorso di allineamento (at) , e utilizza l'indice j per indirizzare in lettura detta seconda memoria (MM5) e l'indice m per indirizzare in scrittura una quinta memoria (MEMM), confronta i valori di indice m attuale e precedente : se l'attuale
? maggiore del precedente scrive in detta quinta memoria
il vettore letto da detta seconda memoria, se l'attuale ? uguale al precedente calcola e scrive in detta quinta memoria
la media di tutti i vettori consecutivi letti da detta seconda al d. o memoria il cui indice j ? dato dalle coppie di indici che han--_ ?s I -J UJ ? no detto valore di indice m attuale, detta quinta memoria
CO i o * (MEMM) contenendo quindi detta sequenza di vettori di O 3 parametri allineati; u
- una logica di controllo (LGC) del funzionamento di detto
circuito di allineamento temporale (AT),
5 ) Dispositivo secondo la rivendicaaione 4, caratterizzato da
ci? che detto circuito di calcolo direzioni (CBC) comprende
due configurazioni in cascata di circuiti ugualii denominati
nel seguito celle (C (-R), . CO, . CR), identificate da
indici r(-R ? r ^. R), rispettivamente pari e dispari, il cui
valore fe la differenza tra gli indici dei vettori provenienti da
dette prima (MM2 ) e seconda (MM5) memoria, ognuna di dette celle comprendendo:
- un quinto registro (REG5) che riceve in ingresso dalla cella precedente della stessa configurazione detti vettori di parametri provenienti da detta s econda memoria (MM5) e li
riemette in uscita verso la cella seguente della stes sa configurazione ; O cd a o M - un sesto registro (REG6) che riceve in ingresso dalla cella ?x B LLI ? Ss seguente della stessa configurazione detti vettori di para _ u ? ?? '! O ? d metri provenienti da detta prima memoria (MM2) e li rie O 3 t *5 a <U. mette in uscita verso la cella precedente della stes sa configurazione;
- un circuito di calcolo di distanz e (CDS) che calcola la somma delle differenze tra componenti omologhe dei vettori
presenti alle uscite di detti quinto (REG5) e sesto (REG6)
registro;
- un circuito di calcolo di distanze accumulate (CDA ) che
comprende: un comparatore che verifica il minimo tra tre
valori costituiti da un valore di distanza accumulata ottenuto al calcolo precedente e memo rizzato temporaneamente in un settimo registro (REG7), valori di distanza
accumulata presenti all'uscita dei circuiti di calcolo di distanze accumulate (CDA) delle due celle di indice contiguo
appartenenti all 'altra configurazione in cascata, fornisce in
uscita un?indicazione di quale di detti tre valori ? il minimo,
detta indicazione essendo uno di detti valori di direzione
P(j , m); un sommatore del valore di distanza fornito da detto circuito di calcolo distanze (CDS) e il minimo di detti
tre valori, detto sommatore ottenendo in uscita detti valori di distanza accumulata forniti agli ingressi dei corri-,
spondenti circuiti delle celle contigue dell'altra configurazione in cascata;
- un circuito di abilitazione (TFL) che abilita il funzionamento di detto circuito di calcolo distanze accumulate (CDA )
e detto settimo registro (REG7 ) quando verifica contempo O c? ct? Cu ranea presenza di dati all'uscite di detti quinto (REG5) e 3 O _ sesto (REG6) registro.
3 O 3 6) Dispositivo come nella rivendicazione 1 , caratterizzato da ? ?
C
ci? che detto circuito di calcolo della soglia di probabilit?
(CSV) comprende:
- un circuito (CDEV) di calcolo della deviazione standard
di ognuno di detti istogrammi di un parlatore che riceve da
detta memoria (MEM* degli istogrammi;
- registri (RI , . RK), uno per ogni istogramma, atti a memorizzare temporaneamente il corrispondente valore
di deviazione standard fornito da detto circuito di calc olo
deviazione standard;
- un circuito (PRD) di calcolo del prodotto tra i valori con
Claims (1)
- tenuti in detti registri (RI , . . . . RK);- un primo divisore (DVS1 ) che divide il valore ottenuto da detto circuito di calcolo del prodotto per un valore co stante di normalizzazione ( 6* );v NORM- un circuito di elevamento a potenza (ELP) che calcola la potenza Z -esima e quindi la radice K-esima del valore ricevuto da detto primo divisore (DVS1 ), dove Z ? un fattore esponenziale fisso e K ? il numero di istogrammi;- un secondo divisore (DVS2 ) che divide detta soglia di probabilit? per il valore presente all'uscita di detto circuito di elevamento a potenza (ELP) ottenendo detta soglia di probabilit? variabile;- un circuito (GSI) generatore dei segnali di comando e sincronizzazione.CSELTCentro Studi e Laboratori Telecomutilcaztonl SpA Il Dire?iore ^Generalo (dr./ijig. Basilio CaSania)
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT68320/83A IT1160148B (it) | 1983-12-19 | 1983-12-19 | Dispositivo per la verifica del parlatore |
| JP59261935A JPH0680480B2 (ja) | 1983-12-19 | 1984-12-13 | 通話者検証用装置 |
| EP84115633A EP0154020B1 (en) | 1983-12-19 | 1984-12-17 | Device for speaker verification |
| US06/682,597 US4752958A (en) | 1983-12-19 | 1984-12-17 | Device for speaker's verification |
| DE198484115633T DE154020T1 (de) | 1983-12-19 | 1984-12-17 | Sprecher-verifikationssystem. |
| DE8484115633T DE3470240D1 (en) | 1983-12-19 | 1984-12-17 | Device for speaker verification |
| CA000470518A CA1212179A (en) | 1983-12-19 | 1984-12-19 | Voice recognition apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT68320/83A IT1160148B (it) | 1983-12-19 | 1983-12-19 | Dispositivo per la verifica del parlatore |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| IT8368320A0 IT8368320A0 (it) | 1983-12-19 |
| IT8368320A1 true IT8368320A1 (it) | 1985-06-19 |
| IT1160148B IT1160148B (it) | 1987-03-04 |
Family
ID=11308972
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| IT68320/83A IT1160148B (it) | 1983-12-19 | 1983-12-19 | Dispositivo per la verifica del parlatore |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4752958A (it) |
| EP (1) | EP0154020B1 (it) |
| JP (1) | JPH0680480B2 (it) |
| CA (1) | CA1212179A (it) |
| DE (2) | DE154020T1 (it) |
| IT (1) | IT1160148B (it) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1987000332A1 (en) * | 1985-07-01 | 1987-01-15 | Ecco Industries, Inc. | Speaker verification system |
| GB8630118D0 (en) * | 1986-12-17 | 1987-01-28 | British Telecomm | Speaker identification |
| US5227228A (en) * | 1988-05-02 | 1993-07-13 | Newell Robert D | Sorptive article comprising elements having capacitive spaces for fluid and/or particulate solids |
| US5171741A (en) * | 1989-04-21 | 1992-12-15 | Health Research, Inc. | Bacteriochlorophyll-a derivatives useful in photodynamic therapy |
| USD349374S (en) | 1991-02-21 | 1994-08-02 | Newell Robert D | Dust mop head |
| US5293452A (en) * | 1991-07-01 | 1994-03-08 | Texas Instruments Incorporated | Voice log-in using spoken name input |
| JP2908168B2 (ja) * | 1993-03-15 | 1999-06-21 | シャープ株式会社 | 信号識別回路 |
| US5522012A (en) * | 1994-02-28 | 1996-05-28 | Rutgers University | Speaker identification and verification system |
| US5625747A (en) * | 1994-09-21 | 1997-04-29 | Lucent Technologies Inc. | Speaker verification, speech recognition and channel normalization through dynamic time/frequency warping |
| EP0761514A4 (en) * | 1995-03-20 | 1997-05-12 | Vladimir Lvovich Taubkin | METHOD FOR CONTROLLING VEHICLES USING A PROTECTION AGAINST UNAUTHORIZED ACCESS OPERATING BY AUTOMATIC VOICE ANALYSIS, AND SYSTEM FOR CARRYING OUT SAME |
| US6292767B1 (en) * | 1995-07-18 | 2001-09-18 | Nuance Communications | Method and system for building and running natural language understanding systems |
| CA2180392C (en) * | 1995-07-31 | 2001-02-13 | Paul Wesley Cohrs | User selectable multiple threshold criteria for voice recognition |
| US5774858A (en) * | 1995-10-23 | 1998-06-30 | Taubkin; Vladimir L. | Speech analysis method of protecting a vehicle from unauthorized accessing and controlling |
| US5940476A (en) | 1996-06-28 | 1999-08-17 | Distributed Software Development, Inc. | System and method for identifying an unidentified caller |
| US6205204B1 (en) | 1996-06-28 | 2001-03-20 | Distributed Software Development, Inc. | System and method for identifying an unidentified person using an ambiguity-resolution criterion |
| US6529881B2 (en) * | 1996-06-28 | 2003-03-04 | Distributed Software Development, Inc. | System and method for identifying an unidentified customer at the point of sale |
| US5901203A (en) | 1996-06-28 | 1999-05-04 | Distributed Software Development, Inc. | Computer-based system and method for identifying an unidentified caller |
| US7006605B1 (en) * | 1996-06-28 | 2006-02-28 | Ochopee Big Cypress Llc | Authenticating a caller before providing the caller with access to one or more secured resources |
| DE19630109A1 (de) * | 1996-07-25 | 1998-01-29 | Siemens Ag | Verfahren zur Sprecherverifikation anhand mindestens eines von einem Sprecher eingesprochenen Sprachsignals, durch einen Rechner |
| WO1998014934A1 (en) * | 1996-10-02 | 1998-04-09 | Sri International | Method and system for automatic text-independent grading of pronunciation for language instruction |
| US6490560B1 (en) * | 2000-03-01 | 2002-12-03 | International Business Machines Corporation | Method and system for non-intrusive speaker verification using behavior models |
| GB2426368A (en) * | 2005-05-21 | 2006-11-22 | Ibm | Using input signal quality in speeech recognition |
| US20060293898A1 (en) * | 2005-06-22 | 2006-12-28 | Microsoft Corporation | Speech recognition system for secure information |
| US7917540B2 (en) * | 2007-02-22 | 2011-03-29 | Colorado State University Research Foundation | Nonlinear set to set pattern recognition |
| JP5456370B2 (ja) * | 2009-05-25 | 2014-03-26 | 任天堂株式会社 | 発音評価プログラム、発音評価装置、発音評価システムおよび発音評価方法 |
| US9043210B1 (en) | 2012-10-02 | 2015-05-26 | Voice Security Systems, Inc. | Biometric voice command and control switching device and method of use |
| US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
| US10332545B2 (en) * | 2017-11-28 | 2019-06-25 | Nuance Communications, Inc. | System and method for temporal and power based zone detection in speaker dependent microphone environments |
| CN111508503B (zh) * | 2020-06-16 | 2020-10-20 | 北京爱数智慧科技有限公司 | 一种识别同一说话人的方法和装置 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2536585C3 (de) * | 1975-08-16 | 1981-04-02 | Philips Patentverwaltung Gmbh, 2000 Hamburg | Anordnung zur statistischen Signalanalyse |
| US4028496A (en) * | 1976-08-17 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Digital speech detector |
| DE2844156A1 (de) * | 1978-10-10 | 1980-04-24 | Philips Patentverwaltung | Verfahren zum verifizieren eines sprechers |
| JPS56135898A (en) * | 1980-03-26 | 1981-10-23 | Sanyo Electric Co | Voice recognition device |
| JPS5718279A (en) * | 1980-07-09 | 1982-01-30 | Sanyo Electric Co Ltd | Thermally recording device |
| JPS5852695A (ja) * | 1981-09-25 | 1983-03-28 | 日産自動車株式会社 | 車両用音声検出装置 |
| JPS5876899A (ja) * | 1981-10-31 | 1983-05-10 | 株式会社東芝 | 音声区間検出装置 |
| DE3243231A1 (de) * | 1982-11-23 | 1984-05-24 | Philips Kommunikations Industrie AG, 8500 Nürnberg | Verfahren zur erkennung von sprachpausen |
-
1983
- 1983-12-19 IT IT68320/83A patent/IT1160148B/it active
-
1984
- 1984-12-13 JP JP59261935A patent/JPH0680480B2/ja not_active Expired - Lifetime
- 1984-12-17 EP EP84115633A patent/EP0154020B1/en not_active Expired
- 1984-12-17 US US06/682,597 patent/US4752958A/en not_active Expired - Lifetime
- 1984-12-17 DE DE198484115633T patent/DE154020T1/de active Pending
- 1984-12-17 DE DE8484115633T patent/DE3470240D1/de not_active Expired
- 1984-12-19 CA CA000470518A patent/CA1212179A/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| IT8368320A0 (it) | 1983-12-19 |
| EP0154020B1 (en) | 1988-03-30 |
| DE3470240D1 (en) | 1988-05-05 |
| JPS60153100A (ja) | 1985-08-12 |
| JPH0680480B2 (ja) | 1994-10-12 |
| DE154020T1 (de) | 1986-02-27 |
| CA1212179A (en) | 1986-09-30 |
| US4752958A (en) | 1988-06-21 |
| EP0154020A1 (en) | 1985-09-11 |
| IT1160148B (it) | 1987-03-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0154020B1 (en) | Device for speaker verification | |
| US3104284A (en) | Time duration modification of audio waveforms | |
| US4625287A (en) | Monosyllable recognition apparatus | |
| US5390278A (en) | Phoneme based speech recognition | |
| US4720802A (en) | Noise compensation arrangement | |
| CA1127765A (en) | Speech analyzer comprising circuits for calculating autocorrelation coefficients forwardly and backwardly | |
| US3700815A (en) | Automatic speaker verification by non-linear time alignment of acoustic parameters | |
| US4282403A (en) | Pattern recognition with a warping function decided for each reference pattern by the use of feature vector components of a few channels | |
| EP0691024B1 (en) | A method and apparatus for speaker recognition | |
| CA1085960A (en) | Speech recognition system | |
| EP0086589A1 (en) | Speech recognition system | |
| CN111081276B (zh) | 音频段的匹配方法、装置、设备及可读存储介质 | |
| JPS6350896A (ja) | 音声認識装置 | |
| US4443857A (en) | Process for detecting the melody frequency in a speech signal and a device for implementing same | |
| Crystal et al. | Characterization and modeling of speech-segment durations | |
| CN113327573A (zh) | 语音合成方法、装置、设备及存储介质 | |
| Pieraccini et al. | Experimental comparison among data compression techniques in isolated word recognition | |
| Talesara et al. | A novel Gaussian filter-based automatic labeling of speech data for TTS system in Gujarati language | |
| CA1230180A (en) | Method of and device for the recognition, without previous training, of connected words belonging to small vocabularies | |
| Dighe et al. | Modeling Overlapping Speech using Vector Taylor Series. | |
| Medhi et al. | Different acoustic feature parameters ZCR, STE, LPC and MFCC analysis of Assamese vowel phonemes | |
| US20070067170A1 (en) | Method for identifying people | |
| KR20070049831A (ko) | 음절 및 음소 분리를 통한 초기상태 분할 방법, 및 이를구현하기 위한 단말기 | |
| JPS61252593A (ja) | 音声認識装置 | |
| JPS62201497A (ja) | 音声認識方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| TA | Fee payment date (situation as of event date), data collected since 19931001 |
Effective date: 19971124 |