Brevet FR2806567A1 — publié le 20010921

La présente invention concerne de façon générale les détecteurs de tonalités destinés à des systèmes téléphoniques et, en particulier, un détecteur perfectionné de tonalités muni d'un filtre et caractérisé par des racines spectrales permettant la suppression de fréquences adjacentes à la tonalité à détecter, et par un algorithme perfectionné de détection qui met en oeuvre les caractéristiques d'élimination du filtre et le bruit de fond. On utilise beaucoup les tonalités multifréquences dans les télécommunications. Des exemples de tonalités multifréquences sont les tonalités "DTMF" et "R2". Des détecteurs de tonalités connus comportent habituellement un filtre préalable destiné à supprimer les fréquences en dehors de la bande, un filtre d'analyse destiné à déterminer l'énergie du signal d'entrée à chaque tonalité multifréquence intéressante, et un bloc logique de décision destiné à interpréter les valeurs des énergies à plusieurs fréquences transmises par le filtre d'analyse et à exécuter en réponse un test de détermination de la présence ou de l'absence d'une tonalité pour chaque tonalité de fréquence intéressante. Les filtres d' analyse connus ont été réalisés par mise en oeuvre des techniques classiques de filtrage numérique. La fenêtre d'analyse de tels filtres numériques connus doit être choisie avec soin. On utilise souvent des fenêtres rectangulaires pour des raisons de simplicité. Cependant, les fuites d'énergie dans les lobes latéraux de la fenêtre rectangulaire sont telles que d'autres fréquences peuvent être détectées de façon erronée. En outre, des caractéristiques d'élimination rapide (c'est-à-dire d'ordre élevé) sont habituellement utilisées pour supprimer toute tonalité qui s'écarte excessivement de sa valeur nominale. Dans un premier aspect, l'invention concerne un détecteur de tonalités multifréquences ayant une fenêtre d'analyse (c'est-à-dire une dimension de filtre) choisie afin que les racines spectrales se trouvent à des fréquences intéressantes adjacentes. Dans un autre aspect, le bloc logique de décision utilise les caractéristiques d'élimination du filtre avec le bruit de fond pour déterminer un seuil de décision pour une tonalité quelconque qui s'est écartée excessivement de sa valeur nominale. Les aspects précédents de l'invention permettent une réalisation simplifiée du filtre (c'est-à-dire d'ordre réduit) par rapport au détecteur de tonalités connu, avec conservation d'une précision élevée de détection de tonalités. D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description qui va suivre d'exemples de réalisation, faite en référence aux dessins annexés sur lesquels : la figure 1 est un diagramme synoptique d'un détecteur de tonalités multifréquences bien connu ; la figure 2 est un graphique représentant la réponse en fréquence du filtre du détecteur de tonalités ayant une fenêtre rectangulaire ; la figure 3 représente la réponse en fréquence d'un filtre ayant une fenêtre rectangulaire de dimension N = 200 centrée à 900 Hz, indiquant l'emplacement des racines spectrales à des fréquences régulièrement espacées autour de 900 Hz, selon l'invention ; la figure 4 est un graphique représentant l'élimination assurée par le filtre dans le cas d'une fenêtre rectangulaire de dimension N = 200 ; la figure 5 est un graphique représentant la réponse en fréquence d'un filtre ayant une fenêtre rectangulaire de dimension N = 195, centrée à 852 Hz, représentant une suppression modérée des fréquences adjacentes de signaux DTMF, dans un autre mode de réalisation de l'invention ; et la figure 6 représente la réponse en fréquence d'un filtre ayant une fenêtre rectangulaire de dimension N = 276, centrée à 852 Hz, représentant la meilleure suppression des fréquences adjacentes de signaux DTMF, dans un autre mode de réalisation de l'invention. La figure 1 représente un exemple de détecteur de tonalités. Un filtre préalable 1 filtre le signal d'entrée pour en retirer les fréquences en dehors de la bande. Le détecteur d'enveloppe 4 détermine si un signal est présent ou non et synchronise les flancs du signal sur le fonctionnement de la série 3 de filtres d'analyse. La série de filtres d'analyse comprend plusieurs filtres, à raison d'un filtre à chacune des fréquences intéressantes. Ces filtres calculent l'énergie à chaque fréquence, et un calculateur 5 d'énergie calcule l'énergie totale du signal après filtrage préalable. L'énergie totale combinée aux résultats de la série 3 de filtres d'analyse est transmise à un bloc logique de décision 7 qui détermine si une tonalité valable est présente ou non. Le bloc 7 de décision peut exécuter divers tests, par exemple sur le niveau minimal de tonalité, la distorsion (lorsqu'il s'agit d'une tonalité double), l'écart à la fréquence maximale, etc. Comme décrit plus en détail dans la suite, dans un premier aspect de l'invention, un procédé mis en oeuvre dans le bloc logique 7 de décision détermine l'écart en fréquence par rapport à une valeur nominale à l'aide de l'élimination assurée dans la série 3 de filtres, combinée à l'énergie du bruit de fond. Les filtres 3 d'analyse sont exécutés sous forme de filtres à doubles tonalités mettant en oeuvre un algorithme modifié de Goertzel, un pour chaque fréquence de modulation de fréquence (par exemple "R2"). Le filtre de Goertzel est centré sur la fréquence R2. Dans un mode de réalisation préféré, une fenêtre rectangulaire est choisie pour un filtre DFT de transformation discrète de Fourier (Goertzel). Le choix d'une fenêtre rectangulaire permet une réduction de la complexité par rapport à d'autres types de filtres. Par exemple, le traitement préalable des données, soit par un cosinus élevé à une puissance, soit par une fenêtre de Kaiser, a un impact considérable sur la puissance de calcul nécessaire. Comme indiqué précédemment cependant, les fuites d'énergie dans les lobes latéraux peuvent être importantes dans des fenêtres rectangulaires (notamment lorsque deux fréquences valables à détecter présentent une distorsion l'une par rapport à l'autre). Ainsi, dans un aspect de l'invention, la dimension du filtre est sélectionnée afin que les autres fréquences se trouvent à des racines spectrales, c'est-àdire que l'effet des fuites est notablement réduit. La tonalité miltifréquence R2 est un cas spécial de communications par modulation de fréquences. Les six fréquences de signalisation R2 se trouvent à 540,660, 780, 900,1 020 et 1 140 Hz pour le sens inverse et à 1 380, 1 500,1 620,1 740,1 860 et 1 980 Hz pour le sens direct. Ainsi, dans chaque sens, les fréquences sont séparées par 120 Hz. Une fenêtre de dimension N a des racines placées à des intervalles de fréquence Fs/N comme indiqué sur la figure 2. En conséquence, pour la signalisation R2, il faut des racines spectrales à des intervalles de 120 Hz. Pour que les racines soient positionnées à des intervalles de 120 Hz et dans l'hypothèse d'une fréquence d'échantillonnage Fs = 8 kHz, une dimension de fenêtre de 200 échantillons est sélectionnée pour le filtre (la dimension minimale de fenêtre pour des racines à 120 Hz est N = Fs/120 Hz, qui est égale à 66,67, si bien que la fenêtre correspondant au plus petit entier est ainsi N = 200). Par exemple, si la fréquence intéressante est égale à 900 Hz, le filtre est centré à 900 Hz à l'aide d'une fenêtre de 200 échantillons. Les racines spectrales sont donc placées à chacune des autres fréquences de modulation, c'est-àdire 540,660, 780,1 020 et 1 140 Hz. La figure 3 représente l'exemple R2 pour une fréquence de 900 Hz. Il faut noter que les autres fréquences R2 se trouvent exactement sur les racines spectrales. Dans le cas de fréquences qui ne sont pas régulièrement espacées (telles que les fréquences à doubles tonalités), la solution n'est pas aussi simple que dans le cas des fréquences régulièrement espacées. Néanmoins, les fenêtres utilisées avec chaque détecteur de fréquence (c'est-à-dire chaque filtre) peuvent avoir des dimensions telles que la fréquence la plus proche se trouve à une racine. D'autre part, la fenêtre peut être choisie de manière que les interférences avec les autres fréquences soient minimales. Par exemple, si la fréquence intéressante est la fréquence à doubles tonalités de 852 Hz, la fréquence adjacente la plus proche est 770 Hz (c'est-à-dire qu'elle est séparée par 82 Hz). La sélection d'une dimension de fenêtre N = 195 place les racines à des intervalles de 41 Hz comme l'indique la figure 5. Les autres fréquences de tonalité DTMF (697 Hz, 941 Hz) ne se trouvent pas sur des racines spectrales, mais ne sont réduites que de 24,8 dB et 23 dB respectivement. Cependant, si la dimension de la fenêtre est choisie à une valeur N = 276 comme l'indique la figure 6, aucune des fréquences de tonalité DTMF ne se trouve sur les racines spectrales. Néanmoins, les fréquences subissent des réductions de 25,3 dB, 24,8 dB et 32,6 dB respectivement, si bien que l'ensemble de la suppression est accru. Les filtres qui forment la série de filtres d'analyse 3 peuvent être réalisés de nombreuses manières différentes. Comme indiqué précédemment, un filtre à transformation discrète de Fourier de Goertzel a été réalisé dans un mode de réalisation préféré. Des réalisations de filtres de Goertzel sont bien connues dans la technique (comme indiqué par exemple par Burrus C. S. et T. W. Parks, 1985, "DFT/FFT and Convolution Algorithms", New York, Prentice-Hall). Un exemple de filtre de Goertzel convenant à un détecteur de tonalités multifréquences selon l'invention, centré à 900 Hz est le suivant : Fs = 8 000 ; % fréquence d'échantillonnage Fc = 900 ; % fréquence centrale coeff = (2*cos(2*pi*(Fc/Fs))) ; % coefficient de Goertzel N = 200 ; % pour création de racines à intervalles de 40 Hz BEGIN % Phase de réaction for k = 1:N temp = input (k) + coeff*y(l) - y(2); y(2) = y(1); y(l) = temp; end % Phase directe (calcule énergie dans la fenêtre) Yll = y(l); Y12 = y(2); energy = (Y11*Y11 + Y12*Y12 - Y11*y12*coeff)/N/N; return energy END La valeur de retour "energy" représente l'énergie de la tonalité à une fréquence spécifique, transmise au bloc logique de décision 7. L'algorithme d'écart en fréquence mis en oeuvre dans le bloc 7 utilise les possibilités d'élimination du filtre 3 combinées à une estimation de l'énergie du bruit de fond. La figure 4 représente les caractéristiques d'élimination d'une fenêtre rectangulaire (pour une dimension de 200 échantillons et une fréquence d'échantillonnage Fs = 8 kHz). Ainsi, pour un écart de fréquence de tonalité unique de 15 Hz par rapport à la valeur nominale, l'élimination est d'environ -2 dB. En d'autres termes, lorsqu'une tonalité s'écarte de 15 Hz de sa fréquence nominale, son énergie dans la tranche est inférieure de 2 dB à son énergie réelle. Cette énergie n'est pas "perdue", mais elle s'est échappée en dehors de la tranche et contribue à l'énergie du bruit de fond. En conséquence, l'écart en fréquence de la tonalité peut être déterminé par calcul de l'énergie du bruit de fond. L'énergie totale est l'énergie du signal de sortie du filtre préalable 1. Elle est constituée de l'énergie à une seule fréquence (E) augmentée du bruit de fond (n) : énergie totale = E + n L'énergie à une fréquence est constituée de l'énergie dans le filtre d'analyse (E~tranche) et de l'énergie de fuite due à l'élimination (E~elim). Ainsi, pour une tonalité unique, on a : E = E tranche + E elim Si l'écart en fréquence est nul, on alors E = E~tranche et E elim = 0. Ainsi, l'énergie totale est sous la forme suivante : énergie totale = E~tranche + E~elim + n E tranche + E fond E~fond étant l'énergie du fond continu par rapport au signal de sortie du filtre d'analyse 3. Ainsi, l'énergie du bruit de fond est calculée par soustraction de l'énergie qui se trouve dans le filtre d'analyse de l'énergie totale. Le rapport signal-sur-bruit de l'énergie du filtre d'analyse (SNR) par rapport à l'énergie du bruit de fond peut être représenté sous la forme SNR~elim = E~tranche/E~fond E~tranche/(E~elim + n) Ainsi, il existe une relation directe entre le rapport SNR-elim et l'énergie E~elim, l'énergie de fuite due à l'élimination, et donc la déviation en fréquence. Dans le cas d'une fenêtre rectangulaire, on a élimination = (sin(x)/x)2avec x = n*f*dimension/Fs Pour des écarts tolérables en fréquence jusqu'à f = 13 Hz, on a une dimension égale à 200, et Fs = 8 kHz, X = 1,021 et l'élimination est égale à 0,6974. Dans l'hypothèse où le bruit (n) est négligeable par rapport à l'énergie de tonalité qui fuit E~elim, on a alors : E fond E elim = (1 - élimination)*E et E tranche = élimination*E SNR~elim = élimination/(1 - élimination) 0,6974/(1 - 0,6974) 2,3 Le rapport SNR~elim donne une limite supérieure de seuil pour un écart tolérable en fréquence. Si le rapport de E~tranche et E~fond est inférieur au rapport SNR~elim, les écarts en fréquence de plus de 13 Hz sont acceptés. Si le seuil est réglé au-delà de SNR~elim, les écarts en fréquence jusqu'à 13 Hz ne sont pas tolérés. Le cas de la double tonalité est très semblable à celui de la tonalité unique indiquée précédemment. Cependant, dans le cas des doubles tonalités, l'énergie totale est constituée de deux énergies : énergie totale = El~tranche + El~elim + E2 tranche + E2 elim + n El tranche + E2 tranche + E fond et E fond El~elim + E2 elim + n SNRl~elim = El~tranche/(El~elim + E2~elim + n) Si l'on suppose qu'il n'existe aucune distorsion entre les tonalités (El = E2) et que le bruit est négligeable, pour un écart en fréquences de 13 Hz pour les deux tonalités, on a SNR~elim = El~tranche/E~fond = élimination/((1-élimination) + (1-élimination)) 1,15 Cette situation est un peu plus compliquée lorsque les tonalités présentent une distorsion relative. On suppose E2 = distorsion*El et distorsion = 6,3096 (= 8 dB) avec f 13 Hz. On a alors SNRl~elim = El~tranche/E~fond élimination /((1-élimination) + distorsion* (1-élimination élimination /((1 + distorsion)*(1 - élimination)) 0,315 -5 dB Dans ce cas, le rapport SNR~elim donne la limite supérieure de seuil qui, comme on peut le noter, présente une relaxation considérable par rapport au seuil sans distorsion afin qu'un écart en fréquence d'au moins 13 Hz soit toléré en présence de doubles tonalités et d'une distorsion. La suite est une opération en pseudo-code pour détecteur de doubles tonalités utilisant une élimination : BEGIN Calculate Total Energy (calcule énergie totale) Calculate bin énergies at each nominal frequency (calcule énergies de tranches à chaque fréquence nominale) Select two highest frequency bins (sélectionne les deux fréquences les plus élevées) , ie. El~bin and E2~bin Calculate (calcule) E~back = Total Energy (énergie totale) - El~bin - E2~bin If El~bin Status = failed Elseif E2 bin Status = failed End END Bien qu'on ait décrit un mode de réalisation préféré, des modifications sont possibles. Par exemple, bien que le mode de réalisation précité comprenne des filtres de transformation discrète de Fourier de Goertzel, les filtres 3 peuvent aussi être sous forme de filtres à réponse impulsionnelle finie ou infinie. Bien entendu, diverses modifications peuvent être apportées par l'homme de l'art aux détecteurs qui viennent d'être décrits uniquement à titre d'exemple non limitatif sans sortir du cadre de l'invention. REVENDICATIONS 1. Détecteur de tonalités multifréquences, comprenant un filtre d'analyse (3) destiné à détecter les énergies des tonalités d'un signal d'entrée à plusieurs fréquences de tonalités intéressantes, et un bloc logique (7) de décision destiné à détecter la présence ou l'absence des fréquences de tonalités intéressantes d'après les énergies détectées des tonalités, caractérisé en ce qu'un calculateur (5) d'énergie totale est destiné à calculer l'énergie totale du signal d'entrée, et le bloc logique (7) de décision détecte la présence ou l'absence des fréquences de tonalités par calcul de l'énergie du fond continu sous forme de l'énergie totale réduite des énergies des tonalités du signal d'entrée aux fréquences des tonalités intéressantes et, pour chacune des énergies de tonalité, par (i) calcul d'un rapport signal-sur-bruit d'élimination pour le filtre d'analyse (3), (ii) suppression de celle des fréquences de tonalités intéressantes pour lesquelles les énergies des tonalités sont inférieures au rapport signal-sur-bruit d'élimination multiplié par l'énergie du bruit de fond, et (iii) transmission des fréquences de tonalité dans le cas contraire. 2. Détecteur selon la revendication 1, caractérisé en ce que le filtre d' analyse (3) a une dimension de fenêtre choisie afin que des fréquences adjacentes de tonalités intéressantes se trouvent aux racines spectrales du filtre. 3. Détecteur selon la revendication 2, caractérisé en ce que la fenêtre est rectangulaire. 4. Détecteur selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le filtre d'analyse (3) est un filtre numérique. 5. Détecteur de tonalités multifréquences, comportant un filtre d'analyse (3) destiné à détecter les énergies des tonalités d'un signal d'entrée à plusieurs fréquences de tonalités intéressantes, et un bloc logique (7) de décision destiné à détecter la présence ou l'absence des fréquences de tonalités intéressantes en fonction des énergies détectées des tonalités, caractérisé en ce que le filtre d'analyse (3) a une dimension de fenêtre choisie afin que des fréquences de tonalités intéressantes adjacentes se trouvent à des racines spectrales du filtre. 6. Détecteur selon la revendication 5, caractérisé en ce que la fenêtre est rectangulaire. 7. Détecteur selon l'une des revendications 5 et 6, caractérisé en ce que le filtre d'analyse (3) est un filtre numérique. 8. Détecteur selon la revendication 5, caractérisé en ce qu'un calculateur (5) d'énergie totale est destiné à calculer l'énergie totale du signal d'entrée, et le bloc logique (7) de décision détecte la présence ou l'absence des fréquences de tonalités par calcul de l'énergie du fond continu sous forme de l'énergie totale réduite des énergies des tonalités du signal d'entrée aux fréquences des tonalités intéressantes et, pour chacune des énergies de tonalité, par (i) calcul d'un rapport signal-sur-bruit d'élimination pour le filtre d'analyse (3), (ii) suppression de celle des fréquences de tonalités intéressantes pour lesquelles les énergies des tonalités sont inférieures au rapport signal-sur-bruit d'élimination multiplié par l'énergie du bruit de fond, et (iii) transmission des fréquences de tonalité dans le cas contraire.