Utilisation de composants facilement disponibles pour générer des séquences binaires pseudo-aléatoires et du bruit blanc

Par Art Pini

Avec la contribution de Rédacteurs nord-américains de Digi-Key

Bien que les signaux aléatoires comme le bruit soient souvent considérés comme un problème, il existe des applications comme les communications et les tests de dispositifs qui dépendent de séquences de bits aléatoires et du bruit en raison de leurs caractéristiques uniques. Cependant, pour des tests ponctuels ou pour les concepteurs avec un budget serré, il peut s'avérer impossible d'acheter un générateur de séquences binaires pseudo-aléatoires (PRBS) ou de formes d'ondes arbitraires dédié. Dans de tels cas, il est plus rentable d'en construire un en utilisant des dispositifs CMOS facilement disponibles.

Cet article décrit les rôles utiles de la séquence PRBS et du bruit dans l'électronique. Il présente ensuite des circuits intégrés CMOS facilement disponibles et explique comment ils peuvent servir à générer le bruit pseudo-aléatoire et les séquences binaires nécessaires.

Le rôle du « bon » bruit

Le bruit blanc aléatoire présente un spectre plat dans le domaine des fréquences. Le spectre d'amplitudes de sortie moyen d'un amplificateur ou d'un filtre excité par une source de bruit blanc génère la réponse en fréquences d'amplitudes de ce dispositif.

Pour les communications, un flux de données pour un émetteur CDMA est multiplié par une séquence binaire pseudo-aléatoire (PRBS). Il peut ensuite être transmis sur le même canal RF que plusieurs autres signaux. La corrélation du signal composite avec la même PRBS au niveau du récepteur permet de récupérer le flux de données d'origine avec des interférences minimes ou nulles. Étant donné que ces signaux aléatoires sont si utiles, il est important de pouvoir les générer au besoin.

Génération d'une PRBS

Une PRBS est un signal déterministe périodique constitué d'une série de uns et de zéros numériques. La durée des niveaux un ou zéro est un multiple de la période d'horloge du générateur de PRBS. Le schéma des uns et zéros est aléatoire dans la période de répétition du générateur (Figure 1).

Image du signal PRBS7 en tant que signal de test PRBS

Figure 1 : Un signal PRBS7 est un signal de test PRBS avec une longueur de 7 bits et une période de 27 – 1 ou 127 bits. Ce signal est cadencé à 1 MHz et indique une périodicité de 127 ms, comme indiqué par les curseurs de l'oscilloscope. (Source de l'image : Digi-Key Electronics)

Le signal illustré à la Figure 1 est un signal de test PRBS7 produit par un générateur à 7 étages contenant 127 bits dans chaque période. Dans chaque période, le schéma de bits est aléatoire, mais la séquence entière se répète de manière identique toutes les 127 périodes d'horloge.

Ces signaux de test peuvent être générés dans un logiciel ou dans du matériel. L'avantage d'une implémentation matérielle pour les tests est que les signaux sont disponibles en externe pour commander le dispositif testé.

Registre à décalage à rétroaction linéaire

L'implémentation matérielle d'une PRBS est réalisée à l'aide de registres à décalage à rétroaction linéaire (LFSR). Certains registres à décalage sont disposés en série avec une rétroaction des derniers étages renvoyée vers l'entrée en utilisant les portes EXCLUSIVE-OR/NOR. Le nombre de registres à décalage utilisés détermine la longueur ou la durée du schéma (Figure 2).

Exemples d'un LFSR à quatre bits implémenté à la fois avec une logique de rétroaction OR exclusive et NOR exclusive

Figure 2 : Exemples d'un LFSR à quatre bits implémenté à la fois avec une logique de rétroaction OR exclusive et NOR exclusive. Les rétroactions déterminent la séquence des états de données. (Source de l'image : Digi-Key Electronics)

Bien que de nombreuses configurations de rétroaction soient possibles, presque toutes les conceptions utilisent des rétroactions qui produisent des séquences de longueur maximale, de sorte que le nombre total d'états soit égal à (2N-1), N étant le nombre d'étages du registre à décalage. Le Tableau 1 résume les rétroactions pour les séquences de longueur maximale pour les longueurs LFSR de 2 à 32. Les rétroactions en question ne sont pas exclusives. Notez que plusieurs polynômes de longueur maximale peuvent exister pour toute longueur de registre à décalage donnée.

Tableau 1 : Rétroactions pour un LFSR de longueur maximale
Longueur LFSR Période PRBS (bits) Rétroactions Longueur LFSR Période PRBS (bits) Rétroactions
2 3 2, 1 17 131 071 17, 14
3 7 3, 2 18 262 143 18, 11
4 15 4, 3 19 524 287 19, 6, 2, 1
5 31 5, 3 20 1 048 575 20, 17
6 63 6, 5 21 2 097 151 21, 19
7 127 7, 6 22 4 194 303 22, 21
8 255 8, 6, 5, 4 23 8 388 607 23, 18
9 511 9, 5 24 16 777 215 24, 23, 22, 17
10 1 023 10, 7 25 33 554 431 25, 22
11 2 047 11, 9 26 67 108 963 26, 6, 2, 1
12 4 095 12, 6, 4, 1 27 134 217 727 27, 5, 2, 1
13 8 191 13, 4, 3, 1 28 268 435 455 28, 25
14 16 383 14, 5, 3, 1 29 536 870 911 29, 27
15 32 767 15, 14 30 1 073 741 823 30, 6, 4, 1
16 65 535 16, 15, 13, 4 31 2 147 483 646 31, 28
32 4 294 967 294 32, 22, 2, 1

