@pkane
Here is signals for testing df-measurements [
https://www.dropbox.com/s/2tyhv2lw7y22ksz/se-pwn44-48-v1.0.rar?dl=0]:
- se-pwn44.wav - band-limited (20Hz-20kHz) pseudo-white noise @44.1kHz sampling rate
- se-pwn48.wav - band-limited (20Hz-20kHz) pseudo-white noise @48kHz sampling rate; the signal has the waveform mathematically identical to se-pwn44.wav
- se-pwn48flip.wav - the same as se-pwn48.wav but flipped left to right
- se-pwn48mix.wav - mix of se-pwn48.wav and se-pwn48flip.wav
all signals are 30s long, have 1 channel and 32 bit depth; below are diffrograms (100ms) of the signals where se-pwn44.wav is used as a reference; Min,
Median and Max of 300 df values are indicated.
(1) se-pwn44.wav vs. se-pwn48.wav
View attachment 43020
se-pwn48.wav(48)__se-pwn44.wav(44)__mono_100-100.5928
-100.1370-99.6344.png
theoretically the signal have df = -Inf, but in practical computations df level with this signal shows accuracy of the computation and time-warping; in my case it is -100dB, which is a reasonable trade-off between accuracy and computation time as real DUTs have usually much lower accuracy of reproduction of white noise [Hugo 2: df(wn) = -28.4dB]
(2) se-pwn44.wav vs. se-pwn48flip.wav
View attachment 43021
se-pwn48flip.wav(48)__se-pwn44.wav(44)__mono_100-0.3213
-0.2064-0.1019.png
df level for this signal is not 0dB because there is small dependency between the signal and its reversed copy (corrcoeff = 0.0057) due to pseudo-randomness (sum of 20000 sine waves with random freqs and phases).
(3) se-pwn44.wav vs. se-pwn48mix.wav
View attachment 43022
se-pwn48mix.wav(48)__se-pwn44.wav(44)__mono_100-5.7015
-5.3648-5.0305.png
df level is slightly better than theoretical value 10*log(1 - 1/sqrt(2))=-5.3329 also due to small dependency of signals in the mix
You can safely use these df levels with the signals for calibrating your computation of df levels (while I generate “more random” signals, which will be closer to theoretical values).