05-22-2014
03:43 PM
- last edited on
06-20-2025
10:01 AM
by
Content Cleaner
I have successfully implemented the code found here:
and can produce arb. waveforms. Sadly, the corners of my waveform become rounded as the frequency is increased. At the frequency of interest the waveform is almost completely "washed out".
My ideal wave form has a period of 40 us and is a bipolar square wave with a digital look up table of "0,0,0,0,0,-1,-1,1,1,0,0,0,0,0,0" where the positive and negetive pulse width is 2 us.
Why is the FPGA failing to produce the waveform at higher frequency?
attached below are two .png files of my produced waveforms. The code for both waveforms is the same, all I did was increase the frequency from 2.5 kHz to 25 kHz.
05-23-2014 08:17 AM
Hello dthrash
So increased the frequency changing what values exactly? What do you have for the DDS Signal Freq control and what do you have for the AO update Freq before and after?
Regards
Frank R.
05-23-2014 08:41 AM
The analog update rate is 1 MHz.
The DDS signal Freq control is set to 2.5 kHz and 25 kHz. The results can be seen in the .png files attached previously. At 2.5 kHz a wave form with crisp edges is produced. At 25 kHz the wave form no longer has crisp edges.
05-23-2014
05:27 PM
- last edited on
06-20-2025
10:01 AM
by
Content Cleaner
Hello dthrash
Could you check your update rate?
How Can I Calculate the Output Frequency of My Analog Output?
Regards
Frank R.
05-26-2014 11:29 AM
My update rate is set to 1 MHz (the max for Analog Output).
05-27-2014 03:13 PM
Hello dthrash
Could you try to implement a signal monitor like this one included in that example (Host DDS Generation Triangle 3-ch with DMA):
I would like to know if you can see the same effect here.
Regards
Frank R.
05-28-2014 11:10 AM
Frank,
I believe the analog ouput rate (1 MHz) is limiting the features of the wave form.
I have another issue I would like your opinion on.
The sine LUT produces sine waves with wonderful phase coherence. If I look at them with my oscilliscope, set their frequencies to be integer mutliples, and trigger on the slowest of the waveforms then they all reamain phase locked.
This is NOT the case with a square wave table that I have implemented (LUT vi is attached below). If I repeat the experiment mentioned above, higher frequency square waves will have a constant phase relative to the low freq (trigger) waveform and then suddenly jump (always in the same direction).
Any thoughts?
05-28-2014 05:09 PM
After closer inspection, the sine waves also exhibit the same strange behavior. It is simply easier to see with the square waves. For the square waves there is a bulge that passes along the square wave once every couple of seconds. This can be seen on the DMA and the oscilliscope. A similar feature can be seen on the sine wave, albeit much smaller. If you set one of the sine waves to low frequency you will see it slowly shift while the other wave forms (of higher frequency) remain fixed (All this is assuming frequencies which are integer multiples of one another).
05-29-2014 09:23 AM
Hello dthrash
You have been testing that example and its behavior. If it is the way it works, let's try to analyze your main goal.
You need to generate a square wave with a 40us period following a look up table. Are there additional specifications you need to meet?
Regards
Frank R.
05-29-2014 09:49 AM
I need to produce an arbitrary wave form, not necessarily a square wave, which has no funny buisiness at low frequency. Funny business includes strange time dependent phase phenomena which has been exhibited thus far by both sine and square waves.