Pseude-Rauschen für Array berechnen?

#3354446
Lesenswert?

Hallo,

für kleinere Audiotest will ich mir einen kleinen Atmega-Rauschgenerator 
bauen. Um es so einfach wie möglich zu halten reicht ein Pseudorauschen 
völlig aus.

Soll heissen, dass ich die Werte eines Rauschsignals in einem Array 
ablege. Die einzelnen Werte werden dann nacheinander ausgeben (evtl. 
R2R-Netzwerk).

Gibt es etwas bei den Werten des Rauschens zu beachten?

Ich hätte jetzt einfach mal die folgende Formel für die Berechnung 
verwendet:

Die Obergrenze von Unendlich ist natürlich nur theoretisch. Zudem würde 
ich nicht mit x = 0 beginnen, da hier die Amplituden aller Sinus gleich 
Null sind.

Spricht was gegen meine Überlegung?

Danke
Moderator #3355918
Lesenswert?

Matt B. schrieb:
> Ich hätte jetzt einfach mal die folgende Formel für die Berechnung
> verwendet:

Ja, man kann Sinussignale unterschiedlicher Frequenz zusammenaddieren,
um weißes Rauschen zu generieren. Dazu müssen aber die Frequenzen aber
ausreichend dicht beieinander liegen, was viel Rechenzeit benötigt.

Genausogut kannst du den Zufallsgenerator von C verwenden. Der generiert
ebenfalls weißes Rauschen und braucht im Vergleich zur Sinussumme fast
keine Rechenzeit.

Vor Kurzem gab es hier einen Thread mit einem ähnlichen Thema:

  Beitrag "1/f-Rauschen: Zahlenwerte berechnen"

Dort erfährst du, wie man neben dem weißem auch rotes und rosa Rauschen
softwaremäßig erzeugt.
(Firma: Raich Gerätebau & Entwicklung) #3356976
Lesenswert?

Einen schönen Rausch erzeugt auch folgender Code:

void make_audio_buf(void)
{
unsigned int i,temp1;
temp1=0x7FFF; //Startwert
for(i=0;i<0x4000;i++){temp1=(temp1*5+3);

    audio_buf[i]=temp1/32;
    }

}

das Rauschen hat hierbei (16kHz Rate) keine hörbare Periodizität mehr.

Grüsse

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren