FR 2677828 A1 19921218 FR 9107323 A 19910614 A PROCEDE DE DETECTION D'UN SIGNAL UTILE BRUITE La présente invention se rapporte à un procédé de détection d'un signal utile bruité. Un des problèmes importants en traitement du signal, simple quant à son énoncé, mais d'autant plus complexe quant à sa résolution, consiste à déterminer la présence ou l'absence d'un signal utile noyé dans un bruit additif. Diverses solutions sont envisageables On peut utiliser comme variable l'amplitude instantanée du signal reçu ou traité par référence à un seuil déterminé expérimentalement. On peut aussi utiliser comme variable l'énergie du signal total sur une tranche temporelle de durée T, en seuillant, toujours expérimentalement, cette énergie. Ces seuillages permettent une première présomption sur la présence ou l'absence du signal Ils sont de plus applicables à tout signal Aussi, sont ils complétés par des systèmes de "confirmation", définissant des critères "quasi-certains", propres au type de signal utile, lorsque la nature de celui-ci est connue a priori. Un tel système complémentaire est largement utilisé en traitement de la parole et peut consister, par exemple, en une extraction de "pitch" ou en l'évaluation de l'énergie minimale d'une voyelle. La présente invention a pour objet un procédé de détection d'un signal utile bruité, déterminant de façon la plus rigoureuse possible le seuil de détection, et pouvant fonctionner de façon autoadaptative. Selon l'invention, on dispose du rapport signal/bruit attendu du signal à traiter, et on dispose d'une mesure du bruit seul estimé, mesure numérisée sur M points, ce bruit étant blanc ou rendu blanc, on calcule l'énergie moyenne du bruit sur ces M points, on prend une tranche de N points de signal bruité, on calcule l'énergie moyenne de ces N points, on calcule le seuil de détection théorique, on calcule le rapport des deux dites énergies moyennes, et on compare ce rapport audit seuil. La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation pris à titre d'exemple non limitatif. On va d'abord expliquer comment doit se faire théoriquement, dans le cas idéal, la détection d'un signal bruité. On dispose d'une première information u(n) pour une première tranche temporelle telle que: u(n) = s(n) + x(n) n étant un nombre entier: O S N S N-1, s(n) étant un signal utile et x(n) un bruit En outre, on dispose d'une autre information y(n), avec O 5 N S M-1, et M pouvant être égal à N ou différent de celui-ci y(n) est une mesure du bruit x(n) sur une autre tranche temporelle exempte de signal utile. On pose: U = (u(O)2 + u( 1)2 + + u(N)2)/N et V = (y(O)2 + y( 1)2 + + y(M)2)/M et Z = U/V Ainsi, dans un cas idéal et irréaliste, on aurait, en notant RSB = rapport signal à bruit: Z = 1 + RSB et le simple critère de détection serait: Z > i: présence de signal utile Z que des estimées des valeurs vraies des variances ù 2 et ox 2. Pour effectuer ce calcul de g, on procède de la façon suivante. On part du fait que les variables U et V sont de nature aléatoire, et que par conséquent Z l'est aussi On calcule alors la densité de probabilité de Z (qui dépend du rapport signal sur bruit). Il s'agit ensuite, en faisant appel au principe du maximum de vraisemblance, de déterminer la meilleure estimation du rapport signal sur bruit après avoir calculé la variable Z. A cet effet, on mesure sur une tranche temporelle la variable U(n) précitée, et on mesure la variable y(n) sur une autre tranche temporelle o l'on est sûr qu'il n'y a pas de signal utile, mais uniquement du bruit (indépendant et décorrélé de s(n)). Pour déterminer la densité de la variable aléatoire Z (que l'on peut qualifier de variable observée), on procède de la façon suivante Soient X 1 appartenant à N (ml; oe 2) et X appar- tenant à N (m 2; o 2) deux variables aléatoires gaussiennes indépendantes pour lesquelles les probabilités Pr Pr sont pratiquement nulles. On pose: m = ml/m 2, 2 = 12/ 22 a = m 2/22. La densité de probabilité f (x) de X est alors: x -1/2 a 2 (x m)2 Mx + 2 * 2 2 2 f (X) 2 = l 2 + 2 3/2 e x +a U(x) (x 2 +23/2 o U(x) = 1 si x ' o et U(x) = o si x Si h(x) = 21/2 (x 2 + o 2)1/2 on a: P(x) = P {X gaussienne normalisée. On suppose maintenant que les signaux s(n), x(n) et y(n) sont blancs, gaussiens et centrés. On pose 2 = ls(n)2 l ax 2 =E x(n) l = E ly(n)2 l u(n) = s(n) + x(n). Ce dernier terme est donc, lui aussi, blanc, gaussien et centré; et on pose 2 u =E lu(n)2 l oes 2 + x 2 2 Puisque l'on définit o 2 et 2, on suppose s x implicitement que le calcul de la densité de probabilité se fait à m-2 et m 2 connus On évalue donc la densité de Z en connaissant S X 2 2 ms et x Dans ce cas, U et V suivent des lois du chi-2, et, S X pour N et M suffisamment grands, U et V sont approximées par des lois gaussiennes pratiquement toujours positives: U appartient à N (oeu 2; 24 I/N et V à N -( 2 2 a'4/M U ' X Z est donc le rapport de deux variables gaussiennes indépendantes On peut facilement démontrer que U et V sont indépendantes. Avec: mi = a u, 12 = 2 cu 4/N, m 2 = m x 2 22 = 2 ex 4/M il vient: m = 2/ 2 2 = (M/N) (u 2/ 2)2 " = (M/2)1/2 il ventm =u óx ' x' 2 2 2 2 Or: au 2/ 2 = 1 + ro r = 2/ o 2 est le rapport signal à u x S x 2 2 bruit Soit k =M/N, il vient: m = r+ 1, 2 = k(r+l)2. 2 2 La densité de probabilité de Z, connaissant os et c', s'exprime donc par: 1 ) x 2 O fz (Z: os 2 x 2) = (M/4)1/2 (r+l) z+k(l+r) ) (r+ 1) lz 2 +k(r+ 1)213/2 Mlz-(r+l)l 2 e 4 lz 2 +k(r+ 1) l e 2 2 ) x: O d'o: f (z: o 2,) O On posera: On posera: fk (z,r)=(M/4 r)/2 (r+l) k, M z+k(l+r) lz 2 +k(r+l)2 l 3/2 Mlz-(r+ 1)l 4 lz 2 +k(r+ 1) lU(z) e U(z) 2 2, 2 =(o 2/O 2 de sorte que: fz(Z:o s, x) = fk M(Zs /x) D'après les résultats ci-dessus relatifs à la densité de probabilité fx(x), on déduit la probabilité 2 2 Pr { Z I 1 vient: Pr {Z On va maintenant examiner le cas d'un signal quelconque s(n) et d'un bruit blanc gaussien. On suppose toujours que les bruits x(n) et y(n) sont blancs, gaussiens avec 2 = Elx(n) 2 l = Ely(n) 1 Le signal utile x s(n) est supposé quelconque, indépendant du bruit. L'hypothèse nouvelle faite ici est de supposer que s(n) et x(n) sont non corrélés au sens temporel du terme, c'est-à-dire que: O S N S N-1 S (n) x (n) c= = O ( O S N S N-1 s(n)2)1/2 (E O S N S N-1 x(n))1/2 On montre alors que U peut être approximée par: U = 2 + ( 1/N) E O S N S N-1 x(n) et Z par: s 2 S + ( 1/N) E O S N S N-1 x(n)2 Z = ( 1/M) E O S N S M-1 y(n)2 De même que ci-dessus, le calcul de la densité de Z s'est fait en connaissant c 2 et 2, ici le calcul se fera en 2 2 x connaissant gs et La densité à calculer sera notée par 2 2 xs fz(Z lis x): Connaissant sg 2 U = g + ( 1/N) E 05 N S N-1 x(n)2 appartient à N (gs + ax 2; ( 2/N) ax) V appartient à N (o; s x ( 2/M) x') x Z = U/V est donc approchée par le rapport de deux lois gaussiennes indépendantes Comme U et V sont indépendantes, on applique donc le résultat concernant la densité de probabilité de X, avec: 2 2 2 4 2 2 4 m = + x' = ( 2/N)oe,m 2 = x'2 = ( 2/M) ox 2 1/2 Donc: m = r+l, e = k, = (M/2), avec k = M/N et r = gs 2/x 2 x La densité de probabilité de Z, vaut donc: f (Z: y 2 a,2) = (M/4 ir)1/2 (l+r)z+k 2 lz 3/2 e lz +kl 2 2 connaissant S et oe M lz-(r+l)l 2 4 2 z 2 +k U (z) On posera: f (z) = (M/4)1/2 ( 1 +r)z+k e fk M lz 2 +kl 3/2 M lz-(r+ 1)l 2 z 2 +k de sorte que: fz(z:ss 2 x) k M S 2 x zS f k,M (,a D'après les résultats ci- dessus concernant la densité de probabilité de X, on en déduit la probabilité Pr z Dans les cas de signaux traités, la densité de probabi- U(z) lité de la variable Z, connaissant les énergies du signal utile et du bruit, s'exprime par une fonction de la forme: fk M(zr) o r désigne le rapport signal à bruit Cette probabilité dépend donc du rapport signal sur bruit Aussi, la règle de décision ne peut se donner qu'à rapport signal sur bruit attendu Soit donc r ce rapport signal à bruit attendu. o On suppose que la probabilité d'absence de s(n) est óO et que la probabilité de présence de s(n) est ir' Puisqu'on connaît la densité de probabilité fk M(zr) la règle de décision optimale est fournie par la théorie générale de la détection et s'exprime par: 1 fk,M 'o zr) ir f (z O) > 1 D = 1 0 o k,M(') mr 1 fk,M (Z,ro) ir f (z O) forme: (Z g = D = 1). Il faut alors déterminer g et résoudre l'équation: lnlfk,M(z,r O)l lnlfk,M(z,O)l ln(o 0/71) = o. On démontre alors que la probabilité d'errreur vaut: Pe = Ir O l 1 F(hk M(t O))l + Ir F(hk,M(,ro)). On va maintenant examiner le cas de la détection d'un signal blanc gaussien dans un bruit lui-même blanc gaussien. Les signaux s(n), x(n) et y(n) sont supposés blancs, gaussiens, centrés Soit r le rapport signal à bruit attendu, et O k = M/N la probabilité d'absence de s(n) est ir et la probabilité de présence de s(n) est ir 1 ' La règle de décision est alors: Décision D = 1 lorsque: lnl(r+ 1) lz+k Z 2 3/2 l > (M/4) 2 2 - (z+k) lz +k(ro+l) 2 l 3/2 J z +k(ro+l)2 z 2 +k o Décision D = O lorsque: Ir o + ln - lnl(r+ 1) lz+k(r O + 1)l (z 2 +k)3/2 lz-(r + 1)l (z-)2 Z.+k lz 2 +kro+ 12 l 3/ + in - l 1 Le seuil étant déterminé pour l'égalité d'inégalité) entre les termes de ces deux expressions. On peut aussi exprimer forme: (Z On obtient par exemple pour, à cette règle g = D = 1). M = N = 128, de décision sous la E = E 1 = 1/2: r en d B L o 2 1,27 1 1,34 O 1,41 1 1,50 2 1,68 La probabilité d'erreur est: (au lieu Pe = ir O l 1-F(hk M(g'O))l + 1 F(hk,M(' avec: 1/2 h k M(x,r) = (M/2) x (r+ 1) lx 2 + k(r+l)2 l 1/2 Nous donnons ci-après quelques valeurs de Pe fonction de r o et ir 1 sont prises égales à 0,5. r en d B Pe o 2 0,086 1 0,052 O 0,028 1 0,013 2 0,005 Dans un exemple de simulation, on a généré un bruit blanc gaussien de variance unité Pour chaque trame de 128 points (N = M = 128), on a décidé aléatoirement de générer un bruit s(n) additif, présentant un rapport signal sur bruit défini préala- blement Les probabilités d'apparition et d'absence (ir O et Ir 1) sont égales à 0,5 On a généré un second bruit blanc gaussien de variance unité, qui a servi à calculer la variable aléatoire V. Pour chaque trame, on a calculé Z On a appliqué alors la règle de décision et l'on a compté le nombre d'erreurs. r en d B Nombre d'erreurs o 0 o sur 1000 itérations -2 73 -i 43 O 18 1 10 2 2 Ces résultats corroborent ceux prévus par le calcul théorique. On va maintenant examiner le cas d'un signal quelconque s(n) et d'un bruit blanc gaussien. On suppose toujours que les bruits x(n) et y(n) sont 2 2 2 blancs, gaussiens avec o = Elx(n) l=Ely(n) 12 l Le signal utile x s(n) est supposé quelconque, indépendant du bruit Soit r le o rapport signal à bruit attendu, k = M/N La probabilité d'absence de s(n) est ór et celle de présence de s(n) est ir 1. La règle de décision est alors: Décision D = 1 lorsque: (r+l)z+k in z+ k > (M/4) lz-(r + 1)l 2 _ (z-1)2 z 2 +k o + ln - I 1 Décision D = O lorsque: (r+l)z+k ln z+k forme: (Z = D = 1). de décision sous la On obtient pour y les valeurs suivantes en fonction de r 0, pour M = N = 128, ir = Ir = 1/2. o 1 r en d B -2 1,30 -1 1,38 O 1,48 1 1,60 2 1,76 De plus, on obtient Pe = i O l 1-F (hk,M(i O)) l + avec: hk M(xr) = (M 2)1/2 avec: hk,M(x,r) = CM/2) r 1 F (hk,M(F,ro) x (r+ 1) lx 2 + k 1/2 Nous donnons ci-après quelques valeurs de Pe en fonc- tion de r Les probabilités O et r sont prises égales à 0,5. r en d B Pe o -2 0,062 -1 0,032 O 0,013 1 0,004 2 0,001 Dans un exemple de simulation, pour chaque trame de 128 points de bruit blanc généré (N = M = 128), on a décidé aléatoi- rement d'y ajouter s(n), qui est ici, une sinusoïde, présentant un rapport signal sur bruit défini préalablement ir 1 et óO sont prises égales à 0,5. On a généré un second bruit blanc gaussien de variance unité, servant à calculer V Pour chaque trame, on a calculé Z et on a appliqué la règle de décision précitée On a compté le nombre d'erreurs. On a obtenu les résultats suivants r en d B Nombre d'erreurs o sur 1000 itérations -2 70 -1 37 0 12 1 6 2 3 Ces résultats corroborent ceux prévus par le calcul théorique. Les résultats précédents, parce que très généraux, permettent la détection de signaux noyés dans du bruit additif, même lorsque le rapport signal sur bruit est faible, voisin de O d B. On va décrire ci- dessous une application dans laquelle ce type de détection peut se révéler très utile. Les algorithmes présentés s'appliquent au cas de la parole, comme pré-système de détection d'activité vocale. Le choix du seuil de détection dépend du contexte. En ce qui concerne les bandes audio utilisées, une caractérisation préalable du bruit et de la parole, à l'aide de mesures basées sur l'estimation par maximum de vraisemblance montre que le signal vocal à détecter présente un rapport signal sur bruit d'au moins 6 d B. D'autre part, le système de traitement utilise des trames de signal de 128 points, la fréquence d'échantillonnage étant de 10 k Hz. Les variables U et V sont toutes les deux évaluées sur 128 points de sorte que M = N = 128. D'après ce qui précède, on déduit le seuil théorique de détection à 3. Cependant, on ne peut pas se contenter de cet unique seuil En effet, si le bruit est relativement stationnaire, il présente des instationnarités à prendre en compte pour renouveler la variable V, ce qui permet de rendre l'algorithme partiellement adaptatif. On introduit donc un second seuil, qui permet de décider si la variable V va être renouvelée ou non. Ce second seuil est choisi à 1,25, ce qui correspond à un bruit additif au bruit stationnaire présentant un rapport signal à bruit de -2 d B. La règle de décision est alors Si Z la valeur de l'énergie de la trame traitée. On notera que, puisque la décision est de considérer la trame traitée comme du bruit représentatif, on pourrait renouveler la variable V en faisant la moyenne de l'ancienne valeur de V et de l'énergie de la trame considérée Ce qui amène à changer la valeur de M (nombre de points sur lequel est évalué V) mais cette opération peut induire un mauvais fonctionnement de l'algorithme. Si 1,25 3 La trame est considérée comme contenant une non-stationnarité du bruit, et exempte de parole. Si 3 La trame est considéré comme de la parole. Des essais effectués sur des échantillons de signaux bruités ont validé cette détection. Cependant, rappelons que cette détection vocale peut être améliorée par l'utilisation de critères propres au signal de parole, tel que le calcul de "pitch". L'algorithme proposé ici concerne l'étude de quelques exemples de signaux Il est évident que pour d'autres signaux de parole présentant des rapports signal à bruit différents, un nouveau choix de seuils est nécessaire. L'utilisation de deux seuils est généralement préférable. Une application de cet algorithme permet de créer des fichiers de référence corrects pour le système de reconnaissance vocale étudié Une segmentation précise des élocutions est alors nécessaire. Dans une application, on a utilisé un alternat micro (ouverture et fermeture micro) qui fournit une segmentation grossière des élocutions. L'algorithme précédent a été utilisé pour affiner cet alternat Une première passe de l'algorithme a permis de préciser le début de l'élocution Une seconde passe a consisté à lire le fichier de parole "à l'envers", c'est-à-dire en partant de la fermeture micro vers l'ouverture micro Ce qui a permis alors de préciser la fin de l'élocution. Cette utilisation non causale de l'algorithme est nécessaire, car la détection d'activité est suffisamment précise pour détecter, à l'intérieur des mots, la présence de silences, ce qui est préjudiciable à une mise en place d'une segmentation pour les apprentissages. Le même type d'application permet aussi de segmenter les fichiers de parole sur lesquels on effectue une reconnaissance. Cependant, cet algorithme n'est évidemment pas causal, ce qui est préjudiciable à une utilisation temps réel D'o la nécessité de compléter cet algorithme par un calcul propre au traitement de la parole. Nous avons démontré l'existence de seuils optimaux de détection, ce qui permet d'avoir une approche théorique du problème de l'estimation du rapport signal sur bruit et, surtout de la détection, dans le cas d'un bruit blanc et d'un signal connu seulement par son énergie sur N points lorsque celle-ci reste relativement stationnaire R E V E N D I C A T I O N S 1 Procédé de détection d'un signal utile bruité, pour lequel on dispose du rapport signal/bruit attendu du signal à traiter, et d'une mesure du bruit seul estimé, mesure numérisée sur M points, caractérisé par le fait qu'on calcule l'énergie moyenne du bruit sur ces M points, on prend une tranche de N points de signal bruité, on calcule l'énergie moyenne de ces N points, on calcule le seuil de détection théorique, on calcule le rapport (Z) des deux dites énergies moyennes, et on compare ce rapport audit seuil. 2 Procédé selon la revendication 1, caractérisé par le fait que le bruit seul estimé est blanc ou rendu blanc. 3 Procédé selon l'une des revendications précédentes, caractérisé par le fait que le seuil de détection théorique est déterminé pour: (r+l)z+k lz-(r + 1)l 2 (z-1)2 Ir ln =(M/4) 2 + ln - Inz+k = (M/4) z 2 +k 1 r O étant le rapport signal à bruit attendu, k = M/N, ir étant la probabilité d'absence du signal utile et 1 sa probabilité de présence. 4 Procédé selon l'une des revendications 1 ou 2 pour la détection d'un signal blanc gaussien, caractérisé par le fait que le seuil de détection théorique est déterminé pour: lz+k(r + 1)l (z 2 + k)3/2 llz-(r + 1)l (z-1) ln (r+l) = (M/4) l (z+k)lz 2 +k(r + 1)2 l 3/2 2 k( +)2 z o 7 r + in - R 1 Procédé selon l'une des revendications 1 à 3, pour la détection de la parole, caractérisé par le fait qu'en plus du seuil de détection théorique on utilise un second seuil de décision de mise à jour de la tranche mesurée du bruit seul estimé, afin de tenir compte des instationnarités du bruit.