Jochen Schulz

View Original

Mikrofon-Kalibrierdateien konvertieren für EASERA und SysTune

Auch wenn die meisten Mess-Mikrofone bereits einen sehr linearen Frequenzverlauf aufweisen, gibt es dennoch Situationen, in denen man die Messdaten vom Hersteller einbinden möchte.

Wichtig hierzu ist eine individuelle Datei pro Mikrofon. Gerade im günstigen Preissegment gibt es durchaus eine gewisse Streuung zwischen den Mikrofonen auch innerhalb eines Mikrofon-Typs. Eine Kompensation ist nur dann zielführend, wenn der Hersteller (oder ein anderer Dienstleister) jedes Mikrofon einzeln in seinem Labor misst und dir die Daten zu genau deinem Mikrofon zur Verfügung stellt.

In der Regel werden diese Mess-Daten als simple Text-Datei beigelegt oder zum Download angeboten. Diese besteht aus einer Anzahl an Frequenzen und dem entsprechenden Mess-Wert in dB. Einen Auszug daraus von einem meiner iSEMcon EMX-7150 siehst du im Bild rechts.

Eine solche Text-Datei kann mit jedem Text-Editor bearbeitet werden. Die meisten Mess-Programme (beispielsweise REW, Smaart u.a.) können dieses Datei-Format einlesen und interpolieren zwischen den Frequenzen automatisch. Je nach Software muss man die Datei-Endung vor dem Import von .txt in .cad o.ä. umbenennen.

Es gibt jedoch auch Hersteller, die mit diesem simplen Datei-Format nichts anfangen können. Einer davon ist AFMG mit seinen beiden Produkten EASERA und SysTune [Anmerkung: anscheinend unterstützt nur SysTune Pro das Importieren von Kalibrierdateien, nicht jedoch die normale SysTune Version]. Und da ich EASERA seit vielen Jahren schätze und nutze für raumakustische Messungen und Auswertungen, war es an der Zeit, endlich einen Weg zu finden für die Konvertierung.

Wenn man sich eine txt-Datei anschaut und sie mit einer etx-Datei von AFMG vergleicht, wird das unterschiedliche System schnell deutlich. Auch eine etx-Datei lässt sich übrigens mit jedem Text-Editor öffnen und ändern.

Es sind eigentlich “nur” zwei Umrechnungen auszuführen:

Neues Frequenzraster

Statt 3 oder 6 Messpunkten pro Oktave, also logarithmisch wie in der Audio-Messtechnik üblich, verlangt AFMG ein lineares Frequenzraster. Bei einer FFT-Länge von 1024 und einer Samplingrate von 48Hz beispielsweise müssen wir ein Raster von 48000 / 1024 = 46,875Hz verwenden. Bei einer FFT-Länge von 131072 (was einer Messdauer von 2,7 Sekunden entspricht und somit im Akustik-Bereich schon eher relevant ist) müssen wir Daten mit einem Frequenzabstand von 0,366Hz erzeugen. Und zwar von 0Hz bis zur halben Samplingrate, also in der Regel bis 24000Hz.

Faktoren statt dB

Zum zweiten möchte AFMG die Daten nicht als dB übergeben bekommen, sondern als Faktor (bzw. Multiplikator). Der Wert 0dB muss also in 1 umgewandelt werden, 6dB als 2, -6dB als 0,5 und so weiter.

Header anpassen

Und schließlich müssen wir für eine etx Datei noch einen passenden Header erzeugen und die entsprechenden Parameter wie Samplerate und FFT-Size anpassen.

Das alles klingt nicht sonderlich kompliziert. Aber aufgrund der schieren Menge an Daten lässt sich dies nicht mehr per Hand durchführen. Solch eine Fleißaufgabe schreit geradezu nach einem Excel-Makro!

Um dir die Arbeit zu sparen für die Programmierung und das Ausprobieren, kannst du gerne meine Excel-Datei kostenlos verwenden. OpenOffice und LibreOffice können leider die Excel-Makros nicht wiedergeben. Ich arbeite bereits an einem Standalone-Konverter, der etx-Dateien ohne Excel erstellt als simples Kommando-Zeilen-Tool. Eine Anleitung folgt in Kürze.

