greatadrian
New Member
Thread Starter
- Joined
- Sep 4, 2017
- Posts
- 23
Hi,
I've encountered a weird behaviour when importing an impulse response to REW. The issue is that if exported wav IR is being downsampled externaly, after importing it back to REW gain values are off. It looks like REW is scaling the levels based on the sampling frequency.
In order to allow for easier reproduction, I will use a generated sine waves instead. All of those will have the same level.
Now I would expect those to have same level on the SPL plot, what I am getting instead is:
It looks like levels are dependent on the sampling frequency:
48 kHz: 78.4 dB
16 kHz: 68.9 dB
The difference is approximately 9.5 dB.
When I plot the time domain signal using the Impulse overlay, I am getting the right levels at -0.1 dBFS:
Here is a deeper analysis for IR I've measured (unfortunately I can't attach a wav file).
The original recording is at 44.1 kHz and I used sox to change the sampling rate:
Here is the all SPL plot for all those recordings imported in REW:
The next thing I did was:
- Extracted dBFS levels for 1 kHz from each of these frequency responses
- For each fs calculated dB difference between 44.1 kHz level
- Calculated 20*log(fs/44100) and correlated it with the level differences
Jackpot!
Table with levels:
Lastly, here is a plot of 1 kHz levels vs sampling frequency together with a logarithmic trend line (x-axis is log):
I hope that this will help you John to narrow down the issue. Maybe dB values are scaled by a value independent of sampling frequency? If you have any more questions, I am more than happy to help.
I've encountered a weird behaviour when importing an impulse response to REW. The issue is that if exported wav IR is being downsampled externaly, after importing it back to REW gain values are off. It looks like REW is scaling the levels based on the sampling frequency.
In order to allow for easier reproduction, I will use a generated sine waves instead. All of those will have the same level.
Code:
sox -n -t wavpcm -r48k sine_48k.wav synth 10 sine 1000 gain -0.1 # generate a 1 kHz sine @ 48 kHz
sox -n -t wavpcm -r16k sine_16k.wav synth 10 sine 1000 gain -0.1 # generate a 1 kHz sine @ 16 kHz
sox sine_48k.wav -t wavpcm sine_16k_resampled.wav rate -v -s 16k # resample from 48 kHz to 16 kHz
Now I would expect those to have same level on the SPL plot, what I am getting instead is:
It looks like levels are dependent on the sampling frequency:
48 kHz: 78.4 dB
16 kHz: 68.9 dB
The difference is approximately 9.5 dB.
When I plot the time domain signal using the Impulse overlay, I am getting the right levels at -0.1 dBFS:
Here is a deeper analysis for IR I've measured (unfortunately I can't attach a wav file).
The original recording is at 44.1 kHz and I used sox to change the sampling rate:
Code:
sox ir_44k.wav -t wavpcm ir_##k_resamp.wav rate -v -s ##k
Here is the all SPL plot for all those recordings imported in REW:
The next thing I did was:
- Extracted dBFS levels for 1 kHz from each of these frequency responses
- For each fs calculated dB difference between 44.1 kHz level
- Calculated 20*log(fs/44100) and correlated it with the level differences
Jackpot!
Table with levels:
Lastly, here is a plot of 1 kHz levels vs sampling frequency together with a logarithmic trend line (x-axis is log):
I hope that this will help you John to narrow down the issue. Maybe dB values are scaled by a value independent of sampling frequency? If you have any more questions, I am more than happy to help.