Generating the waveform

Hi everyone
Thanks to those who replied to my message. I am able to transfer the data from optical spectrum analyzer to labview. However, the data is in the form of 2 strings. One of the strings contains the values on the x-axis, ie., the wavelengths and the second string contains the instensity corresponding to the y-axis. How do I generate the waveform in Labview using these two strings?

First, you need to find the delimiter (i.e. the seperator between data values). The delimiter is usually either tab, space, semicolon or comma. Once you know the delimiter, you can use the spreadsheet string to array function to transform the two strings into arrays of doubles. From there you can do whatever you'd like with them, such as bundle them and display them on an X-Y Graph. I've attached a quick example with space delimited strings. It's in LV
Regards,
Ryan K.
Attachments:
String Parsing.vi ‏22 KB

Similar Messages

  • How to change the display in the waveform graph to enable higher frequency displays.

    I am working with waveforms of very high frequencies upto 2MHz. When the frequency of the waveform is increased above 500Hz, the display in the waveform graph goes blank.
    Please help me.
    Thanks

    Dear Labviewguru,
    Thanks a lot for your response.
    The problem had been technical, and it has been solved.
    Actually, I didn't specify the number of samples while generating the waveform, so only frequencies upto half the default value (1000) were being displayed.
    Regards,
    Roopa

  • Generated Pulse waveform is distorted when I deliver the signal to the output port in the DAQmx

    Problem: Generated Pulse waveform is distorted when I deliver the signal to the output port in the DAQmx.
    Environment: Windows XP sp3 (32bit), Visual Studio 2010 sp1, NI-Measurement Studio 2010
    Device: NI - DAQmx PCI 6251
     Analog Input: 1.00MS/s multi-channel (aggregate)
     Analog Output: 2 Channel 2.00MS/s
    Reference Example: AO_ContGenVoltageWfm_IntClk / AI_ContAcqVoltageSamples_IntClk
    Generated Pulse:
    1) AO0 = Square Waveform /0-5V / 8KHz / 0.5㎲/sample / sample 50% Duty
    2) AO1 = Square Waveform /0-5V / 8KHz / 0.5㎲/sample / (Reverse Image)
    Description: I’d like to deliver the waveform stream satisfied with specified constraints to the 2 channel output port in the DAQmx. To verify accuracy of the generated waveform, I did an electrical wiring from the Analog output channel (2 channels) to the Analog Input channel (2 channels) in DAQmx. As a result of this experiment, I could get a result which has signal distortion. Since the waveform has to satisfy with both high frequency (8KHz) and very short moment interval time (△t = 0.5㎲/sample) between samples, I cannot handle some parameters of the function in the referenced VC++ example. Following formulas shows an approach to deliver the generate pulse waveform to output port satisfied with constraints.
    Analog Output Channel
     Frequency = 8,000 cycles/sec (constraint)
     Sample per Buffer = 2,000,000 = 2*106 samples/buffer
     Cycles per Buffer = 80,000 cycles/buffer
     Sample per Channel = 1,000,000 = 1*106 samples/channel
     Sample Rate  = Frequency * (Sample per Buffer / Cycle per Buffer)
                              = 8,000 * (2*106 / 80,000) = 2*106 samples / sec
     △t  = 1 sec / 2*106 samples / sec
               = 0.5 * 10-6 sec/sample (constraint)
     Buffer Cycle  = Sample Rate / Sample per Channel
                              = (2*106 samples / sec) / (1*106 samples/channel)
                              = 2 channel / sec
    Analog Input Channel
    Sample per Channel = 1,000,000 = 1*106 samples/channel
     Sample Rate  = 1 MS/s * (2 Channel) = 5 * 105 Samples / Sec
    Program Code
    AO_ContGenVoltageWfm_IntClk / AI_ContAcqVoltageSamples_IntClk (VC++ Example)
    Result: The proposed approach was implemented in the experiment environment (VS2010, MStudio2010). As shown in Figure 1, we could get the unsatisfied result. Although I intended to make a ‘square’ pulse wave, the result looks like ‘trapezoid’ pulse wave (Figure.1). However, there is other result which was undertaken with different parameter condition. It looks like the square shape not the trapezoid shape.
    Please let me know what the conditions make the problem of signal distortion. (AO0 = Green line / AO1 = Red line)
    [Figure. 1] Frequency 8000 Hz / Cycle per Buffer = 8000 Result
    [Figure. 2] Frequency 1000 Hz / Cycle per Buffer = 1000 Result
    Questions: Please let me know following questions.
    1) Is it possible to deliver the generated pulse wave satisfied with constraints (f= 8KHz), △t = 0.5㎲/sample) to the output port without distortion using PXI 6251?
    (Is it possible to solve the problem, if I use the LabView or MAX?)
    2) Are there some mistakes in the proposed approach? (H/W or S/W program)
    3) What is the meaning of the Cycle per Buffer?, It could effect to the result?

    Hi Brett Burger,
    Thanks for your reply. For your information, I have set the sampling rate as 10000 as for the sound format, I have set the bits per sample as 16 bit, the rate as 11025 and the sound quality as mono. I tried using your method by changing the sampling rate as 8K but still my program encounter the same problem.
    I wish to also create a button that is able to generate a preformatted report that contains VI documentation, data the VI returns, and report properties, such as the author, company, and number of pages only when I click on the button.  I have created this in my program, but I am not sure why is it not working. Can you help troubleshoot my program. Or do you have any samples to provide me. Hope to hear from you soon.
    Many thanks.
    Regards,
    min
    Attachments:
    Heart Sounds1.vi ‏971 KB

  • Sorry, Messed up my question in previous posting.Triggering one waveform and contoniously generating the other

    Hi,
    I am using a PCI6014 DAQ board with LAbview.I have to generate two square waveforms at my analogoutput channels. The first wave form has to be contionously generated. The second wave form has to be started on every event occurence and wait till the waveform is complete(AOWait).
    Thanks.

    Hello,
    If you want to generate two square waveforms, I recommend that you use the counter outputs of your PCI-6014 board. You can set up one counter to do continuous pulse train generation and setup the second counter to do triggered pulse train generation.
    Do you need the signals to have different specs than 0 to 5V? The counter outputs use TTL logic level signals, so if your square wave amplitude needs to be something other than TTL, you will need to use the Analog Outputs. It is also good to know that the analog outputs share the same update clock, so getting the data to output on the AO that is started from the occurrence may be tricky. I recommend using the counter outputs if at all possible. Check the example programs that ship with LabVIEW. Foll
    ow this path to find the counter example programs: Help >> Find Examples >> Hardware Input and Output >> DAQ >> Counters >> DAQ-STC.
    Reply to this post if you are certain you cannot use the counter outputs.
    Regards,
    Bill B
    Applications Engineer
    National Instruments

  • How can I tell if an arb is currently generating a waveform? (LabView 8.5)

    I have a VI which configures the load impedance of a 5421 arb card by changing the value of the property node "Load Impedance".
    This only works if the arb is not generating at the time of the call to the VI.
    I wish to be able to call the function when the arb is either generating, or not generating a waveform.
    Is there a way I can determine whether the arb is generating a waveform so that if necessary it can be aborted, then the Load Impedance changed, then the output re-initiated?
    Thanks
    Alan

    The fastest way to do this is to Disable the output (with enable output.vi) change the impedance and re-enable the output.
    Of course if you want to wait untill a generation session is complete you will need to configure the Done event to output something you can monitor (hardware only for unknown reasons) and use that to gate your changes.
    Jeff

  • How to divide the waveform into small pieces (which have different lengths)

    I have a long waveform which is just a combination of a waveform + 0 + another waveform + 0 +...I would like to have small pieces of the long waveform.  The problem is I cannot think of anyway to detect the 0 in order to seperate them.  Any hint would be appreciated.
    Solved!
    Go to Solution.

    How are the zero segments generated? Are they exactly zero or average zero but with some noise? Do you know the length of the zero segments? Is it always the same? Do any of the waveforms have segments where the real data is zero, and, if so, how long can those segments be?
    My first thought is to use In Range & Coerce with limits just slightly above and below zero. The check the length of any set of samples not In Range.
    Lynn

  • Generating a waveform using PXI-6534

    Hello,
    I am trying to write a VI to generate 3 waveforms using a PXI-6534. I am not familiar with how to do this in Labview really, so I was hoping I could get some help getting started with this. The 3 signals are a clock signal, data, and load enable. The clock has a frequency of 614.4KHz, and a data bit is sent on the falling edge of each clock pulse. After 48 data bits have been sent, the clock remains low while the load enable signal is pulsed low for one clock cycle. Unfortunately I do not have the waveform generation editor, are there any alternatives to this? If anyone could give me any suggestions or point me to any tutorials or examples it would be greatly appreciated.
    Thanks,
    Steve

    This you can do this.  I have used this exact card to continiously bit pattern from an array I streamed out a 500,000 sample stream out at 10MHZ and read back a 8MHz and parsed the data.  Look at the daqmx examples.  essentially you want to write the array to the buffer and set it up for ALLOW REGENERATION on the write property and Continious on the sample clock. Look at the following examples:
    Hardware IO>>daqmx>>digital generation>>Continious Write Dig Port-Ext Clk generation.
       this sounds like what you need, a continious digital pattern generation using an external clock.
    Also see the non regeneration example. you can change the pattern on the fly.
    I would not use traditional daq since is is very outdated and probably will not be supported in the future.  DAQMX is much better.
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • How the waveform graph indicator doesn't change its property ?

    I have designed a printcontrol vi which I only want to print the plots in the waveform graph on the front panel.In order to acquire this effect, I use the property to set the plot area background colour to transparency. In the course of running,the property works,
    I mean the waveform graph changes transparent.But I hope it will not change because it will not convient for the user.I don't know how to achieve this goal.Hope to get your help,thanks a lot!
    Attachments:
    11.vi ‏97 KB

    One of your problems is the fact that you reset the panel color only after the event has completed and since it generates the full report, this can take some time.
    The problem will be much less noticeable if you reset the changed properties right after grabbing the image.
    Attached is a quick draft. Modify as needed.
    (Sorry, I don't have 7.1, so I downconverted from 8.0. There could be some conversion errors that should be easy to fix.)
    You should also make sure to place the terminals of the latch action booleans INSIDE their corresponding event case, else it might not reset to false during execution of the event.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    11MOD.vi ‏58 KB

  • Having problem with discontinuity in the waveform

    Hi Experts,
    I am trying to build a multifunction vi that is able to generate analog waveforms and read them simultaneously using USB-6251 and Signal Conditioning Connector Block Model SC-2345. I plan to add a signal from the sensor to the waveform in the future but that is not the case now. However, when I run the program, it turns out to a small discontinuity in the waveforms which I really have no idea how to fix it. And it is quite unacceptable since it affects the shape of the waveform and its frequency. I attached the file. Any suggestions would be greatly appreciated.
    Sorry if my English causes you problems. Thanks in Advance.
    Nattapat Thanesvorakul
    Student
    Solved!
    Go to Solution.
    Attachments:
    kun_4.vi ‏147 KB

    There are a couple issues that could be causing this. First, you are resetting the function generator each time and you are not set for continuous generation.

  • Why am I not seeing the LED blink faster on hardware when the waveform graph shows the signal updating?

    I am using the cDAQ-9188 chassis with a NI 9476 in the 8th slot, and when I run my VI, the waveform gets updated if I change the frequency of a signal while the program is running, but the DO from the write does not get updated. I thought that write takes in the data from the digital waveform input, so I'm confused as to why the digital waveform indicator is updated with a new signal, but my LED into a DI module (9421) is not updating.
    Thanks in advance for any tips and suggestions!
    Speed2.vi calls Generate_PWM.vi, so Generate_PWM is a subVI inside Speed2.
    Attachments:
    Generate PWM.vi ‏34 KB
    Speed2.vi ‏46 KB

    Hi Ruthnan,
    Sorry for the delay in response but after looking over that hardware it seems there should be enough counters in the chassis to support what you are doing. I believe you are getting the resource is reserved error because you have started one output task on that module thus reserving the reference. Once that task starts any additional task with get an error. It should be possible to use more than one counter in your application but it sounds like an error in the VI configuration. I am happy to help here to get an example up and running but I think it would be faster to open a service request for this issue. Let me know what you would like to do.
    Patrick H | National Instruments | Software Engineer

  • Waveform chart time axis is not matching the waveform data

    So here an interesting conundrum I hope you might be able to help me with...
    My VI has waveform data sent to a chart, though the data is not being plotted against the current time.  Rather, it is being plotted starting way back in the reference time (way back in 1903).  I don't understand why this is happening.  When I build the waveform, I use the "Get Date/Time in Seconds" function outside the while loop and feed that into my "Build Waveform" Function as the t0 value.  My dt value is 0.05 (20 Hz) and then I feed in my array of data in the Y input.  Any ideas why the chart is plotting this data over 100 years ago?  Thanks!
    Andrew

    Hiii, Ronin
          Here is your solution.
    By default, waveform charts and graphs display the absolute time at time 0 as 7:00:00 PM, 12/31/1903 on a Windows based system. Property nodes can be used to get the correct absolute time to display on the x-axis of the waveform chart.
    First, right click the chart on the front panel and select X Scale >> Formatting. Then set the format to Absolute Time.
    Create a property node for the waveform chart by right-clicking on the chart on the block diagram and selecting Create >> Property Node. Expand the property node to display two properties. Select the Format property and the Offset property. The Format property is located under X-Scale >> Format and Precision >> Format, and the Offset property can be found under X-Scale >> Offset and Multiplier >> Offset. Right click on the property node and select Change All to Write.
    For the Format property, the context help shows that there are multiple inputs to this property. Wire in a value of 7 to set the format to Time and Date.For the Offset property, first wire the output of the Get Data/Time in Seconds VI to the input of the To Double Precision Float VI. Then wire the output of the To Double Precision Float VI to the Offset property.
    In addition, if you know the number of data points plotted to the chart per second, you can set the Multiplier property located under X-Scale >> Offset and Multiplier >> Multiplier. If there are x data points generated per second, wire in a value of 1/x to the Multiplier property. A simple example program "Chart with Timestamp" that demonstrates how to do that is attached.
    Thanks,
    Nishant
    Attachments:
    Chart with Timestamp.vi ‏36 KB

  • 20-second clip taking over an hour to generate audio waveform

    After trying to figure out where my "share" files were winding up, I realized they haven't even finished rendering.
    I've got one 20-second clip with audio.
    It's been in the "Generating Audio Waveform" stage for the last 90 minutes (or longer). There's no %-complete indicator, so I can't actually tell if any progress is being made.
    Does this seem reasonable?
    I'm wondering if I should just cancel all sharing operations and try again.
    Thanks.

    Where would I find that information?
    I went ahead and cancelled all of the rendering and sharing background tasks and started over with the Sharing, now it just says 0% and shows no progress or indication that background tasks are running. The "Generating Audio Waveform" isn't even a background task at this point, and it's been about 30 minutes.
    I just closed FCP and will see what happens if I reboot the entire system and try again.

  • Daqmx functions generate a waveform

    I need to use the daqmx functions to generate a waveform.  The waveform specifications...
    Square wave...min voltage 5V, max voltage 8V...50% duty cycle...2kHz frequency...run continuously.
    What daqmx functions do I need to use to generate this square wave?  If this has been covered in another thread, I apologize.
    Jeremy

    Hi jjsomer,
    There are a couple of example VI’s that you can use for that, you can go to the NI Example Finder » Hardware Input and Output » DAQmx » Analog Generation » Cont Gen Voltage Wfm-Int Clk.vi
    That VI will show you how to output a signal that could be sine wave, square wave of saw tooth wave. In order to set the parameters that you need, you can use the Square Waveform.vi instead, this can let you set an offset for the signal.
    I hope this will help you,
    Regards,
    steve.bm
    AE | NI

  • XML Publisher Report not generating the PDF output.

    Hi,
    I am trying to develop a XML Publisher Report in R12 Vision Instance.
    I have developed the rdf report and concurrent program with XML as output format. Ran the concurrent program and I got the XML output. Based on XML output I have created the rtf template. Using both the template and xml output I have created in Data Definition and Template in XML Publisher Administrator Responsibility. Now I am comming to the concurrent program and running the program, here instead of generating the PDF output it is generating again the XML output and concurrent program completing with warning status.
    When I am trying to do the same in 11i Vision Instance, Concurrent Program completing with normal status and when trying to view the output it is saying "Unable to Publish output for the Processed Request".
    Kindly please help me out in this issue.
    Thanks,
    Manasa.

    Hi Mahesh,
    Here the concurrent programs are not erroring out. It is completing with Warning status and when we click on View Output the output is coming in XML format instead of PDF, this is in R12 Vision Instance.
    In 11i Vision Instance, concurrent program is completing with Normal Status but when we click on View Output it is saying "Unable to Publish output for specified request".
    Thanks,
    Manasa.

  • How can i print out the waveform chart?

      hello everybody,
    how can i print out the "waveform chart". can i do it just push the button. ( example; stop button is stop the program etc..)
    i checked the NI examples but i can't understand. i'm new to the Labview.
    pls help me.
    i added the my program
    look forward your reply
    regards from turkey...
    Message Edited by hknmkt on 05-29-2008 04:15 AM
    Attachments:
    29.05.2008_11.vi ‏37 KB

        hi jim,
    i tried the program but it's not running. When i run the program, it's print out without run the program
    i added the printed file.
    look forward your reply
    hakan
    Attachments:
    error8.JPG ‏8 KB

Maybe you are looking for

  • Compilation Error while using string (Please help)

    Hi, I am using "Sun WorkShop Compiler C++ SPARC Version 5.000". Compiling code which contains a "string variable" throws the following error: "/opt/WS5/SC5.0/include/CC/./new", line 32: Error: The prior declaration for ope rator new(unsigned) has no

  • Problem adding database schema , eroor : not connected

    Thank you for reading my post I download the demo sample from oracle soa web site . and i am trying to follow the tutorial to create the database schema, to make this step complete I create oracle_home and oracle_SID variables (Windows OS ) then I op

  • Web interface

    Hi all, Does anyone know of a web interface? I mean, we do already read some data from SBO through SQL, because we want to redesign our site so our full catalog comes from SBO. That's easy to do if you query through SQL. The challenge is now that we

  • Another question for Experts - How can we copy an ODS structure?

    All I know is we can generate the export datasource. But will it copy the ODS structure? Thank you Swetha

  • My ipod cant connect and sync with itunes?

    its shown under devices but says "cant connect with sync services."