Determining natural frequency

Having never done vibration analysis, I'm wondering if anyone has experience in determining the natural frequency of a solid using an accelerometer. Aside from knowing that we can produce a voltage signal through the accelerometer, and that we in some way need to condition this through a fourier transform, I am completely stumped.
Can anyone provide a simple explanation, and hopefully any more complex knowledge of how to go about solving this problem?
Thanks,
Justin
Just as a post note, I'm really completely unfamiliar with vibrations
analysis, and am hoping to learn enough through this process to really
understand the problem and its solution...
Any help is appreciated!
Message Edited by g0dam0ng1n53ct5 on 12-17-2009 09:01 AM

OK, I dug up the old code (I'm talking 1994 here).
The TRANSFER function is a statement of the relationship between the independent measurement (Y) and the driving force (X).
You hit point A with force X, and at point B, you see a movement Y.
The transfer function is dependent on structure geometry, materials, mounting, supports, maybe termperature, etc. 
That is frequency-dependent, so doing it in the frequency domain provides a lot of info at one time. 
Here are comments from my 1994 code:
       F(x)     F*(x)           |F(x)|^2
Sxx = ------ * -------     =   ----------   (no phase information)
        N         N               N^2
       F(y)     F*(x)
Sxy = ------ * -------
        N         N
                      Cross power spectrum          Sxy
Transfer function = ------------------------   =   -----
                         Power spectrum             Sxx
             | Sxy | ^2
Coherence = -------------
             Sxx  *  Syy
where:
  F(x) is the complex Fourier transform of the time domain signal x, and
  F*(x) is the complex conjugate of the Fourier transform of x, and
  N is the number of points in x.
Note that SXX is the magnitude squared.  It is faster to compute the square of the magnitude than it is to compute the magnitude. Although the complex-to-polar VI would look simpler on the diagram, it would take longer since it computes the magnitude proper, (an extra square-root operation), and it computes the angle (extra arc-tangent operations).
Since N^2 is a term in both Sxy and Sxx, and since we are dividing one by the other, we do not need to explicitly divide by N^2; it is cancelled automatically.
Here is the code to process a single channel:
I'm not sure of the comment "this is much faster..." anymore, as I've tested it recently and found it not the case.  But it was true in 1994. 
And here is the code to handle the actual Xfer function:
Note that I had an implicit rule that the first channel in the array was always the reference channel, i.e. the hammer (stimulus).  Any other channel(s) were response channels - you can get transfer functions between one stimulus point and any number of response points with one recording.
The middle section there is averaging: you may or may not want to do that.  It's averaging from several hammer blows.
What you get out is a complex spectrum (in the TRANSFER FUNCTION array).
At each frequency, there's a complex number (R+jI) that describes how well the vibration travels from point A to point B. 
If this function shows a clear peak at say, 583 Hz, then the structure in question is best at transferring vibration at that frequency.
If the MAGNITUDE of that peak is close to 1.0, then it's very resonant.  If the magnitude is much lower, it's very damped.
(If it's greater than 1.0... RUN!  It's about to come off it's mountings !)
You also get a COHERENCE spectrum, I'm not as well versed on the uses of that. 
Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com
Blog for (mostly LabVIEW) programmers: Tips And Tricks

Similar Messages

  • Getting natural Frequencies of Fixed-Free beam

    I am using Sound and Vibration assistant and i connected my acceleromter and hammer to my DAQ device and i want to get the natural frequncies of beam 
    Thanks in advance
     note :  I am a beginner at using Labview

    This video may be of some help for you:
    https://www.youtube.com/watch?v=tnHBP7e6JX0
    Also, going through the Getting Started with the NI Sound and Vibration Assistant PDF file has lots of great information:
    http://digital.ni.com/manuals.nsf/websearch/0AFDDDCEEB04E6D986257368006A380D
    If you are still having trouble getting a reading with the sound and vibration assistant, just let me know what procedure you are following to try and acquire the signals so that we can make sure we are not missing anything.
    Daniel K | NI Applications Engineer | Certified LabVIEW Developer

  • How to determine the bandwidth of a particular frequency in Labview?

    Hallo,
    After i determined the frequency of a signal, i want to measure the bandwidth of this frequency. how can i do that in labview? is there a block which can calculate it directly?
    thanks in advance..

    If I remember correctly, the BANDWIDTH is defined as the frequency distance between the -3dB points, relative to the peak.
    It's not correct to say "the bandwidth of a frequency", you measure the bandwidth of some process, say an amplifier or a filter.
    If you have a spectrum sweep of this filter, then you just measure the peak amplitude and look on both sides for the places where it crosses the 3dB down amplitudes.  The difference between those frequencies is your bandwidth.
    If it's a narrow bandwidth, you'll have to pay attention to how FFT works or you won't get a good answer from an FFT.  If your FFT frequency resolution is low, your precision will be low as well.
    I don't think there are any canned solutions for you.
    HTH 
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

  • Having trouble determining frequency from data

    I am looking to try to determine the frequency that an object is rotating at.  The data file attached is the measurement made by an oscilloscope as last passes through and opening in this object as it is rotating.  I have attached the vi below.  I am able to get the height and the timestamp for the first peak, but I am having trouble getting the second peak.  If I do array max and min in takes me further down, but has the incorrect timestamp with it. 
    I have also tried using the pulse measurement channel vi but every time I try to run that I get a warning saying
    So I am looking for a little guidence in trying to get this solved.  I would like to be able to go and determine the height and timestamp of the second peak.  I dont need a vi that calculates the frequency for me, Im fine programming the math.  But if there is something I am missing with the pulse measurement vi, that would make this a lot easier.
    One additional note:  Yes I am working in 7.1, I am a grad student and it is a department copy, so no I dont have money to uprgade to a newer version.  So if you could do me a favor, if you do post some programming but can save to 7.1 for me to open and look at can you please do a screen shot.
    Attachments:
    Time Stamp PD Raw.vi ‏38 KB
    T1PDR2.txt ‏928 KB

    Take a look at the attached.  It uses the Peak Detection function to find the peaks in your data.
    I set the threshold to 80% of the max value and then set the width of the peak detector wide enough to encompass one peak but narrow enough not to reach a second.  I did find if I make it much bigger it misses the one at the end.
    Randall Pursley
    Attachments:
    Find Peaks.vi ‏57 KB

  • What method does Audition use to determine the overal frequency?

    Hi,
    Does anyone know what method Audition uses to determine 'overall frequency' in the 'frequency analysis' section? I need to know how it is calculated?
    Many thanks!

    stephaniec9433324 wrote:
    Thank you for that! So am I right in thinking the 'overall frequency' is just the frequency point which contains the highest amount of energy in a given sound sample?
    I don't know why it's called the 'overall' frequency - seems a bit strange to me, although what else you could call it without it being a bit of a mouthful, I'm not sure. But strictly speaking, what it is is the frequency of the highest amplitude at that instant in the display. It's not really a signal you are measuring either; it's a single FFT 'slice', which begs even more questions, as the size of the slice determines the resolution, and therefore the accuracy of the result anyway.

  • Determining Analog Signal Frequency with Prebuilt VIs

    Don't know what is wrong with this code.  Am trying to determine the frequency of a signal from an analog signal (paddlewheel flowmeter).  As a starting point, I'm using a simulated square wave with the "Timing and Transition Measurements" VI and am getting following error:
    ~~~~~~~~
    Error -20308 occurred at Timing and Transition Measurements -> frequency_determination_example.vi
    :3"  (waveform index 0 of 1)
    Possible reason(s):
    Analysis:  The waveform did not cross the mid reference level enough times to perform this measurement. Check the signal length, reference levels, and ref level units.
    ~~~~~~~~~
    However, there seems to not be any options in the "Timing and Transition Measurements" VI to set mid reference levels.
    Any insight into why this simple problem is occuring would be appreciated.  Attached is my program's simple code.
    -tsippel
    Attachments:
    frequency_determination_example.vi ‏101 KB

    Hi,
    Dennis was right (without looking at the code). You generate one (1) square wave, if you had generated 1000 sampled you'd get the correct answer.
    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 to measure two frequency simultaniously in a PCI 6014

    Hi I am measuring RPM of two gear drives by measuring the pulse/second(Measure frequency.vi). I have interlinked the gate of counter1 to the output of counter2. Similarly I have connected the gate of counter2 to output of counter1. to measure frequency.
    This way in a cycle one counter acts as gate counter while the other counter counts and later the counters changes their role.But my problem is that I have to measure the two counters frequencies simultaniously.
    I cannot do period measurement becasue I have several irregular pulse widths generated in each cycle.
    I am currrently experimenting with mesure period(DAQ-STC).vi. I have the following doubts in this VI.
    1)Can I replaced source configuration fr
    om internal timebase to external PFI source signal.
    2)If I replace my source signal from internal timebase to the pulse generated from my gear drive then would at the end of 1 sec (when the counter is disarmed due to change of trigger signal state and hence end of while loop) will the count attribute contain the count of my ttl edges?
    3) Would this be a accurate method for measuring frequency simultanuiously without using two counters?
    Thanks.

    Hi balajkasthuri,
    The best way to perform this is to use the frequency generator (freqout) of your 601x board. Your board only has 2 counters but it also has a frequency generator that doesn't use the counters. It is an output found on the freqout pin. You can choose to have a frequency of 10 MHz or 100 kHz divided by any integer between 1 and 16. This means you can create a pulse train of known frequency and known period and use that into the source or gate of your two counters depending on the frequency measurement method you are using.
    For example, assuming your two signals are much faster than the freqout signal, you can apply the freqout signal to the gate of a counter and have your signal feed the source. The number of counts you get in 1 pulse
    width of the gate (which is known since it is the frequency you generated) will determine the frequency of your signal.
    Otherwise, if your signal is much slower than 20 MHz, you can simply use the 20 MHz as the source of the counters and perform a simple period measurement on your signal. You would then take the inverse of your period measurement.
    Anyway, using the onboard frequency generator will give you the flexibility you need. I have linked below a useful tutorial describing the 3 typical frequency measurements. Hope that helps. Have a good day.
    Making Accurate Frequency Measurements
    http://zone.ni.com/devzone/conceptd.nsf/webmain/CD2C8AAED8FA59A486256C230078FE75?opendocument
    Ron

  • Continuous frequency measurement~

    Dear sir,
        How are you today?
        I tried to program the "Measure Frequency.vi" in LabView 5.1 .  I've the simplified version
    from "LabView Measurements Manual" in page 10-26. Basically, we want to measure the
    frequency change within 20 ms (chirp). So I just naively added the "for loop" enclosing everything,
    as the attached VI. But the testing result (please see the attached document) showed that
    sometimes the counter/timer (AM9513) lost count. Could you please troubleshoot my VI and
    tell me how I should improve?
        In addition, I tried to use the oscilloscope to see the gate signal from counter-1 (counter 5)
    OUT pin, but it showed 0.14V. The signal from GATE pin of counter (counter 1) showed 5V.
    I was expecting what I would see is something like TTL signals with different pulse widths and
    delay widths. Can you tell me what I was doing wrong?
        Thank you for your previous answers!
    Best regards,
    Margaret
    Attachments:
    Continuous Measure Frequency1.1.vi ‏122 KB
    continuous frequency measurement.doc ‏168 KB

    Hi Margaret,
    I think that there is one way to obtain a count every 20ms. What you will need to do is:
    1. Generate a 50 Hz pulse train
    2. Connect your signal to the a counter source
    3. Connect the 50 Hz pulse train to the counter gate
    4. You will obtain a series of counts over a 20ms period and you will be able to determine the frequency of the signal using post processing by dividing the count # by 0.02.
    I noticed that you are using LabVIEW 5.1. This version of LabVIEW is no longer supported. I highly recommend upgrading to a newer version of LabVIEW. This will allow you to program with the DAQmx driver and creating your application with this driver would be significantly simpler and take a lot less time.
    If you do not want to try this method, then I am attaching the screenshot for measuring the time the while loop takes to execute. I want you to know that the overall time will not have an effect measuring the signal's frequency. There really isn't anything you can do to decrease the execution time for the counter. I hope that you find this information helpful.
    Regards,
    Hal L.
    Attachments:
    While Loop Timing.gif ‏12 KB

  • How can I measure the frequencies of two analog input signals simultaneously?

    Hi
    I have two AI signals, and I need to determine the frequencies of those signals. The frequencies range from 1-125Hz. I currently have a VI where I can sample one of the signals for 1 second (sampling at 300 Hz for 300 samples) and determine the frequency. 
    I need to read two signals at the same time and get both of the frequencies at the same time, but I can only figure out how to read them individually, so I can read one signal, then one second later I read the second one, then I read the first one again, then the sceond one, etc..  How can I read two signals simultaneously?
    Thanks
    Attachments:
    FreqMeas11.vi ‏41 KB
    FreqMeas11.PNG ‏18 KB

    "at same time", this depends on the hardware, you can do as has been previously stated just set up a 2 channel acquisition and you will get 2 sampled waveforms back.  Most hardware A/D as multiplexed and true simultaneous sampling is not done.  At 125Hz this is not an issue unless you are interested in very small phase changes between the samples.  just keep this in mind if you are expecting samples to be completly synchronized.
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • How can i get frequency of the modulated signal

    All my questions are showed in the picture.
    Attachments:
    xxxx.jpg ‏39 KB

    "Well, since it is for a "friend"...
    An FFT (or Power Spectrum) will tell you all of the fundamental frequencies of your signal. This is pretty easy and there are functions in LabVIEW to do this. However, since you are only trying to determine the frequency of one square wave mixed with many sine waves, you can just look at the first dirivitive of the signal (dS/dt) and look for discontinuities (dS/dt = +/- Inf). This discontinuity is only due to the square wave signal component. Find the frequency of the discontinuities of the first dirivitive and you have your answer.
    -Jim"

  • How is overall frequency calculated in Audition?

    Hi,
    Does anyone know what method Audition uses to determine 'overall frequency' in the 'frequency analysis' section? I need to know how it is calculated, I.e. does it use spectral centroid? It is for an assignment I am doing and I need to reference what it does. If anyone knows that would be great, I'd also appreciate if you can let me know where you got the answer from so I can reference this in my work.
    Many thanks!

    Hi Vishnupriya,
    "Why is start event getting processed second time?"Can you check the "Frequency" attribute of your start event? There you can specify how often the process will be triggered.
    "At wht point of time does the second processing of T1 start."You should be able to check it in the Processes (det.). It provides an overview regarding the process instances started during the simulation run. Furthermore you can check the Events (det.) category.
    Best regards,
    Danilo

  • How do i measure frequency?

    lets say theres this signal in volts. if you plot the signal it forms a sine graph. is there any way to use labview to determine the frequency of the signal? i've tried to use the "measure frequency vi" but my device is connected to a virtual channel, and i dont think that VI supports that...

    Hi Polly,
    There are several ways to measure frequency in LabVIEW. You can measure the frequency of a pulse train using DAQ hardware (counters). You can also just take a buffer of data and simply use LabVIEW functions to read the frequency of the buffer. An example function would be Extract Single Tone Information.vi. There are many other functions as well. Hope that helps.
    Ron

  • Measuring frequency with counter or analog input?

    I have some frequencies which I need to measure. Some signals are digital and some are analog.
    I have a PXI-6040E DAQ which has both counters and analog inputs. 
    I heard that you can measure higher frequencies with the counters than with analog inputs.
    What is the range of frequencies an analog input can determine versus a digital counter? 
    Where is the cutoff that you must absolutely use a digital counter to determine the frequency?
    Is the cutoff different for different DAQ cards? Or is generally the same.

    Have you looked at the specs for the device? The max sample rate and the max counter input will be listed there. The max frequency for an analog input is based on nyquist sampling theory. Are you at all familiar with? It states your sampling frequency has to be at least twice the frequency you are measuring.
    Since each device might have a different max sample rate, your last question is answered.

  • DAQ frequency measurement using anolog input channel

    Hello,
    I try to develop a DAQ application which run on a real time target.
    I want to measure frequency using anolo inpur channel of my DAQ card. I have a problem.
    Let me first try to explain what i trying to do. In the first loop i do sampling and show the result as double array.
    I need to show samples as double array so i can not read sample as waveform. With a shared variable i sent these samples to second loop.
    First loop reriod is msec and second loops period is 20 msec.So when the second loop run, 20 samples were alraady ready, frequency measurement is done.
    The problem is that i need to show frequency measurement as far as possible. Say frequency of my signal is about 100 hz, then this
    configuration gives correct frequency measurement. But if frequency of the signal is about 10 hz, this configuration fails since period of second loop is 10 msec and it is not enough time to measure a 10 hz signal. But if i adjust period of the second loop as 100msec,
    then i can measure 10 hz signal but then i can give measurement of a 100 hz signal  +90msec late. What can i do so i can measure frequency af signals ranges 0-100hz and give measurement result as far as possible?
    Attachments:
    measure_amp_freq.GIF ‏35 KB

    eesen,
    What you are doing doesn't make any sense to me. First of all, you should take multiple samples with the DAQmx Read and not one sample at time with the timed loop. Your frequency measurement will then actually be more accurate. You also should return a waveform. That includes timing information that the Freq & Amp function needs to determine the frequency. It cannot do it with a dbl array. If you have to display a dbl, then just use the Get Waveform Components to extract the y array. You can get rid of the second timed loop and use a regular loop for the DAQmx Read. If you just set the rate to be twice the highest input frequency and acquire enough samples for a couple of cycles, you should have a pretty accurate reading.

  • I am trying to measure 8 separate frequencie​s with a FP-CRT-502 module.

    I have a FP-CRT-502 module and need to measure 8 frequencies. The examples I've found through NI allow for 7 measurements (with one channel being used to generate a gating pusle). I found something from NI indicating that this can be done but it did not give much detail. Does anyone know how this is done? Thanks

    Hello,
    The example uses one of the counter modules to generate the KNOWN pulse signal for the gate (by using the counter clock). You know the width (time) of the pulses on the gate.
    If you have a device that generates a known pulse signal you can use this signal as the gate signal for all of the counter channels and then determine the frequency (freq = pulses/time).
    This device can be another FP Counter module or some other type of device that generates accurate pulses.
    I hope this helps.
    VG

Maybe you are looking for