build the table high sampling frequency

Hello

I have implemented a simple vi which curve data from incoming analog channels, and when you are prompted to save the data, it generates an arrary. When recording is complete, the data is written to a file. I use a local variable between while loops to add data to table. Everything works smoothly. However, when I increase my sampling rate in a few thousand s/s (> 5000 s/s) my final table is not as large as expected. Suggestions to optimize this? I do not undestand where is the neck of the bottle. In the end, I intend to be sampling 8 channels at least 8 000 s/s. The vi is attached in case someone wants to kick something. LabVIEW is fairly new to me.

Thank you

Trevor

Search for "producer/consumer" and how a queue can be used to transfer data between the loops.

What is happening is the loop of your is slows and not juggling with incoming data. The local is being written too.

Put a flag on the terminals of your index fo the two loops to see that a single loop is ahead of the other.

Ben

And if you do not belive me just wait a few minutes and crossrulz will tell you the same thing.

Tags: NI Software

Similar Questions

  • How can I write time to build the table in just a few seconds?

    Hello world

    I am able to use "elapsed time" to send a time stamp to "build the table" using the output of 'elapsed time to text.  But after 59 seconds, it gives then a minute.  In the excel file, it is as follows:

    0 00:00:59

    0 00:01:00

    0 00:01:01

    I want to continue to 60, 61 seconds and so fourth.  When I try to connect to an another Subvi, it gives me a connection error.  Any help would be greatly appreciated?

    Thank you

    Ferriol

    I guess that's the Express VI, you can use the output of the time elapsed (s) instead of the number of seconds passed.  If you want a string, use the Format String VI, or build an array of DBL to add to the rest of your data.

  • How to acquire the signal to very high sampling frequency

    Hello world

    My name is Luke Ho. I am trying to acquire the signal with Labview (Sthelescope). The signal comes from sensor acoustics, then filters and amplifiers to adapt to ADC rank (0 - 5V). Thus, the maximum frequency of the signal is 40 kHz.

    According to the Nyquist theorem, I sampled at least 80 Khz signal.

    Is there a sampling frequency devices like that? or y at - it another way of better? I used the Arduino before, but it was about 10 kHz.

    I need your advice.
    Thank you all and have a nice day.

    holucbme wrote:

    Thanks for your recommendation

    But is it possible without USB Data Acquisition, it is quite expensive for me.

    This is the cheapest option to NEITHER. I tried to look for options to other companies, but more I found in the same price range, or not answering is not your condition of sample rate.

  • build the table when values change at run time

    Hi all

    I have a continuous stream of frequencies that continue to change during execution. I need to make a table of these values. I use the array build function. This option stores the first value only and the order of the day replaces the stored rather than settle down after that. I was going through the examples of labview and I think that by using the shift register can somehow solve this problem. However after an hour of futile play with lag, while loop records and build blocks table that I decided to post on this problem. I would like if someone can delete my concepts as well as a solution. The conceptual linkage is for what the first value to maintains have replaced. If I use the table of generation block the values that come should then fill the following vacant location logically. Instead, it replaces one only.

    You are right that I have simply the case that I warned the first sentence.

    Other methods require a certain amount of planning on the structure of data-handling. It is suggested at least...

    A better approach would be something like a circular buffer where you initialize an array of the desired size (for example 10000 items) and then start to replace the items. You can use the iterator of the loop you have to 'reduce' using quotient & reminder (which is the 'modulo' mathematical operation).

    hope this helps,

    Norbert

  • How to build the table with all the combinations of a source table?

    Hello

    I have a 2D array that contains the list of the power user-defined settings. The number of PSs (table rows) is not fixed. For example - 3 PSs:

    Stage of Min Max name

    PS1 3.0 3.6 0.3

    PS2 0.9 1.2 0.1

    PS3 1.7 1.9 0.1

    I need to build, from this list, a table of all the combinations as below:

    PS1 PS2 PS3

    3.0 0.9 1.7

    3.0 0.9 1.8

    3.0 0.9 1.9

    3.0 1.0 1.7

    3.0 1.0 1.8

    3.0 1.0 1.9

    3.0 1.1 1.7

    3.0 1.1 1.8

    3.0 1.1 1.9

    3.0 1.2-1.7

    3.0 1.2-1.8

    3.0 1.2-1.9

    3.3 0.9 1.7

    3.3 0.9 1.8

    3.3 0.9 1.9

    3.3 1.0 1.7

    3.3 1.0 1.8

    3.3 1.0 1.9

    3.3 1.1 1.7

    3.3 1.1 1.8

    3.3 1.1 1.9

    3.3 1.2 1.7

    3.3 1.2 1.8

    3.3 1.2 1.9

    3.6 0.9 1.7

    3.6 0.9 1.8

    3.6 0.9 1.9

    3.6 1.0 1.7

    3.6 1.0 1.8

    3.6 1.0 1.9

    3.6 1.1 1.7

    3.6 1.8 1.1

    3.6 1.1 1.9

    3.6 1.2 1.7

    3.6 1.2 1.8

    3.6 1.2 1.9

    How to build this table programmatically?

    (Note also that the number of rows in the source table is not fixed).

    Thanks in advance!

    Hi Berezka,

    using a magic of automatic indexing:

  • Need help to build the BasicDialog plugin sample

    Hello world

    I'm new to the Adobe ID SDK plugin development. I tried to build the sample BasicDialog but ended with the following error, could you please help me to generate the plug-in.

    Error108("' error MSB3073: the command 'merge_res.cmd'... \objd\BasicDialog\ ' BscDlg & echo removing old resources... & del/f/s ' C:\id7sdk\build\win\objd\BasicDialog\(BasicDialog Resources) \"*.idrc >... \objd\BasicDialog\prevDeletedResources.txt & xcopy/q/e '... \objd\BasicDialog\"*.idrc ' C:\id7sdk\build\win\objd\BasicDialog\(BasicDialog Resources)------" / y & del/f/s ' C:\id7sdk\build\win\objd\BasicDialog\(BasicDialog Resources) \"*.idrc & xcopy/e '... \objd\BasicDialog\\"*.idrc ' C:\id7sdk\build\win\objd\BasicDialog\(BasicDialog Resources)------"/ y»»»
    ': VCEnd ' came out with code 4.C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets1086BasicDialog

    I use vs2010 and let me know if you need any additional details to me.

    Thank you

    Momentum

    Hi momentum,

    If you use the SDK to InDesign CS5, CS5.5, you use vs2008 and if you use the SDK for InDesign CS6 you must use vs2010.

    Markus

  • build the table only if a case structure


    Hi adamkse,

    Here are a couple of screws for you to watch. I think they both what you want, the second is a better way.

    Notes:

    Enjoy the indexing feature in order to remove the indexing of tables yourself. So you don't have to change for the iterations of the loop if the size of your input array changes.

    You have been reset table "ucodes' each time as the outer loop. Then, which has been corrected.

    The reason why the second vi is better, because a table in a loop construction is generally a bad idea. LabView must make memory allocation as the table grows (does if the picture remains very low). It may take time, so its best to avoid it. First do you the big picture as he possible can get, then replace the elements starting at zero. Keep track of the actual size with a shift register, and then resize the table at the end.

    I hope this helps.

    Steve

  • How to convert an array into a cluster of the same type as the one used to build the table previously?

    I have a group of 6 items I need to change in a table for the part of the VI process.  What I can do, but then I need to change in a cluster of the same type to be used elsewhere.  When I change the table in a cluster, I find myself with a cluster of 9 elements, which of course is not compatible!

    I am attaching snapshots of context-sensitive help in the initial cluster, the intermediate table and the final cluster (bad).  Regarding the photos, the length of the 1 d tables and values in their midst are the only subject to change things.

    Please could someone help by suggesting ways to work around this problem.  Thank you

    Please do not post bitmaps by chaning simply .jpg file name extension. Do not change the file type. There is a good reason why the forums software does not bitmaps, and this is because the file sizes are huge.

    To your question: right click on the table of the Cluster service and select 'Size of Cluster' in the context menu to set the size of the cluster of output.

  • How to save data quickly to the high sampling frequency

    Hi all

    I use a structure of producers and customers to measure and record the data. The sampling rate must be as high as 10 kHz. Given that so much data, it takes a long time before the data is saved. At first, I saved the data in an excel sheet. Then I tried to save it in binary, but it still takes a while to complete save. How can I make the time savings a short circuit?

    Thank you

    The best

    First we will make some corrections to your DAQmx code.  Since you are using continuous sampling, do NOT connect the samples per channel.  Which is actually limiting your buffer.  And there is really no need to define your buffer size either.  It is default to very big, so this isn't a problem as long as you read your data quite often.

    Now your data connection... You simply create a very wide range while acquiring data.  Then, you save the data.  It's actually not through the advantage of using the producer and the consumer.  You should save your data in the loop of the consumer.  It will be elinate need a lot of memory and you save the data to the file while you are buying.

    But, in this case, I say that the producer and the consumer is not even necessary.  Use the DAQmx Configure registration VI.  With this VI, you can tell DAQmx to disseminate all data directly in a PDM file.  You don't have to do anything.  It is by far the best way to save on your DAQ data.

  • HAVE high sampling frequency of trigger

    Dear community

    I am using a microscope to tunnel effect from here feeding two voltage signals on my map of acquisition of data USB-6212 (Labview 2013 SP1). A voltage signal is the voltage applied to a piezo in the microscope (AI0). This signal drifting slowly over time and it is noisy. The other voltage signal is a tunnel current is converted into a voltage (AI2) signal (see attached photo):

    Ideally, I would like to record the two signals between the lines dotted in a .txt file whenever the event of tip in the top image rises. This should be about every second during a day.

    So far, I've written a VI that calculates the moving average of the piezo signal and if the piezo voltage exceeds a certain percentage of the average running it fires a command 'Save as file'. The VI works well for a frequency of 100 Hz, but when I go to 20 kHz, the trigger does not work properly. I am also only watching a lot of a number (in this case, 1000) and if there is a trigger signal in these samples of 1000. So if there's a signal around 0 or 1000 I cut and split into two files that I want to avoid.

    I don't have much experience with Labview and probably broke every rule of design in the book.

    My question is if there is a smarter way to automatically back up the signal between the same dotted lines at high frequencies of sampling?

    I thank very you much in advance!

    Hi Mario,.

    I rewrote the portions of your VI to improve performance (we hope). No need to three queues.  No inquiry unless there is a trigger occurs.

    I'm confused by the outbreak that seems to detect the edges of the piezo signal high side, even if the tip is in the negative sense.  I modified this logic (eventually) get a threshold top-side of the signal of tunneling.

    It is unclear what might happen to 20 kHz.  The example shows a constant 1 kHz sampling rate and 1 K samples treated by loop.  If the sampling rate is changed to 20 kHz, then the loop will have to run to 20 Hz in order to keep up with the acquired data (@1 K samples per read).

    I hope that the joint allows VI (not tested).

  • build the table by concatenating berries 2

    Greetings,

    I have the need to combine tables 1 d (Qty 2) to TestStand for the first time each. They both will always be the same size. I would build by concatenating.

    Table 1 (String): some number 1, some number2, some Number3

    Table 2 (string): string description1, description2 string, string description3

    Output array: some number 1 string description1, some number 2 string description2, some Number3 string description3 (so it would be total 3 items)

    Thanks in advance for any help.

    Chazzzmd

    Hello

    You can concatenate 2 strings in TestStand using the operator ' + '.

    Example:

    Locals.Output = Locals.String1 + "" + Locals.String2

    Concatenate individual pieces of the string into arrays of strings, an easy approach would be to use a loop structure to browse table and concatenate all of them. Please find below a sequence file simple (I created it in 2010 TestStand) it does using the "For Each" as well as "Looping" property loop structure within the parameters of the step. I hope this helps you.

  • Build the table to 2 dimensions to plot a graph from UIMessages

    Hello guys,.

    I need some advice, the problem I have is that I want to pass an array [0 5] numbers to my throwugh of custom UI UIMessage to plot a graph with these data in the same grapgh (see the behavior of the 6 signals on the same graph), but so far I could only pass a value and see only a signal in the graph.

    Is there a way to pass the french table UIMessage using the activeXDataParam? Or may be otherwise?

    Thanks for your comments.

    Eder

    I threw together a simple example in TS 2014 and 2014 LV.  I think it does what you want.  Simply run the main vi in the project and select the random sequence file Array.

    In addition, attached is a photo of my UserMessage vi.

    Hope this helps,

  • Disable an entry to build the table according to the user input

    Hello

    I'm using labview to perform a mass spectrometer.  I made a program to monitor up to five masses, where it sends mass to mass spec (DAC) and then receives data (analog signal) and the locations / records, it is then repeated for the next four masses before returning to the first.

    I have five controls on the front panel, where the user can enter and then the five masses that they wish to follow.

    My problem is how to disable some of the masses, if I only want to follow masses 1,2,3 or 4 instead of five.  Because obviously, it takes more time to complete each cycle with the masses more.  How can I disable the entries if the user upgrades to zero for example?  Or have a way to control the masses to follow.  Who will stop the five tensions sent through DAC and send only 1,2,3 or 4 depending on what is selected?

    I enclose my vi.

    I don't see a Structure of the event in your vi. It is the best and easiest way to capture the change event and manipulate. Search Help on the Structures of the event and you will find many examples. You need the full version of LabView to have access to the Structure of the event.

  • Can I mix up to 32 bits at a higher than 44.1 kHz sampling frequency?

    When I'm using Ableton Live, it allows me to choose 16, 24 or 32-bit, and then I can choose a up to 192000 sample rate.  Is this possible in the hearing?  I've been through all the preferences and all tabs and I can't find this option.  Everything I find is a convert, or the option adjust.  But this isn't what I want.  I want to mix down this way.

    The closest thing is when I go to "Export Audio Mix Down", I found, I can select 32-bit.  Then, there is a box for the sampling rate, with all the different values.  But it doesn't allow me to change of 44100.

    ?

    sleepwalk1000 wrote:

    Thanks for the responses guys.  Hmm, well the reason why I ask this question is because I am preparing a cd to be sent to a mastering studio.  The engineer told me to mix down to 24 bits instead of 16 bit.  I asked him why, because everything happens to 16 bit cd anyway.  He said even if my session has 16 bit files, if I have them running through the beaches with effects bus vst as Altiverb (which I do), it will improve the sound effects in mixdown, if treated according to a higher bitrate.  Would poll better mix so he could work in the mastering session.  I assumed that this meant that a higher sampling frequency would also be beneficial.  Maybe not?  I use a lot of high-quality vst effects, so I want to make sure I get the best possible results.  I mean if you have this option and space disk hard isn't a problem, why wouldn't you use it?

    It is interesting that the export Audio Mix Down allows me to mix a session from 16-bit to 32-bit files, but if doesn't let me change the sampling frequency.  Maybe I'm not understanding these terms exactly.  I always thought that, for two, more the number, the higher sound quality.

    SteveG - tell you it would be a waste of more than 32 bit 44.1 kHz mixing?  What about k of 48 or 96 k?  There is not a noticeable difference?

    The sample rate only affects the highest frequency that can be solved - it has no impact on the quality of all, once the rate is high enough to fix all that humans can hear. You determine the highest frequency that can be resolved in any case of the sample given by half to get the "Nyquist" frequency - so 44.1 k the highest frequency that can be fully resolved is 22.05 kHz. The human ear extends up to 20 kHz, but it's only in young children - by the time you reach your teenage years he began to fall, especially if you listen to a lot of loud music... then 44.1 k is already greater than any human condition to the response at high frequency. This overall been proved? You bet it has!

    To discover the truth about the hype about the sound quality in general and more bits/sample rate are concerned, you should first read this thread of AudioMasters - and the links it contains. It's of high quality academic research, and all attempts to discredit have been completely ransacked.

    Your mastering engineer is correct up to a point, but not really for the right reasons - mixtures of 32 bits are usually more specific, simply because the sums do more accurately and scale of signal is significantly improved. You must keep in mind that the only place where you will hear no appreciable difference with one more high bit depth would be in really quiet parts of reverb tails. The best way to do a mix in Audition is to do all this in 32-bit (which is floating point version of 24-bit anyway) and if he really wants a 24 bit file, you can convert the 32-bit mix after that you have to create a copy of 24-bit integer. As much as the 16-bit CD is concerned, if you (or engineer) procrastinate it properly when you do the master of the 16 bits of the final mix of 32-bit CD, then the effective resolution is higher than 16 - bit anyway - there is also a thread of AudioMasters explaining all this too (it's complicated).

    What all the above implies, is that if you keep your mix 32 bit 44.1 k files as they are, if you remaster at a higher sample rate, all you have to do is up-conversion files in hearing. You don't win a single thing in doing that, but then again, you won't lose anything either - and person don't will be able to make a difference! This is not a case of "why don't use you it?" - this is really a case of ' why would you? "

    Either way, it should be noted that due to some misinformation presented by people who should really have known better long, understanding of most of the people of sampling is completely and totally false. Once more, a search around AudioMasters will give you a better understanding of the present. If I get a chance later, I'll look on all appropriate threads.

  • Time interval in the output file is different from the sampling frequency

    Hello

    I'm a load at 1000 Hz. cell sampling I send information to the VI "write to a measurement file. When I opened the .tdms in excel, the time interval between samples is 0,00062 seconds instead of 0.001 seconds. Is it possible to change the time interval seconds a.001?

    Kind regards

    Johan Hendrikse

    It has sampling frequencies different - he has simply not an infinite number of them. I should have been a little more clear as to what I wanted. Have you read the specifications? Sampling frequencies are defined as 50 000 / n where n is an integer between 1 and 31. When you specify a rate, the driver will put it to the nearest that the material support. A little arithmetic shows that 50000/31.00062. How do you rate? Will this work with a DAQ Assistant?

Maybe you are looking for

  • How to delete in bulk list of reading in safari

    How can I remove the entire reading list new items check instead of each point of the news by a the in bulk?

  • Firefox does not fill the screen

    Hello Yesterday I had Firefox and explore (ugh!) browsers open at the same time, as I just changed my site on Yahoo Small Business Solutions and Firefox would not save the changes (as a result, the opening of Explorer.) After I finished with the Web

  • Satellite C660 hot-key issue

    Hi I was recently provided a C660 Satellite for my further education, even though I believe in my haste to get configured how I want to set up my computers, I might of disabled the shortcuts keyboard reading everything on this forum I found I will ne

  • Why G33/G31, which is a graphic chipset is detected by the utility for the identification of the chips?

    Why G33/G31, which is a graphic chipset is detected by the utility for the identification of the chips and not the main chipset? Thank in advance for any info that you can provide me with Concerning Macias-Please do not use TinyURL my firewall blocks

  • WAG160N Firmware

    My current firmware version is 1.00.09.  I looked to see if there is a newer version upgrade, but help wonder if my hardware is at version 1 or 2.  I can't find it on the sticker attached to the bottom of the router.  I can establish this is Appendix