(19)
(11) EP 0 518 742 A1

(12) DEMANDE DE BREVET EUROPEEN

(43) Date de publication:
16.12.1992  Bulletin  1992/51

(21) Numéro de dépôt: 92401553.0

(22) Date de dépôt:  05.06.1992
(51) Int. Cl.5G10L 3/00
(84) Etats contractants désignés:
BE CH DE FR GB IT LI LU NL SE

(30) Priorité: 14.06.1991 FR 9107323

(71) Demandeur: SEXTANT AVIONIQUE
F-92360 Meudon-la-Forêt (FR)

(72) Inventeur:
  • Pastor, Dominique
    F-92045 Paris la Défense (FR)

(74) Mandataire: Chaverneff, Vladimir 
THOMSON-CSF SCPI B.P. 329 50, rue Jean-Pierre Timbaud
92402 Courbevoie Cédex
92402 Courbevoie Cédex (FR)


(56) Documents cités: : 
   
       


    (54) Procédé de détection d'un signal utile bruité


    (57) Pour détecter un signal utile bruité, on fait une mesure du rapport S/B attendu de ce signal sur une tranche temporelle, une mesure du bruit blanc seul estimé sur une autre tranche temporelle sans signal utile, on calcule l'énergie moyenne du bruit et du signal bruité, chacun dans sa tranche temporelle, on calcule le seuil de détection théorique, le rapport de ces deux énergies, et on compare le rapport au seuil calculé, ce seuil étant supérieur à 1 (seuil idéal).


    Description


    [0001] La présente invention se rapporte à un procédé de détection d'un signal utile bruité.

    [0002] 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.

    [0003] 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.

    [0004] 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.

    [0005] 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.

    [0006] 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.

    [0007] 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.

    [0008] 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.

    [0009] 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.

    [0010] On va d'abord expliquer comment doit se faire théoriquement, dans le cas idéal, la détection d'un signal bruité.

    [0011] On dispose d'une première information u(n) pour une première tranche temporelle telle que :


       n étant un nombre entier : 0 ≦ n ≦ N-1, s(n) étant un signal utile et x(n) un bruit. En outre, on dispose d'une autre information y(n), avec 0 ≦ n ≦ 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.

    [0012] On pose :


       et


       et



    [0013] Ainsi, dans un cas idéal et irréaliste, on aurait, en notant RSB = rapport signal à bruit :


    et le simple critère de détection serait :





    [0014] Selon la présente invention, on remplace le seuil théorique de 1 par un seuil µ, calculé de la façon expliquée ci-dessous, qui tient compte du fait que les signaux dont on dispose ne sont pas parfaitement ergodiques et que U et V ne sont que des estimées des valeurs vraies des variances σu2 et σx2.

    [0015] Pour effectuer ce calcul de µ, on procède de la façon suivante.

    [0016] 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).

    [0017] 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.

    [0018] 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)).

    [0019] 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₁ appartenant à N (m₁ ; σ₁²) et X₂ appartenant à N (m₂ ; σ₂²) deux variables aléatoires gaussiennes indépendantes pour lesquelles les probabilités Pr {X₁ < o} et Pr {X₂ < o} sont pratiquement nulles.
       On pose :



    [0020] La densité de probabilité fx (x) de X est alors :


    où U(x) = 1 si x ≧ o et U(x) = o si x < o.

    [0021] Si


    on a : P(x) = Pr {X < x} = F [h(x)], expression dans laquelle F(x) désigne la fonction caractéristique de la variable gaussienne normalisée.

    [0022] On suppose maintenant que les signaux s(n), x(n) et y(n) sont blancs, gaussiens et centrés.

    [0023] On pose





    [0024] Ce dernier terme est donc, lui aussi, blanc, gaussien et centré ;
       et on pose



    [0025] Puisque l'on définit σs² et σx², on suppose implicitement que le calcul de la densité de probabilité se fait à σs² et σx² connus. On évalue donc la densité de Z en connaissant σs² et σx². Dans ce cas, U et V suivent des lois du chi-2, et, pour N et M suffisamment grands, U et V sont approximées par des lois gaussiennes pratiquement toujours positives :


    Z est donc le rapport de deux variables gaussiennes indépendantes. On peut facilement démontrer que U et V sont indépendantes.
    Avec :


    il vient :


    Or : σu²/σx²= 1+ r où r = σs²/σx² est le rapport signal à bruit. Soit k = M/N, il vient : m = r+1, σ²= k(r+1)².

    [0026] La densité de probabilité de Z, connaissant σs² et σx², s'exprime donc par :

    1°) x ≧ 0

    2°) x ≦ 0 d'où: fz(z : σs², σx²) = 0


    On posera :


    de sorte que : fz(z:σs², σx²) = fk,M(z,σs²/σx²)

    [0027] D'après les résultats ci-dessus relatifs à la densité de probabilité fx(x), on déduit la probabilité



    [0028] Soit :


    Il vient :



    [0029] On va maintenant examiner le cas d'un signal quelconque s(n) et d'un bruit blanc gaussien.

    [0030] On suppose toujours que les bruits x(n) et y(n) sont blancs, gaussiens avec σx² = E[x(n)²] = E[y(n)²]. Le signal utile s(n) est supposé quelconque, indépendant du bruit.

    [0031] 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 :



    [0032] On montre alors que U peut être approximée par :





    [0033] De même que ci-dessous, le calcul de la densité de Z s'est fait en connaissant σs²et σx², ici le calcul se fera en connaissant µs² et σx². La densité à calculer sera notée par fz(z:µ

    , σ

    ).

    [0034] Connaissant µs², U = µs² + (1/N) Σ 0≦n ≦ N-1 x(n)² appartient à

    s² + σx²; (2/N) σx⁴). V appartient à

    x² ; (2/M) σx⁴).

    [0035] 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 :


    Donc : m = r+1, σ² = k, α = (M/2)1/2, avec k = M/N et r = µs²/σx².

    [0036] La densité de probabilité de Z, connaissant µs² et σx² vaut donc :


    On posera :


    de sorte que : fz(z:σs², σx²) = fk,M(z, σs²/σx²)

    [0037] D'après les résultats ci-dessus concernant la densité de probabilité de X, on en déduit la probabilité


    Soit :


    il vient :



    [0038] Selon la présente invention, on met en oeuvre la détection d'activité en faisant appel au maximum de vraisemblance.

    [0039] Dans les cas de signaux traités, la densité de probabilité de la variable Z, connaissant les énergies du signal utile et du bruit, s'exprime par une fonction de la forme :
    fk,M(z,r) 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 ro ce rapport signal à bruit attendu.

    [0040] On suppose que la probabilité d'absence de s(n) est πo et que la probabilité de présence de s(n) est π₁.

    [0041] Puisqu'on connaît la densité de probabilité fk,M(z,r) la règle de décision optimale est fournie par la théorie générale de la détection et s'exprime par :





    [0042] On peut aussi exprimer cette régle de décision sous la forme :



    [0043] Il faut alors déterminer µ et résoudre l'équation :



    [0044] On démontre alors que la probabilité d'errreur vaut :



    [0045] On va maintenant examiner le cas de la détection d'un signal blanc gaussien dans un bruit lui-même blanc gaussien.

    [0046] Les signaux s(n), x(n) et y(n) sont supposés blancs, gaussiens, centrés. Soit ro le rapport signal à bruit attendu, et k = M/N. la probabilité d'absence de s(n) est πo et la probabilité de présence de s(n) est π₁.

    [0047] La règle de décision est alors :
    Décision D = 1 lorsque :


    Décision D = 0 lorsque :



    [0048] Le seuil étant déterminé pour l'égalité (au lieu d'inégalité) entre les termes de ces deux expressions.

    [0049] On peut aussi exprimer cette règle de décision sous la forme :


    On obtient par exemple pour µ, à M = N = 128, πo = π₁ = 1/2 :
    ro en dB µ
    -2 1,27
    -1 1,34
    0 1,41
    1 1,50
    2 1,68


    [0050] La probabilité d'erreur est :


    avec :



    [0051] Nous donnons ci-après quelques valeurs de Pe fonction de ro . πo et π₁ sont prises égales à 0,5.
    ro en dB Pe
    -2 0,086
    -1 0,052
    0 0,028
    1 0,013
    2 0,005


    [0052] 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éalablement. Les probabilités d'apparition et d'absence (πo et π₁) 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.
    ro en dB Nombre d'erreurs sur 1000 itérations
    -2 73
    -1 43
    0 18
    1 10
    2 2


    [0053] Ces résultats corroborent ceux prévus par le calcul théorique.

    [0054] On va maintenant examiner le cas d'un signal quelconque s(n) et d'un bruit blanc gaussien.

    [0055] On suppose toujours que les bruits x(n) et y(n) sont blancs, gaussiens avec σx²= E[x(n)²]=E[y(n)²]. Le signal utile s(n) est supposé quelconque, indépendant du bruit. Soit ro le rapport signal à bruit attendu, k = M/N. La probabilité d'absence de s(n) est πo et celle de présence de s(n) est π₁.
    La règle de décision est alors :
    Décision D = 1 lorsque :


    Décision D = 0 lorsque :



    [0056] On peut aussi exprimer cette règle de décision sous la forme :



    [0057] On obtient pour µ les valeurs suivantes en fonction de ro, pour M = N = 128, πo = π₁ = 1/2.
    ro en dB µ
    -2 1,30
    -1 1,38
    0 1,48
    1 1,60
    2 1,76


    [0058] De plus, on obtient :


    avec :



    [0059] Nous donnons ci-après quelques valeurs de Pe en fonction de ro. Les probabilités πo et πosont prises égales à 0,5.
    ro en dB Pe
    -2 0,062
    -1 0,032
    0 0,013
    1 0,004
    2 0,001


    [0060] 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éatoirement d'y ajouter s(n), qui est ici, une sinusoïde, présentant un rapport signal sur bruit défini préalablement. π₁ et πo sont prises égales à 0,5.

    [0061] 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.

    [0062] On a obtenu les résultats suivants
    ro en dB Nombre d'erreurs sur 1000 itérations
    -2 70
    -1 37
    0 12
    1 6
    2 3


    [0063] Ces résultats corroborent ceux prévus par le calcul théorique.

    [0064] 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 0 dB.

    [0065] On va décrire ci-dessous une application dans laquelle ce type de détection peut se révéler très utile.

    [0066] Les algorithmes présentés s'appliquent au cas de la parole, comme pré-système de détection d'activité vocale.

    [0067] Le choix du seuil de détection dépend du contexte.

    [0068] 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 dB.

    [0069] D'autre part, le système de traitement utilise des trames de signal de 128 points, la fréquence d'échantillonnage étant de 10 kHz.

    [0070] Les variables U et V sont toutes les deux évaluées sur 128 points de sorte que M = N = 128.

    [0071] D'après ce qui précède, on déduit le seuil théorique de détection à 3.

    [0072] 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.

    [0073] On introduit donc un second seuil, qui permet de décider si la variable V va être renouvelée ou non.

    [0074] Ce second seuil est choisi à 1,25, ce qui correspond à un bruit additif au bruit stationnaire présentant un rapport signal à bruit de -2 dB.

    [0075] La règle de décision est alors :

    Si Z < 1,25 :



    [0076] Alors la trame traitée est composée du même bruit que celle utilisée comme référence. La variable V est remplacée par la valeur de l'énergie de la trame traitée.

    [0077] 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 < z > 3 :



    [0078] La trame est considérée comme contenant une non-stationnarité du bruit, et exempte de parole.

    Si 3 < Z :



    [0079] La trame est considéré comme de la parole.

    [0080] Des essais effectués sur des échantillons de signaux bruités ont validé cette détection.

    [0081] 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".

    [0082] 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.

    [0083] L'utilisation de deux seuils est généralement préférable.

    [0084] 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.

    [0085] Dans une application, on a utilisé un alternat micro (ouverture et fermeture micro) qui fournit une segmentation grossière des élocutions.

    [0086] 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.

    [0087] 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.

    [0088] Le même type d'application permet aussi de segmenter les fichiers de parole sur lesquels on effectue une reconnaissance.

    [0089] 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.

    [0090] 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.


    Revendications

    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 :

    ro étant le rapport signal à bruit attendu, k = M/N, πo étant la probabilité d'absence du signal utile et π₁ 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 :


     
    5. 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.
     





    Rapport de recherche