Showing results for 
Search instead for 
Did you mean: 

arb waveform

Go to solution


I'd like to generate an arbitrary analog waveform, e.g. a step function where the voltage increase 1 V each step and where the voltage is hold for a certain time. Or an analog signal e.g. 5 and 0V for a certain time. It is really important that I use analog in the end. I currently try to make a waveform by using the waveform generator VI. Unfortunately, I only get something of a triangle signal. How can I hold the value? It should look more like a digital signal (at least in this example, but on the analog channel). I didn't find any examples which help me. So if you know an example where the value is hold please really tell me.



0 Kudos
Message 1 of 7

Have you tried using 'Simulate Arbitrary Signal Express VI'.


Simulate Arbitrary Signal


And if you also want to make use of some sort of hardware, then checking this might be helpful:

I am not allergic to Kudos, in fact I love Kudos.

 Make your LabVIEW experience more CONVENIENT.

0 Kudos
Message 2 of 7

Thanks for the idea. I tried it out. Unfortunately, the result was to slow. In the first step, I need a 5V signal for about 300µs, 4V for 300µs, 3V for 300µs and so on. With the Express VI the signal was to long (25ms).

0 Kudos
Message 3 of 7

Can you share you code, want to see what configuration you had made and what result you are getting...!!


I tried, and found that using this express VI, you cannot create any waveform of resolution higher than 1 millisecond.

But you can definitely modify the resolution programmatically, I made an example (LabVIEW version 2012) to demonstrate.


Generate Arbitrary Waveform.png

I am not allergic to Kudos, in fact I love Kudos.

 Make your LabVIEW experience more CONVENIENT.

0 Kudos
Message 4 of 7

Thanks very much. I tried it and it work on the computer. However, if I measure the signal on the oscilloscpe I have a half period of 2.96ms and I don't get it any faster. However, I know that in general the PCI 6722 is faster. How can I create an arbitrary signal at this speed.


Info: I work with Labview 2009

0 Kudos
Message 5 of 7

Why haven't you posted your VI? Everything depends on how you have set the DAQmx task and you have not even mentioned what you have done for it's configuration.


It also sounds like you can use the Ramp function to generate the waveform. Have you tried that?

0 Kudos
Message 6 of 7
Accepted by topic author db2nc

Well, first of all I want to generate a simple waveform but in the end the waveform is more complex so I cannot use any standard step function, square etc.


The VI has two parts. First I need to generate an analog arbitrary signal which has a half pulse width of about 300µs (upper loop). Then I'd to read back everything which is seen on the chanel. I control a sensor which then produces a signal itself.


So I have got two problems:

1. Generate a fast signal (upper loop)

2. Read back everything which is on the chanel incl. the produced signal in 1 (lower loop)


Thanks for the help


0 Kudos
Message 7 of 7