Page 1 of 1

Multi DDS for multi-frequencies

Posted: Mon Apr 09, 2018 11:49 pm
by kris13
Hello,
I'm working on a project GPR (Ground Penetrating Radar).
I have to send multi-frequencies to the same output (let's say 4 concurent frequencies from 1khz to up to 900khz).
I don't know how to create multi DDS with Vivado. I have seen some examples with the IP DDS Compiler but only for one frequency. Any ideas or advices are welcome.

Re: Multi DDS for multi-frequencies

Posted: Tue Apr 10, 2018 1:00 am
by pavel
I think that creating four instances of the DDS Compiler IP and summing their outputs should produce the required result.

Re: Multi DDS for multi-frequencies

Posted: Tue Apr 10, 2018 12:18 pm
by amike88
HI Kris13,
what pavel suggested would certainly work.

I'd like offer another option.

You can pregenerate signals you want to generate and add them up and normalize, then store the addedup and normalized siganl to the RP buffer.

Then all that is left to do is to set the generator to repeat the pattern and hit the generate buffer.

Jupyter could be useful here as all described procedure can be done on RP remotley non the less.

However there are a couple of limitations you need to take care of:
  1. @125MHz RP can generate pulses of 8ns x 16k samples = 128 us which is to short for 1kHz (1ms) hence you need to reduce the frequency of the output signal (already integrated in RP) for 1kHz you need to reduce the signal output frequency by 8 (this number can differ depending on the frequency of the slowest signal)
  2. as the output needs to be divided by 8, the generated signal must be generated at 8 times the frequency (1kHz signal needs to be generated at 8kHz, etc.)
  3. all subsequent signals with shorter period must subharmonics of the slowest signal, otherwise when the buffer turns around there will be a jump for that specific frequency.
The big benefit here is that you do not need to modify the FPGA at all. (fast and simple solution at least in my mind :) )

Re: Multi DDS for multi-frequencies

Posted: Tue Apr 10, 2018 9:05 pm
by kris13
Thank you very vor your reply. I'm going to test the both methodologies and keep your informed.
The idea of the project is also to be compliant with Gnu Radio.

Best Regards,

Re: Multi DDS for multi-frequencies

Posted: Tue Apr 10, 2018 10:49 pm
by JB
Hey, have a look at the implementation here: https://github.com/tknopp/RedPitayaDAQS ... thesizer.v

This should do exactly what you want.

Re: Multi DDS for multi-frequencies

Posted: Wed Apr 11, 2018 10:25 pm
by kris13
Thank You very much for this link JB! Yes this new IP block do what I want. :D