Does anyone have any experience with Time Delay Spectrometry (TDS)?
Aug 20, 2021 at 3:12 PM Thread Starter Post #1 of 1

VNandor

500+ Head-Fier
Joined
Oct 17, 2014
Posts
802
Likes
414
I've recently read about this measurement technique called TDS. After a bit of searching i've found this paper which goes into great detail of what TDS is. There's a lot of theoretical discussion on TDS from page 8 and from page 206. The thing is, a lot of this goes right over my head but I believe I got the "gist" of it. If I understand correctly, it can be used to get the free field response of loudspeakers even if the measurement is taken in a reverberant room.

The way to do it would be to set up the mic and the speaker in a way that makes sure the direct sound's travel distance (from speakers straight to the mic) is fairly short, while also maximizing the travel distance (from speaker to reflective surface to the mic) of the first reflected sound. If this was combined with a signal that had a steadily increasing frequency, that would mean the reflected sound's frequency was always a bit lower compared to the direct sound's frequency. So for example if the sweep rate was a constant 1000Hz/second and the first reflected sound is delayed (due to the longer travel distance) by 0.1 sec compared to the direct sound, that would mean the reflected is guaranteed to be at least 100Hz lower compared to the direct sound at any given point in time. In theory, the reflected sound could be easily filtered out by using a "steep" high pass filter that properly follows the direct sound's frequency with its cutoff frequency.

My problem is that I haven't found a detailed practical implementation of this technique and I'm not sure if it's something that I can use in practice. I did some quick calculations and things aren't looking great to be honest.

Here are some of the practical problems I can think of so far. There might be some dumb stuff there so feel free to correct them.
______________________________________________

1. Given my room, the best sound travel distance difference I can get is around a meter which means the delay between the direct and the reflected sound would be around 3ms at best which seems to be a short time window at first glance. If I couldn't align the recorded signal with the original test signal "perfectly" I would have a hard time to tune the filter to the direct sound's frequency. Placing an impulse at the beginning or the end of the test signal could help a lot with the aligning.

2a. Even though the paper proposes to use linear sweeps, I'm convinced exponential sweeps are worth using for this type of measurement even if it makes the math a bit harder. This alone wouldn't be a problem but If I used a 10 second long exponential sweep that starts from 20Hz and ends at 20480Hz, the frequency difference between the direct and reflected sound would be tiny (given that I can only get such a small time delay). For example at the third second, the direct sound would be at 160Hz while the reflected sound would be around 159.67Hz which is only 0.33Hz difference... At the eighth second, the direct sound would be at 5.12kHz while the reflected sound would be at ~5.11kHz which is still only a 10Hz difference. I think at the end of the day I can make the filters as steep as I want them to be, they don't even need to have a good pass band/stop band characteristics but trying to get something like a 20dB attenuation from less than half a Hertz (even less at the lower frequencies) away from the cutoff frequency is not a typical filter requirement and it isn't something I've actually seen being done anywhere and maybe there's a good reason behind why noone is using such filters.

2b. I could use less steep filters at the cost of a faster sweep rate but the faster sweep rate would decrease the effective resolution of the measurement. I'm planning to use a 44.1kHz sample rate and with the numbers I already used above, this would mean I have 44100 sample points between each octave. That looks pretty good so I guess I could make a compromise here if it's worth it.
As a side note I could increase the starting frequency since my speakers definitely don't go as low as 20Hz and maybe I could also decrease the ending frequency because apparently measurements can be quite unreliable there due to the shorter wavelengths.

3a. I understand the basic math behind designing FIR filters but I never created a filter that had to move over time. Generally, I would define the function of the filter in the frequency domain, IFFT it, pad the impulse with a bunch of zeroes, apply some window then FFT it back to see the effects of the applied window. This is fairly easy but I would have to use quite long impulses if I wanted to have steep filtering. Of course it doesn't have to happen in real time so it doesn't matter if a 10 second signal takes a minute of processing but it would have to finish eventually. The problem is that the cutoff frequency is supposed to change from moment to moment just like the test signal's frequency does. I wonder if I have to calculate a new and unique impulse for every single sample point. If I had 441.000 sample points to process, creating (and maybe storing) god knows how long unique impulses to filter with, for every single one of the sample points, this could quickly become a problem. If I used a 1 second long impulse (44100 samples long) for filtering and I have 441.000 sample points to process... well I think 44.100 times 441.000 samples to generate/store/process is way too much unless I'm missing something. Maybe it's going to be enough to update the cutoff frequency at every milliseconds (so once per ~44 samples) or something?

3b. The alternative would be to use other filter structures, such as an elliptic IIR filter structure. These can be steeper at the same filter length so if I used recursive structures the computer would have to calculate way less filter constants which is great. I'm pretty sure I had to design IIR filters at some point to pass some exam but I'm not looking forward to learn how to program elliptical filters if they won't end up working. IIR filters would cause massive phase shifts because the signal would be sitting right at the corner of the filter where the phase shift is the biggest. Since the cutoff frequency would be moving, that could also cause a non negligible amount of pitch shift which I'm not sure how to handle. Maybe the phase shift could be simply cancelled by applying the filter twice, once forward and once backward.

4. If the signal to noise ratio isn't great and there's a wide-band noise, using a high-pass filter could skew the results considerably since the low frequencies would be filtered out right away at the beginning while the higher frequencies would stay till the end. It's not particularly hard to correct for this though if the noise's spectrum doesn't change a lot over time.

______________________________________________

TL;DR: So if anyone ever tried doing TDS or have some knowledge or advice on how to handle extremely steep moving filters or just taking acoustic measurements in general, let me know. I don't want to start wasting time on this if someone can explain to me in 10 minutes why all of this is impossible and futile to do in practice.
 
Last edited:

Users who are viewing this thread

Back
Top