9233: Vibration signal contains dc offset

Hai all,
    Am using cRIO 9012 controller and 9233 vibraiton module for acquiring vibration data from vehicle using IEPE accelerometers.  Data iam acquiring is not symmetric about zero and the FFT of this acquired data shows a dominent peak (than any other peak) @ .1hz which means that signal has a dc offset.  But from the specs 9233 has an ac coupling which means that dc signal should be filetered. Am getting problem in analysis due this behavious. Why is this behaviour? Can anyone help me out in this.
Any quick response will be appreciated.
With best regards,
JK
With regards,
JK
(Certified LabVIEW Developer)
Give Kudos for Good Answers, and Mark it a solution if your problem is solved.

Hi JK,
The DC offset comes from the amplifiers and the ADC.
You shouldn't have any useful data below 5Hz, so you can just ignore any bins that are 5Hz and below.  For idle channel noise tests (and others) we ignore any bins that are 20Hz and below.
The DC offset is expected and you should ignore your really low frequency bins.  Out of curiosity, why are you worried about the 0.1Hz bin anyway?
Hopefully this helps!!
Aashish M
Applications Engineer
National Instruments
http://www.ni.com/support/

Similar Messages

  • How to do FFT of vibrations signal?

    Hello,
    I'm trying to measure the time and frequency spectrum of a vibrations signal.
    My time plot seems to be ok, but my FFT graph doesn't look right.
    An expected vibration FFT graph of a bearing should look like peaks at various frequencies, but my FFT graph looks only like a linear line.
    Does anyone know what's wrong with my attached program?
    Thank you.
    Y.Yang
    Attachments:
    3 axis white and green sensors v2.vi ‏122 KB

    Your code looks fine.  I double checked how you're acquiring data, and it seems fine.  I'm pretty sure that you are acquiring an FFT and the graph is just not scaled correctly.  Do the following:
    Right Click Waveform Graph 2 >> X Scale >> AutoScale X
    Right Click Waveform Graph 2 >> Y Scale >> AutoScale Y
    I've also attached an example of what I've done to get the FFT from a simulated signal.
    Che T.
    Applications Engineer
    National Instruments
    Attachments:
    FFT.vi ‏67 KB
    fft.png ‏43 KB

  • How to use wavelet transform in vibrational signals?

     plzzz....show the explaination of wavelet transformation in vibrational signals and also help me in understanding the waveforms......................

    I am not a wavelet expert, yet I would experiement with the example in the application LLB for engine knock.  In general wavelets are used to extract impact events in vibration signals. 
    Do you have a data file of your vibration data?  What are you hoping to detech?
    Preston Johnson
    Principal Sales Engineer
    Condition Monitoring Systems
    Vibration Analyst III - www.vibinst.org, www.mobiusinstitute.com
    National Instruments
    [email protected]
    www.ni.com/mcm
    www.ni.com/soundandvibration
    www.ni.com/biganalogdata
    512-683-5444

  • Sound and vibration signal simulator box

    When i am giving 0 to 5volt output from sbRIo to the  sound and vibration signal simulator box to control the speed
    the fan rotates very slow but when i a potentiometer present on board(manual control) there is  linear relation with the input and output...
    Max RPM being 6000
    when i give output from the controller previously it was running on 4000 after few days 3000rpm and then 2400 now its very low and almost 1000 RPM 
    may i know the solution to rectify this...

    If is the fan controlled by output voltage and you have corrected value of voltage, there is no problem in code but problem is with fan.
    Simyfren

  • Acquiring Frequency Content of Vibration Signal

    Hi.
    I am trying to find the frequency content of an incoming signal from a geophone which has a 500 Hz vibrational signal on it.  However, using two different methods, I find that I am only given a large DC component for the frequency spectrum of the signal.  I have two different methods set up in a case statement to make it easy to try each one without having to rewrite code.  The first method is to just use the FFT function (in the attached picture I have a high-pass filter on the front to try and block the DC signal, but this only blocked the DC signal and did not make the 500 Hz signal any more noticeable).  The second method uses the Power Spectrum function with my array data converted to waveform for input.
    The first picture shows the two different methods I tried.  The 1st picture with graphs is the result I get using the FFT method.  The 2nd picture with graphs is the result I get using the Power Spectrum method.  Any information or advice would be greatly appreciated.  I can provide further information upon request.
    Thanks.
    Attachments:
    2methods.jpg ‏41 KB
    method1.jpg ‏106 KB
    method2.jpg ‏115 KB

    Well, first thing, it would be a lot easier for someone to help you if you were to attach your VI to a post than to send those little pictures. Take out anything that is irrelevant or proprietary, fine. Please set up labels and scales for your axes so they reflect your data, don't just use the default labels and arbitrary scales. Taking a wag that your bottom "time" axis is scaled to the number of data points (0-9999) and your signal is actually a 500 Hz sine, you are actually only taking about 200 points per wave, instead of 600, like your VI picturette says. Even though you would certainly be above the Nyquist frequency for sampling, it throws everything else into doubt because you haven't described it accurately.
    Second, if I were to also assume that the tunnel into your case structure is the array you want to get frequency from (here's where attaching the working VI comes in), you are feeding one point at a time into the FT or PS functions. With one point at a time, it'll be real hard to get any more than a DC frequency. You need to feed the whole array in for the spectral analysis functions, or at least a larger portion of it. You've just got a single point, followed by 2999 zeros, at least for the FFT portion.
    Cameron
    To err is human, but to really foul it up requires a computer.
    The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
    Profanity is the one language all programmers know best.
    An expert is someone who has made all the possible mistakes.
    To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):
    LabVIEW Unit 1 - Getting Started
    Learn to Use LabVIEW with MyDAQ

  • How can i measure the speed of the fan in sound and vibration signal simulator box

    how can i measure the speed of the fan in sound and vibration signal simulator box
    provided the values  tach out:2 pulses/revolution and  maximum speed = 6000rpm

    Hi. I tried your suggestion and I could not get it to work well. In
    fact it worked better without the running average (which suprised me).
    I also played with the number of data points but still could not get it
    to work well.
    Do you have any other suggestions on how I could sort this problem out?
    I
    have attached a screen shot of the signal. To recap, I'm trying to
    measure the'y' position of the flat regions of the signal. The signal
    does not have a constant level, so this 'y' position varies with time
    in a non-unform manner.
    I am currently differentiating
    the signal and selecting the y position when the differential is equal
    to zero (within a tolerance band).
    In the screenshot, the
    signal has been zeroed using the method I have described above.
    However, it occasionally has glitches which may be caused when the code
    picks up a zero gradient at a peak or valley in the signal.
    I therefore need some kind of algorithm that only measures the position of the flat regions.
    Many thanks
     John
    Attachments:
    screenshot.gif ‏121 KB

  • Continuous wavelet transform of vibrational signals (scalogram)

    Hello to everyone,
    I am a beginner in signal processing and I'm trying to perform a CWT of a vibrational signal, took on a IC engine, in order to better understand the differences existing with the time-frequency rappresentation. I performed the scalogram, but i do not understand why on the time axis i read wrong informations, that is, there are wrong values on the time axis. Is there anyone that can help me?
    Thanks to all.
    Attachments:
    Scalogram.png ‏51 KB
    Scalogram VI's front pannel.png ‏184 KB

    Thanks for the answer,
    I mean that i don't see the time values of the signal's time history.
    Are they the traslation factors used to perform the CWT?

  • FFT Frequency Resolution vs. Graph Update Rate of a Vibration Signal

    Hello,
    First, what I know:
    The frequency resolution (Hz) of an fft is 1/acquisitionTime (e.g. if 2 seconds of data are acquired, the frequency resolution is 1/2s = 0.5Hz).
    What I'm Wondering:
    Let's say I'm displaying an acquired signal on a graph and freq res = 0.5Hz.  The graph update rate is therefore approx 2sec.  This may appear to be an application with a problem from a user's perspective.
    Can I increase the update rate?
    It seems that with vibration data (i.e. mostly non-periodic) I could create a buffer that is 2sec long.  The first data acquisition sequence will fil the buffer with 2sec of data.  Then I could just acquire something shorter than 2sec of data (let's say 1/4sec).  If I am acquiring data continuously and I push the 1/4sec of data into the front of my buffer then perform the fft again, I have effectively increased my graph update rate to 1/4sec and my users think I'm great.
    Can anyone shed any light on whether or not (why/why not) this will work?
    Thanks for your time,
    Chris  

    The best tool NI provides for your application is the Zoom FFT.  This allows you to specify the span (frequency range of the FFT) and the zoom (the delta f such as 0.5hz) in the FFT.  The Zoom FFT has a built in buffer, called overlap and allows you to set the overlap so that it updates at the appropriate rate, event though you may need many seconds of data to get the delta-f in the FFT you are looking for.  We package all this and manage units to display the correct units for power density, power, linear, magnitude, rms, 0 to peak, peak to peak, etc.  We even provide a express VI for the zoom FFT and it is also part of the Sound and Vibration Assistant, requiring no programming at all.
    http://digital.ni.com/public.nsf/allkb/F70DB3441DC5AB9986256E97005BA825
    http://zone.ni.com/devzone/cda/tut/p/id/6107
    http://zone.ni.com/devzone/cda/epd/p/id/5505
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/12152
    Preston Johnson
    Principal Sales Engineer
    Condition Monitoring Systems
    Vibration Analyst III - www.vibinst.org, www.mobiusinstitute.com
    National Instruments
    [email protected]
    www.ni.com/mcm
    www.ni.com/soundandvibration
    www.ni.com/biganalogdata
    512-683-5444

  • Adding Signal Processing vi to application causes exe not to work

    I am having a problem with building an exe that I hope someone can help me with.
    I have a LV2010 (10.0.1) project that I a build into an exe. This has worked fine and the exe works as it should.
    My problem starts when I add a vi.lib (Extract Single Tone Information) vi to the code to calculate the detected frequency of a vibration signal. I can run the application in Labview without any problems.
    When I try to build the executable I get an error:
    This is the full error message: 
    Visit the Request Support page at ni.com/ask to learn more about resolving this problem. Use the following information as a reference:
    Error 1502 occurred at AB_Source_VI.lvclass:Close_Reference.vi -> AB_Build.lvclassave.vi -> AB_Build.lvclass:Copy_Files.vi -> AB_Application.lvclass:Copy_Files.vi -> AB_EXE.lvclass:Copy_Files.vi -> AB_Build.lvclass:Build.vi -> AB_Application.lvclass:Build.vi -> AB_EXE.lvclass:Build.vi -> AB_Engine_Build.vi -> AB_Build_Invoke.vi -> AB_Build_Invoke.vi.ProxyCaller
    Possible reason(s):
    LabVIEW: Cannot save a bad VI without its block diagram.
    After searching through the message boards I found that I could enable debugging in the Build Specifications and that would allow LV to compile the exe without error:
    But the next problem is that the exe cannot run:
    I am stuck now. The exe does not run on my development machine. Am I missing some dll files that are needed because of the Extract Singal Tone Information.vi?
    Any ideas would be greatly appreciated.
    Thank you.

    I have managed to fix this problem.
    I am posting my solution here for anyone that might run into something similar.
    It turned out to be a strange problem to solve.
    first I tried to create an executable using only the Basic Single Tone Measurement.vi as suggested. This I could build and run without any problem.
    This showed that the vi was not the problem but rather something in my project.
    Next I tried various ways to build the project with the Basic Single Tone Measurement.vi placed at different locations in the project. But nothing worked.
    What finally resolved this problem was that I deleted a subvi that had originally contained an fft vi inside a true/false statement that was wired to a constant (to disable it). Even though the fft vi had been long since deleted and the conditional statement as well then for some reason the project would not build correctly when I placed the Basic Single Tone Measurement.vi anywhere in it.
    To summarize. I deleted a subvi that had previously contained a vi to calculate the fft and eigen frequency and placed the Basic Single Tone Measurement.vi in the top vi. This solved the issue and I could build and run the exe without any problems.

  • Simulate Signal Express VI is sending two periods of the wave per loop iteration - how can I reduce this to one period?

    Hello,
    I've been trying to use the Signal Generator Express VI and DAQ Assistant in order to generate an output waveform, as seen in this NI tutorial video:
    http://www.ni.com/academic/students/learn-daq/generate/ (timestamp is at 2:07 for what I'm trying to do)
    For background, I'm trying to move a piston device using Labview. The sine waveform is intended to move the piston at a smooth speed. For every loop iteration, the Simulate Signal VI running into my DAQ Assistant moves the piston to its maximum displacement and back twice. I cannot determine why this is occuring.
    The settings in my "Configure Simulate Signal" tab are as follows:
    Frequency: 1Hz
    Phase: 90 deg
    Amplitude: 2
    Offset: -2
    I would like my piston to only reach its maximum displacement and return for every iteration of the loop. I've tried adjusting all of the settings within "Configure Simluate Signal" but I can only work in even numbers - sending the piston back and fourth two, four, or eight times, ect.

    The Simulate Signal VI is set for integer number of cycles and the default frequency set in the Cycles per Second control is 3.75 Hz. That results in the signal containing three complete cycles and the data array contains 8000 elements, not the nominla 10000 specified in the Express VI dialog.
    If you only want one cycle, you need to specify the signal so that you only get one. Either reduce the frequency or reduce the number of samples.
    As you have noticed Express VIs do one thing exceedingly well: They obscure what is going on inside.  I pulled your signal generation code out into a separate VI and then created a generator which will generate the same signal but allow you to select the number of cycles. It uses the Sine Waveform.vi from the Signal Processing  >> Waveform Generation palette.
    I also recommend that you change the structure of your program. The use of sequence structures is discouraged in LabVIEW  because they defeat dataflow are very inflexible when changes need to be made. A Producer/Consumer Design Pattern plus a state machine would probably be a good choice. This will allow separation of the daq acquisition from the saving to file so that the timing of one does not constrain the timing of the other.
    Setting the Analog Input Read to read multiple samples simultaneously and using the hardware timing of the data acquisiton device will get data faster and the timing will be precisely (compared to software timing) controlled by the hardware.
    Writing to the same file in parallel loops probably results in some strange behavior such as differing numbers of writes from acquired data compared to generated cycles. As the file grows, the writes may slow down due to the OS needing to fragment or reallocate space for the file.
    Lynn
    Attachments:
    Signal generator.vi ‏49 KB

  • Filtering Analog Signals

    I am currently using a PXI 6025E board to read an analog signal from a weigh station. The items that are being weighed are in motion so the signal contains some vibration from the item being in motion as it crosses the scale. I would like to be able to filter the analog signal so that I just get the pure weight and not the noise from the vibration. What is the best way to filter the signal using LabView?

    Another method is the store a number of results and calculate the
    average of these points.
    Do sample fast to get more data and you will get a better result.
    The method with the best results depends on the noise expected, on its
    spectrum and amplitude distribution.
    Median is fine if you have a lot of good data and a few wrong ones far
    away from the 'real' result..
    AVG and Lowpass is fine for symetrical noise.
    DC / AC is fine in the same case, but the parameters cannot be chosen by
    yourself.
    Good Luck
    Urs Bögli
    preston johnson schrieb:
    >One method is to use a "median filter" this is a statistical median
    >of the data you have collected over a brief period of time.
    >Presumably, you will have a good number of cycles from the vibratory
    >motion. Use th
    e statistical function for median. This will sort the
    >data from most to least and produce a number in the middle of the
    >list.
    >
    >A second method is to use a low-pass filter to filter all data above
    >say 1hz.
    >
    >A thid method is to use the DC and RMS function and take the DC output
    >of the function.
    >
    >Try all three to see which produces the best result.
    >
    >Sincerely,
    >
    >Preston Johnson
    >
    >

  • I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.

    I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.
    In particular, I am analyzing the example "Even Angle Reference Signal Processing (Digital Tacho, DAQmx).vi", whose documentation I am reproducing in the following:
    <B>DESCRIPTIONS</B>:
    This VI demonstrates how to extract even angle reference signals and remove the slow-roll errors. It uses DAQmx VIs to acquire sound or vibration signals and a digital tachometer signal. This VI includes a two-step process: acquire data at low rotational speed to extract even angle reference; use the even angle reference to remove the errors in the vibration signal acquired at normal operation.
    <B>INSTRUCTIONS</B>:
    1. Run the VI.
    2. On the <B>DAQ Configurations</B> tab, specify the <B>sample rate</B>, <B>samples per channel</B>, device and channel configurations, and tachometer channel information.
    <B>NOTE</B>: You need to use DSA PXI-447x/PXI-446x and PXI TIO device in a PXI chassis to run this example. The DSA device must be in slot 2 of the PXI chassis.
    3. Switch to <B>Extract Even Angle Reference</B> tab. Specify the <B>number of samples to acquire</B> and the <B># of revs in reference</B> which determines the number of samples in even angle reference. Click <B>Start</B> to take a one-shot data acquisition of the vibration and tachometer signals. After the acquisition, you can see the extracted even angle references in <B>Even Angle Reference</B>.
    4. Switch to the <B>Remove Slow-roll Errors</B> tab. Click <B>Start</B> to acquire data continuously and view the compensate results. Click <B>Stop</B> in this tab to stop the acquisition.
    <B>ORDER ANALYSIS VIs USED IN THIS EXAMPLE</B>:
    1. SVL Scale Voltage to EU.vi
    2. OAT Digital Tacho Process.vi
    3. OAT Get Even Angle Reference.vi
    4. OAT Convert to Even Angle Signal.vi
    5. OAT Compensate Even Angle Signal.vi
    My question is: How is the synchronization produced at the time of the compensation ? How is it possible to eliminate the errors in a synchronized fashion with respect to the surface of the shaft bearing in mind that I am acquired data at a low rotation speed in order to get the "even angle reference" and then I use it to remove the errors in the vibration signal acquired at normal operation. In this application both operations are made in different acquisitions, therefore the reference of the correction signal is lost. Is it simply compensated without synchronizing ?
    Our application is based on FPGA and we need to clarity those aspects before implementing the procedure.
    Solved!
    Go to Solution.

    Hi CracKatoA.
    Take a look at the link bellow:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=255126&requireLogin=False
    Regards,
    Filipe Silva

  • Third octave operations with "sound and vibration toolkit"

    Hi!
    I’m working about third octave decomposition with a vibration signal.
    I’m using the sound and vibration toolkit.
    The sample frequency of my signal is 2400 Hz.
    And I’m working with a 1 second vibration signal (so 2400 points).
    Fs = 2400
    N = 2400
    I need to understand the different and successive operations that the “SVT Fractional-octave Analysis [IEC].vi”VI do.
    In fact, I think that my frequency resolution (df = Fe/N=1Hz) is too low.
    Do you have a solution?
    Maybe I could turn into my 1 sec signal in 10 sec signal with 10 recopies and assemblage of my previous signal?
    N’ = 10N so df = Fe/10N = 0.1Hz.
    Thanks for your help.
    Bastien of paris

    Hello,
    The first thing you have to do is to read the Chapter 7 of the user manual of the Sound and Vibration Toolset.
    You can find it in : program -> National Instruments -> LabVIEW Sound and Vibration Toolset -> User Manual
    This chapter discusses fractional-octave analysis, including fractional-octave analysis theory, averaging modes supported by the
    Octave Analysis VIs, settling time, and ANSI and IEC standards.
    regards,
    Marc L.
    NIF

  • Estimate AC/DC of a sine signal

    Hi,
    i capture an analog signal (a sine) with labview and i want to extract several informations from the signal like : Amplitude, offset, peak value, frequency, etc.
    I almost get what i want, but i can't get the correct value of AC / DC components of my signal.
    For example, i receive a signal like this one :
    y = 1.25 + 1.25 * sin (2*Pi*3000*t).   
    I except the following value :
    f = 3000 Hz  (I got it)
    Peak = 2.5 (I got it)
    Ampl = 2.5 (I got It)
    DC = 1.25 (I got it)
    AC = 1.25    and there is the problem. I don't have this value.
    Maybe i forgot a vi in my design, or maybe labview can't process this value or maybe i'm do it wrong because i don't exactly talk about AC value.

    mhed wrote:
    Hi,
    i capture an analog signal (a sine) with labview and i want to extract several informations from the signal like : Amplitude, offset, peak value, frequency, etc.
    I almost get what i want, but i can't get the correct value of AC / DC components of my signal.
    For example, i receive a signal like this one :
    y = 1.25 + 1.25 * sin (2*Pi*3000*t).   
    I except the following value :
    f = 3000 Hz  (I got it)
    Peak = 2.5 (I got it)
    Ampl = 2.5 (I got It)
    DC = 1.25 (I got it)
    AC = 1.25    and there is the problem. I don't have this value.
    Maybe i forgot a vi in my design, or maybe labview can't process this value or maybe i'm do it wrong because i don't exactly talk about AC value.
    Look at the terms you reported and compare to your equation. There is a "DC=1.25" and an "Ampl=2.5" in your list. Your equation describes a sine wave with an amplitude of 2.5 units (peak-to-peak) centered at 1.25 units. I believe you are trying to solve for an extra term!
    Jeff
    Jeffrey Zola

  • Concept Of Offset file in Studio 11.3

    Hi,
    In the current system we are using, the input file is a flat file. All the triggering and data mapping is done by directly coding the offset in the corresponding data sections. If any offset is bound to change in the future, it is cumbersome to retrieve all the FAPs containing this offset and change it.
    I was wondering if we have a concept of offset file in Studio, so that we could just change the offset information in this file and not make any change in the FAP. I am asking this because I happened to stumble across the RULW32.dll and saw some reference to offset file information like OFFSFILE.dat. Do we have any base rule which supports this concept in Studio from 11.3 till 12.0 (EE) ?
    Edited by: Akhil on Jun 28, 2011 12:08 AM

    Akhil,
    Have a look at page 6 of the v113gen.pdf manual distributed with 11.3, it explains the relationship between the two companies.
    The custom code was integrated as part of a business agreement between the two companies, in an effort to make life a little bit easier for CSC programmers when a new version or patch level of Documaker was released by then Docucorp.
    There is no documentation simply because it is not supported by Oracle: they did not code the rules and do not know (or care) how the related rules work. CSC owns and retained ownership of that custom code.
    You will want to stay away from these custom rules because:
    a) You cannot get any documentation on how they work, how to set it up, what changes are required in the AFGJOB, etc. You are flying blind.
    b) Should you happen to figure out how to set it up, who will you call for support, should something go wrong? Oracle does not support these rules and you cannot call CSC.
    c) CSC may decide in the future to move their customers away from OFFSFILE processing into the world of XML and ask Oracle to remove their custom code from the base product. If that happens, say in release 14.x, and your system stops working when you try to upgrade your installation to 14.x: what would you do then?
    As Andy said, there are other Oracle ways to accomplish what you are looking for. It is documented and supported by Oracle and that should be your prime motivation to pick one of these Oracle solutions.
    Gaétan

