Reducing Number of Data Points Acquired?

I am interested in knowing how to reduce the number of data points written to a file that was acquired at 5 Hz. I have tried to lower the sampling frequency below 5 Hz on a Compaq Daq, but I get an error saying that is an incorrect value. So, if I can't sample below 5 Hz, how do I acquire fewer data points, or how do I reduce the number of data points written to the file? I have tried Sample Compression which just ignores  data points. So, an acquired value is written multiple times at the same rate as having no compression at all. I calculated the sampling frequency from the data file witha compression ratio of 20, 30, and 40 to still be at 5 Hz.

If you want to "compress" your data then you should perhaps try the "Decimate (single shot) VI " Owning Palette: Signal Operation VIs. With this VI you can average down an array. If you have an array sampled with 5Hz and you set the decimating factor to 5, and average=true. Then the output will be an an array downsampled to 1 Hz, with each value equal to the average value of 5 samples in the input array. The decimate function is quite new. It came in Labview 8.2 
Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)

Similar Messages

  • Plotting an array with a large number of data points

    Hello All,
    I am collecting data every second for 24 Hrs. How do I plot this on a XY plot? I have the data collection setup in a while loop and my initial attempt was to use a shift register and a build array to make the array and that works OK. The problem is I do not know if this is a wise option in terms of memory usage. (I end up making 3 arrays and 3*86400=259200 data points in 3 shift registers).
    What is the better way to plot 86400 data points in a XY plot? I am also writing the data to a file every second.
    Thanks,
    KB

    Allan,
    Thanks for the message. I am attaching with this message a ccpy of my vi where you can see that I am collecting data from 3 counters, writing them to a file and displaying them. Can you comment on this Vi with regard to memory management?
    Yes, I would like to see your examples. Thanks once again.
    KB
    Attachments:
    PC21.vi ‏418 KB

  • How to set maximum number of data points displayed on waveform chart?

    I have a waveform chart set to x-autoscale, but after about 1000 data points, it begins to scroll again. How can I display all of the data points being collected, say 2000 points?

    Right click on the chart and select Chart History Length. Enter the value that you need. The maximum is 2147483647 points.

  • Finite Number of Data Points using DIO-32

    I have a system designed to scan a field of view and acquire data at each point in the field of view. The acquisition process does not begin until the system/clock is initiated. It is not continuously clocked and cannot be. I am trying to run this process at 25kHz using all four data ports of the DIO-32 board. At this rate, the VI seems to miss clock triggers and does not acquire the proper number of points. Currently, I can only run the process at 6kHz. I know the board can handle a faster data rate than this. Can someone please suggest a fix or provide an example VI that can do this. Will it help me to make my VI an executable using App builder (which I don't currently own)?
    Thanks,
    Bill

    Bill,
    Are you referring to the PCI-DIO-32HS? This board is in the 653x family of digital boards. It sounds like you are either trying to do pattern input with an external clock, or burst mode handshaking input with an external clock. You should check the 653x User Manual to determine which method is actually better for your application. You can view the certain conditions for which data will be latched in. There are also benchmarks on transfer rates in the appendix of the manual that you can view for comparison. Examples get installed with NI-DAQ and are available in the LabVIEW >> Daq >> Digital >> 653x.llb directory. There is an example for each of the types of operations I mentioned above. I recommend testing with a function generator first, so that you c
    an focus and isolate the issue with just the PCI-DIO-32HS board before moving on to your program and/or using your external devices with the board.
    Regards,
    Geneva L.
    Applications Engineer
    National Instruments
    http://www.ni.com/ask

  • Reducing Data points

    I am trying to look at the graph patterns of average joint motion angles (X, Y, Z) from many trials of 13 subjects during a certain phase recored at sampling rate of 100 Hz.  This phase of each trial has different data points (For example, trial 1 has 67, trial 2 has 104, trial 3 has 74, trial 4 has 91, and so on).  Is there anyone can suggest any idea for those different data points of each trial from over hundreds tirals?  Or does anyone have idea that reduces all trials to a certain number of data points (like the lowest data points from all data) so that all trials have same data points after processing?
    Thank you very much.
    Attachments:
    data.jpg ‏886 KB

    you can use Decimate (single shot) vi present in signal processing - signal operation menu
    there is an funciton in matlab named 'reducem' which Reduce density of points in vector data. you can check the possibility of calling that func in mathscript labview. check the link
    http://www.mathworks.com/help/map/ref/reducem.html
    if they works for you then you can apply it on each of your trial data.

  • Crystal Reports - Charts - Restricting the data points on the X-axis

    Hi,
    Is there a way to restrict the number of points to display on the x-axis of a crystal chart keeping the number of data points the same.
    For example, if the chart plots date vs value points and the data for the chart is from 1980 to 2009. This means the data points on the x-axis appear very close to each other.
    I need a way to show the chart with all data from 1980 to 2009 but limited x-axis labels. Is there a way to configure the number of labels to show on the x-axis.
    Thanks!

    Thanks for the answer.
    "Right click on one of the x axis labels and select Group (X) Axis Options...
    On the Layout tab there is an option to Skip Group Labels, check this and enter in the number of labels you want to skip". Is there a way to do this from a .NET client or via a formula field in Crystal itself. The data points is going to be dynamic, hence the requirement is to dynamically configure the "number of labels" to be skipped.
    Thanks.

  • Not enough data points out of hokuyo lidar on robotics simulator

    Hi,
    We've been using the hokuyo URG series lidar in the robotics simulator but we can't get more than 29 data points out of it. We get hundreds when running the sensor in real life. Is there a way to increase the number of data points read in the simulator? It is too low to be useful at the moment.
    thanks.
    (Using Labview Robotics 2012)

    I believe the default scan angle for the simulated Hokuyo lidar sensor is 5 degrees.  With max and min angles of +-70 degrees, this explains why you're seeing 29 data points.  You can change these settings in the Simulator wizard.  Right-click the simulation target in the project, and select Properties.  In the wizard, select the Hokuyo sensor in the tree, and scroll down to change the "Max Angle", "Min Angle", and/or "Scan Angle" parameters.

  • How to get a count of total data points entered?

    What Oracle tables are involved in getting the total number of data points actually entered in a particular DCM or panel.
    I want to create a sql statement to show: Study, Panel, Total actual data points entered?

    This is what I have so far...
    SELECT CS.STUDY,
    DC.NAME,
    COUNT(RP.RESPONSE_ID) "TOTAL DATA POINTS"
    FROM RESPONSES RP
    INNER JOIN CLINICAL_STUDIES CS ON ( RP.CLINICAL_STUDY_ID = CS.CLINICAL_STUDY_ID)
    INNER JOIN RECEIVED_DCMS RD ON ( RP.RECEIVED_DCM_ID = RD.RECEIVED_DCM_ID
    AND RP.CLINICAL_STUDY_ID = RD.CLINICAL_STUDY_ID
    AND RD.RECEIVED_DCM_STATUS_CODE <> 'REMOVED')
    INNER JOIN DCMS DC ON ( RD.DCM_ID = DC.DCM_ID
    AND RD.DCM_SUBSET_SN = DC.DCM_SUBSET_SN
    AND RD.DCM_LAYOUT_SN = DC.DCM_LAYOUT_SN
    AND RD.CLINICAL_STUDY_ID = DC.CLINICAL_STUDY_ID)
    INNER JOIN DCM_QUESTIONS DQ ON ( RP.DCM_QUESTION_ID = DQ.DCM_QUESTION_ID
    AND RD.DCM_ID = DQ.DCM_ID
    AND RD.DCM_SUBSET_SN = DQ.DCM_QUE_DCM_SUBSET_SN
    AND RD.DCM_LAYOUT_SN = DQ.DCM_QUE_DCM_LAYOUT_SN
    AND RD.CLINICAL_STUDY_ID = DQ.CLINICAL_STUDY_ID
    AND DQ.ENTERABLE_FLAG = 'Y')
    WHERE (RP.VALUE_TEXT IS NOT NULL OR RP.EXCEPTION_VALUE_TEXT IS NOT NULL)
    GROUP BY CS.STUDY,
    DC.NAME
    ORDER BY CS.STUDY,
    DC.NAME ;

  • How to reduce the number of data blocks used by table

    Hi,
    I was trying to reduce the space usage of a particular table of my apex application which stores blob content and therefore deleted many records from it.
    However, the data block usage remained the same as before.
    I have tried to 'analyze' the table and validate the structure,but am unable to overcome this problem.
    Could someone throw some light on what needs to be to reduce the number of data blocks used by this table?
    Best Regards,
    Priya Jetley

    Priya:
    It is likely that the BLOB content defined in your table is being stored 'Out-of-Line'. This means that the LOB columns are stored in segments of their own. These then are the segments that may need shrinking.
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14249/adlob_tables.htm#i1006363
    Varad

  • How to acquire 1 data point per trigger ?

    Dear all, anyone can help me in acquiring 1 data point per trigger? just as a Sample/hold circuit?
    I changed the example from Labview "Acquire 1 point digital trig", however, it doesn't work, it says data acquiring is inconsistent with buffer. The program is attached.
    and I try to use "AI Sample channels.vi", but there is not trigger input and sampling rate input.
    Thank you very much for your help.
    Attachments:
    Acquire1PointTrig.vi ‏81 KB

    There is a good example that can do almost exactly what you want to do.  It is called Acq&Graph Voltage - Int Clk - HW Trig Restarts.vi.  There are only three things you need to change.  Change the triggering VI to trigger off of a digital signal, then change the read VI to read a single channel and single sample and finally, change the Samples per Channel to 2.  I have included screenshots of the VI.
    The VI works by setting up a digital start trigger that is retriggerable, so that you can have this trigger start the acquisition over and over.  Once the trigger happens, a sample is acquired, read, and then the hardware waits for another trigger.
    Have a great day,
    Brian
    Message Edited by Brian C on 03-28-2007 01:48 PM
    Brian Coalson
    Software Engineer
    National Instruments
    Attachments:
    block diagram.Jpg ‏54 KB
    front panel.Jpg ‏58 KB

  • How can I reduce number of rows in Planning webform in Smartview?

    Hi,
    I downloaded a Planning webform into Smartview. I want to reduce the 1000 rows down to 20 for a particular user as he does not submit data for the other 980 rows. How can I reduce number of rows in Planning webform in Smartview?
    Someone said that I can insert vlookup code into Smartiveiw pointing to a new worksheet that has only 20 rows. I could not test it as our Planning 9.3.1 has a bug that would not take sub variables from Smartview.
    Thanks.

    Hi,
    My first reaction is why do you have a form with a 1000 rows, surely this is a design issue and doesn't benefit anybody when entering data, anyway why not have security on the dimensions then users will only see what they have access to when they retrieve the form in smart view or through the planning web front end.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • LabVIEW DSC Logging too Many Data Points for Integer Tags

    Hi,
    I am having a strange problem with LabVIEW 2013 SP1 DSC data logging, running on XP SP3.
    All the integer Data Type Tags in my Tag Database that are set to data log, are logging way too much data. When I look at the amount of logged data points for these int16 in Historical view I see its logging a point nearly every second. See screen shots below or attached jpeg's of screen shots of trace view and Trace Props of one of the integer Tags. I would prefer the integer tags to only log on change like the boolean tags.
    These tags are being acquired from a Horner OCS over Modbus Serial RTU. The Modbus comms is set-up to poll once a second.
    The problematic Tag Data Type in DSC logging are Int16
    The Modbus register data items denotations I am using for Int16 is S4#####
    Example  'OCS_Modbus_Master\S403709' 
    The same register represented in OCS Register is shown as '%R0709'
    The trace properties for some of these int16 tags is showing database page numbers in the thousands, which compared to the largest floating point tag is currently showing 172 pages after several months of logging.
    I would have expected int16 tags to only log a value when the value changes and since the 'update deadband' tag setting is disabled for integer tag properties there is no way to config the tag to only log on changes. What is the default logging config for integers. Log everything or log on any change?
    I would prefer for these integer tags to only log on change, since they change infrequently, log on change would be much more data efficient.
    I tried changing the tag data type to floating point and gave it an update deadband value to try and see if that would reduce the amount of logged data, it didn't seem to make any difference.
    Not sure if the issue lies in the
    > Modbus Comms
    > The DSC data event tracking module
    > The DSC Data Logging module
    > Some kind of  Horner OSC data type mismatch which results in DSC polling seeing the acquired value as having changed on every poll.
    Any suggestions greatly appreciated
    Thanks
    Paul
    Attachments:
    Integer Tag Data Points Trace View.jpg ‏125 KB
    Integer Tags Data Points Tag Properties.jpg ‏42 KB

    This definitely sounds like a citadel/logos issue. There are two possibilities:
    1) corrupt database
    2) corrupt logos
    To see if it is a corrupt database, simply go to your database folder and move all the files out of that folder to a different folder. Then restart the application. Your application will create a clean database. This may solve the problem. If so, then you know it is a corrupt database.
    To upgrade/reinstall logos, go to the Control Panel -> Add/Remove Programs. If you see logos there, uninstall it. After uninstalling it, install the most recent logos version (found at ftp://ftp.ni.com/support/lookout/logos).
    Please let me know if the problem persists. As you know, you may also always call in to the Tech Support Line.
    Thanks.

  • Capturing a set amount of data point.

    Hello,
    I am using LabVIEW v7.5 for a project I am currently working on and am recording signals from 6 physical channels.  I have a couple of questions about the write to spreadsheet VI.  First, when I write to a spreadsheet, transpose it, then open it in excel or another spreadsheet application, do the columns correspond to the channel that the data came from?  Second, I was wondering if there is a way that I can specify the VI to record a set amount of data.  Since EXCEL can only plot a maximum of 32,000 data points I would like to sset the VI to only record that many data points so I don't have to manually delete them when I would like to plot them.  Lastly, this is something I have been curious about for a while, is there any way that I can append a header to the columns without manually adding it after opening the data in EXCEL.  I will appreciate any comments or feedback
    thanks so much,
    bsteinma

    The answers to your questions are: Yes and Yes.
    To see how to acquire a set number of samples refer to the examples that ship with LV. (Hint: this is always a good place to start when trying something you haven't done before.)
    Mike...
    Message Edited by mikeporter on 02-17-2009 03:22 AM
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • SSRS 2008 Column Chart with Calculated Series (moving average) "formula error - there are not enough data points for the period" error

    I have a simple column chart grouping on 1 value on the category axis.  For simplicity's sake, we are plotting $ amounts grouping by Month on the category axis.  I right click on the data series and choose "Add calculated series...".  I choose moving average.  I want to move the average over at least 2 periods.
    When I run the report, I get the error "Formula error - there are not enough data points for the period".  The way the report is, I never have a guaranteed number of categories (there could be one or there could be 5).  When there is 2 or more, the chart renders fine, however, when there is only 1 value, instead of suppressing the moving average line, I get that error and the chart shows nothing.
    I don't think this is entirely acceptable for our end users.  At a minimum, I would think the moving average line would be suppressed instead of hiding the entire chart.  Does anyone know of any workarounds or do I have to enter another ms. connect bug/design consideration.
    Thank you,
    Dan

    I was having the same error while trying to plot a moving average across 7 days. The work around I found was rather simple.
    If you right click your report in the solution explorer and select "View Code" it will give you the underlying XML of the report. Find the entry for the value of your calculated series and enter a formula to dynamically create your periods.
    <ChartFormulaParameter Name="Period">
                      <Value>=IIf(Count(Fields!Calls.Value) >= 7 ,7, (Count(Fields!Calls.Value)))</Value>
    </ChartFormulaParameter>
    What I'm doing here is getting the row count of records returned in the chart. If the returned rows are greater than or equal to 7 (The amount of days I want the average) it will set the points to 7. If not, it will set the number to the amount of returned rows. So far this has worked great. I'm probably going to add more code to handle no records returned although in my case that shouldn't happen but, you never know.
    A side note:
    If you open the calculated series properties in the designer, you will notice the number of periods is set to "0". If you change this it will overwrite your custom formula in the XML.

  • Single Chart Series with multiple color data points

    I am developing an application using the flex chart component
    and I am binding data to 3 different chart series which is pretty
    intense processing. I was wondering can I use only one chart series
    and when I bind the data points just to change the color per data
    point which meet certain criteria?
    Here one method from my application where I am dynamically
    binding data to my series.
    private function loadSeries(data:XMLList, yAxis:String):void
    seriesAdd.yField = yAxis;
    seriesAdd.xField = "Date";
    //seriesDelete.yField = yAxis;
    //seriesDelete.xField = "Date";
    //seriesChange.yField = yAxis;
    //seriesChange.xField = "Date";
    seriesAdd.dataProvider = data.Trade.(A == 'Add');
    seriesAdd.//Can I change the color per each data point if I
    have multiple data sets?
    //seriesDelete.dataProvider = data.Trade.(A == 'Delete');
    //seriesChange.dataProvider = data.Trade.(A == 'Change');
    Thank you

    I think I found something to get me started:
    http://livedocs.adobe.com/flex/3/html/help.html?content=charts_displayingdata_09.html
    My next question is if I have the following function to fill
    my data points:\
    private function myFillFunction(element:ChartItem,
    index:Number):IFill {
    var c:SolidColor = new SolidColor(0x00CC00);
    var item:ColumnSeriesItem = ColumnSeriesItem(element);
    var sales:Number = Number(item.yValue);
    if (sales >= 50000) {
    return c;
    } else {
    // They have not met their goal.
    c.color = 0xFF0000;
    return c;
    How can I access values that pertain to the specific chart
    item, but are not plotted on the x and y axis. Something similar to
    the checking on the above function, but check if value that is not
    plotted but still exists on the data provider.
    Thanks in advance.

Maybe you are looking for

  • Custom graphics in java.awt.ScrollPane

    Hi all, I have to draw a custom created image in a scroll pane. As the image is very large I want to display it in a scroll pane. As parts of the image may change within seconds, and drawing the whole image is very time consuming (several seconds) I

  • Characteristics wise stock report

    dear friends How can we see the report on the basis of material charactersctics report for viewing stocks at a particular plant, if so help me with transaction th anks

  • Why I can purchase music only from a local store?

    It's like crazy, you want to support your favourite artists, no pirate stuff, but Apple says NO. In our european local store the offer is SO TRIMMED. (Can't be comparted, seriously.) WHY? Is my money not as good as US citizen's ones? Am I a second ca

  • Add rows to a tabular form (v1.6)

    I have 2 tabular forms on a single page (It started as a master and detail with detail). The second add button which is adding empty rows at the end of the report region keeps adding the empty rows to the first tabular report. I don't see a setting t

  • Delete file automatically

    hi all... i need your help about some matter... recently we face some problem regarding on how to  clean the old file automatically in portal.  The problem as below...  ''Currently we are sending seven reports per day to PEP. We store them with a tim