Manipulate single samples?

Several times I had to manipulate single samples in Cool Edit Pro 2.x by looking at an extremely small time scale and then taking a square dot and lift it or drop it. As I heard, this could be done in Audition 3.0 too, which seemed to be the direct follow-up of Cool Edit Pro 2.x.
Now I am testing CS6, having lots of problems and cannot find a method to get my square dots back, marking the single samples. Is there a way to get those dots back, which I can lift or drop? I have a lot of recordings, with extremely short clicks and other small such problems, which I like to manually restore that way and not rely on unknown filters, which do a lot more to my stuff than what I want. I know I can mark around a single sample and change its amplification, but that is extremely complicated if you want to do that for more samples. Maybe I need to stick to my Cool Edit Pro 2.x and do not buy something very nice, which I cannot use(?)...
About my other problems with CS6 (except for the the extremely exaggerated startup time):
CD Burning:
It is absolutely not intuitive how to start burning a CD. I thought it wasn't implemented until I viewed a boring video, and even then I needed to get into a help file for a version in a different language. That is really bad human-interface-programming. (I may be able to know, I programmed a lot since 1975, complicated programs that did not need any such manuals...)
Playback issue:
Playing a marked part and shifting the playing cursor and marking-boundaries (with or without loop switched on), sometimes plays totally the wrong things. This is a real bug.
mp3-pro:
How to save as mp3-pro file, or do I again need to pay for another mp3-pro encoder, which I already have in Cool Edit?

That method of sample manipulation was already described by me, at least I tried to, thanks anyway. What I want seems to have been deleted.
About CD-Burning: In CoolEditPro there is a "CD Burning" directly to choose from the "File" pull-down menu. Now I must know, that I need to choose "File/New/CD-Layout" (and that in another language) to be able to start getting to the point, where CoolEditPro leads me immediately. How should I know that I need to take this detour? How should I associate this with the simple action "I want to burn my stuff on CD", without knowing what you mean?
I think that it would be better to have a CD item, maybe indeed under "File", where I can choose either to extract or (whatever is necessary) to burn. Now burning is completely separated and hidden for newbies.
Of course your actual implementation is great, but hard to find.
Playback: I needed to put spoken audio into a text file. Therefore I marked a small piece and let it loop, to hear the voice and type it in. Somehow during the procedure shifting the marking boundaries and playing cursor, unlooping and looping again, repeating this, misusing your fine program as a dictating device, audition sometimes gets confused and plays a different part than where the visible playing cursor runs.
Just try to misuse audition my way, keeping the usage of a dictating machine in mind, and you must be able to repeat it.