Tableau 1 : Résumé des rétroactions pour des séquences de longueur maximale pour des longueurs LFSR comprises entre 2 et 32. (Source de l'image : Digi-Key Electronics)

Notre exemple utilise un LFSR à 15 étages qui produit une séquence aléatoire de 32 767 bits, appelée séquence de test PRBS15. Il est possible d'obtenir des séquences plus longues en utilisant un LFSR avec un plus grand nombre d'étages. La limitation de l'utilisation d'une séquence de test PRBS est la durée du test. Une séquence de 15 bits cadencée à 500 kHz prend 65 millisecondes (ms). Une séquence de 31 bits prend 4 295 secondes, soit environ 72 minutes.

L'exemple à la Figure 2 utilise quatre registres à décalage pour produire des schémas de données avec 15 états distincts. Notez que les deux configurations présentent un seul état interdit. Dans le cas du schéma de rétroaction OR exclusif, l'état avec tous les zéros n'est pas utilisé car, une fois chargé, le registre à décalage reste verrouillé dans cet état. De même, l'état avec tous les uns est interdit dans l'implémentation NOR exclusif. Les Tableaux 2 et 3 montrent les schémas de données des deux configurations pour le LFSR à quatre bits, en utilisant des rétroactions des étages trois et quatre.

Tableau 2 : OR exclusif
Horloge Q0 Q1 Q2 Q3
amorce 1 1 1 1
1 0 1 1 1
2 0 0 1 1
3 0 0 0 1
4 1 0 0 0
5 0 1 0 0
6 0 0 1 0
7 1 0 0 1
8 1 1 0 0
9 0 1 1 0
10 1 0 1 1
11 0 1 0 1
12 1 0 1 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
Tableau 3 : NOR exclusif
Horloge Q0 Q1 Q2 Q3
amorce 0 0 0 0
1 1 0 0 0
2 1 1 0 0
3 1 1 1 0
4 0 1 1 1
5 1 0 1 1
6 1 1 0 1
7 0 1 1 0
8 0 0 1 1
9 1 0 0 1
10 0 1 0 0
11 1 0 1 0
12 0 1 0 1
13 0 0 1 0
14 0 0 0 1
15 0 0 0 0

Tableaux 2 et 3 : Schémas de données pour les configurations OR et NOR illustrées à la Figure 1. (Source de l'image : Digi-Key Electronics)

Les deux implémentations commencent à partir d'un état connu, uniquement des uns dans le cas OR et uniquement des zéros dans le cas NOR. Ces LFSR de longueur maximale à quatre bits fournissent 15 états possibles (2N-1), comme indiqué dans les tableaux.

Le schéma de données de sortie est périodique, car il se répète après 15 horloges. Il est également déterministe, au sens où pour une configuration donnée et un état de démarrage connu, il est possible de prévoir le résultat. Le schéma de sortie est toutefois aléatoire dans la période 15.

Conception d'un générateur de séquences binaires pseudo-aléatoires

Une conception de générateur de PRBS pratique et économique basée sur l'implémentation d'un LFSR à l'aide du double registre à décalage statique quadruple CD4015BM96 de Texas Instruments et de la porte XOR quadruple CD4030BM96 est illustrée à la Figure 3.

Schéma simplifié du générateur PRBS15 utilisant le double registre à décalage statique quadruple CD4015BM96 de Texas Instruments

Figure 3 : Schéma simplifié d'un générateur PRBS15 utilisant le double registre à décalage statique quadruple CD4015BM96 de Texas Instruments et la porte XOR quadruple CD4030BM96. (Source de l'image : Digi-Key Electronics)

Ce générateur utilise 16 bascules D (huit par circuit intégré) avec des rétroactions à la 14e et la 15e produisant un schéma de données PRBS15. La connexion de rétroaction se fait via une porte XOR, qui est ensuite inversée pour former un LFSR configuré XNOR. Ce schéma de données présente une longueur de 32 767 bits, soit une durée d'environ 65 ms à une fréquence d'horloge de 500 kHz. Il est possible d'obtenir des schémas plus longs en utilisant des registres à décalage plus longs avec un changement approprié dans les rétroactions. L'extension de la conception à un schéma à 31 bits augmente la durée du schéma à plus de 2 milliards d'états (environ 72 minutes à une fréquence d'horloge de 500 kHz).

Le générateur est initialisé à l'état qui ne présente que des zéros à l'allumage, à l'aide d'une porte NAND (IC5) à bascule de Schmitt CD4093BM96 et d'un simple circuit RC. L'horloge est fournie par un simple oscillateur CMOS fonctionnant à près de 500 kHz. La sortie numérique peut être prise à partir de n'importe quelle sortie Q du registre à décalage. Dans cet exemple, la sortie Q14 a été utilisée.

