LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Generation of an increasing amplitude pulse train

I am looking for a solution to produce a an incrementally increasing amplitude pulse train wavform that may be delivered to an analog output for external circuit control.

For instance, the generation may start at 0.2 for 10ms, then remain at zero for 10ms, then pulse to 0.4, then return to zero, then up to 0.6, and so on.
0 Kudos
Message 1 of 4
(2,303 Views)
Hi,
you must combine somehow the "Square wave.vi" and "Ramp pattern.vi" from "Functions->Analyze->Signal Processing->Signal Generation" palette.

Take this example. It has some limitations on the value of "duty cycle (%)" and frequency "f" but it will help you to understand the idea.

Good luck.

Oleg Chutko.
Message 2 of 4
(2,303 Views)
This looks like a great idea, now you just need to take into account the Update rate that you will be using to get actual time values.

Good Luck

Juan Carlos
0 Kudos
Message 3 of 4
(2,303 Views)
Oleg,

Thank you very much! This example was incredibly helpful! I found that a slight modification of this example will significantly improve the duty cycle and frequency response limitations: simply add a phase adjustment. Sincronizing the ramp and square wave patterns this way eliminates nearly all of the distortion at duty cycle and frequency extremes.

While I was waiting for a response to my question, I was able to develope an incrementing pulse train using the Pulse Pattern under analyze/signal proc/signal gen. This was done by imbedding it in a while loop, scaling the loop iterations, and feeding them into the pulse pattern amplitude. The difference in this method is that it is driven by the loop instead of by number of samples.

My intended
use is in an external VCR circuit; I am still waiting for my new card, but when I get it I'll be able to let you know which VI works best.

Again, thanks!
0 Kudos
Message 4 of 4
(2,303 Views)