TimeDomainOctaveAnalysis (FPScript)
Berechnet eine Oktavanalyse des Eingangssignals mit Filtern im Zeitbereich. Als Bandbreiten sind Oktaven, 1/3 Oktaven (Terzen), 1/6 Oktaven, 1/12 Oktaven und 1/24 Oktaven wählbar. Der Frequenzbereich, in dem die Oktavanalyse berechnet wird, kann in den Grenzen 1 Hz bis 100 kHz gewählt werden.
Syntax
TimeDomainOctaveAnalysis(Signal, LowestMidbandFrequency, HighestMidbandFrequency, Bandwidth)
Die Syntax der TimeDomainOctaveAnalysis-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Signal |
Ist ein Signal mit einer Dauer von mindestens 50 ms. Erlaubte Datenstrukturen sind Signal. Es sind alle numerischen Datentypen erlaubt. Das Argument wird auf die Einheit V transformiert. Für die X-Komponente gelten zusätzliche Beschränkungen.Die Werte müssen einen konstanten positiven Abstand haben. Bei komplexen Datentypen erfolgt eine Betragsbildung. Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste. |
||||||||||||
LowestMidbandFrequency |
Ist die Mittenfrequenz des niedrigsten auszurechnenden Oktavfilters. Wenn die Abtastrate des Eingangssignals niedriger ist, als die doppelte niedrigste Bandmittenfrequenz, wird die niedrigste Bandmittenfrequenz auf die halbe Abtastrate des Eingangssignals reduziert. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Das Argument wird auf die Einheit Hz transformiert. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||||||||
HighestMidbandFrequency |
Ist die Mittenfrequenz des höchsten auszurechnenden Oktavfilters. Wenn die Abtastrate des Eingangssignals niedriger ist, als die doppelte höchste Bandmittenfrequenz, wird die höchste Bandmittenfrequenz auf die halbe Abtastrate des Eingangssignals reduziert. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt. Das Argument wird auf die Einheit Hz transformiert. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||||||||
Bandwidth |
Ist die gewünschte Bandbreite eines Filterbandes. Das Argument Bandwidth kann folgende Werte haben:
Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
Anmerkungen
Das Ergebnis hat immer die Datenstruktur Signalreihe mit Z-Komponente.
Das Ergebnis hat die Einheit V, s, Hz.
Die X-Komponente des Ergebnisses ist die Zeitachse, die Z-Komponente die Bandmittenfrequenzen und die Y-Komponente sind die gefilterten Zeitsignale bei der jeweiligen Bandmittenfrequenz.
Die Bandmittenfrequenzen für Oktaven und Terzen sind die Nennbandmittenfrequenzen (gerundete Frequenzwerte). Die Bandmittenfrequenzen der übrigen Auflösungen sind die Frequenzbänder zur Basis 10 (Frequenzen 1 Hz, 10 Hz, 100 Hz, ... sind exakt enthalten), siehe IEC 1260, DIN EN 61260.
Bandbreite |
Untere Grenzfrequenz der Filter (-3 dB), bezogen auf Bandmittenfrequenz |
Obere Grenzfrequenz der Filter (-3 dB), bezogen auf Bandmittenfrequenz |
---|---|---|
Ganze Oktaven |
0,7 |
1,4 |
1/3 Oktaven (Terzen) |
0,89 |
1,12 |
1/6 Oktaven |
0,952 |
1,051 |
1/12 Oktaven |
0,976 |
1,025 |
1/24 Oktaven |
0,988 |
1,012 |
Die Filterbänder haben konstante relative Bandbreiten.
Bitte beachten Sie, dass sich Digitalfilter in vielen Aspekten genau wie Analogfilter verhalten: Je niedriger die Bandbreite eines Bandpasses ist, desto länger dauert seine Einschwingzeit. Bei breitbandiger Anregung (Einschaltknacks) schwingt ein Bandpass. Die Zeit, bis diese Schwingung abklingt, ist umgekehrt proportional zur Bandbreite des Bandpasses. Um diesen Effekt der Schwinganregung durch den Anfang des Eingangssignals zu reduzieren, wird das Eingangssignal vor der Berechnung mit einer Fensterfunktion gewichtet, die das Signal langsam einblendet. Diese Einschwingzeit wird vorne vom gefilterten Ausgangssignal abgeschnitten. Die Dauer dieser Einschwingunterdrückung wird von der TimeDomainOctaveAnalysis-Funktion dynamisch berechnet. Bei sehr kurzen Signalen wird die Einschwingunterdrückung nur maximal so lang, wie die halbe Signaldauer, damit noch etwas zum analysieren übrig bleibt.
Als Anhaltspunkt zwei Beispiele für die Dauer der Unterdrückung der Einschwingzeit:
Terzanalyse von 20 Hz bis 20 kHz: Die Bandbreite des niedrigsten Filters beträgt ca. 4,6 Hz. Die Analyse wird eine Einschwingzeit von ca. 0,8 Sekunden unterdrücken.
1/24 Oktavanalyse von 1 Hz bis 20 kHz: Die Bandbreite des niedrigsten Filters beträgt ca. 0,024 Hz. Die Analyse wird eine Einschwingzeit von ca. 137 Sekunden unterdrücken.
Die Signale sollten mindestens doppelt so lang wie die unterdrückte Einschwingzeit sein, also 1,6 s bzw. 274 s, sonst würde ja die Dauer der Einschwingunterdrückung beschnitten. Insbesondere, wenn Sie die Pegel der gefilterten Zeitsignale berechnen möchten, achten Sie bitte darauf, dass die Dauer des zu analysierenden Signals lang genug ist, sonst kann sich die Genauigkeit, je nach Signal, erheblich reduzieren.
Verfügbarkeit
Option Akustik
Eingehaltene Normen
Norm |
Kurzbeschreibung |
---|---|
DIN 45651 |
Oktavfilter für elektroakustische Messungen. |
DIN 45652 |
Terzfilter für elektroakustische Messungen. |
IEC 1260, EN 61260 |
Bandfilter für Oktaven und Bruchteile von Oktaven. |
Beispiele
Dim _OctaveAnalysis = SoundLevel(TimeDomainOctaveAnalysis(Signal1, 25 Hz, 12500 Hz, _
OCTAVEANALYSIS_RESOLUTION_3RDOCTAVE), _
SOUNDLEVEL_TIMEWEIGHTING_LEQ, SOUNDLEVEL_COMPLETE_LEQ, 0)
Signal(_OctaveAnalysis.y[][-1], _OctaveAnalysis.z)
Ermittelt aus dem Signal 'Signal1' ein Terzspektrum im Bereich von 25 Hz bis 12500 Hz und berechnet daraus die gemittelten Schallpegel.