Complex FFT VI - output units

I am currently post processing time domain accel data. I run it through the Complex FFT VI in order to transfer it to the frequency domain, which works wonderfully. Unfortunately, I'm still a bit confused as to what the output units of the plot are...
Any help would be appreciated.

First of all you don't have to use the Complex FFT, the Real FFT would work fine because your input time domain data are real-data. Both Real and Complex FFT VIs return a complex spectrum output.
The complex spectrum data represent the magnitude and the phase of your signal at the different frequencies. So if you use the 'complex to polar' primitive in your Numeric>>Complex palette you can convert your complex spectrum to magnitude and phase (radians) signals. Next you need to scale your magnitude for 'half the length of your FFT' (that is divide by N/2) in order to get the correct 'amplitude' of the different tones. Finally you need to correct your value at 'dc' with a SQRT(2) factor ...
When you are done with all this and optionally also have corrected
for the noise bandwidth of your window, the unit of your magnitude will be the same as your input signal (m/s^2 or g I assume).
So instead of all this I would recommend you to use the high-level VIs that will take care off all the needed conversions and scaling for you. If you build a Waveform using the 'Build Waveform' primitive, you can then pass your signal to one of the fighr-level Power Spectrum, FFT (Mag-Phase) etc... VIs. Check the Analyze>>Waveform Measurements palette.

