Rauschen erzeugen

  • Zum eingebauten Rauschgenerator wünsche ich mir in einer der nächsten Versionen eine weitere Option:
    Erzeugung von Terzrauschen.


    Zum Messen des Frequenzganges von Lautsprechern in normal ausgestatteten Wohnräumnen
    sind Sinustöne schlecht geeignet: Durch Reflexionen an Zimmerwänden entstehen
    stehende Wellen, deren Knoten und Bäuche sich frequenzabhägig räumlich verschieben, was am
    Ort des Messmikrofones zu starken Pegeländerungen führt.


    Bei Verwendung von Terzrauschen entsteht eine zeitliche Mittelung dieses Effektes,
    der Pegel am Ort des Messmikrofons ist durch Reflexionen weit weniger gestört.

  • Danke, nein.
    Rosa Rauschen ist ein breitbandiges Rauschen über den ganzen hörbaren Frequenzbereich.
    Terzrauschen ist ein schmalbandiges Rauschen mit einem Frequenzumfang von 1,5 oder zwei Ganztonschritten.
    Das heißt, im Generator müsste die Mittenfrequenz einstellbar sein.

  • Also gut, nächster Versuch: Bei Terzrauschen scheint es sich um ein gefiltertes rosa Rauschen zu handeln. Rosa Rauschen habe wir bereits, wir brauchen also nur noch den Terzfilter.


    Was ich über Terzfilter herausfinden konnte:


    fo = obere Grenzfrequenz
    fu = untere Grenzfrequenz


    fo/fu = 2^(1/3) = 1/3 Oktave = Terz


    Das Verhältnis der Mittenfrequenzen zweier Nachbar-Filter ist ebenfalls:


    f2/f1 = 2^(1/3) = 1/3 Oktave = Terz


    Die Mittenfrequenz ist:


    fm = sqrt(fu*fo)


    Ist das richtig? Oder gibt es irgendwo eine Quelle wo ich die genauen mathematischen Grundlagen nachlesen kann? Ich muss nachher mal versuchen ob ich irgendwo eine Kopie der DIN 45402 auftreiben kann.
    [line]
    P.S.: Stunden später... - Julius Smith weiss einfach alles:


    * https://ccrma.stanford.edu/rea…_Octave_Filter_Banks.html - Berechnungsformeln des Terzfilters


    Ich muss jetzt leider fort, aber ich denke, dass ich damit heute abend vielleicht einen Terzfilter als Audacity Plugin zusammengebastelt bekomme.

  • Also hier unten klebt ein "Third-Octave Filter" Plugin dran. Das Plugin im Audacity "plug-ins" Ordner speichern, beim nächsten Start von Audacity sollte im unteren Teil des "Effekt" Menüs das "Third-Octave Filter" Plugin erscheinen. Die Bedienung ist momentan noch nicht das Wahre vom Ei, aber zum Ausprobieren reicht es schon mal.


    * Zuerst mit "Erzeugen > Rauschen > Rauschart > Rosa Rauschen" eine Tonspur mit rosa Rauschen erzeugen.


    * Danach die komplette Tonspur markieren und dann im "Effekt" Menü auf "Third-Octave Filter" gehen. Es erscheint ein Fenster, in dem die Mittenfrequenz eingestellt werden kann, danach auf "OK klicken.


    Der Schieberegler im Plugin-Fenster ist dummerweise linear (es gibt im Audacity Nyquist Interface keine logarithmischen Schieberegler), im Zweifelsfall die gewünschte Mittenfrequenz neben dem Regler mit der Tastatur in das Textfeld reinschreiben.


    DIN_45402 sagt dass ein Terzfilter ausgehend von 1000Hz in Terz-Schritten nach oben und unten eingestellt wird. Wäre es sinnvoller einen "Terz-Schritte" Regler einzubauen?


    Ich muss jetzt mal rausfinden wie ich ohne gigantischen Mathematik Aufwand aus weissem Rauschen rosa Rauschen machen kann, dann baue ich den Rauschgenerator gleich mit in das Plugin rein.


    Audacity Nyquist "Third-Octave Filter" Plugin (Download-Version siehe links ganz unten in diesem Kasten):
    [line]
    [m];nyquist plug-in
    ;version 3
    ;type process
    ;name "Third-Octave Filter..."
    ;action "Third-Octave Filter"


    ;control f-zero "Center frequency" real "" 1000 20 20000


    (setq f-zero (min (max f-zero 20.0) 20000.0))


    ;; See Julius Smith: "Third-Octave Filter Banks"
    ;;
    ;; https://ccrma.stanford.edu/rea…_Octave_Filter_Banks.html
    ;;
    ;; 2^(1/3) - 1
    ;; bandwidth = f-zero * -------------
    ;; 2^(1/6)
    ;;
    ;; bandwidth = f-zero * +constant+
    ;;
    ;; q = f-zero / bandwidth
    ;; = f-zero / (f-zero * +constant+)
    ;; = 1 / +constant+
    ;;
    ;; 2^(1/3) - 1 2^(1/6)
    ;; q = 1 / ------------- = -------------
    ;; 2^(1/6) 2^(1/3) - 1
    ;;
    ;; q = (2^(1/6) / (2^(1/3) - 1)) = 4.3184724...


    (setq +third-octave-q+ (/ (expt 2.0 (/ 1.0 6.0))
    (- (expt 2.0 (/ 1.0 3.0)) 1.0)))


    (defun third-octave-filter (sound f-zero)
    (scale +third-octave-q+
    (bandpass2 sound f-zero +third-octave-q+)))


    ;; apply the third-octave-filter to an Audacity track
    ;;

    (multichan-expand #'third-octave-filter s f-zero)[/m]

  • Rauschen mit Terzbandbreite kann man prinzipiell aus weißem oder rosa Rauschen erzeugen.
    Für eine Frequenzgangmessung an Lautsprechern ist als Ausgangssignal aber nur rosa Rauschen geeignet,
    weil nur dieses in jeder Terz die gleiche elektrische oder akustische Leistung enthält.


    (Im Gegensatz zu weißem Rauschen, wo pro Hertz Bandbreite immer die gleiche Leistung
    enhalten ist. Damit wäre ja jede höhere Terz lauter als eine niedrigere).


    Ich hab mir hardwaremäßig einen Terzrauschgenerator gebastelt. Rosa Rauschen erhält man,
    indem man weißes Rauschen durch einen Tiefpass mit einer Flankensteilheit von 3 dB/Oktave
    schickt. Aber das ist ja bei Audacity schon vorhanden, insofern verstehe ich deine Bemerkung
    zur „gigantischen Mathematik“ nicht ganz. Vom Programmieren versteh ich wenig. Aber wenn du
    rechnerisch weißes Rauschen um 3 dB/Oktave absenken kannst, ist „der Kas schon gebissen“
    (boarisch).


    Dann braucht nur noch die Funktion eines variablen Terzfilters nachgeschaltet zu werden.
    In WIKIPEDIA findet man unter dem Stichwort „Terz“ verschiedene Definitionen zur Bandbreite.
    Welche davon in der Elktroakustik verwendet wird, ist glaub ich in der DIN 45652 festgelgt.
    Auf der Suche nach der DIN wünsch ich dir viel Glück, DIN-Normen dürfen nämlich
    „theoretisch“ nicht kopiert werden ;(
    Wichtig ist eine ausreichende Flankensteilheit des Filters unterhalb fu und und oberhalb fo.
    Mein Filter hat 12 dB/Oktave, das ist zu wenig, da hört man bei ganz tiefen Terzen noch Höhen,
    bei hohen Terzen schlagen die tiefen Frequenzen durch.


    An die in der DIN festgelegten diskreten Mittenfrequenzen würde ich mich nicht halten.
    Ich fände es sinnvoller, gleitende Mittenfrequenzen mit Start und Ende erzeugen zu können
    analog der Funktion in Tongenerator (2).


    So, kann ich noch weitere Unklarheiten zum Thema beitragen ?
    Viel Erfolg bei der Umsetzung.
    Tschüss

  • Nochn Gedicht:


    Hab das Plug-In mal geladen und den Ton mit meinem Rauschgenerator verglichen: ja, das isses.
    Damit könnte man eine schrittweise Terzfolge erzeugen,
    aber wie schon gesagt, gleitend zusätzlich wäre auch schön.
    Und eine linare Abfolge ist gar nicht verkehrt, dann kann man auf der oberen Zeitachse
    die jeweilig Frequenz leicht bestimmen.


    Frage: Was für eine Flankensteilheit hast du für das Terzfilter realisiert ?
    Unendlich ? Wäre zwar nich DIN, aber besser, weil dann wären außerhalb der Terz alle Frequenzen weg.
    In der DIN ist irgendeine Steilheit vorgesehen, aber nur, weil man das Signal früher digital nicht erzeugen konnte.


    Also: Ansatz Eins mit Sternchen, hätte nich gedacht, dass das so fix geht.
    Wann kommt das neue Update ? Ich drängle - Du drängelst - ErSieEs drängelt -Wir drängeln usw.

  • Quote

    Rosa Rauschen erhält man, indem man weißes Rauschen durch einen Tiefpass mit einer Flankensteilheit von 3 dB/Oktave schickt.


    Das ist mir bekannt (kannst du aber nicht wissen). RFT = Rundfunk/Fernsehtechniker.


    Quote

    Aber das ist ja bei Audacity schon vorhanden, insofern verstehe ich deine Bemerkung zur „gigantischen Mathematik“ nicht ganz.


    Das "rosa Rauschen" ist im internen C-Code von Audacity vorhanden, aber nicht in den Nyquist Audiofunktionen. An das "rosa Rauschen" komme ich von einem Pugin aus nicht dran. In Nyquist habe ich nur weisses Rauschen. Der "kleinste" elektrische Tiefpass hat bereits 6dB/Oktave Flenkensteilheit, ein 3dB/Oktave Tiefpass beruht auf reinem mathematischen Rumgetrickse.


    In Nyquist gibt es zwei Biquad Versionen, einer davon ist MatLab-kompatibel, kann aber nur jeweils bis zu drei a/b-Koeffizienten gleichzeitg berechnen. Alle MatLab-Beispiele von 3dB/Oktave Filtern, die ich bisher im Netz gefunden habe, verwenden mindestens vier a/b-Koeffizientenpaare, sind also in Nyquist wiederum nur durch Rumgetrickse berechenbar.


    Quote

    Aber wenn du rechnerisch weißes Rauschen um 3 dB/Oktave absenken kannst, ist „der Kas schon gebissen“


    Dann sag mir bitte wie es geht. Die momentan brauchbarste Lösung scheint mir das hier zu sein: Synthesis of 1/F Noise (Pink Noise), verwendet aber vier a/b-Koeffizienten


    Quote

    In WIKIPEDIA findet man unter dem Stichwort „Terz“ verschiedene Definitionen zur Bandbreite. Welche davon in der Elktroakustik verwendet wird, ist glaub ich in der DIN 45652 festgelgt.


    Eine Terz ist eine drittel Oktave (wobei sich das aber nicht linear rechnet), also ist auch die Bandbreite eine drittel Oktave. Allein die Tatsache, dass in Wikipedia zum Thema "Terzfilter" verschiedene Definitionen von "ein Drittel" existieren lässt auf das enorme Fachwissen der Artikelschreiber schliessen. Technische Artikel in Wikipedia zu solchen Theman kannst du meist in die Tonne treten.


    Quote

    An die in der DIN festgelegten diskreten Mittenfrequenzen würde ich mich nicht halten. Ich fände es sinnvoller, gleitende Mittenfrequenzen mit Start und Ende erzeugen zu können.


    Ich dachte mir das gleiche, ich habe aber im Audacity Nyquist Interface keinen logarithmischen Schieberegler.

  • Quote

    Frage: Was für eine Flankensteilheit hast du für das Terzfilter realisiert ?


    Wenn ich ehrlich sein soll: keine Ahnung, ich müsste das jetzt erst anfangen nachzurechnen. Ich verwende für so etwas meist Biquad-Filter, weil das ist eine digitale Simulation der Standard Analog-Biquad Schaltung mit vier Operationsverstärkern und damit habe ich "schon immer" meine Filter gebaut.

  • Jetzt neu: mit eingebautem Rauschgenerator.


    Das Plugin von hier unten erscheint im "Erzeugen" Menü (da wo auch der Audacity Rauschgenerator ist) und heisst "Third-Octave Noise". Es gibt jetzt auch einen zweiten Regler, mit dem die Länge des erzeugten Rauschsignals in Sekunden eingestellt werden kann. Ich habe die Zeit mal auf zehn Minuten begrenzt, das lässt sich bei Bedarf noch verlängern.


    * Mathematische Grundlagen des Terzfilters: Third-Octave Filter Banks - Julius Smith
    * Biquad-Koeffizienten für "Rosa Rauschen": Some pink noise filter coefficients - Frederick Umminger

  • Ich hab eben mal einen diskreten Sinuston 440 Hz, A=0,8 erzeugt
    und darüber dein Third-Octave-Filter mit fm=4400 Hz gelegt,
    dann ergibt sich eine Amplitude von 0,08.
    Dises entspricht einer Flankensteiheit von 20 dB/Dekade oder 6 dB/Oktave
    und wäre somit für die vorgesehene Applikation nicht steil genug.

  • Dann kann ich leider auch nicht helfen, weil mehr ist mit Nyquist in Audacity nicht drin. Da es momentan auch keinen Audacity Entwickler gibt der deutsch lesen kann ist die einzigen Möglichkeit das ganze in englisch nochmal an die Audacity Entwicklerliste zu schicken. Anmelden kannst du dich hier: audacity-devel

  • Ich seh da das Problem nicht ganz. Wenn 6 dB zu wenig sind, könnte man doch 2 "bandpass2" kaskadieren um mindestens auf die oben erwähnten 12 dB . zu kommen. oder liesse sich da was mit dem "Eq-band" Filter machen?
    Der Pink noise filter scheint jedenfalls zu funktionieren. Ich habe einen solchen filter in Nyquist schon öfters vermisst. Besten Dank Edgar.