LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problems with the Stanford Reseach Systems DS345 Function Generator

I'm writing a labview program that will allow operation of the Stanford Reseach Systems DS345 Function Generator. The problem that I'm having is in the amplitude calculation. The way the driver finds the amplitude is by recieving an array of what are essentially y-coordiantes (on a cartesian graph system), finding the max and min of the array, and subtracting them.


This is where the problem lies. I've designed my program so I can type in an equation, see the graph of this equation, and send the y values into a the subvi provided by the driver. This subvi is the one that finds the amplitude...etc and sends it to the oscilliscope. However, when I use a formula for something as simple as sin(x), it caclulates the amplitude as 2. This is because the max/min values of sin(x) are 1 and -1. So the function generator reads in an amplitude of 2. This amplitude of 2 results in a sine wave that oscillates between 2 and -2. Obviously, this is not what I'm looking for. I know by dividing the sine wave coordiantes by 2, or just using the max/min value to be sent to the function generator as the amplitude will work in this case, but not for all cases (ex: sin(x)*e^(-3x). I'd appreciate any suggestions on how to fix this amplitude problem for all cases.


In addition to having this sine function, I wrote a subvi that essentially generates a series of pulses depending on the user preferences. It's relativly complicated to explain how it works, but it just sends an array of y-coordinates (similar to above, and they are sent to the same subvi to be sent to the function generator). This array is the one that truly puzzles me.


For example, I have a single pulse, with height 5. The y array is 10 places big. At index 0 to 3, the y value is 0. At 4 to 6, the value is 5. And from index 7 to 9, the index is zero again (Imagine a pulse "_|-|_" , it may help understand this).


I send this array of 10 places to the same subvi as the one described in the sine function earlier. I would expect the amplitude to go in as five (max - min), and it does. However, when determining the actual value from the oscilliscope, it turns out to be 10.8 peak to peak voltage. The values range from -.8 volts to 10 volts. I can't imagine why they do not range from 0 to five as specified in the array which is sent.


If anyone has any answers, suggestions or questions concering this description, I would greatly appreciate it. Feel free to post answers or email me at: jdalton@nal.com
I'll be more than happy to post the files if someone wants to look at them.

Thanks again,
Jim Dalton
North American Lighting
jdalton@nal.com
0 Kudos
Message 1 of 1
(2,531 Views)