Similar Messages

  • Convert the output sequence of complex FFT

    I am using complex FFT to do IQ demodulation.
    the input X of complex FFT  is  cos(x)+i*sin(x). abs(FFT(X)) is the frequency response of input X. I need to convert the output sequence the format
    FROM: DC f....Nyquist Frequency...–f
    TO: -Fre_nyquist ...DC... Fre_nyquist
    Is there any function I can use to do this convertion? thanks

    Just use "rotate array" from the array palette (LabVIEW 7.1 or lower) and rotate by n/2.
    If you have LabVIEW 8.0, simply wire a TRUE to the "shift?" input for a DC centered spectrum.
    LabVIEW Champion . Do more with less code and in less time .

  • What is the difference between SMT zoom FFT, FFT spectrum, SVT FFT spectrum, complex FFT vi, real FFT vi

    what is the difference between SMT zoom FFT, FFT spectrum, SVT FFT spectrum, complex FFT vi, real FFT vi in the labview functions palette. I am getting different spectrums on performing the above mentioned ffts on the same time domain data

    Complex FFT takes a complex input array and gives a complex output array. Real FFT assumes the input data is real valued only, ie imaginary parts are zero. It can be computed quicker than the complex FFT so if data is real it is better to use this. There is a Power Spectrum vi that computes normalised power of the complex output of the FFT for a real input sequence(sum of squares of real and imaginary parts). Auto Power spectrum gives a single sided output ie positive frequencies only. This is normalised as well. Just check the help on the vis for the normalisation factor. The Zoom FFT isn't in the professional edition of LV. I know zoom FFT comes with the S&V toolkit. It allows one to measure the spectrum of a signal with improved frequency re
    solution over a limited band. I think SVT stands for Sound and Vibration Toolset.

  • Airplay sound only showing one output unit

    Is there a way to show more than one airplay audio output unit (while holding down alt + click sound icon in menubar).
    I now have to go to sound settings to enable the other units. Seems unecessary.

    You aren't creating an array. You are giving the variable a string. Pipe $Users to Get-Member to see that it is a string.
    Here is an alternate way to do what you want
    Split-Path (([xml](Get-Content "C:\Sites.xml")).Sites.Site.Url) -Leaf

  • Output unit of Power Spectrum.V​I

    I'm using LabVIEW5.1 in Windows95.
    According to the VI Reference Manual, the unit of the Auto Power Spectrum.VI
    is V^2rms. But the output of the Power Spectrum.VI is not specified.
    1. I want to know the output unit of the Power Spectrum.VI
    2. How can I change the output unit of the Auto Power Spectrum.VI. That is
    from V^2rms to V^2/Hz.
    The second question is more important to me.
    Hyun-ho Lee
    [email protected]

    Spectrum Unit Conversion.vi in Signal Processing -> Measurement
    "Hyun-ho Lee" <> wrote in message news:8ipfet$i5b$[email protected]..
    > I'm using LabVIEW5.1 in Windows95.
    >
    > According to the VI Reference Manual, the unit of the Auto Power
    Spectrum.VI
    > is V^2rms. But the output of the Power Spectrum.VI is not specified.
    >
    > 1. I want to know the output unit of the Power Spectrum.VI
    >
    > 2. How can I change the output unit of the Auto Power Spectrum.VI. That is
    > from V^2rms to V^2/Hz.
    >
    > The second question is more important to me.
    >
    > Hyun-ho Lee
    > [email protected]
    >
    >
    >
    -----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
    http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
    -----== Over 80,000 Newsgroups - 16 Different Servers! =

  • Frequency Response Function & FFT & Inverse FFT (problem of unit Volts-RMS)

    Hello everyone,
    I am currently working on a VI in order to compare two analog signals : the first one corresponds to the output signal (my reference) which is sent by my data acquisition card to a shaker and the second one corresponds to the input signal recorded by an accelerometer fixed on the same shaker. The final goal of the VI is to correct the analog output signal by using the analog input recorded signal in order to have the vibrations on the shaker which corresponds to what we really want.
    To summary, I have a problem of unit with the Volts-RMS...
    So this is my method for the VI :
    First, I have to calculate the Frequency Response Function between the two analog signals (output and input). For it, I use the " Frequency Response Function (Real-Im).vi " which returns the complex values of the FRF in Volts-RMS (but I don't want to use this unit).
    Then, I want to calculate the FFT of the analog output signal (my reference). There are two different blocs which can be used : " FFT Spectrum (Real-Im).vi " and " FFT.vi ".
    The " FFT Spectrum (Real-Im).vi " returns the FFT complex values of the signal in Volts-RMS and the " FFT.vi " returns the FFT complex values in Volts (or say me if I am wrong, thank you). I really would like to use the second one because of the unit.
    Then, I divide the FFT just calculated with the Frequency Response Function calculated just before.
    For the end, I calculate the inverse FFT of that with the " Inverse FFT.vi " which use the complex values with the same unit than for the " FFT.vi ".
    I don't want to use the Volts-RMS unit because I absolutly want to use the blocs " FFT.vi " and " Inverse FFT.vi ".
    The problem is that I don't find a bloc which use the same unit for the Frequency Response Function. The " Frequency Response Function (Real-Im).vi " returns only the complex values in Volts-RMS unit. Maybe it is possible to convert it correctly? Or maybe there is an other bloc which can be used in order to calculate the Frequency Response Function with the same init than for the FFT and Inverse FFT ? Because I can't mix everything for the moment...
    Thank you for your help,
    Best regards,
    Sebastien

    Hello Preston,
    No, I have not use the Sound and Vibration toolkit. I have only used the signal processing toolkit with the two toolboxes " Waveform measurement " and " Transforms ".
    But I think that what I have done for the moment in my VI is correct (I have finished the complete VI). But I am not sure of the units (Volts, Volts-RMS...) and I would like to understand.
    I have tried with the Sound and Vibration toolkit for the frequency response function (because you say me that it deals with all the unit conversion) and I can obtain the same results than with the " Frequency Response Function.vi " of the toolbox " Waveform measurement ".
    But I would like to understand the units (see my previous post please). For example, for the FFT (the result is a complex), why sometimes it is in Volts, sometimes it is in Volts-RMS ? Is it possible to convert it ? How ?
    If you want, I can attach on the forum my VI and that will maybe help you to explain me. Maybe it will help other people interested.
    And if someone else can give me other precisions or advices about it, do not hesitate.
    Thank you for your help,
    Sebastien

  • How can I output frequency readings of my signals using FFT?

    Hi there, I need help in regard to the topic stated.
    Currently I have accquired a sine wave with frequency that vary, using one of the accquistion card by NI. I had converted it to a digital signal so that labview can read it. Now, I will like labview to output the measurement of the frequency.
    For example : sine wave of 5KHZ is accquire ,  labview will use FFT to convert time domain to frequency domain, and then output the frequency of the sine wave, in the case, 5KHZ.
    What function block should I be using? I had explored the function blocks of all FFT. Most of them output either real FFT, complex FFT, magniture or phase. But none of them output the reading of the frequency.
    Maybe I had missed out some function block, so how do I go about output a frequency reading after using FFT?
    Thanks a lot in advance.

    After Converting your signal from time domain to frequency domain, u cant expect there is only one frequency component,they should have different frequency components according to your input signal.Use extract single tone information to get the output reading of the frequency.
    Balaji PK (CLA)
    Ever tried. Ever failed. No matter. Try again. Fail again. Fail better
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.
    Attachments:
    Detect Freq.vi ‏15 KB

  • SVT 3.1 FFT Spectrum Magnitude VI output is RMS or Peak (db OFF)

    Please help with my SVT problem:
    1. With db OFF, what magnitude EU value does the SVT 3.1 FFT Spectrum VI output?  More to the point, is the EU an rms value or peak value? I thought it was rms but now I'm not sure.
    2. When I double integrate acceleration values to get displacement then feed the displacement waveform to this FFT Spectrum VI, I seem to get high displacement values compared to other portable analyzers in our shop. If the output of the FFT Spectrum VI is for example, mils rms (single sided) I have to convert this to peak-to-peak values. So I multiply the each spectrum value by 1.414 (to get peak) then by 2 for peak-to-peak. Is there a more accurate way to get peak-to-peak displacement values from an acceleration waveform?
    thanks,
    Glen

    Hi Glen,
    There are several FFT-based VIs in LabVIEW and the output units of each function is different.
    The following table will give you a better idea of what each function does. In your case you might be better off using the FFT VI that comes with the Signal Processing toolkit since you are looking for Volts output instead of the Vrms given by the FFT Spectrum functions.
    If you have doubts about the units returned on a specific function I recommend using the Context Help in LabVIEW. As shown on the image below this gives you more information about the function and the variables used/returned by it. You can open Context Help by going to Help>>Context Help in LabVIEW.
    Hope this helps. Regards,
    Tica T
    Applications Engineer
    Message Edited by Tica T on 04-04-2006 10:38 AM
    Attachments:
    units.JPG ‏50 KB
    functions.JPG ‏85 KB

  • Finding the mean of a series of complex numbes to generate an avergage FFT spectrum

    Hi All
    I have a a 2d array of complex numbers. In fact I have a 10 x 133210 array that represents the complex result of a series of ffts taken from the time series of 10 mics.
    For example
    Frequency ::::::                 1Hz     2 Hz   3Hz   4Hz   5Hz      ad infinitum(!)
    Amplitude for Mic 1             2+2i    2+2i   2+2i  7+2i  2+2i
    Amplitude for Mic 2             3+2i    5+2i   2+2i  2+2i  2+2i
    Amplitude for Mic 3             4+2i    2+2i   2+2i  8+2i  2+2i
    up to Mic 10
    Now i want to be able to average these spectrums so that I can regenerate the time series that would be found (or heard) if the listener was to perceive all 10 mics timeseries at the ear without the phase cancellation effects of the time domain.
    So I take all 10 mics complex FFTs and I average across every column. I do this by summing all ten mics complex bin values and diving by 10 + 0i.
    The result I get is very close to what I would expect in the frequency domain. I would imagine that if i was to take all ten signals with the same time series what is rengenerated in the frequency and time domain would be the same...
    However the iFFT returns NaN
    There must be a problem with my averaging process - can anyone shed any light?
    Thanks
    Greg

    Greg,
    1. The phase effects due to the spacing of the microphones is already in the data.  Unless you have a point source, it will be very difficult to sort out which components came from where.
    2. Are there any NaN values in your array of means?
    Can you post a small subset of the data (10 x 1000 rather than 10 x 133210) and your VI so we can see what is going on?
    Lynn 

  • I'm using the 1D Rectangular to Polar VI and would like to know the output magnitude units.

    What is the magnitude output unit expressed in? VRMS, DB, etc...?The other output from the 1D Rectangular to Polar VI, phase, is expressed in radians.

    The 1D Rectangular to Polar VI only accepts inputs without units, it seems.
    This is just a geometric transformation and the magnitude output should thus get the same "units" as the x and y inputs originally had (before stripping the units off).
    LabVIEW Champion . Do more with less code and in less time .

  • FFT Question

    I am using complex FFT and complex IFFT. Does anyone know
    what the exact scaling is? ie I think they do not have a divide
    by N (samples) within them. I initially need periodogram from a time
    series
    and so am taking the FFT (can be real) and doing a
    magnitude squared (complex)/(2N) on the output. Does this look right
    What about the inverse complex FFT?
    James

    James,
    The Complex FFT.vi and Inverse Complex FFT.vi do not have a divide by N samples built in. You can take an array size to get N - number of samples.
    As for the rest of your question, could you please provide me with more detail about what you are trying to do? I am not sure, but I believe that if you are trying to obtain the Amplitude of your sample by performing a magnitude squared operation, you might be able to use the built in functionality of the "Amplitude and Phase Spectrum.vi" to find the Amp Spectrum Mag (Vrms) which is the single-sided, amplitude spectrum magnitude. You can look at the detailed help on this function by right clicking on it in the block diagram and going to "help".
    If that is not what you are looking for, could you please give me
    more information about what you are trying to do? Thanks and have a great day.
    -Dan Hoar
    Applications Engineering
    National Instruments

  • How to get input and output using math interface toolkit

    Hi,
    I am fairly new to labview and i am trying to convert my labview code
    into matlab mex files using math interface toolkit. I cant see any
    input or output terminals when i try to convert the code to mex files
    even though my vi has plenty of inputs and outputs that should be
    available during conversion.
    just to cross  check i made another vi in which i inputted an
    array of data to an fft and outputted it to an array again. i tried to
    convert this code to mex files but was still not able to see any input
    or output terminals, which makes me believe that i must be doing
    something wrong at the very basic level and inspite of trying really
    hard for some days now i have not been able to figure out that might be.
    So please help.
    I am attaching the basic vi that i created along with the link that i followed for converting labview code to mex files.
    http://zone.ni.com/devzone/conceptd.nsf/webmain/EEFA8F98491D04C586256E490002F100
    I am using labview 7.1
    Thanks
    Attachments:
    test.vi ‏17 KB

    Yes, you've made a very basic mistake. You have front panel controls and indicators but none of them are connected to the VI's connector pane. right click on the VI's icon and select "Show Connector". You use the wiring tool to select a connection there and then select a control or indicator. Use the on-line help and look up the topic "connector panes". There are some sub-topics on how to assign, confirm, delete, etc.

  • Spectral Measuremen​ts - Y axis units?

    All;
    When I choose to use the RMS magnitude selection on the spectral measurements dialog attached below.... If I am taking angular velocity measurements in degrees/second, what are the units of magnitude on the y axis of the subsequent frequency domain result? Additionally, what are the units if I select any of the other selections? Thanks!!
    -Nick-
    Attachments:
    Capture.JPG ‏66 KB

    When the selection is rms the output units are the same as the input units. Power Spectrum units are the square of the input units and power spectral density is in units of (input units)^2/Hz. This information is in the detailed help for the VI.
    Lynn

  • How is calculated the amplitude in the FFT function?

    Hello,
    I have a time signal, for example an 1KHz tone. I use the FFT complex function to calculate its Fourier Transform, and I want to Know, which is the relation beetween the amplitude of this FFT and my time signal.
    I have an example of a sine of 1KHz with an amplitude of 1V. When I calculate the FFT the result is one delta at the correspondient frecuency, but with an amplitude of 12149. My signal has 65536 samples.
    Could you help me please?

    With the complex FFT, I do believe you have to normalize the by half the size of your sample set. This should give you back the original magnitude of your signal. Take a look at this screenshot.
    Attachments:
    fft_magnitude.jpg ‏65 KB

  • Consuming an ASP web service which responds with complex data types...

    Here's my problem - I'm trying to consume a web service from a provider that uses complex data types.
    The starting part of the WSDL looks like this (I've not included the whole thing) - named have been changed to protect the innocent:
    <wsdl:definitions targetNamespace="http://domain_name">
    <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://domain_name">
    <s:element name="Authentication">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="Token"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="AuthenticateResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="AuthOK" type="s:int"/>
    <s:element minOccurs="0" maxOccurs="1" name="Token"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    Since it's a complexType return, with a sequence, I'd expect an array or structure returned, but instead I just get the "AuthOK" value, and no way to get anything else.
    Here are the ways I've tried calling it:
    <cfscript>
        WS = createObject("webservice", "https://WSDL_URL");
        WS_ret = WS.Authentication(Username = "username", Password = "password", Token = "");
    </cfscript>
    <cfdump var="#WS_ret#" />
    <cfinvoke webservice="WSDL_URL" method="Authentication" returnVariable="WS_ret">
        <cfinvokeargument name="userID" value="7253320" />
        <cfinvokeargument name="password" value="ctpjxs3" />
        <cfinvokeargument name="SecurityToken" value="" />
    </cfinvoke>
    <cfdump var="#WS_ret#" />
    Any ideas how I can get the other variables in the sequence? I have other calls after this that have a much larger amount of variables, and as such I can't use it without being about to get more of the

    Thanks for the reply.
    If I CFDUMP the variable it returns just "1", no XML tags, nothing at all around the data - according to the web service providers they say that they are supplying the Token part as long as the first variable is "1" (a logical true if the authentication passed). If it is "0" then no Token is returned, that is why it's optional.
    As for the CFdocs issue, look here:
    http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=webservices_25.html
    The paragraph before it (about 2/3 down the page) states:
    In this example, the operation updateEmployeeInfo takes a complex type as input and returns a complex type as output. To handle the input parameter, you create a structure. To handle the returned value, you write it to a ColdFusion variable, as the following example shows:
    It even states that you call "updateEmployeeInfo", and nowhere mentions "echoStruct" as a method - it's seemingly been put in as a random method name, or a function call for something else. The WSDL above the example only mentions "updateEmployeeInfo" and "updateEmployeeInfoSoapOut", again not mentioning "echoStruct".
    I see this as an error in the docs as it's calling a non-existant entity in the WSDL, which should cause a run-time error.

Maybe you are looking for

  • Creation of a new costing variant to cost production orders

    Hi all, Currently the business is only able to cost a vehicleu2019s production order at the standard cost value which is determined at the start of the year. During the year a number of the purchasing values will be updated with a new contract price,

  • Sharing an iTunes library with another user

    My wife and I both got iPad2's recently.   I would like to add some of my photos from iphoto and some of my music from iTunes to her iPad. I have one iTunes account.   I have built it over the years and it recognizes my iPhone and my iPad.  Can she s

  • SubReq not shown in MS04

    Hi Gurus I have created a plnning scenerio for LTP and completed the MRP run for material X, in MS04 for that material I am not seeing the sub contracting requirements from its parent material Y. The subcontracting requirements "SubReq" of Y is shown

  • NoSuchMethodError compiling with 1.4 and running on 1.3

    Hi community, I have a little problem with code like the following when mixing both JDK versions: StringBuffer sb1 = new StringBuffer(); sb1.append(new StringBuffer());In 1.3 this is linked to append(Object) and in 1.4 to the newly added append(Strin

  • Before image and after image is not updating correctly with 2LIS_04_P_ARBPL

    Hello BW gurus I am facing problem with the posting date extraction from the extractor 2lis_04_p_arbpl. I am getting incorrect before image and after image. Please let me know how to solve this problem. Thanks and regards kiran.