Brevet FR3059183A1 — publié le 20180525

La présente invention concerne les systèmes autoradio pour véhicule automobile, en particulier ceux configurés pour recevoir des canaux FM comportant des données numériques au format RDS (abréviation anglaise de « Radio Data System ») encodées dans une sous porteuse. Dans la pratique, cette sous porteuse à 57 kHz est le triple d'une fréquence de référence à 19 kHz, mais il s'avère que la précision constatée sur ces fréquences n'est pas optimale, notamment si on considère les différents émetteurs et les différents récepteurs censés coopérer les uns avec les autres. Partant de là, le récepteur doit avoir un mécanisme de recalage de la 10 fréquence porteuse, et accessoirement de la phase, pour pouvoir démoduler dans de bonnes conditions les signaux reçus par l'antenne et en déduire un signal dit « en bande de base » exploitable pour les informations dites RDS. Il est connu de l'homme du métier une boucle de rétroaction de type « PLL » (« Phase Locked Loop » en anglais, c'est-à-dire une boucle à verrouillage de 15 phase), développée dans le contexte antérieur de radios purement analogiques. Cette solution de type« PLL » a été transposée dans le contexte d'auto radio à traitement numérique, et est connue sous le nom de « boucle Costas ». Toutefois, il s'avère que la mise en oeuvre de cette transposition « boucle Costas » n'est pas optimale du point de vue économique dans le cadre de 20 l'utilisation de filtres numériques à « Réponse Impulsionnelle Infinie » (RII) et de DSP vectoriel (DSP étant l'abréviation anglaise de « Digital Signal Processor », c'est-à-dire un processeur de signal numérique). Les inventeurs ont par conséquent identifié un besoin d'améliorer les solutions de recalage de la porteuse RDS, phase comprise, dans les systèmes autoradio à 25 traitement numérique. À cet effet, il est proposé ici un procédé de correction de démodulation RDS dans un système autoradio pour véhicule comprenant : - un coeur numérique avec un bloc de démodulation RDS, - une entrée de signaux numériques, 30 - un oscillateur à commande numérique fournissant une valeur complexe, - un mélangeur numérique complexe mixant les signaux en entrée avec la sortie de l'oscillateur à commande numérique, - un filtre passe bas pour récupérer des signaux RDS démodulés en bande de base, comprenant une suite de symboles S(k) complexes, 35 - un bloc estimateur de phase configuré pour estimer un écart de phase ê du signal en bande de base, 3059183 2 - un bloc de décodage RDS auquel sont transmis les signaux filtrés, le procédé comprenant une première correction agissant, en fonction de l'estimation de l'écart de phase ê du signal en bande de base, sur un égaliseur de phase, en aval du filtre passe bas, pour annuler l'écart de phase. 5 Grâce à ces dispositions, on obtient un recalage de la phase, ce qui améliore la fiabilité du décodage en aval, ceci avec l'utilisation d'un DSP vectoriel et d'un calcul relativement simple. Ainsi, pour de petits écarts de phase, on les corrige sans avoir besoin de retoucher la fréquence de l'oscillateur à commande numérique. Dans divers modes de réalisation du système selon l'invention, on peut 10 éventuellement avoir recours en outre à l'une et/ou à l'autre des dispositions suivantes. Selon une option préférée, le bloc estimateur de phase procède à un calcul d'écart de phase sur les N derniers symboles S(k) reçus, N étant un entier compris de préférence entre 4 et 16, et plus préférentiellement égal à 8. En effet, on considère que la phase varie peu sur ces N derniers symboles. 15 Avantageusement, un calcul par moyenne sur les derniers symboles reçus permet ainsi d'éliminer des valeurs aberrantes faisant suite à une interférence électrique ayant perturbé très ponctuellement le signal reçu. Selon une option particulière le calcul d'écart de phase ê entre la fréquence de l'oscillateur à commande numérique 2 et celle de l'émetteur est estimé à partir de la 20 formule suivante : N-1 (N-1 - = 1 -2 1 arg (S (k))2) -2 arctan 1(S (k))2) k=0 k=0 On utilise ainsi un calcul relativement simple effectué sur des données complexes représentant les N derniers symboles reçus, qu'ils aient une phase voisine de 0° ou voisine de 180° (encodage BPSK, pour « Biary Phase Shift Keying » en langue anglaise, c'est-à-dire une modulation par changement de phase selon deux valeurs), la 25 mise au carré « éliminant » naturellement les phases à 180° ; on retrouve ainsi l'écart de phase moyen sur ces N derniers symboles reçus. Selon une option particulière, on calcule un conjugué e-J9 de l'écart de phase estimé, lequel est injecté dans l'égaliseur de phase, à l'endroit duquel il vient annuler l'écart de phase du symbole courant transmis vers le bloc de décodage. 30 Le conjugué e-J6) de l'écart de phase estimé est calculé selon la formule suivante : e = con] Ej\crIg(S(k))2 1lEeg((sk))211 3059183 3 Ainsi, un calcul de conjugaison très simple et une multiplication suffisent à annuler l'écart de phase du symbole transmis au bloc de décodage. Selon une option particulière, le procédé comprend une deuxième correction, formant boucle de rétroaction et agissant sur l'oscillateur à commande numérique en 5 fonction de la dérive des écarts en phase du signal en bande de base, afin de recaler la fréquence de l'oscillateur à commande numérique au plus près de la sous porteuse RDS reçue. Ainsi, pour une dérive de phase plus conséquente, on annule le problème potentiel du « saut de phase » si la dérive de sous porteuse 57 kHz est rapide. Selon une option particulière, on corrige la fréquence de l'oscillateur à commande numérique uniquement si la dérive des écarts en phase est supérieure à un seuil prédéterminé. Avantageusement, on ne retouche l'oscillateur à commande numérique que si une dérive significative est constatée. Selon une option particulière, on calcule la dérive des écarts en phase par une 15 dérive moyenne sur M écarts de phase consécutifs, M étant un entier. Avantageusement, un calcul par moyenne sur la dérive constatée sur les derniers symboles reçus permet ainsi d'éliminer des valeurs aberrantes faisant suite à une interférence électrique ayant perturbé très ponctuellement le signal reçu. Selon une option particulière, la deuxième correction formant boucle de 20 rétroaction est sous échantillonnée par rapport à la première correction. Ceci permet de garantir une bonne stabilité du recalage de fréquence de sous porteuse. L'invention vise aussi un système autoradio tel que décrit ci-dessus, qui contient notamment un coeur numérique avec un bloc de démodulation RDS, une entrée de signaux numériques, un oscillateur à commande numérique, un mélangeur numérique 25 mixant les signaux en entrée avec la sortie de l'oscillateur à commande numérique, un filtre passe bas pour récupérer des signaux RDS en bande de base comprenant : - une suite de symboles complexes, - un bloc estimateur de phase, - une première boucle de correction agissant, en fonction d'une mesure de l'écart 30 de phase du signal en bande de base, sur un égaliseur de phase, en aval du filtre passe bas. Selon une option le système peut comprendre en outre une deuxième boucle de correction formant boucle de rétroaction et agissant sur l'oscillateur à commande numérique en fonction de la dérive des écarts en phase du signal en bande de base, afin 35 de recaler la fréquence de l'oscillateur à commande numérique au plus près de la sous porteuse RDS reçue. 3059183 4 D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés dans lesquels : la figure 1 illustre un schéma bloc de démodulation-décodage RDS selon 5 une solution conventionnelle, la figure 2 illustre des exemples de signaux RDS transmis et reçus, la figure 3 illustre un schéma bloc de démodulation-décodage RDS selon la présente invention, la figure 4 illustre un chronogramme des écarts de phase, 10 la figure 5 illustre un exemple d'écart de phase modéré compensé par l'égalisateur de phase. Des modes de réalisation de l'invention sont décrits ci-après dans leur application non limitative. L'invention ne se limite pas, toutefois, à cet exemple. Un système d'autoradio pour véhicule comprend une entrée de signaux FM reçus dans un démodulateur 9 d'entrée non décrit en détail ici car connu en soi. Le démodulateur 9 produit des signaux numériques en sortie repérés par l'appellation FM MPX. Les signaux numériques FM MPX sont utilisés pour le canal audio comme connu en soi et donc non décrit en détail ici. Les signaux numériques FM MPX sont également utilisés pour décoder les 20 signaux dits « RDS » véhiculés par la sous porteuse RDS à 57kHz. Dans l'exemple illustré, le flux de signaux numériques FM MPX contient des symboles complexes obtenus à la fréquence de 384 kHz, soit un symbole toutes les 2,6 ps. Comme illustré à la figure 1, on trouve, en aval de l'entrée de signaux 25 numériques FM MPX, un bloc de démodulation-décodage RDS repéré 1 qui comprend un filtre passe bande 7, un oscillateur à commande numérique 2 dit aussi « NCO », deux mélangeurs numériques 3 complexes mixant les signaux en entrée avec la sortie de l'oscillateur à commande numérique 2 ( branches référencées cos(wt) et sin(wt)), et leurs filtres passe bas 4 associés pour récupérer les signaux RDS démodulés en bande de 30 base, comprenant une suite de symboles S(k) complexes. Un autre mélangeur numérique 5 mixe les deux branches démodulées en bande de base pour obtenir l'erreur de phase entre l'oscillateur à commande numérique 2 et les signaux en entrée. Cette erreur est ensuite filtrée par un filtre de boucle LF (« loop-filter » en anglais) pour obtenir la correction attendue de l'oscillateur à commande numérique 2. 35 II est à noter que l'oscillateur à commande numérique 2 fournit une valeur complexe exponentielle de type ei't = cos cut +Î sin cut et recevant un incrément scalaire de phase pour obtenir par approximation un incrément complexe exponentiel de phase. 3059183 5 Le bloc de démodulation-décodage RDS 1 selon l'invention comprend en plus un égaliseur de phase 6 dont la fonction sera détaillée plus loin (cf. figure 3). En aval se trouve le bloc de décodage 8 qui élabore des données binaires, en particulier des caractères alphanumériques mis à disposition d'un dispositif d'affichage 5 non représenté aux figures et qui sert à visualiser les informations RDS décodées. On trouve dans le document EN 62 106 les éléments essentiels concernant le contenu des données qui transitent par le canal RDS, une synthèse des transcodages étant illustrée à la figure 2 pour des signaux émis et référencés TX et des signaux reçus et référencés RX. 10 Le signal RDS en bande de base repose sur un encodage BPSK (abréviation anglaise de « Binary Phase Shift Keying ») à savoir un déphasage sélectif de 180° ; En réalité, chaque bit est codé par une différence de phase entre un symbole et le symbole précédent. Une différence de phase de 180° est représentatived'un bit reçu à la valeur 1. 15 Une différence de phase de 0° est représentative dUn bit reçu à la valeur 0. Toutefois, en réalité, au niveau du démodulateur 9, les différences de phase ne sont jamais strictement 0° ou 180°. On constategénéralement un écart de phase parfois modéré, parfois plus conséquent. Cela dépend notamment de la stabilité et de la précision de la sous porteuse 57 kHz de l'émetteur ainsi que de la sous porteuse générée 20 localement par l'oscillateur à commande numérique 2. Avantageusement selon la présente invention, pour chaque symbole S(k) reçu en bande de base, on collecte les différences de phase constatées, à savoir la différence de phase entre le signal en réception et le signal reçu pendant le bit antérieur. Dans le bloc de décodage 8, une différence de phase faible ou nulle sera 25 transformée en une valeur binaire 0 ; à l'inverse, une différence de phase de 180° ou voisine sera transformée en une valeur binaire 1. Le bloc estimateur de phase 5 (cf. figure 3) a pour fonction d'estimer l'écart de phase du symbole reçu par rapport à 0° ou 180°. Par convention on parlera plus simplement d'estimer la phase du symbole reçu, modulo 180°, à des fins de recalage de 30 la phase pour améliorer le décodage en aval. Dans l'exemple illustré à la figure 3, le bloc estimateur de phase 5 procède à un calcul d'écart de phase sur les N derniers symboles S(k) reçus. N est un entier choisi de préférence entre 4 et 16. Selon un exemple préféré, on peut choisir N égal à 8. Dans l'exemple considéré ici, on considère que N = 8 échantillons avec une 35 fréquence d'échantillonnage à 384 kHz ce qui représente une période de temps (ici de 20,8 ps) pendant laquelle la phase du signal ne varie pas et reste quasi-constante. Bien entendu, la valeur de N pourrait être différente et être adaptée à des fréquences 3059183 6 d'échantillonnage variées et des volatilités de phase diverses. Pour ce faire, le bloc estimateur de phase 5 comprend des cellules à retard 56 qui permettent de stocker sur une profondeur N les symboles S(k) reçus précédemment. À partir de ces données complexes en mémoire, le calcul de l'estimation de la 5 phase ê des signaux à la sortie du mixage est réalisé à partir de la formule suivante : N-1 N-1 - 1 1 -2ar g (1(S(k))2) = -2 arctan (1(S (k))2) k=0 k=0 En vue d'obtenir la somme des carrés des symboles S(k), chaque symbole S(k) en mémoire est mis au carré (repères 57 à la figure 3) puis on fait la somme de tous les carrés (bloc repéré 58). Ces opérations sont faites avantageusement en parallèle grâce à l'utilisation d'un DSP vectoriel (et ce dans les mêmes cycles CPU, 10 CPU étant l'abréviation de « Central Processing Unit », c'est-à-dire l'unité centrale de traitement) sachant que les données sont considérées comme un vecteur. On note au passage qu'il n'y a pas de récursivité, ce qui rend particulièrement pertinent cette approche par un DSP vectoriel. Puis on en extrait l'argument du nombre complexe obtenu (équivalent à 15 l'arc tangente ici pour un nombre complexe) c'est-à-dire la phase moyennée (modulo 180°) des N symboles S(k) reçus artérieurement. Plus précisément, en référence à la figure 5, l'opération de mise au carré sert à traiter de la même manière des symboles ayant une phase nulle ou voisine de zéro (exemple S(k1)) et des symboles ayant une phase voisine de 180° (exemple S(k2)). Pour le symbole S(k1) ayant une phase 1)1, la mise au carré donne une phase de 2 x1)1. Pour le symbole S(k2) ayant une phase 1)2 =180 + 1)2', la mise au carré donne une phase de 2 x 1)2, autrement dit 2 x (180 + 1)2') c'est-à-dire 2 x 1)2', en raison de l'élimination « naturelle » de l'argument du terme 2 x 180°. Cette phase 45, note également e-Jè en représentation polaire, représente en effet l'écart de phase entre la fréquence de l'oscillateur à commande numérique 2 du récepteur et celle de l'émetteur. Si le mixage est cohérent, c'est-à-dire que la fréquence de l'oscillateur à commande numérique 2 du récepteur est parfaitement calée avec celle de l'émetteur, cet écart de phase est nul. Dans la pratique, en vue de fournir un écart de phase permettant de corriger uniquement la phase, il faut ramener le module du résultat à 1, et donc normaliser la somme des carrés ; de plus on divise par 2 l'argument du résultat de la somme des carrés, pour obtenir l'écart de phase moyen. Ceci est obtenu avantageusement en pratique par l'utilisation de l'opérateur racine carré (0I) pour diviser la phase par 2. Eq. 1 3059183 7 On note que la méthode ci-dessus est moins gourmande en ressources de calcul qu'un calcul d'arc tangente qui fournirait le même résultat. Puis on procède à un calcul du conjugué de l'écart de phase estimé . EnRS(k))2 IlEej((Sk))211 e = con] Eq. 2 Sur la figure 3, on a représenté la normalisation de la somme des carrés et le 5 calcul du conjugué correspondant par le bloc repéré 51. Le conjugué de l'écart de phase estimé e-Aest injecté dans l'égaliseur de phase 6, à l'endroit duquel il vient annuler l'écart de phase du symbole courant transmis vers le bloc de décodage 8. Par conséquent les symboles courants transmis vers le bloc de décodage 8 10 ont pour argument des valeurs très proches soit de 0°, soit de 180°. La correction ainsi réalisée est illustrée à la figure 5. On élimine un écart de phase constatée, que ce soit pour des symboles en phase nulle ou faible comme illustré, ou que ce soit pour des symboles de phase proche de 180°. Dans certain cas pratiques, il s'avère néanmoins que la dérive en phase est 15 plus importante, et la méthode ci-dessus d'égalisation de phase peut s'avérer insuffisante, notamment en particulier lorsque les écarts de phase atteignent plusieurs dizaines de degrés et introduisent un saut de phase. On s'intéresse alors en particulier à la dérive des estimations de l'écart de phase B de plusieurs échantillons consécutifs. À cet effet, chaque échantillon de l'écart de 20 phase ê résultant du calcul de l'équation Eq.1 peut être identifié par un indice et donc nommé 6(0. On cherche à calculer la dérive des écarts de phases B(i) sur les 2 valeurs calculées les plus récentes, par exemple en se basant sur l'équation suivante : Drve = 6(i) - 45(i - 1) Eq. 3 Le calcul ci-dessus est réalisé dans le bloc repéré 52 à la figure 3. 25 En pratique, puisqu'on connaît déjà 0, Drve peut être estimé de la façon suivante : eDrvel) e-fè(Oconj(e-fè(i-1)) Eq. 4 Avantageusement, selon la présente invention, il est prévu une deuxième correction formant boucle de rétroaction 62 et agissant sur l'oscillateur à commande 30 numérique 2 en fonction de la dérive des écarts en phase Drvb du signal en bande de base. 3059183 8 Dans le bloc 53, il suffit donc de vérifier le signe de la partie imaginaire du vecteur complexe eDry`e pour déterminer s'il s'agit d'une dérive positive ou une dérive négative. Si une dérive positive est constatée, alors un ordre d'augmentation de 5 fréquence est envoyée vers l'oscillateur à commande numérique 2 ; en revanche, si une dérive négative est constatée à l'inverse un ordre de diminution de fréquence est envoyé vers l'oscillateur à commande numérique 2. L'incrément ou le décrément de fréquence envoyé vers l'oscillateur à commande numérique 2 peut être déterminé à partir d'un gain paramétrable de la 10 deuxième boucle de rétroaction 62 et de correction. Avantageusement, cette deuxième correction permet de recaler la fréquence de l'oscillateur à commande numérique 2 au plus près de la sous porteuse RDS reçue, et donc de ramener des écarts de phase dans une plage ou la méthode d'égalisation fonctionne bien. 15 Par ailleurs, selon une option, on peut également corriger la fréquence de l'oscillateur à commande numérique 2 uniquement si la dérive des écarts en phase Drvb est supérieure à un seuil prédéterminé. Dans ce cas, il est nécessaire d'évaluer la valeur de la dérive des écarts en phase Drvb à partir du vecteur complexe eD"` e Ceci est illustré à la figure 4 ; on constate des écarts de phase croissant 20 significativement (03, 04). A l'instant repéré T2, la dérive des écarts en phase Drvb a dépassé le seuil prédéterminé (pente repérée 92), et on procède à un incrément de fréquences sur l'oscillateur à commande numérique 2 (repère T62 à la figure 4), ce qui a pour effet immédiat de décaler vers le bas tous les écarts de phase suivants ; on retrouve ensuite le procédé d'égalisation de phase (repères T61 à la figure 4), de façon identique 25 à ce qu'il était avant la correction de fréquences sur l'oscillateur à commande numérique 2. Dans la pratique, on observe que la deuxième correction décrite juste ci-dessus intervient de façon prépondérante lorsque l'on vient de commuter sur une nouvelle fréquence de réception (recherche et stabilisation sur la sous porteuse 57 kHz), puis 30 ensuite cette deuxième correction n'intervient plus que de manière épisodique, la majorité des corrections étant obtenues grâce à l'égaliseur de phase, c'est-à-dire la première correction 61. REVENDICATIONS1. Procédé de correction de démodulation RDS dans un système autoradio (10) pour véhicule comprenant : - un coeur numérique avec un bloc de démodulation RDS (1), - une entrée de signaux numériques, - un oscillateur à commande numérique (2) fournissant une valeur complexe, - un mélangeur numérique (3) complexe mixant les signaux en entrée avec la sortie de l'oscillateur à commande numérique (2), - un filtre passe bas (4) pour récupérer des signaux RDS démodulés en bande de base comprenant une suite de symboles S(k) complexes, - un bloc estimateur de phase (5) configuré pour estimer un écart de phase (6) du signal en bande de base, - un bloc de décodage (8) auquel sont transmis les signaux filtrés, le procédé comprenant une première correction (61) agissant, en fonction de l'estimation de l'écart de phase (6) du signal en bande de base, sur un égaliseur de 15 phase (6), en aval du filtre passe bas (4), pour annuler l'écart de phase (6). 2. Procédé selon la revendication 1, dans lequel le bloc estimateur de phase (5) procède à un calcul d'écart de phase (6) sur les N derniers symboles (S(k)) reçus, N étant un entier compris de préférence entre 4 et 16, et plus préférentiellement égal à 8. 3. Procédé selon la revendication 2, dans lequel le calcul d'écart de phase (6) 20 entre la fréquence de l'oscillateur à commande numérique 2 et celle de l'émetteur est estimé à partir de la formule suivante : N-1 (N-1 - 1 1 = -2ar g (1(S(k))2) -2arctan 1(S(k))2) k=0 k=0 4. Procédé selon la revendication 2, dans lequel on calcule un conjugué e-J9 de l'écart de phase estimé (s), lequel est injecté dans l'égaliseur de phase (6), à l'endroit duquel il vient annuler l'écart de phase (6) du symbole transmis vers le bloc de 25 décodage (8), le conjugué e.-J) de l'écart de phase (6) estimé étant calculé selon la formule suivante : EeRs(k))2 MEeg((Sk))211 -iâ e = con] 3059183 10 5. Procédé selon la revendication 1, dans lequel le procédé comprend une deuxième correction formant boucle de rétroaction (62) et agissant sur l'oscillateur à commande numérique (2) en fonction de la dérive des écarts en phase (DrvO) du signal en bande de base, afin de recaler la fréquence de l'oscillateur à commande numérique (2) 5 au plus près de la sous porteuse RDS reçue. 6. Procédé selon la revendication 5, dans lequel on corrige la fréquence de l'oscillateur à commande numérique (2) uniquement si la dérive des écarts en phase (DrvP) est supérieure à un seuil prédéterminé. 7. Procédé selon la revendication 5, dans lequel on calcule la dérive des écarts 10 en phase (DrvP) par une dérive moyenne sur M écarts de phase consécutifs, M étant un entier. 8. Procédé selon la revendication 5, dans lequel la deuxième correction formant boucle de rétroaction (62) est sous échantillonnée par rapport à la première correction (61). 9. Système autoradio (10) pour véhicule comprenant : - un coeur numérique avec un bloc de démodulation RDS (1), - une entrée de signaux numériques, - un oscillateur à commande numérique (2), - un mélangeur numérique (3) mixant les signaux en entrée avec la sortie de l'oscillateur à commande numérique (2), - un filtre passe bas (4) pour récupérer des signaux RDS en bande de base comprenant une suite de symboles complexes S(k), - un bloc estimateur de phase (5), - une première boucle de correction (61) agissant, en fonction d'une mesure de l'écart de phase (6) du signal en bande de base, sur un égaliseur de phase (6), en aval du filtre passe bas (4). 10. Système autoradio selon la revendication 9, comprenant en outre une deuxième correction formant boucle de rétroaction (62) et agissant sur l'oscillateur à commande numérique (2) en fonction de la dérive des écarts en phase (DrvP) du signal 30 en bande de base, afin de recaler la fréquence de l'oscillateur à commande numérique (2) au plus près de la sous porteuse RDS reçue.