AnsweredAssumed Answered

Component request: Delay processing block with milliseconds (not samples) parameter

Question asked by dzingoni on Nov 10, 2015
Latest reply on Nov 11, 2015 by mmmike

Hi everybody,

is there the possibility to ask the team to develop a block of delay with the parameter expressed in milliseconds and not in samples?

The question can seem strange, but it would be very useful in applications where you switch the sampling frequency without the use of a microcontroller, and the firmware remains the same.


I'll explain the problem.

I'm using the 1701 for several boards and often use the delay function (both delay and multi tap voltage controlled delay).

In my applications I often switch sampling frequency, using all the usual ones for hifi audio 44100, 48000 .... to 192k. Of course there are two oscillators on board, and the appropriate master clock, bit clock and LR clock are generated properly.


Now the problem: if the 1701 is used with a microcontroller there are no problems in switching the frequency, and as regards the delay the appropriate parameter (number of samples) can be setup easily, I just have to scale the reference value for 44100 to the one needed for the new frequency and write it (by uc) in the appropriate location. For example, if the delay block is set to 10 (samples) at 44100 (with a maximum delay of let's say 50) and I switch to 88.2K  I can calculate an (eventually ) approximate value of 10 * 882000/44100 =  20 samples. In other words if the delay is 10 samples at 44100 Hz (-> 10/44100 = about 0,226 ms), the same delay (0,226ms) can be obtained at 88200 with 20 samples.


I know that the difference between samples and milliseconds is just a scale factor depending on sampling frequency, but I was not able to find a way to read how the dsp is setup regarding the processing ratio (X1, X2, X4) and use it for adjusting the delay.

What I'd like to have is a firmware that actually can work with different sampling rates without the need of external control. Of course that firmware must use only 256 steps (of the full 1024) to work at all frequencies.

In my experiments I see that there's no problem for filter coefficients (they remain the same if I switch sampling frequencies), but the delay parameter if expressed in samples must of course be adapted. This would not be necessary if the parameter was in milliseconds and not in samples, and in the processing block I suppose it would be the matter of a couple of DSP instructions to calculate the "samples" parameter.


Any hope to see this new processing block?