Schritt-für-Schritt Anleitung

Ein paar Dinge musst du trotz Makro-Automation selbst durchführen, damit deine Daten in die Excel-Tabelle kommen.

[Schritt 0: Makro-Funktionalität prüfen]

Bevor du dir die Arbeit machst und alles vorbereitest, prüfe am besten, ob das Makro überhaupt bei dir läuft. Meine Excel-Datei hat bereits Beispieldaten und Parameter eingetragen zum Ausprobieren. Mit Strg+E startest du das Makro. Im Dokumente-Ordner solltest du anschließend eine neue etx-Datei finden. Wenn du die Parameter nicht verändert hast, heißt sie EMX7150-3371910_48000_4096.etx.

Schritt 1: txt-Datei in Excel öffnen

Zuerst öffnest du deine Text-Datei (bzw. csv-Datei) mit den Messdaten vom Hersteller. Excel bzw. OpenOffice erkennen in der Regel, dass es sich um eine Liste handelt mit Tabulator als Trennzeichen. Ggf. musst du im Import-Prozess ein paar Änderungen vornehmen, damit die Werte für Frequenzen und dB in zwei verschiedenen Spalten eingetragen werden.

Schritt 2: Felder als Zahl formatieren

In der Regel wird Excel die Daten als Text und nicht als Zahl ansehen. Somit müssen wir alle Werte markieren und über Zellen formatieren… als Zahl mit 2 Dezimal-Stellen umwandeln.

Schritt 3: Punkt zu Komma ersetzen

Da in einer txt-Datei in der Regel der Punkt (.) für Dezimal-Zahlen verwendet wird, müssen wir für sämtliche Felder über den Befehl Ersetzen… (Strg+H) eine Umwandlung vornehmen. Über den Button Alles ersetzen kannst du dies mit einem Klick auf die gesamte Tabelle anwenden.

Schritt 4: fehlerhafte Werte korrigieren

Mit etwas Glück stimmt bereits alles. In meinem Fall hat Excel beim Öffnen einige Felder als Datum fehlinterpretiert (in gelb markiert). Falls dies bei dir auch passiert ist, musst du die fehlerhaften Werte kurz per Hand korrigieren. Schau am besten kurz in die Original txt-Datei, um die korrekten Werte zu finden.

Anschließend bis ans Ende der Liste durchgehen, ob auch wirklich sämtliche Werte im korrekten Format angezeigt werden.

Schritt 5: alle Werte kopieren

Die fertigen Werte markierst du anschließend und kopierst sie in die Zwischenablage (Strg+C). Die Kopfzeile kannst du ignorieren.

Schritt 6: Excel-Datei öffnen

Nun öffnest du die Excel-Datei mit dem Makro (falls noch nicht geschehen). Falls ein Hinweis angezeigt wird bezüglich Makros, solltest du bestätigen, dass du Makros aktivieren möchtest.

Schritt 7: Werte einfügen

Es gibt in der Excel-Datei unten eine Tabelle Mic Values. Die Kopfzeile (Hz, dB) sollte bestehen bleiben. Ab Zeile 2 fügst du deine neuen Werte ein (Strg+V).

Schritt 8: Parameter anpassen

Im Tabellenblatt Start findest du fünf gelbe Felder. Hier wählst du die Parameter aus für deine neue etx-Datei. Für FFT-Size und Samplerate habe ich Felder vorgegeben in einer Dropdown-Liste, damit nichts schiefgeht.

In die Felder User und Company kannst du gerne deine persönlichen Daten eingeben. Diese Daten werden im etx-File mit abgelegt und können später in EASERA eingesehen werden.

Im Feld Mic-Type / Serialnumber lässt sich ein eindeutige Bezeichnung für dein Mikrofon eingeben. Dieses Feld wird für den Dateinamen verwendet, damit man im Falle von mehreren Mikrofonen später nichts verwechselt.

Wie oben erwähnt benötigt AFMG ein lineares Frequenzraster, abhängig von der Samplingsrate und der FFT-Größe. Es muss entsprechend eine etx-Datei angelegt werden pro Datensatz.

