Accessing Delay memory with an LFO manually

Algorithm development and general DSP issues

Moderator: frank

Post Reply
edwillys
Posts: 14
Joined: Wed Jun 01, 2011 3:33 pm
Location: France

Accessing Delay memory with an LFO manually

Post by edwillys »

Hello all,

Here is my situation. I have two delay lines dly1 and dly2 and lets say that I want to access both through the sinus LFO except that in dly2 i want the sinus with a phase shift (a phase inversion to simplify). The question is: how to I access the dly2 properly in the delay memory. I thought about using the CHO RDAL, SIN0 instruction to read the sinus value, multiply it by -1 and then add the delay offset in order to point to dly2. Of course that I'll have to do the interpolation by hand as well, but let us not mention here to keep it clear. My idea stumbled on the problem that the K constant SOF instruction to add the dly2 offset doesn't hav the same precision that the addr_ptr.

Hmmm, just thought about trying with the multiplier of SOF instead of the K constant. I shall try it out.

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

Post by frank »

You probably want the COMPA option to CHO RDA, COMPA complements the address portion of the sine wave prior to adding to the memory address.

Note: since each LFO produces a SIN and COS output and you can complement the address and coefficient portion you basically have SIN, -SIN, COS and -COS outputs from each LFO.
Frank Thomson
Experimental Noize
edwillys
Posts: 14
Joined: Wed Jun 01, 2011 3:33 pm
Location: France

Post by edwillys »

In fact you're right that for this example it will work. But if I want a 120 degrees phase for example, I'd have to manipulate the LFO by hand through an allpass filter.
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Post by frank »

Yes, the LFOs do 90 degree shifts. For an arbitrary shift you would need to work it out.
Frank Thomson
Experimental Noize
Post Reply