Amélioration de la numérisation en ajoutant du bruit blanc avant le suréchantillonnage


8

Je lisais un livre de physique et il a dit que lors de la numérisation, un bruit blanc de signal a été ajouté pour améliorer le processus. Je ne comprends pas comment cela fonctionne. Par conséquent, ma question est:

Lors de la numérisation d'un signal analogique, en quoi l'ajout de bruit peut-il être bénéfique lorsqu'il est combiné avec un suréchantillonnage dans le temps?


Parlez-vous de tramage? Voir en.wikipedia.org/wiki/Dither pour en savoir plus.

@DavidZ Si ce sujet est hors sujet, pourquoi y a-t-il déjà autant de réponses? Plusieurs personnes ont dit dans la méta qu'elles aiment garder les questions mathématiques tant qu'elles sont pertinentes pour la physique. Pourquoi ce processus de réflexion devrait-il différer pour d'autres sujets?
DanielSank

@DanielSank, car une question hors sujet n'empêche pas les gens d'y répondre. Si vous pensez que les questions de traitement du signal devraient être sur le sujet, et que vous pensez que la communauté est d'accord avec vous, portez-la à la méta et faites un post proposant cette modification à la portée du site.
David Z

Les expérimentateurs doivent faire face dans une certaine mesure aux caprices de l'échantillonnage numérique. Je ne suis pas exactement d'accord pour déplacer une question d'un site gradué (échange de pile de physique) vers un site bêta (ce site), mais ce qui est fait est fait. Espérons que cette migration attirera l'attention de personnes ayant une meilleure connaissance. Mes connaissances en matière de signaux propres sont pré-millénaires. La dernière fois que j'ai dû travailler avec des signaux du monde réel, je n'avais pas seulement un problème de faible rapport signal / bruit. J'ai eu un problème de bruit sur signal sur l'unité. Gérer cela était assez amusant (dans un sens masochiste).
David Hammen

Réponses:


4

L'ajout de bruit non corrélé (c'est-à-dire blanc) à un signal analogique avant la numérisation est appelé tramage . Pour comprendre pourquoi nous ferions cela, nous devons comprendre l'idée du bruit de quantification . Considérons un système analogique dont les signaux varient en amplitude de 0 à 100. Supposons que nous numérisions ce signal avec un numériseur dont les niveaux numériques sont espacés de 1. En d'autres termes, les niveaux numérisés possibles sont

{-100,-99,-9899,100}.

Supposons maintenant le signal analogique s(t) est un signal DC de valeur 0,8, en d'autres termes

s(t)=0,8.

Si nous mettons cela dans le numériseur, le numériseur l'arrondira à 1 et nos échantillons numériques sn sera

sn=1.

Ce n'est pas bon car maintenant notre signal numérique accumule des erreurs à mesure que nous acquérons plus de signal. Le niveau numérisé est toujours trop élevé, donc plus nous faisons la moyenne du signal, plus nous surestimons le niveau analogique.

L'ajout de bruit blanc permet de résoudre ce problème car il repousse le niveau analogique de telle sorte qu'il traverse les niveaux de numérisation voisins. Par conséquent, lorsque vous effectuez une moyenne sur un ensemble de valeurs numérisées, vous obtenez réellement quelque chose qui est proche du vrai niveau analogique. Voyons cela via un exemple.

Supposons que le bruit que nous ajoutons soit gaussien distribué avec σ=2. Ensuite, la distribution du signal analogique est

p(X)exp[-(X-s(t))22σ2]=exp[-(X-0,8)28].

Nous calculons maintenant la valeur numérique moyennesn en faisant la moyenne p(X)sur les entiers. La constante de normalisation de la distribution est

N=m=-100100exp[-(m-0,8)28]
et nous avons donc
sn=1Nm=-100100mexp[-(m-0,8)28]=0,79999
Ainsi, vous pouvez voir que l'ajout du bruit blanc a fait que le signal numérisé moyen correspondait plus étroitement à la vraie valeur analogique.