La sortie du générateur ainsi que la transformation de Fourier rapide (FFT) de la sortie sont affichées sur un oscilloscope à la Figure 4.

Image illustrant l'extension horizontale de la sortie du générateur (trace supérieure) dans la trace du milieu

Figure 4 : La sortie du générateur (trace supérieure) est étendue horizontalement dans la trace du milieu pour voir la structure détaillée. La FFT de la sortie du générateur (trace inférieure) indique que le spectre est plat en dessous de 1/10e de la fréquence d'horloge. (Source de l'image : Digi-Key)

La FFT du bruit numérique montre la réponse sin(x)/x attendue d'une forme d'onde à impulsions avec des zéros à des multiples de la fréquence d'horloge. Le spectre est assez plat jusqu'à environ 10 % de la fréquence d'horloge. C'est un élément clé pour extraire le bruit blanc de la sortie numérique en utilisant un filtrage passe-bas.

Générateur de bruit blanc

Le bruit blanc est un bruit qui est spectralement plat sur sa plage de fréquences. La densité spectrale de puissance et la largeur de bande par unité sont constantes sur la largeur de bande de bruit. En filtrant la sortie de bruit numérique, le générateur PRBS produit un bruit blanc.

Bien qu'il soit possible d'utiliser un filtre analogique, il serait limité à une fréquence d'horloge spécifique. En utilisant un filtre numérique passe-bas à réponse impulsionnelle finie (FIR), la coupure du filtre suit tous les changements de fréquence d'horloge. De plus, le filtre FIR peut fournir des fréquences de coupure très basses qui nécessiteraient de très grands condensateurs dans le cas d'un filtre analogique. Le filtre FIR combine la somme pondérée des sorties du registre à décalage. La pondération requise pour produire une réponse de filtre passe-bas rectangulaire dans le domaine de fréquence est sin(x)/x dans le domaine temporel (Figure 5).

Schéma représentant la pondération nécessaire pour produire une réponse de filtre passe-bas rectangulaire

Figure 5 : L'étage de sortie du générateur utilise des échantillons pondérés sin(x)/x provenant des sorties du registre à décalage pour implémenter un filtre passe-bas FIR. Comme la pondération sin(x)/x nécessite des termes négatifs, un amplificateur différentiel est utilisé pour additionner les composantes pondérées positives et négatives. (Source de l'image : Digi-Key)

Les sorties pondérées du registre à décalage sont additionnées dans l'amplificateur différentiel, qui utilise trois sections d'un amplificateur opérationnel quadruple LM324KDR. La rangée supérieure de résistances représente les composantes négatives de la pondération sin(x)/x. La rangée inférieure de résistances représente les valeurs positives. Les sorties Q3 et Q12 ne sont pas connectées, car elles représentent les points de passage par zéro de la fonction sin(x)/x. La sortie de bruit blanc qui en résulte présente la fonction de densité de probabilité (PDF) gaussienne classique (Figure 6).

Image illustrant le bruit numérique PRBS (deux traces du haut) avec la sortie de bruit blanc analogique (troisième trace en partant du haut)

Figure 6 : Bruit numérique PRBS (deux traces du haut) avec la sortie de bruit blanc analogique (troisième trace en partant du haut). L'histogramme du bruit blanc (trace du bas) présente la fonction de densité de probabilité gaussienne ou normale en forme de cloche classique. (Source de l'image : Digi-Key)

Le signal de bruit blanc est le troisième en partant du haut. En dessous se trouve l'histogramme du bruit qui présente la distribution de probabilité gaussienne ou normale attendue. Le bruit blanc est limité en bande à 5 % de la fréquence d'horloge, ou 25 kHz, ce qui convient aux tests de fréquence audio.

Conclusion

Comme indiqué, des circuits intégrés CMOS facilement disponibles peuvent être utilisés pour produire à la fois une séquence binaire pseudo-aléatoire et un bruit blanc analogique à des fins de communication et de test. La nomenclature des pièces utilisées est peu coûteuse, ce qui la rend idéale pour la recherche universitaire, les amateurs, et les ingénieurs et techniciens qui souhaitent faire des économies.

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de Digi-Key Electronics ni les politiques officielles de la société.

À propos de l'auteur

Art Pini

Arthur (Art) Pini est un auteur-collaborateur chez Digi-Key Electronics. Il est titulaire d'une licence en génie électrique du City College of New York et d'un master en génie électrique de la City University of New York. Il affiche plus de 50 ans d'expérience en électronique et a occupé des postes clés en ingénierie et en marketing chez Teledyne LeCroy, Summation, Wavetek et Nicolet Scientific. Il s'intéresse aux technologies de mesure et possède une vaste expérience des oscilloscopes, des analyseurs de spectre, des générateurs de formes d'ondes arbitraires, des numériseurs et des wattmètres.

À propos de l'éditeur

Rédacteurs nord-américains de Digi-Key