Waveform to the Multiplication of matrices

Hi all.

I have a DAQ - MX file that brings a table 1 d of waveforms. This will be either six, seven or eight waveforms (based on the previous settings). Regardless of how many there are, I want to take the first six of these waveforms and a matrix multiplication.

In other words, if A is my 6 x 1 read voltages in the acquisition of data, I want to multiply this matrix by B, a 6 x 6 of constants.

Is this possible?

Thank you

James

Then do what I said in message 3.

You started confusing things when you started talking on the application to the constants to the entire waveform.  It is impossible to make a 6 x 6 times 6 x 1 matrix multiplcation if you talk about all the points in a wave form which will have more than 6 points.

Looking at your last equation, is the vector of 6 x 1 represents a single element in time of 6 waveforms?  If so, use the first part of what I said in message 3 to convert your table 1 d of waveforms in a 2D array.  Then iterate over the column of table 2D 1 or 1 row at the time (dimension whatever gives you the unique element of 6 different channels).  You may be able to auto-indice according to the direction.  Use this table 1 d of 6 item to your multiplication of matrix with your matrix 6 x 6.

Tags: NI Software

Similar Questions

  • Measurement Studio has a least-squares method to solve the multiplication of matrices?

    I'm looking for a least-squares method to solve the multiplication of a matrix of 99 x 99 to a 99 vector element.

    Is there a method similar to the "fminsearch' of Matlab function?

    This is the method I use now...

    NationalInstruments.Analysis.Math.LinearAlgebra.Multiply (InverseMatrix99x99, Vector_99)

    Thank you.

    To my knowledge there is not a feature that replicates Matlab function "fminsearch" in the analysis of Measurement Studio package nor is there a multiplication of matrix least-squares method. However, you could write a DLL and call it in your Measurement Studio project. LabVIEW has an implementation of "fminsearch" in its packaging MathScript. You can read the documentation on that here (http://zone.ni.com/reference/en-XX/help/371361D-01/lvtextmath/msfunc_fminsearch/).

    Kind regards

    Steven Zittrower

    Technical sales engineer

    National Instruments

    http://www.NI.com/support

  • Firefox 4 warn me / restore when I close the multiple tabs.

    Even if in the Options, I checked "Warn me when closing multiple tabs" Firefox 4 don't warn me or restore the tabs when I close the multiple tabs. I use Windows Xp SP2.

    If you want Firefox to display the message to save the session, it can be turned on again by changing some preferences.

    1. Type of topic: config in the address bar and press on enter
    2. Accept the warning message that appears, you will be taken to a list of preferences
    3. Find browser.tabs.warnOnClosepreference, if its value is set to false, double-click on it to change its value to true
    4. Repeat this for 3 preferences browser.warnOnQuit, the browser.warnOnRestart and the browser.showQuitWarning
  • read the multiple analog inputs at the same time

    Hi all

    I use USB-6001 and want to develop an application to multiple tasks in C++. I try to read several analog inputs at the same time, but got some errors. To put it simply, I copy one of the sample code to read in analog data in a channel, and then turn it into function. Then I call this function to thread with the names of different poles (for example Dev1/ai0, Dev1/ai1) and I come across this error:

    "The specified source is reserved. The operation can not be specified such complete"code of State-50103

    I have search the forums, this may be because I use the hardware timing in this function, and this material timing cannot be used simultaneously by multiple tasks. I may have to put all the lines, I want to read in a single task (such as Dev1 / ai0:1). This way I can read two lines at the same time. However, when I try this, I encounter another error:

    Status code "buffer is too small to contain the data read" - 200299

    So here is my question, what should I do if I don't want to read the multiple analog inputs at the same time? Is the thing that hard time cannot be used by several true task? If I have to read several lines to a single task, how to set the settings?


  • USB-7855R DIO output different waveform of the seized wave

    Hello.

    I use usb-7855r.

    I see the exact waveform that I entered in usb-7855r. However I m do not receive the same waveform. The frequency is the same, but the voltage level is different. I'm suspecting the logical level of the device.

    In the user manual or the specs of the device, it seems that I can change the logical family but I don't know how.

    http://www.NI.com/PDF/manuals/375943a.PDF

    Does anyone know how to change the level of logic for this device?

    Hey Buddy,

    You want to right click on the Target FPGA and click Configuration of change...

    Then, you can set the logic levels.

    More details in the help and in this tutorial:

    Configuration dialog of e/s series R - OR-RIO 14.0 software help
    http://zone.NI.com/reference/en-XX/help/373197D-01/target2devicehelp/configio_dialog/

    OR R series for USB getting started part 2: Advanced
    http://www.NI.com/Tutorial/14837/en/

  • OR PCI-6542: Creation of dynamic waveforms using the HSDIO library

    Hello!

    I have problems to understand how to create waveforms using the HSDIO library to run on a card PCI-6542. I need to create a program that activates a channel for 12.5 microseconds, waiting for a while (i.e. 100 samples) and activates another channel to 12.5 microseconds.

    This program must be used in a Multielement ultrasound system.

    Here the example of dynamic generation program that transforms the channels 0-2 on 1024 samples.

    /************************************************************************
    *
    * Example program:
    * DynamicGeneration.c
    *
    * Description:
    * Generates a simple model on the specified channel.
    *
    * Pin connection information:
    * None.
    *
    ************************************************************************/

    / * Includes * /.


    #include "niHSDIO.h".

    / * Sets * /.
    #define WAVEFORM_SIZE 1024

    int main (void)
    {
    ViRsrc deviceID = 'Dev1 ';
    ViConstString channelList = "0-2";
    ViReal64 sampleClockRate = 50.0e6;
    DataWidth ViInt32 = 4;

    ViUInt32 waveformDataU32 [WAVEFORM_SIZE];
    ViConstString waveformName = "myWfm";
    ViInt32 timeout = 10000; / * milliseconds * /.

    ViSession vi = VI_NULL;
    Error ViStatus = VI_SUCCESS;
    Bruno errDesc [1024];
    ViInt32 i;

    / * Initialize generation session * /.
    checkErr (niHSDIO_InitGenerationSession)
    Deviceid, VI_FALSE, VI_FALSE, VI_NULL, &vi));

    / * Assign channels for dynamic generation * /.
    checkErr (niHSDIO_AssignDynamicChannels (vi, channelList));

    / * Set up the clock sample parameters * /.
    checkErr (niHSDIO_ConfigureSampleClock)
    VI, NIHSDIO_VAL_ON_BOARD_CLOCK_STR, sampleClockRate));

    / * Query the data Width attribute * /.
    checkErr (niHSDIO_GetAttributeViInt32)
    VI, VI_NULL, NIHSDIO_ATTR_DATA_WIDTH, & dataWidth));

    / * Fill the waveform with ramp data * /.
    < waveform_size;="">
    {
    waveformDataU32 [i] = i;
    }

    checkErr (niHSDIO_WriteNamedWaveformU32)
    VI, waveformName, WAVEFORM_SIZE, waveformDataU32));

    / * Start the generation * /.
    checkErr (niHSDIO_Initiate (vi));

    / * Wait for all the generation * /.
    checkErr (niHSDIO_WaitUntilDone (vi, timeout));

    Error:

    If (error is VI_SUCCESS)
    {
    / * Print result * /.
    printf ("made without error. \n") ;
    }
    on the other
    {
    / * Get the description of the error and print * /.
    niHSDIO_GetError (vi, & error, sizeof (errDesc) /sizeof (petitioner), errDesc);

    printf ("\nError encountered\n===\n%s\n", errDesc);
    }

    / * log * /.
    niHSDIO_close (vi);

    / * prompt to go out (for the popup console windows) * /.
    to continue...\n");
    GetChar ();

    error return;
    }

    Issues related to the:

    How can I change the values in waveformDataU32 to create market reports (instead of just always on)?

    How to select the channel waveformDataU32 is applied to the?

    Thank you!

    Zachary Geier

    The waveformDataU32 table is an array of 32-bit integers. Each bit corresponds to a line on the device.  On the first clock cycle, this program outputs:

    0000 0000 0000 0000 0000 0000 0000 0000

    Then it displays the following, changing at each clock Pulse:

    0000 0000 0000 0000 0000 0000 0000 0001,

    0000 0000 0000 0000 0000 0000 0000 0010,

    ...

    and so on all the way up to 1023:

    0000 0000 0000 0000 00000011 1111 1111

    In the example that you include at the bottom, you set the least significant bit (LSB) to zero and one, actually only change one line on the output. To change all the lines, you must instead use 4 294 967 295 or 0xFFFFFFFF:

    < waveform_size;="">
    < 200){="" if="" sample="" number="" is="" less="" than="">
    waveformDataU32 [i] = 0; Disable channels 0-2
    }
    else {}
    waveformDataU32 [i] = 4 294 967 295; Otherwise turn on all channels to 800 samples
    }
    }

  • Journal of waveform in the database

    Hi all:

    I had seen a waveform on the oscilloscope by a labview vi and registered as a type of labviewAnalog waveform.   I want to record to the database (tabel Prop_Analog waveform).  How can I do?

    Hey, Sailfish,.

    Since TestStand 4.1 does not Log check box, you can add the parameter to the report using the additional results feature. To do this, you will need to click on the Properties tab of the settings for your step step and navigate to the additional results pane. From there, you can select the settings to include.

    Note that as I mentioned in my first post, on the Module tab where you can see the settings, you need to keep the waveform in a location (for example, a local variable) in order to be registered. It is a known problem with your version of TestStand.

    I hope that helps clear things up - if not, please let me know what version of LabVIEW, you use, and I'm going to create a simple example and post it for you.

  • How waveform downsize the data before it is drawn

    Hello

    I am interested how does waveform downsize the entered data is plotted and what algorithm is used for this purpose? My goal is to draw 30 parcels that have 1 M samples each and I want to downsample them before tracing on a chart. I tried several screws/resampling algorithms and none of them gave the same result seen by waveform graph (when all samples are drawn).

    For example, if only a sample of 1 M samples is 1 and all others are 0, then after 1 k samples downsampling the sample is not visible on the chart more. However, if I draw every 1 M samples directly on the graph, then also this 1 sample is visible (see attached example).


  • How to make my waveform in the simulation design and control work continuously?

    Hi all, I m a begineer to Labview and have a few question.

    I use the Labview to design and implement a controller for FOPTD system, but I found that the waveform in the 'loop control and simulation"does not work continuously. I mean keep repeating in the same graph from 0 to 10 seconds. Is there an approach to make it run continuously?

    Thank you very much.

    Whenever a loop Control Design and Simulation is executed, it connects a full simulation, the initial time for the last time. When you drop a new loop CD & Sim down, the default values are zero second initial time and 10 seconds for the last time. I guess what you probably want is for simulation do not stop at 10 seconds. Double-click the left node attached to the CD & Sim loop and extend the end time. You can change the end of 'Inf' time if you want it to run until the VI is stopped.

  • Capture of waveform in the waveform diagram

    Hello

    I am trying to capture the waveform in the waveform table save it as an image.

    The reason why I'm not backup data is that we have a lot of test data and we do not want to draw hundreds of waveforms again manually.

    No one knows how to do?

    Thank you!

    Here's an easy way to save an image of the graph.

    You can save only the graph as BMP, EPS, EMF, or PICT with another method:

  • Build waveforms of the discrete points

    Hi all

    I'm doing a signal generator with the possibility of an arbitrary waveform.

    I have a graph with some sliders on it that you can move you like (only in the direction Y, not X) of these points, I would like to

    to create a 'soft', waveform, which is a waveform with lets say 500 points so the edges is not so rough. I have attached a few photos showing what I

    have and what I would ) (I have the discreet and I would finesse of waveform as the exit)...

    I tried tinkering with FIR filter, interpolation, spline function, but I don't think it's the way to go because of the low amount of datapoints that I start

    with, but perhaps that these functions could be a second step in the process?

    This curve is something the user will draw whenever he starts the program, that's why I'm kind of limited to max 10-20 points all about to create a waveform

    similar to that of the image.

    Hope you understand my problem and are able to help.

    Thank you

    Concerning

    Tommy

    Here's my try... My quick entry was an array of cursor ;-)

    If you run in a loop the operator GET direct feedback.

    Why you don't like flutes?

    Sidenote: If you choose force for interpolation, you have a Pisa as print :-)

  • are there different scales of two waveforms of the oscilloscope

    Hello

    I am writing two waveform on the oscilloscope. But one of the wave are very small scale.

    Y at - it any wave of scale are two on the graphical indicator of waveform so that the small signal can have higer resolustion?

    Thank you!

    Hi tian.

    Seek the help of LabVIEW for 'scale double y"...

  • How to show the multiple declaration for an application

    How to show the multiple declaration for an application

    Thanks for your suggestions...

    Looking at the javadocs you can only save an indicator by application. You will need to do three separate applications and package them as an If you want three different indicators to be visible at a time. Or change the flag that (or which group) of the indicators you want to display.

  • Activation of Windows7 get error 0xc004c020 "the activation server reported that the Multiple Activation key has exceeded its limit."

    I installed Win7 Pro 64 - bit about 4 - 5 times with the same original key on the same computer, but now I have a problem; When I want to activate key, always error has occurred with this 0xC004C020 with description error Code: the activation server reported that the Multiple Activation key has exceeded its limit. How do I fix this problem?

    Hello

    Please find your resolution from this link: http://technet.microsoft.com/en-us/library/ff793399.aspx

    MAKs by design have a limited number of activations. Contact the Microsoft Activation call center.

    Hope that helps.

    Kind regards

    Joel

  • How to remove the multiple file via plsql programm

    Dear friends

    1. how to remove the multiple file in the particular folder based on the file extension (ex: .xls) through program plsql.

    2. how to create the zip file through PL/Sql program for the given folder.

    Concerning

    M.Padmanabhan

    (1) utl_file.fremove. If you use Google, you might find how to list the files in a directory.

    2). create a file using pl/sql .zip

Maybe you are looking for