DAQmx data acquisition with persistent error of nyquist

Hi, I created a multi channel data acquisition vi (accelerometer 2 and 1 sound pressure) using models for producer.   The vi is attached. Thanks to labview 2011.  I get the error of nyquist (2 enclosed) when you make a bandpass filter between 50 to 5000Hz.  This happens despite having put my sampling rate to 22050Hz.  When I checked the output of wave I noticed that the signal has a dt 1 s.  The text output to check the result.  I could not understand how this is so since I had set the sample rate to 22 k Hz.  Any help will be much appreciated.  Thank you.

I would do something like that.  You must calculate the dt of the set (with the recipricol) sampling frequency and use to initialize the shift registers.  This way you only need to change 1 constant if you need to change your sample rate.

Tags: NI Software

Similar Questions

  • 2 channels of AI on a data acquisition with the range of different sensitivity

    This vi is based on the 'new project' state machine on the home screen at the start of LV.

    A time loop is parallel to the main loop of the state machine, shown in the picture.

    It works continuously until you press the Exit button.

    The problem seems to be in start this... > read >... stop start > read >... stop along the error line.

    The reason for this clumsy arrangement power is measured voltages are in two lines of different sensitivity.

    The shunt voltage is small and needs-. 2 to the range of V.2. The load voltage is greater and 09:50 V range is good.

    In the initializing state, two separate vi 'create a channel' have been used to specify the range of voltage to the physical channel. The corresponding tasks are sent via via local variables.

    DAQmx errors happen randomly, sometimes the first iteration, sometimes the 50th.

    I tried to disable one or the other start > read > stop for the shunt voltage or load.

    I tried replacing them with the DAQ assistant.

    I tried various DAQmx vi: "wait" and "accomplishment of the tasks by resource cancel selected".

    But error-50103 "specify resource is reserved" keeps popping up.

    Is it possible to create two tasks on the device even when they are not used at the same time?

    The only reason is to measure in two voltage ranges.

    Win 7 Pro 64-bit

    2014 LV database

    Data acquisition equipment: USB-6210

    Thank you.

    This has been discussed many times. Do NOT use separate tasks. You can use different ranges for different channels with a single task. Just wire the task from one channel to another channel to create task.

    You also use local variables when they are certainly not needed.

  • Real-time display at the high frequency of data acquisition with continuous recording

    Hi all

    I encountered a problem and you need help.

    I collect tensions and corresponding currents via a card PCI-6221. While acquiriing data, I would like to see the values on a XY graph, so that I can also check current vs only voltage/current / time. In addition, data should be recorded on the acquisition.

    First, I create hannels to analog input with the Virutal DAQmx channel create, then I set the sampling frequency and the mode and begin the tasks. The DAQmx.Read is placed in a while loop. Because of the high noise to signal, I want to average for example every 200 points of the current and acquired for this draw versus the average acquisition time or average voltage. The recording of the data should also appear in the while loop.

    The first thing, I thought, was to run in continuous Mode data acquisition and utilization for example 10 k s/s sampling frequency. The DAQmx.Read is set to 1 D Wfm N Chan N Samp (there are 4 channels in total) and the number of samples per channel for example is 1000 to avoid the errors/subscribe for more of the buffer. Each of these packages of 1000 samples should be separatet (I use Index Array at the moment). After gaining separate waveforms out of table 1 d of waveforms, I extracted the value of Y to get items of waveform. The error that results must then be treated to get average values.

    But how to get these averages without delaying my code?

    My idea/concern is this: I've read 1000 samples after about 0.1 s. These then are divded into single waveforms, time information are subtracted, a sort of loop to sprawl is used (I don't know how this exactly), the data are transferred to a XY Chart and saved to a .dat file. After all that's happened (I hope I understood correctly the flow of data within a while loop), the code in the while loop again then 1000 samples read and are processed.

    But if the treatment was too long the DAQmx.Read runs too late and cycle to cycle, reading buffer behind the generation of data on the card PCI-6221.

    This concern is reasonable? And how can I get around this? Does anyone know a way to average and save the data?

    I mean, the first thing that I would consider increasing the number of samples per channel, but this also increases the duration of the data processing.

    The other question is on the calendar. If I understand correctly, the timestamp is generated once when the task starts (with the DAQmxStartTask) and the time difference betweeen the datapoints is then computed by 1 divded by the sampling frequency. However, if the treatment takes considerable time, how can I make sure, that this error does not accumulate?

    I'm sorry for the long plain text!

    You can find my attached example-vi(only to show roughly what I was thinking, I know there are two averaging-functions and the rate are not correctly set now).

    Best wishes and thank you in advance,

    MR. KSE

    PS: I should add: imagine the acquisition of data running on a really old and slow PC, for example a Pentium III.

    PPS: I do not know why, but I can't reach my vi...


  • Problem to stop the task of continuous using API C DAQMx data acquisition

    I'm doing the acquisition of data in the PCIe-6536 continuously using DAQMx C API. But whenever I try to erase the task and put end to my application, program stops and it is not completed by the Task Manager and task killer applications. Can someone help me with this?

    Sameer

    Hi John,.

    Thank you for your concerns. the example attached also created the same problem. Then I run the test of the device to the MAX and it failed. Then I realized that there is something wrong with the installation. I simply uninstalled the card and installed on the other PCI-e slot. This time, self test has been successful and so did my request.

    So my problem has been resolved

    Again thank you for your quick response.

    Sameer

  • Data acquisition with USB-6008 using C++

    Hello

    I am trying to use USB-6008 to collect analog data without using Labview, since I can't afford the lincence. I searched in the C++ provided with product samples and found "Simple example of analog input.

    The compiler I use is codeblocks instead of visual studio (once again for monetary reasons). The code seems to works since when I run it with the USB-6008 box connected, he wrote "gains 1000 points.

    I have 3 questions relating to the use of this code:

    1. where are stored the 1000 points?

    2. How can I modify the code to specify the time acquisition and the frequency of acquisition?

    3. How can I change this code sample points simultenously with 8 analog inputs?

    Thank you for your help,

    I'll try to add any clarification if necessary.

    Albany

    Your questions are answered in help for c programmers.

    1000 points are in the variable array of points called 'data '.

    The sampling frequency is set to sync.

    The number of points read is defined with the function of reading.

    Read channels are defined with the function channel set. To read multiple channels, use syntax such as Dev 1 / ai0:3 for the first 4 channels.

  • Failure of the load of the inventory... OPatch failed to load the inventory for the Home.OPatch Oracle data failed with the error code = 73

    Hello

    I will apply patch bundle and my oracle database 11.2.0.2 and Microsoft Windows x 86 platform. As read the file Readme Oracle recommends to use OPatch utility version 11.2.0.1.3 or later. To check the inventory availability I use the command lsinventory % ORACLE_HOME%/OPatch/opatch.

    It ended to give details below.

    Citing O 11.2 patch .0.1.1

    OPatch could not create/open history for writing file: * my home oracle path***\cfgtoollogs\opatch\opatch_history.txt

    **ORACLE_HOME***\cfgtoollogs\opatch\opatch_history.txt (access is denied)

    Setup Oracle interim Patch version 11.2.0.1.1

    Copyright (c) 2009, Oracle Corporation.  All rights reserved.

    OPatch could open the log file, the recording is not possible

    Home Oracle: *.

    Inventory Center: C:\Program Files\Oracle\Inventory

    from: n/a

    OPatch version: 11.2.0.1.1

    YES version: 11.2.0.2.0

    YES location: * ORACLE_HOME * \oui

    Location of the log file: **ORACLE_HOME**\cfgtoollogs\opatch\opatch2015-04-09_16-27-49PM.log

    History of patch file: **ORACLE_HOME**\cfgtoollogs\opatch\opatch_history.txt

    Failure of the load of the inventory... OPatch failed to load the inventory for the given Oracle Home.

    LsInventorySession failed: LsInventory failed to create the log directory * ORACLE_HOME * \cfgtoollogs\opatch\lsinv\lsinventory2015-04 -.

    09_16-27 - 49 PM .txt

    OPatch failed with error code = 73

    Can someone please help me solve this problem?

    Do I need to install the last opatch utility?

    Hello

    This error message " LsInventorySession failed: LsInventory failed to create the log directory * ORACLE_HOME * \cfgtoollogs\opatch\lsinv\lsinventory2015-04 - .

    09_16-27 - 49 PM .txt "

    indicates that you have a permission problem with your file systems: cfgtoollogs/ORACLE_HOME/opatch

    Check the owner of this file system.

    Kind regards

  • -> Corresponding DAQmx data acquisition


    Hi anarkie,

    I'd use all DAQmxWriteDigital functions for a task of digital output. Try looking in C:\Documents and Settings\All Users\Documents\National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Digital\Generate values for some good examples.

  • Data acquisition tool NOR-DAQmx with Matlab R2012a

    Hello

    I'm trying to control NI USB-6211 of Matlab 2012 using NOR-DAQmx Data Acquisition tool:

    http://zone.NI.com/DevZone/CDA/tut/p/ID/3005

    I'm working on win7 64 bit. And I see the device AND Measurement & Automation Explorer.

    The tool does not work: DAQ_Demo_Browser do nothing. And I got the error "unexpected or unbalanced parenthesis or support" of AcqNUpdates_nonUI.m

    What is the problem?

    Thank you and best regards,

    Arthur Shulkin

    Hi Arthur,.

    Tools OR DAQmx for Acquisition of data with the Software Inc. MATLAB® from The Mathworks, supports up to the 2008 version of the MATLAB® software.  In order to use our products DAQ Multifunction with MATLAB® software, you could get back to 2008 or earlier, or instead use the Data Acquisition Toolbox provided by The Mathworks, Inc.

    Another option would be to import your ".m" files in a node MathScript in LabVIEW and use the functions of NOR-DAQmx everything in the LabVIEW development environment.  For more information on the Module LabVIEW MathScript, you can consult the information available on this link:

    Inside of the LabVIEW MathScript RT Module

    MATLAB® is a registered trademark of The MathWorks, Inc.

    Katie

  • LabVIEW statechart module of data acquisition error external trigger

    I have a 2 loop vi is the acquisition of data of a data acquisition instrument loop and the second is a loop to run my statechart of.  I would like to respond to an error in device of acquisition data if it occurs in transition out of my current state in my diagram States-transitions and enable management of custom unique business mistakes.  My States-transitions diagram is synchronous and send it external trigger.vi funciton will not work with it.  How to achieve this?  In addition, there is some confusion about this literature in http://zone.ni.com/reference/en-XX/help/372103F-01/lvscconcepts/sc_c_callervi/ at the bottom of the page it saidNote sending triggers for synchronous charts is optional. If you do send triggers, LabVIEW sends the NULL trigger for transitions. If you send a synchronous statechart triggers, you can send these triggers to the caller VI. »

    Is it possible to do this and if so how with the synchronous statechart?

    Thank you, it should work for me

  • Error 200220 CRIO 9081 and data acquisition modules

    Hello

    I try to use a CRIO 9081 with NI9206 modules. Max recognize the chassis, but not the module.

    When I try to add an acquisition of data associated with the NI9206 in Veristand, 200220 error message seems.

    I have the solution, finally he was required to add a custom device to search for new engines and detect modules. Then, it is possible to interact with modules.

    Thank you very much for your help!

  • Sampling frequency and Nyquist theorem - data acquisition

    Hi all

    I have a rectangular steel beam that is affected with a weight of 100 kg and I would look for the modules able to sample the signal correctly.

    The Nyquist theorem says that if half of the sampling frequency is higher than the input signal, it will be recorded correctly.

    What I think about it before you buy a data acquisition module to find the signal of the rectangular steel beam? I will perform an analysis model by finite elements using the elastic properties or properties of plastic? Is the natural frequency of the associated structure of the input signal?

    Thank you

    Husband

    Some technical assistance is appropriate, determine that the higher frequency component is interesting to your signal. Set your frequency of sampling to twice this value. In addition, to protect data, to build a filter of antisliasing of material it alleviates any energy above the highest frequency of interest.

    Mike...

  • Error:-200277 is not a valid combination of the position and the offset in mx data acquisition

    Hello everyone, I use a NI SMU 6361 DAQ in LabView 2013 (32 bit) to acquire samples from six sensors (currently). The signal is a bit noisy, but behave correctly after filter software by averaging, so I dug a little and found the code shown by NOR in this video:

    https://www.YouTube.com/watch?v=fkIYp1mqp_g

    So far, it has worked great, the loop basically takes anything to run and gives me a signal clean and Nice, but when VI starts first of all, I get the error code mentioned in the title, by saying that I am referencing a non-existent sample, since it is before the first (example 0). He has absolutely zero effect in the real VI, since if I hit continue, it works fine, but as it is for end-user oriented, I don't think they like to see a mistake every time you start up then, did somebody encountered this problem? And if so, how do solve you? Any ideas to spend at least the error message? So far I have tried:

    -Insertion of a sample of reading the real while loop, no luck

    -Insert a wait for completed task, gives me a timeout error

    -Which in fact a little wait to not round, no chance

    EDIT: Please ignore the loop for now, it has been used just to show if the data has been formatted correctly and will be used for filtering software, but has no effect on the error.

    I'll take a shot at your comments:

    -When I run with a simple/general error handler outside the while loop, it reports no errors

    -When the error handler is inside the loop (after the reading) it sends the error message, but doesn't give the option to continue

    -When I run all at once, with a real constant for the stop condition, it reports the error of loop

    -When I run on the execution of highlight mode, it does not report the error once again

    All relate to the thrust of the error that you can not collect samples which are periods of sampling of 2000 in the past until the task is run at least 2000 sampling periods to capture.

    1. the error in the loop tunnel is only retains the last value of the error.  Probably, the loop runs several times where the error is generated, but never seen.  Once spent enough time to get samples of 2000 in the buffer of data acq, subsequent executions no longer produce an error.  If you stop the loop after this date, the most recent error value is indeed "no error".

    2. Yes, you see the error that happened on the iteration 1.  The time required to respond to the dialog box is quite probably a long time you * only * see the error on the iteration 1.

    3 Yes, as described above.

    4. the code runs pretty slowly for the start time of the task until you come finally to the first Read DAQmx is longer than the 2000 sampling periods.  Once again, Yes.

    Couple of several things:

    -Bob comments are super useful and important to keep.  Auto error handling behavior are a real subtlety in LabVIEW, not at all intuitively obvious because almost any other terminal output can remain unwired without consequence.

    -J' threw together a quick example, mess of my notice to loop before calling with offset = 0.  The following works fine without error on my end, using a desktop computer X - card in the series similar to yours.  I ran 4 channels at 100 kHz, and then again at 1 kHz without error.  The case of 1 kHz took the second planned couple to run to completion and the first Offset = 0 reading has done its job.  You can save the pic (save in png format) and then drag the file on an empty LabVIEW diagram to get the instant code.  Adjust the device, channels, sampling according to your needs and tell me what you get.

    -Be sure wiring in the 'NB of samples' entry on the call of DAQmx Read!  When I removed this thread in the example below, I saw your error also.  You must connect this number of 2000.

    -Kevin P

  • Code error-200279 for data acquisition

    Hi all

    I am trying to build a small program of data acquisition, but I get a 200279 error telling me to increase the buffertime. What I am doing wrong?

    Andersson wrote:

    No, you're right. I don't get the error, I turn off highlight execution.

    It seems so. I did not understand why he would come with an error during the audit of the code with the bulb. It seems like what I discovered on www.ni, one can avoid the error of initialization of certain data for the chart.

    Not sure if I got it 100% correct however. Here is the link:

    http://digital.NI.com/public.nsf/allkb/A647A1BE3DA8336786257AAA0066B45B

    I don't have any other loop in the installer. I'm sorry for the confusion with the name 'producer loop. It's the only loop in the code, I deleted the rest to refine the error.

    Is the conclusion that the program is good? Or do I have to do something to remove the error?

    The table has nothing to do with your error.  It's strictly highlight execution.

    When you configure a continuous sampling, start the collection of data at a given flow rate.  It is so big a configuration of the buffer.  There is an article that tells how much room it is exactly, but for the sake of argument, let's say 10 seconds worth of data.  In normal execution, your code runs pretty quickly that she is able to empty the buffer as soon as the data are acquired.  But when you enable execution of climax, your VI slows down to a crawl so that he can show that you step by step what is happening on each wire.  Your data acquisition always occurs in the background.  Execution of idle is to take much longer that data are acquired.  Within one or more loop iterations, you have filled the buffer and get the error message.

    You cannot use point culminating performance when you use a device of data acquisition in this way (or VISA ports either) where data are sent continuously at a speed that is independent of speed, the code is executed.

  • How can I improve the rate of acquisition with daqmx and usb-6008?

    Hello

    I am trying to acquire data of analog voltage with a USB-6008. I'm under Labview 8.5 student on an HP laptop with a 1.33 Ghz cpu and 736MB RAM, apparently. I tried using the Daq assistant and the low-level Daqmx functions. My best results come with a task set in MAX for my analog input, and using the function 'Daqmx read' the 'unique double 1 d sample' value in a while loop. I insert the values returned in a table which built in the while loop, and then when I'm done, I check the number of samples in the table. In the test VI attached, I also use the time to Get before and after all loop. The best sampling rate I made using this method, is around 40samples/second. I have attached a VI below that illustrates this concept. In my actual application, the data acquisition code runs at a time while loop with 1ms, parallel to other code that controls the device I'm collecting data of. The sampling rate is roughly the same for my test below VI and my application program.

    The 6008 datasheet gives the sampling frequency maximum 10 kHz. I'd be happy with 2 to 2.5 kHz, or as soon as possible; I'm sure that I can achieve a little more than 40 Hz. My first idea was tied to the hardware, but the 6008 cannot make acquisitions NI hardware.

    My question is: How can I implement a faster sampling of analog voltages to a USB-6008 in LAbview? If I can't do it, is there another way I can taste the data more quickly?

    Thank you

    -SK-

    To the best of my knowledge, the USB-6008 can do timed equipment acquisition. Don't forget that this is a multiplexed device, so if you add 8 channels so the maximum you can set is 10 k/8

    If you are new to LabVIEW, I suggest that you try this sample program first

    \examples\DAQmx\Analog In\Measure voltage. llb\Acq & Graph tension-Int Clk.vi

    Amit

  • Error 14031 on denormalised to physical time data sources with no real key (simple model POC)

    Hello

    OBIEE 11.1.1.6

    Modeling of a very simple physical model; -

    1 large table denormalised = > 1 time dimension

    My table denormalised lacking real keys so I'm flat modeling (total / detail) hierarchies of dimension using text based descriptors (this awaits the final version of the data warehouse) but I get a persistent error that manifests from dimension to dimension... i.e. If I recreate only one dimension, then the error does not appear on this dimension, but moves on the next , but he's now gone full circle...

    The error is; -14031 "filtering the contents of a logical table source: 'X' references multiple dimensions TNA 15001 error could not load the navigation for topic area 'Y" ".

    As I said if I delete and recreate the logic table 'X' as shown above, then the error will change in another dimension table.

    I saw a 'hit' saying that the problem is with joined him on the business model, someone can advise in my scenario the joins should be on the logical tables, physical source is (aside from the time Sun) all coming from the same physical source? (the only physical join real is my large denormalised in the time dimension table)

    Thanks for your comments,

    Robert.

    Hello

    found my own fix, for reference, if anyone facing this problem was that the details on the different Dimensions all came from the same source, so when I put the level of the source for the various files, in fact and in corresponding Sun at different levels, that was causing the error, so the error of compensation was a case of undo levels for all outside my separate time table.

    The error message is less useful...

Maybe you are looking for