UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor shahzad.raza
Visitor
380 Views
Registered: ‎11-23-2018

Multiple Frequencies Generation from DDS IP core

Jump to solution

Hi,

I want to generate 10 different frequencies starting from 1MHz to 20MHz using DDS IP core. I have configured the DDS IP core for multi-channel mode to get 10 different frequencies. The output of DDS IP core includes 10 different frequencies but after (F_clock/Number_of_channel), it repeats the same sequence of frequency, means the output contains repetitive sequence after multiple of F_clock/Number_of_channel.

For e.g :

F_clock = 400MHz, and number of channels = 10; Output frequency 1,2,4,6,8,10,12,14,16, and 18MHz;

F_clock/Number_of_channels = 400M/20; => 20MHz for each channel.

In the frequency domain, i recieve 10 frequencies repetitively, like 1,2,4,6,8,10,12,14,16, and 18MHz then 21,22,24,26,28,30,32,34,36,38MHz and then 41,42,44,46,48,50,52,54,56,58MHz and so on ....

In attached figure, there is complete frequency spectrum of 0-400 MHz. Output contains frequencies from 0-18MHz, but it also repeats after 20MHz spectrum.

I want only 1-18MHz frequencies over entire spectrum of 400MHz. Any suggestion or help will be appriciated. Thanks.

2019-08-01 (1).png

 

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
179 Views
Registered: ‎08-16-2018

Re: Multiple Frequencies Generation from DDS IP core

Jump to solution

Hi @drjohnsmith @shahzad.raza 

Since, DDS output is multiplexed in time domain, therefore it's not a pure sine wave (or sum of pure sine waves). Hence, it's not possible to have 10 peaks here. 

 

I did a simulation for it using DDS compiler IP. Below are the results 

1. Number of Sine waves = 2 (one 10 MHz and other 20 MHz)

2. System clock = 200 MHz (i.e above Nyquest rate)

We can see the clear peaks for the 'sum of sine' case, but multiplexed case have replicas. 

Screenshot_9.jpg

 

System Generator design is attached to generate the above results. 

Vivado 2018.3 

Matlab 2019a 


/ 7\7     Meher Krishna Patel, PhD
\ \        Senior Product Application Engineer, Xilinx
/ /        
\_\/\7   It is not so much that you are within the cosmos as that the cosmos is within you...

View solution in original post

5 Replies
Moderator
Moderator
214 Views
Registered: ‎08-16-2018

Re: Multiple Frequencies Generation from DDS IP core

Jump to solution

Hi @shahzad.raza 

I think it's not possible here as the output is time-multiplexed sine wave. 

We will have single peak for each frequency when these sine signals are added together. 


/ 7\7     Meher Krishna Patel, PhD
\ \        Senior Product Application Engineer, Xilinx
/ /        
\_\/\7   It is not so much that you are within the cosmos as that the cosmos is within you...
0 Kudos
Moderator
Moderator
202 Views
Registered: ‎08-01-2007

Re: Multiple Frequencies Generation from DDS IP core

Jump to solution

The sampling frequency is DDS IP clock frequency/Number_of_channels, so the frequency range you can get is 0 to DDS IP clock frequency/Number_of_channels or  -DDS IP clock frequency/(Number_of_channels*2) to DDS IP clock frequency/(Number_of_channels*2)

0 Kudos
Highlighted
Scholar drjohnsmith
Scholar
194 Views
Registered: ‎07-09-2009

Re: Multiple Frequencies Generation from DDS IP core

Jump to solution
If I remember the DDS, in multiple output mode, the outputs are time multiplexed,
In your case, you want 10 outputs, so you will get on each clock the next frequency,
f0,f1,f2,f3 -- f8,f9, f0,f1,f2
( what I think what the DDS is doing is having 10 counters in the dds, and one sine wave ram. Counters increment, and for next 10 clocks each is applied to the sine wave LUT , to give you 10 outputs, once last is output ,the counters all increment , and it all starts again )

Also not, your only just within the nyquest ,
to get a good sine wave you can see in time waveform you need around 4 times that rate.

Also remember in frequency domain, you have the alias of the output
have look here, in particular Fig 5
https://www.analog.com/media/en/training-seminars/tutorials/MT-085.pdf



<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
Moderator
Moderator
180 Views
Registered: ‎08-16-2018

Re: Multiple Frequencies Generation from DDS IP core

Jump to solution

Hi @drjohnsmith @shahzad.raza 

Since, DDS output is multiplexed in time domain, therefore it's not a pure sine wave (or sum of pure sine waves). Hence, it's not possible to have 10 peaks here. 

 

I did a simulation for it using DDS compiler IP. Below are the results 

1. Number of Sine waves = 2 (one 10 MHz and other 20 MHz)

2. System clock = 200 MHz (i.e above Nyquest rate)

We can see the clear peaks for the 'sum of sine' case, but multiplexed case have replicas. 

Screenshot_9.jpg

 

System Generator design is attached to generate the above results. 

Vivado 2018.3 

Matlab 2019a 


/ 7\7     Meher Krishna Patel, PhD
\ \        Senior Product Application Engineer, Xilinx
/ /        
\_\/\7   It is not so much that you are within the cosmos as that the cosmos is within you...

View solution in original post

Scholar drjohnsmith
Scholar
159 Views
Registered: ‎07-09-2009

Re: Multiple Frequencies Generation from DDS IP core

Jump to solution
Yep
the DDS is outputting 10 sine waves , in sequence,
To do a meaning full FFT you have to select which sample in the sequence you want to look at, then you get the correct answer,

So in your case, if yo look at the first sample of each sequence, you would see the 1 MHz sine wave
<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
0 Kudos