Similar Messages

  • Filter Express VI - How to make it work with single samples? (LabVIEW 8)

    Hi there,
    I'm trying to update some older code by implementing some sort of FFT.  Currently, my program acquires X data points, averages them, and spits out the Mean value into a graph (Signal as a function of wavelength) (Spectrofluorimeter).  This is done a number of times with the instrument moving to a different wavelength between each sample scan. I've tried to incorporate the Filter Express VI but it does not seem to be doing what I'd like it to.  I have it wired to my Signal Acquisition Express VI with the Filter set to Low-pass 100 Hz with the result being passed through the "Mean" VI and then graphed with the Build XY Graph Express VI.
    When I graph the Power Spectrum, I am seeing that the maximum observable frequency is always 1/50th my sampling rate (regardless of my low/high/bandpass settings).  For example: my # of samples is set to 100, and my sampling rate is 8000 and I observe a maximum frequency of 160 Hz.  If my # of samples is set to 100 and my sampling rate to 6000, the maximum frequency is 120 Hz.  If I try the Filter Express VI with very basic wiring and just hook up a battery to it, I see all sorts of frequencies all the way up to my sampling rate divided by 2 (i.e. 8000 -> 4000 Hz) so this seems very strange to me.
    I'm not sure what is causing this and perhaps its a limitation of the Filter Express VI and I'm supposed to filter using a different method?  I was thinking that perhaps I would need to store all of the dynamic data and then wire it to the Filter Express VI once the entire scan was completed and filter that way but I'm not sure how to save or buffer this dynamic data.
    I'm hoping this is a common problem and someone would be so kind as to offer me any suggestions!
    Thank you for your help!

    I think I should clarify that these aren't necessarily "Single Samples".  I take X number of samples at a specific wavelength, filter that, then take X number of samples at a different wavelength, filter that, and the goal is to have a frequency filtered data set at the end.

  • How to use an analog trigger to determine single sample acquisition rate

    Hi all,
    I have the NI PXIe 6124 on a NI PXIe 1062 Q controller.
    I would like to use an analog signal to determine a single sample acquisition rate.
    For example: if I enter a sine wave with an unknown frequency, I would like to acquire a single (1) sample across my 4 channels each time the sine wave value is zero.
    Is this possible with my devices? And if so how do I do it?
    Thanks,
    Oren.

    Hello Orensag
    The different types of triggers supported can be found in the PXIe - 6124 Manual on pages 135-138.  You should be able to set a very small window trigger with around 0 volts so that you trigger on both the rising and the falling edges of the sinewave as it crosses 0 volts.
    Do you know the frequency of the input sinewave?  This information would be very beneficial to know to set the correct rate for the DAQmx task.
    What you really are looking for is change detection, which is an option in DAQmx Timing VI, but is only supported by certain cards.  Again your sine wave would need to meet the same sample clock timing requirements in the 6124 Specifications.
    Anthony F.
    Product Marketing Engineer
    National Instruments

  • Manipulate the sample rate through a layout

    hola 
    i'm new user of dasylab and i would like to manipulate the sample rate through a layout ;i don't know how
    also other small thing when i use coded swich and i want modify  the text in the Switch Window i don't know how
    Hope that someone would be able to help.!Lots of thanks!

    The answer to the sample rate question depends on the device - is it using the DRIVER time base or a different device timebase.
    To change the sample rate, you must replace the sample rate value with a Global Variable (e.g. ${Var_1}. But, there is a limitation - you must Stop the measurement and restart for it to use the new rate. This is because most drivers set up the scan parameters before the measurement starts, and it cannnot change without stopping the measurement scan. 
    For the Coded Switch,
    You can select Value and unit or Name to be displayed. Select the radio button next to name (not Module name or channel name, just Name) and enter the alphanumeric string that you want to display. You can also change the Value for each switch setting, so that it is possible to have a unique value and a unique name for each switch position.
    - cj
    Measurement Computing (MCC) has free technical support. Visit www.mccdaq.com and click on the "Support" tab for all support options, including DASYLab.

  • Result recording & display of multiple tests/analysis of single sample

    Hello Friends
    Here is my scenario;
    I receive 500 kgs of material in 5 bags. I want to draw sample of 1 kg from each bag. Thus I will be having 5 samples. I will perform the required tests on each sample. For testing I am consuming @250 gms of material. Out of 5 samples, I had to conduct the retest on 2 samples. I want to do the result recording of these tests/samples. In my understanding there will be 7 result recordings which will include 2 of Retest of 2 samples. I would like to display all the values recorded ( atleast for each samples ). Also, I would like to see the individual values and not the averaged out values the recordings.
    How can I take care of constraints due to pooled sample i.e. it allows only the result recording of pooled sample and not the subsequent samples.
    I would appreciate your detailed guidance on this issue.
    Regards
    mahesh

    Hello Lenin
    Normally, we use Sampling procedure with Fixed Sample as Sampling Type withAttributive inspection non confirming units as valuation mode. Determination Rule as 10 ( Fixed Sample ). Sample drawing Procedure followed is "draw from all containers". Irrespective of our present settings, I would appreciate if you let me know the settings to be made in order to map given scenario.
    Regards
    mahesh

  • How to route single samples from NI Battery to individual tracks?

    Hi,
    I am wanting to route the odd sample from within battery to its own individual out so i can apply effects to it, without effecting other samples within battery.
    Is this possible ?
    Any help would be greatly appreciated.

    Open battery on instrument1 as a multi-cannel plug.
    Set up battery to send each sample to a different output or output pair (3 or 3-4) Maybe even check out the manuals output section to be sure you understand how NI deal with this.
    If you look in logics environment window in the "audio" layer there should be a few aux objects in the default song. if you click hold on the plug-in field for one of the auxes you should see something like "instrument1/battery 3-4" this will setup the aux to recieve the seperated output from battery.
    do a search on this forum for "multi-channel" and ultrabeat. its been brought up quite a lot. Ubeat and the exs can both do this aswell..

  • Can't manipulate single anchor point - only move entire path

    Neither using the direct selection tool nor holding command (I'm on OS X) while using the pen tool will allow me to move individual achor points, I am only able to move the entire path.
    I can add and delete anchor points, but I am only able to control the handles on newly formed anchors, holding the space bar does not allow me to move new points either.
    Is there a setting somehwere that I'm missing that will allow direct selection to work properly?
    Thanks

    Problem Solved.
    Turned on Smart Guides (cmd-U) and that seems to have taken care of it.

  • Missing the single sample direct edit so much

    please dont forget this!
    thx
    TWR Mastering

    Here is a template for large array storage/manipulation. As you can see, the array exists only in the shift register of the VI. Is is manipulated "in place" without unnecessary copies being passed to/from. The element is a typedef so it is easy to adapt the code to your array type (and add dimensions...).
    LabVIEW, C'est LabVIEW
    Attachments:
    Huge_Array_Core.vi ‏72 KB
    Element_of_Huge_Array.ctl ‏6 KB

  • What is the recommended way to do multiple channel, single point sampling for control with an NI PCI-6255 in RLP?

    Hello,
    I am writing a driver for the M-series NI PCI-6255 for QNX. I have downloaded the MHDDK and have all the examples working. I have also enhanced the examples to do interrupt handling (e.g. on AI_FIFO interrupt or DMA Ring Buffer interrupt). My ultimate goal is to write a driver that I can use for closed-loop control at 500 Hz using all 80 channels of the NI PCI-6255. I may also need to synchronize each scan with a NI PCIe-7841R card for which I've already written a driver. I want an interrupt-driven solution (be it programmed I/O on an interrupt or DMA that generates an interrupt) so that the CPU is available to other threads while the 80 analog inputs are being read (since it takes quite a while). I also want to minimize the number of interrupts. Basically, I will need to collect one sample from all 80 channels every 2 milliseconds.
    There are many different options available to do so, but what is the recommended technique for the NI PCI-6255 card? I tried using the AI FIFO interrupt without DMA, but it seems to interrupt as soon as any data is in the AI FIFO (i.e. not empty condition), rather than when all 80 channels are in the FIFO, so more interrupts are generated than necessary. I tried using DMA in Ring Buffer mode to collect a single sample of 80 channels and interrupting on the DMA Ring Buffer interrupt, which appears to work better except that this technique runs into problems if I cannot copy all the data out of the DMA buffer before the next AI scan begins (because the DMA will start overwriting the buffer as it is in ring buffer mode). If the DMA is not in ring buffer mode or I make the ring buffer larger than one 80-channel sample then I don't have a way to generate an interrupt when one sample has been acquired (which I need, because I'm doing control).
    I saw something in the documentation about a DMA Continue mode in which it looks like you can switch between two different buffers (by programming the Base Count/Address with a different address than the current address) automatically and thereby double-buffer the DMA but there is no real documentation or examples on this capability. However, I think it would work better than the Ring Buffer because I could interrupt on the DMA CONT flag presumably and be copying data out of one buffer while it is filling the other buffer.
    Another option would be DMA chaining, but again, I cannot find any information on these features specific to the NI DAQs.
    I tried interrupting on AI STOP figuring that I could get a single interrupt for each scan, but that doesn't appear to work as expected.
    I know that DAQmx on Windows has the ability to do such single sample, multiple channel tasks at a fixed rate so the hardware must support it.
    Any suggestions would be appreciated.
    Thanks.
    Daniel Madill

    Hello,
    The interrupt that will happen nearest the times that you need is the AI_Start_Interrupt in the Interrupt_A group. This interrupt will occur with each sample clock. By the second time this interrupt fires, the AI FIFO should have the samples from the first conversion. If it is easier to use programmed IO, you can read the samples out of the FIFO until you get all 80.
    Additionally, you can set the DMA to send samples as soon as the FIFO is no longer empty...instead of waiting for half full or full. This change will reduce latency for your control loop. You can set AI_FIFO_Mode in AI_Mode_3_Register to 0. By the second time this interrupt fires, you should be able to check how much data is in the DMA ring buffer and read the 80 samples when they are available. You can make the ring buffer larger than 80 samples if you see data getting overwritten.
    There is no interrupt associated with 80 samples being available in the FIFO or 80 samples being available/transferred by DMA to the host. X Series has much more flexibility with these interrupts.
    I hope this helps!
    Steven T.

  • Need help to choose a DAQ for simultaneous sampling

    We need to choose a DAQ for simultaneous sampling. The restrictions are:
    a) 2 channels
    b) The signals on both channels are not continuous. A valid input on the channels is signaled by a falling edge in a third line that can be used as a trigger.
    c) The rate of these signals can be up to 50000 per second but they do not arrive in a periodic way.
    d) The timing:
    The trigger is a pulse of 600 ns
    The signals on the channels are stable 200ns before the leading edge of the trigger pulse and remain stable for 900ns.
    We have seen the PCI-6143 but we are not sure if it is the best choice.
    We have some questions:
    1) Does the 6143 fulfill the timing requirements ?
    2) Is it posible and easy to set the board to take one sample after the trigger ?
    3) Is there a better choice than the 6143 to solve the problem ?
    4) Can we solve this problem programming in VB or VC++ and using the software that comes with the board or do we need to buy extra libraries ?

    1) Does the 6143 fulfill the timing requirements ?
    Yes, the 6143 should fulfill these requirements. It has a 250 KS/s sampling rate per channel which should give you 5x oversampling at the 50 kHz maximum bandwidth you indicated. The minimum delay from the recognition of the trigger to the first sample on this board is 100 ns which falls within the 900 ns window.
    2) Is it posible and easy to set the board to take one sample after the trigger ?
    It's not clear to me whether you want to take a single sample after a trigger and stop or use the trigger as an external sample clock to acquire several samples at the rate of the trigger. In either case, it's possible and relatively easy to do so. The only quirk is that the minimum number of samples to acquire for a hardware timed acquisition is two samples. This means if you really only want one point after the trigger, you'll have to setup the hardware to acquire two samples and then throw the second one away in software.
    3) Is there a better choice than the 6143 to solve the problem ?
    This seems like a pretty solid choice for the application you described. However, you didn't mention what the amplitude of your input signals are. The 6143 has a fixed +/- 5 volt range. If this isn't sufficient, you'll have to provide signal conditioning or choose a board with a wider input range. Also, I'm assuming your trigger signal is a TTL signal. If it's an analog signal, you'll want to choose a board with an analog trigger circuit (the 6143 doesn't have an analog trigger). The PCI-6111 is a 2 channel board with a +/- 42 volt input range, an analog trigger, a 5 MS/s sampling rate, and will also meet all of your requirements. The only down side of the 6111 is that it is more expensive and is a 12 bit converter instead of 16 bit. The PCI-6120 has even more functionality than the 6111 and has a 16 bit converter at 800 KS/s. PXI has some more simultaneous offerings, but I'm assuming you want to stick with PCI. You can also check out some of our modular instrument offerings such as the PCI-5102. I'm not as familiar with the modular instruments, so you'll have to check out the specs for yourself. Whether there is a better choice or not is pretty subjective. That will depend on how much you're willing to spend for the features and specs you really care about. From the information you provided, the 6143 will be the lowest cost solution that meets the requirements you specified.
    4) Can we solve this problem programming in VB or VC++ and using the software that comes with the board or do we need to buy extra libraries ?
    The DAQmx driver provides interfaces to both of these programming environments at no extra cost.

  • Buffered event counting. Why can't I explicitly sequence generating the Sample Clock Pulse and reading the counters?

    At irregular occasions I need to grab counts from several counters, and buffering the counts must be done simultaneously for all counters. I'm modeling my approach after zone.ni.com/devzone/cda/tut/p/id/5404 which someone kindly pointed out in an earlier thread. However, that example only uses one counter, and you can't test the synchronization with only one counter, so I am using two counters configured the same way, and they're wired to a single benchtop signal generator (for example at 300 kHz).
    What I want to do, I can test in a loop with a somewhat random wait in it. I want to drive a hardware digital output line high for a few ms and then low again. The hardware line is physically connected to terminals for my timing vi's Sample Clock Source and so will cause them to buffer their counts for later reading. After I pulse this line, when I know new good buffered counts await me, I want to read both my counters. If their bufferings are simultaneous, then each counter will have counted the same number of additional counts since the last loop iteration, which I can check by subtracting the last value sitting in a shift register and then subtracting the two "additional counts" values and displaying this difference as "Diff". It should always be 0, or occasionally +1 followed immediately by -1, or else the reverse, because buffering and a count could happen practically at the same moment.
    When I do this using a flat sequence to control the relative timing of these steps, so the read happens after the pulse, the counters often time out and everything dies. The lengths of time before, during, and after the pulse, and the timeout value for the read vi, and the size of the buffer and various other things, don't seem to change this, even if I make things so long I could do the counting myself holding a clipboard as my buffer. I've attached AfterPulse.vi to illustrate this. If I get 3 or 10 or so iterations before it dies, I observe Diff = 0; at least that much is good.
    When I use two flat sequences running in parallel inside my test loop, one to control the pulse timing, and the other to read the counters and do things with their results, it seems to work. In fact, Diff is always 0 or very occasionally the +/- 1 sequence. But in this case there is nothing controlling the relative timing such that the counters only get read after the pulse fires, though the results seem to show that this is true. I think the reads should be indeterminate with respect to the pulses, which would be unreliable. I don't know why it's working and can't expect it to work in other environments, can I? Moreover, if I set some of the pulse timing numbers to 1 or 2 or 5 ms, timeouts start happening again, too. So I think I have a workaround that I don't understand, shouldn't work, and shouldn't be trusted. See SeparateSequence.vi for this one.
    I also tried other versions of the well-defined, single sequence vi, moving the counter reads to different sequence frames so that they occur with the Sample Clock Source's rising edge, or while it is high, or with the falling edge, and they also often time out. I'll post these if anyone likes but can't post now due to the attachment limit.
    Here's an odd, unexpected observation: I have to sequence the reads of the counters to occur before I use the results I read, or else many of the cycles of this combine a new count from one counter with the one-back count from the other counter, and Diff takes on values like the number of counts in a loop. I though the dataflow principle would dictate that current values would get used, but apparently not so. Sequencing the calculations to happen after the reads fixes this. Any idea why?
    So, why am I not succeeding in taking proper control of the sequence of these events?
    Thanks!!!
    Attachments:
    AfterPulse.vi ‏51 KB
    InSeparateSequence.vi ‏49 KB

    Kevin, thanks for all the work.
    >Have you run with the little execution highlighting lightbulb on? -Yes. In versions of this where there is no enforced timing between the counter and the digital line, and there's a delay inserted before the digital line, it works. There are nearly simultaneous starts on two tracks. Execution proceeds directly along the task wire to the counter. Meanwhile, the execution along the task wire to the digital high gets delayed. Then, when the digital high fires, the counter completes its task, and execution proceeds downstream from the counter. Note, I do have to set the timeout on the counter longer, because the vi runs so slowly when it's painting its progress along the wires. If there is any timing relationship enforced between the counter and the digital transition, it doesn't work. It appears to me that to read a counter, you have to ask it for a result, then drive the line high, and then receive the result, and execution inside the counter has to be ongoing during the rising line edge.
    >from what I remember, there isn't much to it.  There really aren't many candidate places for trouble.  A pulse is generated with DIO, then a single sample is read from each counter.  -Yup, you got it. This should be trivial.
    >A timeout means either that the pulse isn't generated or that the counter tasks don't receive it. - Or it could mean that the counter task must be in the middle of executing when the rising edge of the pulse arrives. Certainly the highlighted execution indicates that. Making a broken vi run by cutting the error wires that sequence the counter read relative to the pulse also seems to support that.
    >Have you verified that the digital pulse happens using a scope? -Verified in some versions by running another loop watching a digital input, and lighting an indicator, or recording how many times the line goes high, etc. Also, in your vi, with highlighting, if I delete the error wire from the last digital output to the first counter to allow parallel execution, I see the counter execution start before the rising edge, and complete when the line high vi executes. Also, if I use separate loops to drive the line high and to read the counter, it works (see TwoLoops.vi or see the screenshot of the block diagram attached below so you don't need a LV box). I could go sign out a scope, but think it's obvious the line is pulsing given that all these things work.
    >Wait!  I think that's it!  If I recall correctly, you're generating the digital pulse on port0/line0...  On a 6259, the lines of port 0 are only for correlated DIO and do not map to PFI. -But I'm not using internal connections, I actually physically wired P0L1 (pin 66) to PFI0 (pin 73). It was port0/line1, by the way. And when running some of these vi's, I also physically jumper this connection to port0/line2 as an analog input to watch it. And, again, the pulse does cause the counter to operate, so it clearly connects - it just doesn't operate the way I think it is described operating.
    For what it's worth, there's another mystery. Some of the docs seem to say that the pulse has to be applied to the counter gate terminal, rather than to the line associated with the sample clock source on the timing vi. I have tried combinations of counter gate and or sample clock source and concluded it seems like the sample clock source is the terminal that matters, and it's what I'm using lately, but for example the document I cited, "Buffered Event Counting", from last September, says "It uses both the source and gate of a counter for its operation. The active edges on the gate of a counter is used to latch the current count register value in a hardware register which is then transferred via Direct Memory Access...". I may go a round of trying those combinations with the latest vi's we've discussed.
    Attachments:
    NestedSequences.png ‏26 KB

  • Collect one sample at a time.

    This seems like it ought to be incredibly simple, but I am brand new to labview...
    I am acquiring data at a given rate (between 10 and 100 Hz) for the purpose of the read outs in my vi.
    What I would like to do is set up the DAQ and the experiement and run it, monitoring at all times my critical variables on gauges, etc.  Then when I have reached the information I need, I would like to click and button and record a single sample.  I would even take just a few samples.
    The way I have attempted to do this now is to briefly enable a relay between the signal source and the Write to Measurment File vi.   This kind of works, as long as my sampling rate is low.  With high sample rates (1000 Hz) I end up with a few thousand data points, when all I need is one.
    Thus the question:  How do I take a snapshot of my data?

    I've seen that Express VI before.  I never use that one because it's useless.  All it is is a fancy wrapper for a very basic True/False Case structure.
    What is the mechanical action of that button?  By the picture of the icon, I'm going to guess it is its default value of switched.  That should be Latched action.  With Switch action, you have to click it on and click it off.  At a fast rate, the loop may execute several times while it is True.
    Since we are looking at Express VI's, the Write to File function as an Enable input that you can wire the button into.
    Message Edited by Ravens Fan on 08-27-2009 05:10 PM
    Attachments:
    Example.png ‏76 KB

  • Sample editor display jumps to file begin on zoom with large files

    Hey - does anyone else have this problem:
    When I zoom in to the max possible zoom level in the sample editor in Logic (eg to edit single samples with the pencil), in any audio file longer than 12:41, the waveform display suddenly jumps to very beginning of the file.
    It happens using either the zoom-in key, zoom slider or zoom tool. It is somewhat infuriating because I have to guess when to stop pressing zoom-in to get as close as i can without triggering the jump. (If i go one zoom level too far, I have to go back, zoom out and re-find my place and try again.)
    I did some investigation and the bug in zoom behavior starts happening with audio files a little shy of 12 min 41 sec ( 12:40.871ms to be more exact).
    Here are the results in "length in samples" of a test audio file (AIFF 24-bit Stereo, 44100Hz):
    33554453 samples and greater => sample editor jumps to beginning when zoomed in to max
    33554432 - 33554452 samples => sample editor jumps to END of file when zoomed to max (bizarre, eh? a 20-sample window in which the bug works in the OPPOSITE direction!)
    33554431 samples and less => sample editor zoom is normal and zooms in perfectly to the proper location at max zoom.
    I also tested other things like trashing my logic prefs and starting from an empty song with nothing in it - none of which make any difference. This bug is present in Logic 8.0.2 on both my Macbook Pro with OS X 10.5.7 and my Powerbook G4 with 10.4.11
    Maybe time to report this to apple - can anyone corroborate by just continually pressing your zoom-in key with the cursor in the middle of an audio file longer than 12:41 and see if the display jumps to the beginning?
    Thanks!

    bump?

  • Can't set sample rate 1609

    Hi,
    we've recently upgraded to LV 8.6 and DAQmx 8.7 and then got problem with the data aquisition that uses the DAQmx API. For example, we have a cDAQ-9172 and 9239 AI module. The device could be user configured and a typical configuration could be a continous acq, single sample in 10 Hz. After upgrading the error -200279 "Attempting to read samples that are no longer available ... has been overwritten" has come up soon after the task was started. It turned out that the property SampleClkRate is not affected by the value that is put into the DAQmx Timing.vi, unless it was set > 1612,9, if you set 10,100 or 1000 or whatever the sample rate will still be 1612,9 when you read from the timing property.
    So the buffer then of course becomes overflown, but the question is why there is a minimum sample rate like this? Earlier it was fine to set it an arbitray value and the acquistion would be in that rate.
    There are many solution to get around this (read faster etc.), but it strange that the behaviour of the code can change like this from a version to another...
    /Henrik
    Solved!
    Go to Solution.

    I see one flaw in your program, you have hardware timing and software timing in one loop. The loop is limited by the software wait. (I think this is on purpose for demonstration).
    I have looked at the manual for the 9239 and page 18 notices that hte minimum input rate is 1613kS/s
    So that is explained, the only problem is that the DAQmx timing VI does not return an error or warning when setting a too low rate.
    Ton
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • How much time does a single transmission take?

    Hello,
    I was wondering what is the time taken to transmit one sample takes. For example, if the sample interval is 5 seconds, does the actual transmission take 10ms? What does it do for the rest of the time?
    Also, how much energy does a 3202 node take to transmit a single sample?
    Thanks, 
    Sravan 

    Hey Sravan,
    I wanted to provide some additional details to Kyle's post above. 
    This is on average what we have seen with a 3212 node sampling at a 60 second sample interval:
    Sleep Duration: 58.774 seconds
    Sleep Power: 7.41 mJ
    Acquisition Duration (All 4 channels): 1150 ms
    Acquisition Energy: 2.84 mJ
    Transmit Duration: 55 ms
    Transmit Energy: 9.17 mJ
    Receive Duration: 21 ms 
    Receive Energy: 1.83 mJ 
    Additionally, if your sample rate is above 61 seconds, then you will run into the Heartbeat Interval which fires after every 61 seconds of inactivity.  Below are average power measurements for the heartbeat interval:
    Transmit Heartbeat Duration: 55ms
    Transmit Heartbeat Energy: 7.79 mJ
    Note: Each heartbeat will then also need to account for receiving that a response from the gateway (Receive information from above).
    Taking all that into account, the graph below shows estimated battery life for sample intervals up to 300 seconds.  The dips in the graph represent a sample interval that is just larger than the heartbeat interval, which essentially means you are transmitting twice in a very short period.
    Hopefully you find this information helpful.  Please let me know if I can clarify anything for you. 
    National Instruments
    WSN/Wireless DAQ Product Support Engineer

Maybe you are looking for