Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

generate analog output waveform that oscillates between two frequencies using envelopes

Basically I would like to output a waveform from LabView that oscillates between two frequencies using amplitude modulation envelope waveforms.  I have attached a jpg image that I created in Matlab to show what the final waveform should look like.  The envelope waveforms have a period of 10 sec. Signal 1 (83Hz) and signal 2 (12.5Hz) are multiplied by an envelope signal.  The second envelope has a phase shift of 180 degrees.  The two modified signals are added together to produce the blue waveform.  I would like to continuously output the blue waveform using the daqcard 6036E I have for my laptop to oscillate a piezoelectric crystal.  
 
Currently I am sending the entire 10 seconds of the final waveform into one element of the memory buffer.  With a sampling rate of 500Hz, the program can run indefinitely; however, the mod 83Hz signal has an additional low frequency component which creates this "warbling" (sp?) effect.  If I increase the sampling rate to 1000 or 2000Hz, the artifact is reduced, but then my LabView vi runs out of memory.  I included the front panel diplay showing the "warbling" effect with the 83 Hz signal below.   
 
Thanx,
 
Tom
Download All
0 Kudos
Message 1 of 2
(2,959 Views)

Hi caseGrad,

Welcome to the NI discussion forums.  Thanks for attaching screenshots of your code.  I was curious if I could replicate the behavior you were seeing so I built a VI following based on your block diagram and the front panel screenshots.

At a sampling rate of 500 Hz I was able to clearly see the same   “warbling” effect.  I increased the sampling rate to 1000, 2000, 5000, and 10,000Hz, but I did not get the LabVIEW warning saying that LabVIEW had “run out of memory.” As you suspected, at the higher sampling rates the “warbling” effect was greatly reduced.

I was able to get the memory error, but only if I selected a really high sampling frequency such as 1,000,000 Hz.  I believe the PCI-6036e has a max update rate of 10,000 Samples/second, so sampling rates above 10,000 Hz don’t make too much sense anyway.

The memory error is likely related to the type of computer you are using. What operating system are you using?  What version of LabVIEW are you using?  What kind of computer do you have and how much memory does it have? Are you running other programs at the same time you are running LabVIEW?

I tested your application using the following:

  • LabVIEW 8.5
  • Win XP
  • Dell desktop with 1 gig of ram and a single 3.2 GHz processor

If available memory really is the problem and you are restricted to running the application on this computer, there may be things we can do to reduce the memory “footprint” of your application.

Jared T.
Message 2 of 2
(2,913 Views)