Du solltest mit der kleinsten FFT-Größe anfangen (4096). Dies dürfte auf jedem PC innerhalb von wenigen Sekunden fertig gerechnet sein. Für größere FFT verdoppelt sich die Berechnungszeit pro Stufe. Für 512k und 1M können entsprechend mehrere Minuten vergehen, bis Excel alles ausgerechnet hat. Dies sollte man erst starten, wenn der Durchgang bei 4096 problemlos funktioniert hat.

Schritt 9: Makro starten

Ich habe den Shortcut Strg+E belegt für das Makro. Folgende Schritte werden dann automatisch abgearbeitet:

·       Es werden zunächst weitere Datenpunkt in den Messdaten (Tabelle Mic Values) angelegt bei 0Hz und 99999Hz, falls diese noch nicht existieren. Diese werden für die lineare Interpolation benötigt.

·       Es wird ein neues Excel-Dokument erstellt. Der Dateiname besteht aus den drei Parametern: name_samplerate_fft-size.etx. Dies wird normalerweise im Ordner „Dokumente“ abgespeichert.

·       Der Header wird geschrieben. Die Felder für Samplerate, TimeSamples und Data werden angepasst an die von dir vorgenommenen Parameter.

·       Die neuen Daten werden geschrieben im passenden Frequenzraster. dB-Werte werden entsprechend interpoliert und als Faktor umgerechnet

·       Die neue Tabelle wird gespeichert und geschlossen.

Und fertig ist deine erste etx-Datei!

Wenn es mit 4096 geklappt hat, dann kannst du nun langsam die FFT-Size erhöhen. Ich verwende für Lautsprecher-Messungen meistens 1,3s oder 2,7s Messdauer, also FFT-Größen von 65536 oder 131072.

Diese Datei lässt sich bereits mit EASERA öffnen (File / Open Audio File / Dateityp *.etx). Die Kurve sollte dann ziemlich genau deine Hersteller-Daten anzeigen.

Systune sollte diese Datei ebenfalls importieren können, allerdings nur in der PRO Version.

Damit EASERA und SysTune diese Kurve bei jeder Messung als Kompensation verwendet, müssen wir noch eine entsprechende Referenz für unser Messmikrofon anlegen:

Schritt 10 (a): Messmikrofon als Referenz anlegen in EASERA

Im sogenannten Measurement-Setup, zu erreichen über den Button Measure ist standardmäßig das Default Mic ausgewählt. Durch einen Klick auf den Edit-Button können wir weitere Mikrofone anlegen.

Ein Klick auf den New-Button (1) legt ein neues Mikrofon an. Es empfiehlt sich, zunächst den Namen abzuändern (2). Für jedes Mikrofon können anschließend die Referenz-Dateien hinzugefügt werden (3). Hier suchen wir zunächst den passenden Ordner und wählen dann bei Datei-Format alle Dateien *.* aus.

Nun können wir unsere etx-Datei auswählen. Die entsprechende Parameter-Kombination sollte anschließend in der Liste auftauchen.

Falls du bereits mehrere etx-Dateien erstellt hast für verschiedene FFT-Längen, kannst du diese nun nacheinander hinzufügen. Nach einem Klick auf OK können wir im vorigen Auswahlfenster nun statt dem Default Mic unser neues Mikrofon auswählen.

Auf der letzten Seite des Measurement-Setup (mit dem Titel Start Measurement) können wir schließlich entscheiden, ob die Frequenzgang-Korrektur verwendet werden soll oder nicht.

Dieses Häkchen lässt sich nur aktivieren, wenn eine passende Datei existiert für die aktuell verwendete FFT-Länge.

EASERA legt beim Hinzufügen einer etx Datei zu einem Mikrofon übrigens eine neue Kompensations-Datei (.efr) an. Diese findest du im Ordner Benutzer/Öffentlich/Öffentliche Dokumente/EASERA10Data/References/Microphones. Zur Kontrolle lohnt es sich, diese Datei in EASERA zu öffnen und den Frequenzgang zu vergleichen.