Maybe you are looking for

  • Problem with brand new Imac, please help

    I was suggested that it would be best for me to post this topic here in this forum. Hi I am new to Mac, I had just gotten my 17" imac isight last week, for the most part i am very happy with it. But last night I was having some troubles with it. I ha

  • SQL function to extract XML namespace prefix

    Hi, I have the following document <ns4:product xmlns:ns1="www.abc.com" xmlns:ns2="www.def.com" xmlns:ns3="www.ghi.com" xmlns:ns4="www.jkl.com"> <ns4:productline>Widget</ns4:productline> </ns4:product> I'm trying to find a SQL function which will enab

  • Curve got wet!

    Sorry, I wasn't sure which board to post this at.   My Curve 8310 got a tad wet.  Enough that some of the buttons won't work.  It's been drying out for almost 2 weeks now.  Is there anything I can replace to make all buttons work?  ANy tricks?   I no

  • SQLJ Connection Context

    Hi, i was trying to create a SQLJ connection context following the procedure given in the following link. https://help.sap.com/saphelp_nw04/helpdata/en/70/a19cc472e72c4481172909938578fc/frameset.htm But i am getting  error when i am inserting this sq

  • Query to find Orders that have all LINES CLOSED status

    All, CAn someone send me SQL QUERY TO find all ORDERS that have all LINES in CLOSED status. we have an issue in an environment, i am trying to build a data fix script. regards girish