Introduction aux radios logicielles avec GNU Radio/Hystérésis

De testwiki
Version datée du 23 juillet 2017 à 01:22 par imported>JackBot (Formatage, ajout de div style="text-align: center;")
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Modèle:GRC

Le phénomène d'hystérésis est généralement introduit, en électronique, sur l'exemple de l'amplificateur opérationnel ; il existe des composants intégrés réalisant cette fonction. La méthode de mise en place d'un cycle d'hystérésis est très classique et mérite le détour avec GNU Radio.

Comparateur à hystérésis (ou trigger de Schmitt) à amplificateur opérationnel

Le montage du comparateur à hystérésis est présenté en illustration. Le signal d'entrée e(t) est affecté à l'entrée inverseuse, tandis que la rétroaction se fait sur la borne non-inverseuse, provoquant l'instabilité du montage dont la sortie oscillera sur les deux valeurs +Vsat et Vsat.

Circuit du comparateur à hystérésis.

L'application du théorème de Millman[1] à la borne non-inverseuse permet d'écrire v+=R1R1+R2e(t) ; on aboutit alors à l'entrée différentielle ε=v+v=R1R1+R2s(t)e(t).

Le montage étant saturé, on en déduit la relation entrée-sortie : s(t)={+Vsat si ε>0Vsat si ε<0={+Vsat si R1R1+R2Vsat>e(t)Vsat si R1R1+R2Vsat<e(t). La sortie est donc commandée par deux seuils, à savoir ±R1R1+R2Vsat.

Le comparateur à hystérésis conserve ainsi l'état de sa sortie dans un intervalle de valeurs d'entrées ; si l'on choisit cet intervalle convenablement, les éventuels parasites sont ignorés. Le comparateur à hystérésis réalise une fonction mémoire.

Utilisation du bloc Threshold

Le bloc threshold (de la catégorie Level Controllers) est un bloc à hystérésis. Il sera au centre de notre exemple.

Modèle:GRC bloc

Visualisation du cycle d'hystérésis dans GRC

Vérifions que le bloc Threshold remplisse bien sa mission : soumettons-le à une entrée sinusoïdale et visualisons le cycle d'hystérésis. Pour cela, le bloc Scope Sink doit avoir deux entrées (correspondant aux différents channels d'un oscilloscope). On paramètre ce nombre dans les propriétés du bloc (attribut Num Inputs). Dans les options de la fenêtre de visualisation, on se place en mode XY afin d'avoir la représentation du signal d'un canal en fonction de l'autre.

Application au dé-bruitage d'un signal

Nous allons utiliser le comparateur à hystérésis pour dé-bruiter un signal. Commençons par générer le signal à traiter. Nous prenons un bloc Signal Source, réglé sur la forme de carrés (Square). Pour le bruiter artificiellement, on rajoute une source de bruit à l'aide du bloc Noise Source (catégorie Waveform Generators) ; ce bruit est ensuite sommé (bloc Add) avec le signal.

Le signal bruité ainsi obtenu est dirigé vers un Scope Sink. D'autre part, on l'envoie vers un bloc Threshold. Deux chemins doivent donc se séparer en sortie du bloc Add. Cela ne pose pas de problèmes à GRC : il suffit de procéder comme d'habitude pour tracer les liens.

Enfin, on envoie le signal traité par le comparateur vers le Scope Sink, auquel on a attribué deux entrées.

Un throttle est ajouté en sortie de l'additionneur, seul endroit où le logigramme se réduit à un seul flux. Il est important de noter que si le throttle n'est appliqué qu'à un seul des flux, le rendu sera faussé par une « différence de vitesse » entre les deux.

Le rendu est éloquent : le signal final (ici sur le canal 2) est un signal rectangulaire propre. Nous avons fait afficher les valeurs du signal bruité en points en choisissant l'option Dot Med.

Notes

  1. Ou de la loi des nœuds, interprétée en termes de potentiels.