Linear delay line interpolation

Software questions and issues with the FV-1

Moderator: frank

Post Reply
gfisys
Posts: 28
Joined: Wed Dec 14, 2011 7:39 pm
Location: Indonesia
Contact:

Linear delay line interpolation

Post by gfisys »

Is there any way to do linear delay line interpolation explicitly (without resorting to 'servo' method which is limited to 4096 delay length)? The coding example in the knowledge base says something about decomposing the the address pointer value into an integer and a fractional part, and using the fractional value to interpolate between adjacent samples. But how do we go about doing this? I'm still a bit flaky in my understanding of how the delay addresing scheme work in FV-1...

Thanks in advance
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Post by frank »

Well, it really depends on what you are trying to do in the program. For a pure delay most people don't bother with fractional sample length delays so there is no need to interpolate between samples.

If you are trying to do a chorus or other modulated delay effect the chorus generators in the chip will do the address generation and supply the interpolation coefficient.

More info on the desired effect/result would help determine how to attack the problem.
Frank Thomson
Experimental Noize
gfisys
Posts: 28
Joined: Wed Dec 14, 2011 7:39 pm
Location: Indonesia
Contact:

Post by gfisys »

Thanks for the fast reply Frank.
What i'm trying to do is to eliminate zipper noise when changing the delay time using a pot. For my application I need to keep the 9 bits pot value resolution, so quantizing pot value to 5-4 bits is not an option. I've also tried the pot smoothing method which reduces the zipper noise, but it's still very audible. The most effective method I've found is the 'servo' method, which is a linear interpolation, but of course it's useful only for short delay lengths.

Pot smoothing is actually not that bad, I could live with it, but since I still have quite a bit of FV-1 processing power left unused in my code I'm wondering if I can do more to eliminate the zipper noise futher . :D
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Post by frank »

OK, understand the problem now. Interpolating between values will not really eliminate zipper noise, the smoothing routine is the best solution.

Try adjusting the smoothing coefficient to see if that helps.

Try adding a little filtering, you may be able to roll off the noise without effecting signal or even try using the difference between target and current address as a coefficient so that the greater the difference the greater the filtering and as the difference hits 0 the filter opens up.
Frank Thomson
Experimental Noize
gfisys
Posts: 28
Joined: Wed Dec 14, 2011 7:39 pm
Location: Indonesia
Contact:

Post by gfisys »

That filtering idea seems promising, I'll give it a try, thanks again Frank!
Post Reply