HIFI-FORUM » Do it yourself » Elektronik » Messtechnik » white-noise in pink-noise wandeln | |
|
white-noise in pink-noise wandeln+A -A |
||||||
Autor |
| |||||
Dirac2000
Neuling |
#1 erstellt: 10. Jan 2008, 11:53 | |||||
Hallo @all, bin neu in der "Branche" und bin gerade dabei in Matlab versch. Messignale zu erstellen um Impulsantworten von Räumen/Verstärkern/Boxen etc. zu messen. Ich habe gehört, das sich gerade für Raumimpulsantworten rosa-rauschen sehr gut eignet, da dieses logarithmisch ist und somit mehr unserem Gehör entspricht. (Stimmt diese Aussage überhaupt, bzw. kann mir jemand die Vorteile von pink-noise noch einmal genau erklären?!) Meine eigendliche Frage: Ich habe weisses Rauschen durch die inverse Fouriertransformation und folgende Kommandozeilen in Matlab erstellt: X=ones(1,N).*exp(-j*2*pi*(rand(1,N)));%Frequenzbereich=alle %Freq. enthalten und %mit Zufallsphase ver- %sehen X2=[0 X fliplr(conj(X))]; x=ifft(X2); if max(abs(imag(x)>1e-10)) error('Imaginärteil zu groß') end x=real(x); %numerisch bedingte %Imaginärteile zu null %setzen x=x/max(x); %Normierung um aktzeptable %Wiedergabeamplitude zu %erhalten xp=repmat(x,1,Np); %periodische Wiederholung Ist es möglich aus diesem Zeitsignal, durch einfache Mittel, ein rosa-rauschen zu erzeugen? Wenn ja, wie? |
||||||
Cpt._Baseballbatboy
Inventar |
#2 erstellt: 12. Jan 2008, 12:56 | |||||
Moin, im Zeitbereich ist das schwierig. Mach das lieber im Frequenzbereich. In esweep mache ich das so: - weißes Spektrum bis f1 - zwischen f1 und f2 rosa - ab f2 rot Der Bereich bis f1 entlastet den Tieftöner und gibt etwas mehr SNR im wirklich wichtigen Bereich (der mit f1 gewählt wird), das rote Spektrum ab f2 (ziemlich weit oben) ist aus Erfahrung, weil ich dann bessere Ergebnisse erzielt habe. Wie macht man das rosa Spektrum? Dessen Energiegehalt ist pro relativer Bandbreite konstant. Das bedeutet, dass die Leistungsdichte mit 3dB pro Oktave abfallen muss. Deswegen wird es auch 1/f-Rauschen genannt. Die Fouriertransformation rechnet mit Amplituden, also muss die Amplitude proportional zu 1/sqrt(f) abnehmen. Am besten machst Du das bevor Du die hermitische Redundanz herstellst (X2=...). BTW, dort ist ein kleiner Bock. Das erste (DC) und das letzte (Nyquist) Element müssen rein reell, die Phase also ein ganzahliges Vielfaches von Pi sein, sonst stimmt die Redundanz nicht und dann erhälst Du tatsächlich nach der IFFT imaginäre Anteile. Wenn die Redundanz dagegen korrekt ist kann es die höchsten durch numerische Fehler geben (hast Du ja richtig erkannt).
Das hat eigentlich weniger mit unserem Gehör zu tun als eher mit den üblichen Umgebungsgeräuschen. Die sind nämlich im Normalfall rosa gefärbt. Für einen möglichst gleichmäßigen Rauschabstand ist somit rosa Rauschen nötig. In manchen Fällen, wo z. B. eine Lüftung im Spiel ist (Klimaanlage), kann sogar rotes (manchmal auch braunes, 1/f²) Rauschen die besseren Ergebnisse bringen. Auch gibt es noch bessere Signale zur Messung der Raumimpulsantwort. Nahezu ideal ist ein logarithmischer Sweep. Der hat von sich aus schon ein rosa Spektrum, einen Crest-Faktor von nur wenig mehr als 3dB (Rauschen erreicht minimal ~10dB) und außerdem einen Zeitvorteil. Es ist nämlich so: wenn Du mit Rauschen misst dann musst Du nach Abschalten des Signals solange weiter aufnehmen, bis der Nachhall komplett im Umgebungsrauschen untergegangen ist. Angenommen, Du hast im Bass eine Nachhallzeit von 1s, dann musst Du diese Zeitspannen nach Ende des Anregungssignals abwarten. Beim logarithmischen Sweep, der die tiefen Frequenzen am Anfang hat, musst Du das nicht, denn bei ausreichender Länge des Sweeps sind die am Ende schon abgeklungen und Du musst lediglich auf den Nachhall des Hochtons warten, der idR wenige ms dauert. Moinmoin Cpt. |
||||||
|
||||||
Dirac2000
Neuling |
#3 erstellt: 15. Jan 2008, 13:12 | |||||
Hey Cpt. vielen Dank für deine ausführliche Antwort! Leider hab ich nicht alles 100% verstanden 1)OK also Umgebungsgeräusche sind wohl statistisch gesehen meistens rosa gefärbt und ich verstehe das man dadurch einen gleichmässigen Rauschabstand hat (wenn man als Mess-Signal rosa rauschen benutzt). Gleichzeitig müsste aber doch der Signal-zu-Rauschabstand größer sein, wenn ich eben ein Signal nehme was nicht all zu sehr den Umgebungsgeräuschen ähnelt oder?! 2)Zur Erzeugung des rosa Rauschens: Leider checke ich nicht ganz wie ich das jetzt in Matlab implementieren kann?! Kann ich einfach mein X in ein X' umwandeln in dem ich X'=1/sqrt(X) berechne und daraus dann X2 mache?! wahrscheinlich ist es nicht so einfach 3)Zu dem kleinen Bock von dem du sprachst: Wenn DC bei mir 0 ist, muss ich dieses Element doch nicht mit einer Phase belegen die ein vielfaches von PI ist oder?! Nyquist-Freq kenne ich nur in Bezug auf das Abtasttheorem "Shannon" und entspricht der halben Abtastfrequenz. In wie fern hat das hier mit meinem Spektrum des weissen Rauschens zu tun? Wäre nett wenn du/ihr euch noch einmal die Mühe machen würdet mir das ausführlich zu erklären, bombadiert mich ruhig mit mathematik voll :)) Beste Grüße [Beitrag von Dirac2000 am 15. Jan 2008, 15:27 bearbeitet] |
||||||
Cpt._Baseballbatboy
Inventar |
#4 erstellt: 15. Jan 2008, 21:11 | |||||
Moin,
"gleichmäßig" ist in der Tat vielleicht das bessere Wort.
Nein, es kommt eigentlich hauptsächlich auf die spektrale Leistungsdichte in dem Signal an. Soll heißen, je mehr Leistung Du in einem bestimmten Frequenzband zum Messen zur Verfügung hast umso größer wird Deine SNR in dem Band. Da die Leistungsspektraldichte der Umgebungsgeräusche meistens eine rosa Färbung besitzt, musst Du natürlich untenrum mehr Gas geben als oben.
Nein, nicht ganz so einfach. Du musst Real- und Imaginärteil durch die Wurzel der zugehörigen Frequenz teilen, dann klappts. Ein wenig komplizierter wird es, wenn Du wie ich ein kleines Plateau am unteren Ende des Spektrums einbaust. Dann brauchst Du einen kleinen Offset, aber das kriegst Du schon hin. Ansonsten schau einfach in den Quellcode von esweep (siehe Signatur), dort kannst Du das nachschauen.
"Wenn" DC 0 ist brauchst Du wahrscheinlich keine Phaseninformation, schaden kann es aber nicht.
Ja, richtig, damit meine ich die halbe Abtastfrequenz. Der Spektralwert liegt bei Dir an der Stelle (N-1) (wenn Matlab 0-basierte Indices benutzt, sonst (N)). Du weißt ja, dass sich oberhalb der halben Abtastfrequenz das Spektrum (von reellen Signalen) konjugiert komplex nochmal befindet. Die viel einfachere Vorstellung ist allerdings, dass sich das gespiegelte Spektrum bei negativen Frequenzen befindet. Dann ist der Betrag achsen-, die Phase punktsymmetrisch. Letzteres allerdings nur, wenn die Phase bei DC 0 oder +-k*Pi ist. Das mit der 0 ist noch leicht vorstellbar, das auch Pi möglich ist wird klar, wenn Du das Spektrum in Real- und Imaginärteil zerlegst und Dir als Ortskurve denkst. Dann drehst Du von -fs/2 kommend mit zunehmender Frequenz an der Phase (wie rum ist eigentlich egal, in der Realität wird es meistens gegen de Uhrzeigersinn sein) und erreichst irgendwann DC, wovon Du weißt, dass die Phase punktsymmetrisch dazu sein soll. Es ist relativ leicht vorstellbar, dass es da völlig egal ist, ob Du dort bei 0 oder bei Pi bist, das juckt nicht. Am einfachsten wird sein, wenn Du Dir das mal für das Spektrum eines verzögerten Dirac-Impuls vorstellst. Und jetzt noch die Begründung, warum es genauso bei der halben Abtastfrequenz sein muss: das Spektrum eines zeitdiskreten, reellen Signals ist periodisch. Also muss sich die Phase an der Stelle nahtlos fortsetzen können, also wieder die altbekannte Punktsymmetrie. Das ganze hat mit Deinem Rauschen zu tun, als dass Du ein rein reelles Signal erzeugen willst, also ohne imaginären Anteil (auch das gibt es). Weil Du das willst, musst Du der oberen Betrachtung folgen, denn die gilt wiederum nur für das Spektrum reeller Signale. Moinmoin Cpt. |
||||||
el`Ol
Inventar |
#5 erstellt: 22. Jan 2008, 10:19 | |||||
Trifft sich gut, dass gerade dieser Thread läuft. Ich habe mir neulich folgendes überlegt: Ausgangspunkt: Bitstream-Rauschen ist vom Spektrum her weißes Rauschen. Jetzt angenommen, ich zerlege ein Intervall in n Teilintervalle. Das Bitstream-Rauschen bestimmt, ob ich im nächsten Schritt nach oben oder nach unten wandere. Ausnahme: Bin ich am oberen oder unteren Rand angekommen, ist der nächste Schritt immer nach unten bzw. nach oben. Ist n sehr groß, bekomme ich integriertes weißes Rauchen, also 1/f^2-Rauschen. Je kleiner n, desto heller das Rauschen. Bei n=2 bin ich wieder bei weißem Rauchen angekommen. Kann ich durch gewichtete Addition von Rauschen mit verschieden n rosa Rauschen erzeugen? [Beitrag von el`Ol am 22. Jan 2008, 10:45 bearbeitet] |
||||||
Cpt._Baseballbatboy
Inventar |
#6 erstellt: 22. Jan 2008, 20:42 | |||||
Moin, ich glaube ich verstehe Deinen Gedankengang nicht richtig. Meinst Du intervallweise integrieren? Moinmoin Cpt. |
||||||
el`Ol
Inventar |
#7 erstellt: 22. Jan 2008, 21:37 | |||||
Ich weiß nicht, ob dir der Begriff "random walk" etwas sagt. Schrittweite ist Intervallumfang/n, es wird jeweils einen Schritt nach oben bzw. nach unten gegangen. |
||||||
el`Ol
Inventar |
#8 erstellt: 22. Jan 2008, 23:57 | |||||
Ich habe mal ein wenig mit dem NI Reaktor gespielt und subjektiv eine Schrittweite eingestellt, die ich als natürlich (Wasserfall) empfunden habe. Danach in Mathematica eine Fourieranalyse gemacht, Betrag davon, mit f multipliziert, und einen recht linearen Verlauf bekommen. Vielleicht nicht gut genug für AES-konforme Tötungen, aber zur subjektiven Lautsprecher-Begutachtung allemal gut genug. [Beitrag von el`Ol am 22. Jan 2008, 23:58 bearbeitet] |
||||||
el`Ol
Inventar |
#9 erstellt: 23. Jan 2008, 12:26 | |||||
Falls noch Unklarheiten bestehen: nextstep = Function[z, Replace[z + Replace[Random[Integer], 0 -> -1], {-1 -> 1, 32 -> 30}]] walk = NestList[nextstep, 0, 1000]; ListPlot[walk, PlotJoined -> True] spectrum = Take[Fourier[walk], 500]; ListPlot[Abs[spectrum]*Table[i, {i, 0, 499}], PlotRange -> {0, 500}] |
||||||
el`Ol
Inventar |
#10 erstellt: 23. Jan 2008, 19:28 | |||||
Peinlich, Quadrieren vergessen, es geht ja um das Energiespektrum. Die größte Annäherung an das 1/f-Rauschen hat man daher mit 5 Teilintervallen. nextstep = Function[z, Replace[z + Replace[Random[Integer], 0 -> -1], {-1 -> 1, 6 -> 4}]] ListPlot[Abs[spectrum]^2*Table[i, {i, 0, 499}]] Das subjektive Ergebnis habe ich noch mal nachgerechnet, da komme ich jetzt auf 6.6, also recht nahe dran. [Beitrag von el`Ol am 23. Jan 2008, 19:30 bearbeitet] |
||||||
Dirac2000
Neuling |
#11 erstellt: 22. Feb 2008, 18:27 | |||||
Hi, hoffe das wird nicht als Spam verstanden:) Wollte mich nur mal beim Cpt. (und dem Rest) für die ausführlichen Erlärungen bedanken bzw. für die Mühe die er sich gemacht hast. Thx man^^ Leider bin ich immer noch nicht dazu gekommen, den Kram mal in Matlab zu implementieren (bzw. es zu versuchen^^). Zurzeit messe ich weiterhin mit white-noise und MLS-Sequenzen (also Korrelationsmessungen), und denke das die Ergebnisse ganz brauchbar sind. Ich wollte mal fragen ob sich hier evtl. jemand bereit erklären würde, mein Matlab-Programm zu "testen" und es mit seinen eigenen RIA-Messungen zu vergleichen, zwecks Feedback zur Brauchbarkeit?! Thx for RE |
||||||
|
|
Das könnte Dich auch interessieren: |
AV-Receiver Filtereigenschaften messen Joachim10 am 14.10.2008 – Letzte Antwort am 01.11.2008 – 2 Beiträge |
Fehler in Impedanzmessung in LIMP und REW inex1 am 14.12.2014 – Letzte Antwort am 23.12.2014 – 15 Beiträge |
Oszzi in Röhrentechnik highfreek am 07.01.2014 – Letzte Antwort am 11.01.2014 – 7 Beiträge |
Raumeinmessung in 33607 Bielefeld Marcel-Do am 05.11.2014 – Letzte Antwort am 10.11.2014 – 2 Beiträge |
Lautstärke in Sone messen baronvonvestholm am 28.03.2018 – Letzte Antwort am 09.04.2018 – 6 Beiträge |
Verbau in Watt messen (12v) ThomasD81 am 03.03.2008 – Letzte Antwort am 04.03.2008 – 3 Beiträge |
in ear mikrofon selber bauen? seifenchef am 06.11.2015 – Letzte Antwort am 28.11.2015 – 7 Beiträge |
Implementierung der Impedanzmessung in VituixCad Audiofrank am 15.08.2023 – Letzte Antwort am 16.08.2023 – 14 Beiträge |
Mit Multimeter in Steckdose Phase messen? laupi am 17.01.2007 – Letzte Antwort am 21.01.2008 – 9 Beiträge |
HP 3580A Spektrum Analyzer in eBay Funkamateur am 08.01.2010 – Letzte Antwort am 11.01.2010 – 2 Beiträge |
Anzeige
Top Produkte in Messtechnik
Aktuelle Aktion
Top 10 Threads der letzten 7 Tage
- Hotel Modus deaktivieren
- "diese anwendung wird jetzt neu gestartet um mehr speicherplatz verfügbar zu machen"
- Von HD+ zurück zu Standard-TV
- Remotekabel anschließen, aber wie und wo?
- Hisense verbindet sich nicht mehr mit dem WLAN
- Audiodeskription ausschalten (in ZDF App) 803er
- Umschalten von TV auf Radio
- Satellitenschüssel was und wie einstellen am TV
- Pro 7 und Sat 1 auf einmal weg.
- Markierung an Lautsprecherkabel - welche Norm?
Top 10 Threads der letzten 50 Tage
- Hotel Modus deaktivieren
- "diese anwendung wird jetzt neu gestartet um mehr speicherplatz verfügbar zu machen"
- Von HD+ zurück zu Standard-TV
- Remotekabel anschließen, aber wie und wo?
- Hisense verbindet sich nicht mehr mit dem WLAN
- Audiodeskription ausschalten (in ZDF App) 803er
- Umschalten von TV auf Radio
- Satellitenschüssel was und wie einstellen am TV
- Pro 7 und Sat 1 auf einmal weg.
- Markierung an Lautsprecherkabel - welche Norm?
Top 10 Suchanfragen
Forumsstatistik
- Registrierte Mitglieder927.531 ( Heute: 2 )
- Neuestes MitgliedMichael998877
- Gesamtzahl an Themen1.555.840
- Gesamtzahl an Beiträgen21.646.674