FR 2668672 A1 19920430 FR 9013292 A 19901026 Modulateur utilisant une modulation de phase à deux ou quatre états L'invention concerne un modulateur utilisant une modulation de phase à deux (MDP2) ou quatre états (MDP4). Comme décrit dans le manuel intitulé "Les modems pour transmission de données " de Michel Stein (Masson ; chapitre 5) les grandes fonctions d'un modulateur, qu' il soit MDP2 ou MDP4, sont les suivantes - suréchantillonnage - filtrage - modulation. Le suréchantillonnage et le filtrage sont des opérations couramment réalisées en numérique. La modulation peut également se faire numériquement, mais la confier à un processeur de signal (DSP ou digital signal processor) oblige à optimiser toutes les opérations afin d'obtenir une fréquence de modulation suffisamment élevée. Les dispositifs de l'art connu nécessitent donc des convertisseurs à la sortie du filtrage. Mais de tels convertisseurs présentent de nombreux problèmes : de place, de coût, de difficulté de réglage. L'invention a pour objet de résoudre ce problème. L'invention propose à cet effet un modulateur utilisant une modulation de phase à deux ou quatre états, caractérisé en ce que ses fonctions sont toutes mémorisées et réalisées par un processeur de signal, une commande extérieure permettant de choisir entre ces deux types de modulation. Avantageusement le processeur de signal travaille de la manière suivante : un programme principal de calcul du suréchantillonnage et du filtrage tourne en permanence et, sur interruption, le processeur de signal est dérouté vers le sous-programme de modulation. Plus le programme principal est optimisé et rapide, plus des interruptions pour modulation sont fréquentes et plus la fréquence de modulation est élevée. L'invention permet de plus un gain de place, une diminution de consommation, une augmentation de viabilité, l'utilisation d'un même circuit pour deux types de modulations. Les caractéristiques et avantages de l'invention ressortiront d'ailleurs de la description qui va suivre, à titre d'exemple non limitatif, en référence aux figures annexées sur lesquelles - les figures 1 à 3 illustrent schématiquement le fonctionnement du modulateur de l'invention, - la figure 4 illustre le modulateur de l'invention. Pour un modulateur de type MDP2 ou MDP4 le suréchantillonnage consiste à rajouter un certain nombre de O entre les données entrant dans ce modulateur. De cette façon, on multiplie le débit des données (fd) et on augmente la périodicité du spectre. Ceci sert ultérieurement à faciliter le filtrage en fréquence intermédiaire (FI). Néanmoins, on a par la même occasion multiplié le nombre de données à traiter dans le processeur de signal. Si on choisit un suréchantillonnage de 4, afin de ne pas pénaliser outre mesure le processeur de signal tout en tenant compte des problèmes de FI, en sortie du suréchantillonnage les données se succèdent de la manière suivante DO, O, O, O, D1, O, O, O, D2, O, O, O, D3, En MDP2, en sortie du suréchantillonnage, la fréquence est de 4 fd.En MDP4, le débit à l'entrée du suréchantillonnage est fd/2 puisque les données vont alternativement sur une voie et sur l'autre. Après suréchantillonnage, la fréquence est égale à 4. fd/2 = 2. fd sur chaque voie. La fréquence est deux fois moindre mais il y a deux voies et les temps de traitement vont rester identiques. Pour le processeur de signal, filtrer revient à réaliser une série de multiplications et d'additions suivant le schéma de la figure 1 de façon que le signal de sortie soit de la forme suivante S(n) = CO.D(n) + Cl.D(n-1) + C2.D(n-2) + ... + Cn.D(n-l) avec CO...Cn : coefficients du filtre. D(n) données à l'instant n Z 1 délai entre deux points du filtre. Pour chaque donnée, il faut réaliser (m+l) multiplications 10 et m additions 11, puis décaler les données et préparer l'arrivée de la donnée suivante. Pour économiser le nombre d'opérations, on peut remarquer que les O introduits entre les données ne donnent lieu à aucune opération et que le processeur de signal traite 4 "sous-filtres" correspondant à 4 séries de coefficients, comme cela apparaît sur le tableau 1 situé en fin de description. Si l'on prend pour exemple, un filtre à 20 coefficients implanté dans le processeur de signal. En tenant compte des O systématiquement placés entre les données, le calcul du filtre se simplifie et devient SO(n) = Dn.CO + Dn-l.C4 + Dn-2.C8 + Dn-3.C12 + Dn-4.C16 Le premier O placé derrière la donnée n donne Sl(n) = Dn.C1 + Dn-l.C5 + Dn-2.C9 + Dn-3.C13 + Dn-4.C17 Le second zéro donne S2(n) = Dn.C2 + Dn-l.C6 + Dn-2.C10 + Dn-3.C14 + Dn-4.C18 Et le troisième S3(n) = Dn.C3 + Dn-l.C7 + Dn-2.C11 + Dn-3.C15 + Dn-4.C19 Lorsque la donnée Dn+l arrive, on retrouve la première série de coefficients SO(n+l) = Dn+l.CO + Dn.C4 + Dn-l.C8 + Dn-2.C12 + Dn-3.C16 Ces remarques permettent, tout en simplifiant les calculs, d'imbriquer suréchantillonnage et filtrage en faisant apparaître 4 sous-filtres à 5 coefficients chacun, soient sous-filtre 0:CO, C4, C8, C12 et C16 sous-filtre 1: C1, C5, C9, C13 et C17 sous-filtre 2: C2, C6, C10, C14 et C18 sous-filtre 3: C3, C7, C11, C15 et C19 Chaque donnée Dn est d'abord filtrée par le sous-filtre O puis par le sous-filtre 1, par le sous-filtre 2 et enfin par le sous-filtre 3. Dans le même temps, la donnée Dn est suréchantillonnée et donne lieu à 4 valeurs filtrées : le suréchantillonnage et le filtrage sont donc réalisés dans le même temps. Les coefficients du filtre sont chargés en mémoire RAM (Randon Acess Memory) à l'initialisation. A ce niveau il est possible de prévoir plusieurs séries de coefficients correspondant chacune à un type de filtre. On dispose alors d'une banque de filtres de divers gabarits et, par conséquent, d'un modulateur utilisable dans plusieurs configurations de transmission. L'opération de modulation est une multiplication par un signal en cos(WO.t) ou sin(WO.t) du signal filtré. Le signal filtré est numérique, il faut également numériser le signal de multiplication qui est une sinusoïde. La numérisation retenue peut être celle représentée sur la figure 2. La séquence numérique représentant sin (WO.t) est 0, l, O, - l, O .... Celle représentant cos(WO.t) est 1, O, -1, O, 1 .... Dans le cas de la modulation MDP4, ces séquences contenant des O se révèlent intéressantes : après multiplication avec le signal filtré, un échantillon sur deux est nul et comme un zéro apparaît sur chacune des deux voies alternativement l'addition disparait. Si on appelle Xf(n) t et Yf(n) si on est en MDP4 X les échantillons filtrés, après modulation on a O, Xf(n+l), O, -Xf(n+3), en MDP2 ou et O, Xf(n+l), O, -Xf(n+3), sur la voie X en MDP4 Yf(n), O, -Yf(n+2), O, sur la voie Y Dans le cas du MDP4, la somme des deux voies donne la séquence Yf(n), Xf(n+l), -Yf(n+2), -Xf(n+3). Il n'y a plus d'addition à réaliser. Dans une réalisation du modulateur de l'invention, on réalise le filtrage à l'aide d'une mémoire vive telle qu'un tableau de longueur 5 contient les 5 derniers échantillons entrés. Chacun des échantillons est multiplié par le coefficient correspondant, le résultat s'additionne ensuite au résultat précédent. L'opération se répète autant de fois qu'il y a de coefficients. Cx Cx+4 Cx+8 Cx+12 Cx+16 I X(n) I X(n-l) I X(n-2) I X(n-3) I X(n-4) Après exécution du décalage des échantillons d'entrée d'une case mémoire dans le tableau, les plaçant dans la position du prochain calcul de filtrage, on a Cx Cx+4 Cx+8 Cx+12 Cx+16 X(n) X(n) X(n-1) X(n-2) X(n-3) emplacement de la future donnée Un calcul de filtrage s'opère ainsi 1: multiplication par O pour mettre à zéro le registre recevant les résultats de la multiplication 2: mise à zéro de l'accumulateur 3: indication du nombre d'exécutions de l'instruction suivante 4: multiplication, addition du résultat précédent et décalage des échantillons d'entrée 5: addition finale. La modulation se fait sur interruption. Une horloge à 4.FO (FO étant la fréquence de modulation) branchée sur l'interruption INTi vient dérouter le programme principal de calcul pour émettre successivement les données. O, Xf(n+l), O, -Xf(n+3) en MDP2 ou Yf(n), Xf(n+l), -Yf(n+2), -Xf(n+3) en MDP4 La modulation comprend alors un sous-programme réalisant - une sauvegarde de la pile - une émission de donnée - une mise en mémoire de la donnée suivante - une restitution de la pile - une autorisation d'interruption. L'organigramme du programme principal est donné en figure 3. Dans la mesure où les deux voies X et Y sont traitées successivement et non pas en parallèle, la sortie du signal modulé est retardée d'une période. La mise à jour globale consiste à placer dans un tableau toutes les valeurs filtrées par les 4 sous-filtres de la voie X et de la voie Y, en vue de leur émission lors de la période suivante. Les mises à jour partielles (1, 2, 3 et 4) contiennent respectivement les données à émettre dès l'interruption INT2, filtrées par le sous-filtre O, le sous-filtre 1, le sous-filtre 2 puis le sous-filtre 3. Ces mises à jour partielles sont judicieusement réparties tous les 1/ (4 * Fd). Dans l'exemple de réalisation représenté à la figure 4 les données E arrivent sur un fil par le port O (14) configuré en port d'entrée. L'horloge H des données est reliée à une entrée du processeur de signal 15 qui permet de scruter l'arrivée d'une donnée et d'en déclencher la lecture (par l'exemple l'entrée BIOZ d'un processeur de type TMS320C 25 de la société Texas Instrument). Trois niveaux d'interruption sont utilisés INTO INTi INT2 Reset choix du type de modulation MDP2/MDP4 horloge 4.FO venant dérouter le programme principal et provoquer l'émission d'une donnée filtrée. Les données filtrées sont exprimées sur 11 bits dans le processeur mais seuls les 8 bits de poids forts sont transmis au convertisseur numérique/analogique 17 dont l'horloge est aussi 4.FO, au travers d'un port 1 (16). La sortie de ce convertisseur 17 donne alors le signal modulé SM. Ainsi l'invention concerne un modulateur dont les fonctions sont toutes numérisées et réalisées par le processeur 15 (Digital Signal Processor). De plus, une commande extérieure permet de choisir entre deux types de modulation MDP2 ou MDP4. Le modulateur de l'invention a été mis en oeuvre avec un filtre numérique de mise en forme ; la fréquence des interruptions INT2 étant de 256 kHz et la fréquence porteuse de 64 kHz. Il est bien entendu que la présente invention n'a été décrite et représentée qu'à titre d'exemple préférentiel et que l'on pourra remplacer ses éléments constitutifs par des éléments équivalents sans, pour autant, sortir du cadre de l'invention. TABLEAU 1 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 Dn 0 0 0 Dn-1 0 0 0 Dn-2 0 0 0 Dn-3 0 0 0 Dn 0 0 0 Dn-1' 0 0 0 Dn-2 0 0 0 Dn-3 0 0 0 Dn 0 0 0 Dn-1 0 0 0 Dn-2 0 0 0 Dn-3 0 0 0 Dn 0 0 0 Dn-1 0 0 0 Dn-2 0 0 0 Dn+1 0 0 0 Dn 0 0 0 Dn-1 0 0 0 Dn-2 0 0 REVENDICATIONS 1/ Modulateur utilisant une modulation de phase à deux ou quatre états, caractérisé en ce que ses fonctions sont toutes numérisées et réalisées par un processeur de signal (15). 2/ Modulateur selon la revendication 1, caractérisé en ce qu'une commande extérieure permet de choisir entre les deux types de modulation. 3/ Modulateur selon l'une quelconque des revendications précédentes, caractérisé en ce que un programme principal de calcul du suréchantillonnage et du filtrage tourne en permanence dans le processeur de signal, celui-ci étant dérouté, sur interruption, vers un sous-programme de modulation. 4/ Modulateur selon l'une quelconque des revendications précédentes, caractérisé en ce que les coefficients du filtre sont chargés en mémoire RAM à l'initialisation. 5/ Modulateur selon la revendication 4, caractérisé en ce qu'on mémorise plusieurs séries de coefficients correspondant à plusieurs filtres de différents gabarits.