Noch ein Wort zu den Hersteller-Daten: die Messdaten liefern zunächst einmal die tatsächlichen Mess-Ergebnisse. Wenn also bei 100Hz ein Wert von -1.0dB im Labor gemessen wurde, dann liefert das Mikrofon bei 100Hz einen geringeren Pegel als das Referenzmikrofon. Damit dies nun bei jeder Messung kompensiert werden kann, erstellt EASERA einen dazu gespiegelten Frequenzgang. Statt -1.0dB müssen also bei jeder Messung +1.0dB bei 100Hz verwendet werden. Entsprechend muss die efr-Datei Werte anzeigen, die an der X-Achse gespielt sind gegenüber der vorigen etx-Datei.

Schritt 10 (b): Messmikrofon als Referenz anlegen in SysTune

Folgende Schritte müssen durchgeführt werden:

  • im Reiter External, klick auf den Button Plug-Ins

  • in der Liste rechts (Launch), klick auf Normalization

  • klick unten links auf den Button Add from file

  • etx-Datei auswählen

  • die Funktion Invert Filter aktivieren, damit die Frequenzkompensation auch tatsächlich kompensiert und nicht den Fehler noch verstärkt

Schritt 11: Kontroll-Messung mit und ohne Kompensation

Letztlich würde ich natürlich empfehlen zu prüfen, ob die neue Frequenzgang-Korrektur auch tatsächlich das tut, was du erwartest.

Ich habe dazu einfach zwei Messungen vorgenommen, einmal mit aktiviertem Häkchen (bei Channel #1 unter Compensate wie im letzten Screenshot) und einmal ohne. In SysTune gibt es zum Vergleich einen Bypass-Button, mit dem sich die Kompensation leicht ein- und ausschalten lässt.

Idealerweise sind Lautsprecher und Mikrofon auf einem Stativ, so dass sich die Messungen bis auf die Korrektur nicht unterscheiden. Die Unterschiede bewegen sich ja meist nur im Bereich von 0.5dB. Wenn man andere Parameter ändert wie den Mikrofon-Standort, lassen sich diese kleinen Korrekturen nicht nachvollziehen.

Um Messungenauigkeiten etwas entgegenzuwirken habe ich die Messung mit 3 Averages vorgenommen. Ebenso habe ich eine Glättung von 1/3 Oktaven ausgewählt.

Man erkennt deutlich, dass die rote Kurve (mit Kompensation) im Bereich 100-200Hz leicht unter der blauen Kurve liegt. Und im Bereich 2-7kHz liegt sie leicht oberhalb der Original-Kurve. Insofern passt das Ergebnis zu den zuvor gezeigten Korrektur-Kurven und letztlich zu den Kalibrier-Daten, die meinem Mess-Mikrofon beilagen.

In diesem konkreten Fall sind die Unterschiede natürlich marginal. Zum einen gibt es sicherlich Mikrofone, die nicht ganz so linear von Hause aus sind. Und zum anderen mag es auch Situationen geben, in denen man bewusst eine Korrektur von mehr als einem dB anstrebt, beispielsweise wenn dein Mikrofon einen linearen Frequenzverlauf im Diffusfeld aufweist und du es aber für Freifeld-Messungen verwenden möchtest oder umgekehrt.

Und fertig ist das Setup in EASERA! Zugegeben sind ein paar Schritte notwendig, und insbesondere das separate Anlegen von etx-Dateien pro FFT-Setup ist etwas umständlich verglichen mit der recht einfachen Handhabung bei anderer Mess-Software. Aber solange sich an deinen Mess-Mikrofonen nichts mehr ändert, kannst du nun jahrelang von dieser kleinen Korrektur profitieren.

 

Ich hoffe, du konntest die Schritte erfolgreich nachvollziehen. Falls irgendetwas nicht funktioniert oder du Verbesserungsvorschläge hast für das Excel-Makro, freue ich mich jederzeit über deine Nachricht!

 

  

Blog-Artikel: Messmikrofon-Vergleich

Blog-Artikel: Raum-Moden messen mit REW (Freeware)

Blog-Artikel: Nützliche Features bei einem Switch für Dante-Übertragung