Bien sûr, l'ajout du bruit aggrave votre rapport signal / bruit. Cela signifie avoir réellement une forte probabilité de mesurer lasnnous venons de calculer, vous devez prendre plus d'échantillons que vous ne le pensez dans le cas silencieux. C'est pourquoi vous entendez parler de suréchantillonnage et de tramage en même temps. Étant donné que le bruit de tramage n'est vraiment pas corrélé, le fait de prendre plus d'échantillons permet toujours d' améliorer le rapport signal / bruit, même si vous échantillonnez bien au-dessus de la bande passante du signal analogique entrant.


2

Le tramage (ajoutant intentionnellement du bruit) au signal d'entrée combiné à un suréchantillonnage peut (sans garantie!) Améliorer le nombre effectif de bits dans le signal et augmenter le rapport signal / bruit.

En supposant que le processus sous-jacent est un processus de bruit blanc, le signal numérisé ressemblera toujours à du bruit blanc si le niveau de quantification est bien dans le bruit. C'est en général une bonne chose. Le bruit blanc a des propriétés mathématiques plutôt agréables. Il est difficile de traiter le bruit de quantification non linéaire et dépendant du signal. Ce bruit de quantification peut généralement être ignoré si le niveau de quantification est bien dans le bruit.

Et si le niveau de quantification n'est pas bien dans le bruit? Vous avez maintenant un bruit de quantification désordonné à gérer. Une façon de le gérer consiste à utiliser un ADC de résolution plus élevée et à faire en sorte que la quantification soit bien dans le bruit. Une alternative consiste à ajouter intentionnellement du bruit blanc au signal d'entrée afin de réduire le bruit de quantification de votre ADC bon marché par rapport au bruit du signal (tramé).

L'idée de base est de tramer le signal d'entrée de sorte que le bruit dans le signal tramé domine sur le bruit de quantification (mais évidemment pas trop). Le signal tramé est volontairement suréchantillonné puis sous-échantillonné en faisant la moyenne de deux ou plusieurs mesures successives. Cette moyenne n'achète quelque chose que si le signal d'entrée est bruyant par rapport au bruit de quantification. Le bruit de quantification moyen ressemble à du bruit de quantification. Le bruit blanc moyen permet au signal de sortir du bruit.

Pour en savoir plus, lisez le didacticiel de Walt Kester Les bons, les mauvais côtés et les aspects laids du bruit d'entrée ADC: le bruit est-il bon? .


@DanielSank S'il a spécifiquement posé des questions sur le bruit blanc, donner une réponse sur le bruit de quantification ne répondrait pas à la question posée.
Le Photon

@ThePhoton: Ack! C'était une faute de frappe. Il a demandé la densité spectrale du bruit de quantification . Ugh, et maintenant je ne peux pas modifier le commentaire.
DanielSank

1
Republication du commentaire avec correction: Le fait que le bruit de quantification ne soit pas additif m'a posé des problèmes lors d'un entretien d'embauche. Le gars a demandé "quelle est la densité spectrale du bruit de quantification"? J'ai expliqué qu'il n'avait pas vraiment de densité spectrale et j'ai essayé de lui montrer pourquoi, mais il n'a pas compris. Je pense qu'il voulait juste la réponse standard pour le cas où vous supposez que les niveaux numériques sont déjà dans le bruit analogique (comme mentionné dans votre réponse), auquel cas le bruit de numérisation est blanc, comme vous le dites.
DanielSank

2

Oui, l'ajout de bruit non corrélé à un signal, puis la moyenne de plusieurs échantillons, est une façon de gérer le bruit de quantification.

Pour rendre cela évident, pensez au cas limite. Vous voulez mesurer la valeur d'un signal entre 0 et 1, mais tout ce que vous avez est un A / D 1 bit. La sortie A / D est 0 lorsque le signal est compris entre 0 et 0,5 et 1 lorsque le signal est compris entre 0,5 et 1.

