TimeDomainOctaveAnalysis (FPScript)
Calculates an octave analysis of the input signal using time domain filters. The bandwidths octave, third octave, 1/6 octave, 1/12 octave and 1/24 octave can be selected. The frequency range within which the octave analysis is calculated can be selected within the limits of 1 Hz to 100 kHz.
Syntax
TimeDomainOctaveAnalysis(Signal, LowestMidbandFrequency, HighestMidbandFrequency, Bandwidth)
The syntax of the TimeDomainOctaveAnalysis function consists of the following parts:
Part |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Signal |
A signal with a duration of at least 50 ms. Permitted data structures are signal. All numeric data types are permitted. The argument is transformed to the unit V. For the X component additional restrictions do apply.The values must have a constant positive spacing. For complex data types the absolute value is formed. If the argument is a list, then the function is executed for each element of the list and the result is also a list. |
||||||||||||
LowestMidbandFrequency |
The average frequency of the lowest octave filter to be calculated. If the sampling rate of the input signal is lower than twice the lowest midband frequency, the lowest midband frequency is reduced to half the sampling rate of the input signal. Permitted data structures are scalar value. All numeric data types are permitted. The argument is transformed to the unit Hz. If the argument is a list, then the first element in the list is taken. If this is also a list, then the process is repeated. |
||||||||||||
HighestMidbandFrequency |
The average frequency of the highest octave filter to be calculated. If the sampling rate of the input signal is lower than twice the highest midband frequency, the highest midband frequency is reduced to half the sampling rate of the input signal. Permitted data structures are scalar value. All numeric data types are permitted. The argument is transformed to the unit Hz. If the argument is a list, then the first element in the list is taken. If this is also a list, then the process is repeated. |
||||||||||||
Bandwidth |
The desired bandwidth of a band filter. The argument Bandwidth can have the following values:
If the argument is a list, then the first element in the list is taken. If this is also a list, then the process is repeated. |
Remarks
The result always has the data structure signal series with Z-component.
The result has the unit V, s, Hz.
The X component of the result is the time axis, the Z component, the midband frequencies and the Y components are the filtered time signals at the particular midband frequency.
The midband frequencies for octaves and third octaves are the nominal midband frequencies (rounded frequency values). The midband frequencies of the remaining resolutions are the frequency bands for the base 10 (frequencies 1 Hz, 10 Hz, 100 Hz, ... are contained exactly), see IEC 1260, DIN EN 61260.
Bandwidth |
Minimum cut-off frequency of the filters (-3 dB), relative to the midband frequency |
Maximum cut-off frequency of the filters (-3 dB), relative to the midband frequency |
---|---|---|
Whole octaves |
0.7 |
1.4 |
Third octaves |
0.89 |
1.12 |
1/6 octaves |
0.952 |
1.051 |
1/12 octaves |
0.976 |
1.025 |
1/24 octaves |
0.988 |
1.012 |
The band filters have constant relative bandwidths.
Please note that in many aspects, digital filters act just like analog filters: The lower the bandwidth of a band pass, the longer the settling time. With wideband excitation (switch on click), a band pass oscillates. The time before this oscillation subsides is proportionally the inverse to the bandwidth of the band pass. To reduce thus oscillatory excitation effect at the beginning of the input signal, the input signal is weighted before the calculation using a window function that slowly fades in the signal. This settling time is cut off at the front of the filtered output signal. The length of this suppression of settling time is dynamically calculated by the TimeDomainOctaveAnalysis function. With very short signals, the maximum time for the suppression of excitation is half the length of the signal so that there is something remaining to analyze.
Here are two examples for the duration of the suppression of settling time:
Third octave analysis of 20 Hz to 20 kHz: The bandwidth of the lowest filter is approximately 4.6 Hz. The analysis will suppress a settling time of approx. 0.8 seconds.
1/24 octave analysis of 1 Hz to 20 kHz: The bandwidth of the lowest filter is approximately 0.024 Hz. The analysis will suppress a settling time of approx. 137 seconds.
The signals should be at least twice as long as the suppressed settling time, i.e. 1.6s or 274s, otherwise the length of the suppression of settling time would be curtailed. In particular, if you want to calculate the levels of the filtered time signals, you should make sure that the duration of the signal to be analyzed is long enough. Otherwise, the accuracy, depending on the signal, can be reduced considerably.
Available in
Option Acoustics
Observed Standards
Standard |
Description |
---|---|
DIN 45651 |
Oktavfilter für elektroakustische Messungen. (In German language) |
DIN 45652 |
Terzfilter für elektroakustische Messungen. (In German language) |
IEC 1260, EN 61260 |
Band filter for octaves and fractions of octaves. |
Examples
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)
Determines a third octave spectrum from the 'Signal1' signal in a range between 25 Hz and 12500 Hz and calculates the mean sound levels from this.