Déterminer la «blancheur» du bruit


14

Comment peut-on quantifier le "blanc" du bruit? Existe-t-il des mesures statistiques ou d'autres mesures (FFT par exemple) qui peuvent quantifier la proximité du bruit blanc d'un échantillon particulier?


3
Êtes-vous intéressé par des suggestions sur la façon de comparer différentes sources / signaux de bruit ou recherchez-vous une métrique "standard de l'industrie" qui s'applique à la quantité de "couleur" dans une source de bruit? Je ne connais pas de métrique générale qui s'applique, mais vous pouvez comparer la quantité de coloration en regardant la distribution de puissance de bruit dans une FFT ou PSD (plus plate = plus blanche) ou vous pouvez comparer les fucitons d'autocorrélation (plus étroit = ​​plus plat).
user2718

Si je vous comprends bien, vous cherchez un calculateur de boîte blanche automatique de «blancheur», n'est-ce pas?
Spacey

1
+1 pour calculer la densité spectrale de puissance de la source. Pour mémoire, je voudrais ajouter que le bruit blanc ne peut pas être échantillonné en pratique, car son PSD est plat en -∞ <f <∞.
Serge

@Mohammad - Pas nécessairement une boîte noire à calculer. Je suis simplement curieux de savoir s'il existe un estimateur mathématique de la blancheur.
Kitchi

1
@BruceZenone - Pour un véritable échantillon de données, comme l'a souligné Serge, le PSD ne sera jamais complètement plat, non? Mais je suppose toujours que plus il est plat, plus il se rapproche du "vrai" bruit blanc.
Kitchi

Réponses:


12

Vous pourriez former un test statistique, basé sur l'autocorrélation de la séquence potentiellement blanche. Le manuel de traitement du signal numérique suggère ce qui suit.

entrez la description de l'image ici

Cela peut être implémenté dans scilab comme ci-dessous.

L'exécution de cette fonction sur deux séquences de bruit: une séquence de bruit blanc et une séquence de bruit blanc légèrement filtrée, puis les résultats du tracé suivants. Le script pour la génération de chaque réalisation des séquences de bruit est à la fin.

entrez la description de l'image ici

La moyenne de la statistique du bruit blanc est de 9,79; la moyenne de la statistique du bruit filtré est de 343,3.

En regardant une table chi carré pour 10 degrés de liberté, on obtient:

entrez la description de l'image ici

p=0,01


function R = whiteness_test(x,m)
    N = length(x);
    XC = xcorr(x);
    len = length(XC);
    lags = len/2+1 + [1:m];
    R = N*sum(XC(lags).^2)/XC(len/2+1).^2;
 endfunction

X = rand(1,1000,'normal');
Y = filter(1,[1 -0.5],X)
R = [R; whiteness_test(X,10)];
R2 = [R2; whiteness_test(Y,10)];

Je ne suis pas un grand statisticien ... Mais j'ai une préoccupation concernant la validité générale du test mentionné ci-dessus pour les processus de bruit blanc non gaussiens: Pour autant que je comprends, le bruit blanc signifie seulement qu'il n'y a pas de corrélation dans le temps et donc l'autocorrélation est une impulsion à 0 décalage. Le blanc ne signifie pas nécessairement que les amplitudes sont normalement distribuées, ce que suppose le test ... Ainsi, à ma connaissance, le test est valable pour le bruit gaussien blanc (car la somme des distributions gaussiennes au carré est Chi-carré) et non pour le bruit blanc général? Ai-je raison ou y a-t-il quelque chose wr
Fabian

@Fabian: Oui et non. Vous avez raison en ce que le test suppose que les valeurs d'autocorrélation sont gaussiennes. Si le bruit d'origine est à peu près n'importe quelle distribution, alors le théorème de la limite centrale signifie que la distribution des estimations d'autocorrélation sera gaussienne. Il y a des cas pathologiques où les coefficients d'autocorrélation ne seront pas gaussiens, mais ceux-ci sont généralement peu nombreux (et peut-être que l'analyse d'autocorrélation n'est pas la meilleure chose à faire dans ces cas).
Peter K.

@ PeterK.Un test "plus difficile" ne serait-il pas de déterminer la planéité du PSD? De cette façon, aucune hypothèse n'est faite et la distribution des échantillons de bruit n'est pas pertinente.
Envidia

@Envidia: Les deux sont équivalents, n'est-ce pas? Le PSD n'est que la DFT de la séquence d'autocorrélation.
Peter K.

@PeterK. Dans votre exemple, oui, ils sont essentiellement équivalents. Cependant, la procédure suppose iid où, comme généralement, les échantillons peuvent être distribués de n'importe quelle manière. Je comprends que le théorème de la limite centrale entre en jeu et est valide, c'est pourquoi j'utilise le terme "plus difficile". Un meilleur terme serait peut-être «général».
Envidia

5

J'utiliserais les propriétés d'autocorrélation du signal ou la planéité du PSD pour le déterminer. L'autocorrélation du bruit blanc théorique est une impulsion au décalage 0. De plus, la PSD de la transformée de Fourier de la fonction d'autocorrélation, la PSD du bruit blanc théorique est constante.

L'un ou l'autre devrait vous donner une bonne idée de la blancheur de votre bruit.


3

La blancheur équivaut à l'indépendance.

Vous pouvez regarder les purs et durs https://en.m.wikipedia.org/wiki/Diehard_tests

Le volume 2 des algorithmes séminariques de Knuth contient une section sur les génentateurs de nombres aléatoires et les tests.

Le problème avec les tests basés sur la DFT est qu'il y a un peu de fuite spectrale, la technique introduit une certaine corrélation, qui si vous faites vos transformations "longues" peut généralement être négligée.

Il existe également des tests pour les flux binaires aléatoires au NIST


Oublié de dire, Stan: +1 pour ces tests inflexibles! Je n'avais pas vu cette liste. :-)
Peter K.
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.