Considérons maintenant un signal de .3. Avec un bon nettoyage de 0,3 po, l'A / D donnera toujours 0. Vous ne pouvez pas faire la distinction entre un signal d'entrée de 0,1, 0,25, 0,3, etc., par exemple.

Ajoutez maintenant un bruit aléatoire de ± 0,5. Le signal vu par l'A / D sera désormais compris entre -,2 et 0,8. Une sortie 0 a une probabilité de 0,7 et une sortie 1 de 0,3. N'importe quelle lecture ne vous en dira pas beaucoup (contrairement à ce qui se passait avant quand elle vous disait que le signal était de 0 à 0,5), mais après un tas de lectures, vous avez une idée raisonnable du signal. Par exemple, si vous prenez 100 lectures, environ 30 d'entre elles seront 1 et 70 seront 0. Il n'y a aucune garantie de cela, mais plus vous lisez de moyennes, plus la confiance que le résultat moyen représente le signal est élevée.

Le tramage est donc un moyen d'échanger la certitude et la bande passante pour obtenir une résolution. Notez que peu importe le nombre de lectures que vous effectuez, vous ne savez pas que le signal est dans une certaine limite, mais seulement que la probabilité qu'il soit dans une certaine limite est élevée. Notez également que vous avez perdu la bande passante car de nombreux échantillons sont nécessaires pour obtenir une valeur de signal. Néanmoins, dans de nombreux cas, ce sont des compromis utiles.


2

Les réponses ci-dessus, hésitantes, sont correctes, mais je tiens à souligner explicitement que vous échangez explicitement la résolution contre du temps. Un compromis temps / précision. Le cas le plus dramatique est celui des convertisseurs delta-sigma. Ils ont (enfin il y a probablement des exceptions) 1 bit de précision mais en overclockant la conversion, ils sont capables d'extraire 24 bits, ou plus, de résolution. Dans ce cas, ils contournent le compromis par l'overclocking (beaucoup).

Bien sûr, de nombreuses autres techniques sont utilisées dans les vrais convertisseurs; mais le principe s'applique.


0

Il y a longtemps (fin des années 80), nous avions besoin de pouvoir créer un spectre énergétique de rayonnement entrant dans le cadre d'une gamma caméra utilisée en médecine nucléaire. Cela nécessitait un ADC rapide avec une excellente linéarité différentielle (fondamentalement, chaque "bin" de l'ADC doit être exactement de la même largeur ou le signal analogique, qui est distribué en continu, vous donnera une "bosse" dans un bin qui est un peu un peu trop large - et cela pourrait ressembler à un pic spectral).

La solution était une variante intéressante du tramage: nous avions un petit DAC et un compteur, et nous l'avons utilisé pour ajouter une quantité connue de signal à l'entrée. Le signal de somme a ensuite été numérisé en utilisant un ADC rapide avec une linéarité différentielle (comparativement) médiocre, et la valeur du DAC a été soustraite à nouveau après la conversion; après cela, le compteur (entrée dans le DAC) a été incrémenté de 1 (avec débordement le remettant à zéro). Le résultat de ceci était qu'une tension de la même valeur serait convertie dans l'un des nombreux bacs - réduisant en effet la non-linéarité différentielle de l'ADC de la taille du compteur DAC.

Vous pouvez faire la même chose avec du bruit aléatoire - mais si vous ne savez pas quel bruit vous ajoutez, vous dégradez bien sûr votre signal. Lorsque le bruit est à peu près de la taille d'un bac dans l'ADC, et vous pouvez prendre plusieurs mesures, cela va vous aider à estimer un signal à mieux que la résolution de l'ADC - en supposant que vous pouvez faire confiance à la linéarité différentielle. Mais l'ajout d'un signal "aléatoire" connu (bien que nous ayons utilisé un compteur, c'était "aléatoire dans le temps" quelle valeur se trouverait présente pour une conversion particulière) et la prise en compte de sa valeur vous permet une précision encore plus grande.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.