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
Similar Messages
-
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. -
IQ magnitude vs Spectrum magnitude
Trying to sort something out.....Consider the following experiment where I transmit a single CW tone, which is caputred with an A/D that does a complex demodulation. The IQ samples that result have been decimated to some BW.
Now...I can do two things. I can take those IQ samples and compute the magnitude for each IQ pair (i.e. - sqrt(I^2 + Q^2)). OR, I can send those IQ samples into some of the Spectral Measurements Toolkit vi's, and observe the magnitude *spectrum* over the acquisition BW. In this case, the spectrum consists only of a single impulse at the CW tone. My feeling was that the magnitude I measure from each IQ pair should be approximately the same as the peak of the computed spectrum, since even though my measurement has some bandwidth, all of my energy is located in a single place.
Unfortunately, this is not the case. For example, if I put a known power level of x-dBm into say, my NI-5660, then I expected that the magnitude I calculated (i.e. sqrt(I^2+Q^2)), should be traceable back to that known input power. However, whether I interpret that result in Volts, Vrms, Vpk, Vpk-pk....I can never quite get an "output" power that matches my "input".
Furthermore, if I take those same IQ samples and put them through the Basic Power Spectrum.vi and then the Scale Power Spectrum.vi.....the peak magnitude of my CW tone is yet another different answer from the previous method, or the actual input. To make things worse, the Scale Power Spectrum.vi is terribly difficult to follow, making it hard to figure out exactly how the code is scaling everything and what each of the options really does.
I suppose I have three short questions....
1. If I calculate the sqrt(sum of squares)....what units is that in? Are I and Q scaled somehow such that I shouldn't expect to exactly trace back the input power?
2. Why, for a single CW tone and relatively narrow BW, would the sqrt(sum of squares) method be different than finding the peak of a power spectrum?
3. Is there a decent explanation anywhere regarding how the SMT vi's do scaling?
BrandonHi Brandon,
It looks like you're pretty much on the right track with the computations, but as you seemed to allude to the units can get a little confusing. The I and Q values that come out of the niRFSA Fetch IQ (Complex Cluster) VI will be in Volts. If you look in the help for that VI it lays out the equation for conversion to power:
Y returns the complex-value time domain data array.
The real and imaginary parts of this complex data array correspond to the in-phase (I) and quadrature-phase (Q) data, respectively. To calculate the instantaneous power of a sampled I/Q point, use the equation (I2 + Q2)/2R, where R is the input impedance in ohms (Ω). For NI RF vector signal analyzers, R = 50 Ω.
From there you should be able to compare to the peak of the spectrum, but the value won't necessarily match up for a given IQ pair since the FFT for the spectrum is calculated over a full record, generally with some averaging involved. In the case of the SMT IQ Spectrum for niRFSA shipping example it is set up for RMS averaging. You could also change the Fetch IQ VI to return an unscaled 1D array of I16 which will give you the raw data that is acquired by the card.
Your second question may be answered by the inclusion of scaling for the input impedance in the excerpt from the help above. You would also need to bridge the gap between the power in Watts from calculation and the, presumably, dB(m) of the spectrum.
For your third question the answer is sort of yes and no. The "spectral info" output from VIs such as the SMT Zoom Power Spectrum VI will give you some scaling information, and if you are using the SMT Spectrum Unit Conversion VI as well (as in the IQ Spectrum example I've been referencing) then there is a user controlled conversion to a wide range of of units. Did you have specific SMT VIs in mind other than those?
Regards,
Peter Williams -
Adding a 'minimum hold' option to fft spectrum vi
Hello
I wish to add a 'minimum hold' function to the averaging parameters in
the fft spectrum vis in labview in order to display a continously
updating spectrum displaying the running minimum value across a given
spectrum, but am having some difficulty. I have tracked down the code
in sml averaged fft power spectrum vi where the 'peak hold' option
originates, and can see it is all ready there for me to create a 'sml
min-hold vi' from the 'sml peak-hold vi' and just wire the min output
instead of the max output, but I cannot edit these files, I guess
because they are contained within the _nisml.llb? Any advice would be
greatly appreciated.
Cheers
RamseyHi ramsey,
I have been trying to find the VI's that you mentioneed but don't seem to be able tofind them in my pallettes. I believe they may be from the modulation toolkit in LV 7.1? Is this the setup that you have? Please let me know as there have been some significant changes with the analysis VI's since that revision.
Thanks
Rob L
NI Applications Engineer
UK & Ireland
It only takes a click to rate this message ;-) -
Hello Everyone,
I am using the FFT Spectrum (Mag-Phase).vi
But whatever avering parameters I use, I always get the same Magnitude Spectrum. I also wonder if I am using the VI in the correct way. I included an example.
Can anybody help me on this please?
Attachments:
SpectrumAnalyzer.vi 104 KBThere are two problems in the way your are using the VI. First, the re-start averaging is set to "True" which mean you actually re-start your averaging every time. Next, to average correctly you need to place the VI in a loop (Typically a "For" loop if you are doing linear averaging or a "While" loop for exponential averaging). The VI automatically reset (restarts) it self the first time it is called. Then you can activate the restart boolean when you want to restart the avergaging. I have made a simple VI that shows how it work (see attachement).
Attachments:
Averaged_FFT.vi 51 KB -
FFT Spectrum (Mag-Phase​) unit
Hi,
I used the VI "FFT Spectrum (Mag-Phase) " for 1 Chanfor 1 channel with input data in V.
The magnitude seems to be in volts-rms (Vrms).
Is it possible to have the result of the magnitude in V?
I have seen different topics about that, but no clearly reponse.
Regards
Julien
link to LabVIEW help
http://zone.ni.com/reference/en-XX/help/371361D-01/lvwave/fft_spectrum_mag_phase/Hi Massif,
Please Read the following KB - What is the definition of root mean square (RMS) voltage?
Here it mentions how you can convert the Vrms value to a V peak value.
I have attached a small VI which you can use to do this conversion.
Enjoy.
Message Edited by Kabul on 06-10-2008 01:09 PM
CLA | LabVIEW 7.1... 2013
www.renishaw.com
Attachments:
VRms to Vpeak1.vi 13 KB -
Hai to all,
how can i create an indicator to read the RMS value of my FFT using FFT Spectrum (Mag-Phase).vi.
as u can see in my block diagram(attached), i can use statistic to read the RMS value for the data but i cant's use it on the FFT Spectrum (mag-Phase).vi .
Thank you for helping.
Attachments:
block diagram.jpg 48 KBhafizzuddin wrote:
thank you for the opinions, for now i am not using any express Vi..
In the long run you will benefit from this. Anyway is your problem solved, or do you need more help?
Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far) -
Fft spectrum (mag-phase).vi: dependencies
Dear,
I'm having trouble using FFT Spectrum vi's. When I'm trying to add them to my vi, I get a 'Add to Project and Update Dependencies' error (see attached).
I can use the VI though.
Each time I open the project I keep getting the window to resolve the dependencies. When done, I save the project but the next time I have to start all over again.
Its like the settings aren't saved?
Can this be solved please?
Kind regards,
Ronny Comyn
Belgium
Attachments:
dependencies problem.jpg 444 KBNo yellow excalamtion marks.
Screenshots enclosed
kind regards
Ronny
Attachments:
proj_1.jpg 465 KB
proj_2.jpg 488 KB
proj_7.jpg 469 KB -
Dear Sir
I take FFT of my real time data that I collect from current probe. I successfully get the FFT spectrum. But my supervisor ask me to normalize the harmonic component present at 25 Hz in the FFT spectrum with fundamental component. Can you please guide me how I should do this task.
Also what is normalization and what are its benefits.
The frequency of fundamental component is 50 Hz.
Your attention and consideration will be highly appreciated.
Kind Regards
Urfee
Solved!
Go to Solution.
Attachments:
LabVIEW 6281-50.vi 61 KBThe problem is to know what to use as a reference for the normalization. The image below shows an expanded view of the Instantaneous Current Spectrum with the display style set to show the actual data points. I also moved the frequency indicator wired to the Tone Measurements VI into the image. The frequency as detected is not exactly 50 Hz. Note that the data points in the spectrum are not symmetrical about 50 Hz. This is another indication that the sampling is not perfectly synchronous. The result is that the spectrum contains 11 points fro 49 to 51 Hz which are within 60 dB of the highest point. If you want to normaize to the fundamental, you need to determine the total energy in the fundamental component. That probably includes the data points in that 2 Hz range or maybe slightly more.
Although you stated that you are sampling at 25 kHz, the latest VI you posted shows 8 kHz sampling.
Multiplying the voltage and current waveforms will give you instantaneous power - almost. If you are using a multiplexed A/D converter, then there is a small time delay between channels. That produces a phase shift that will introduce errors in the instantaneous power and other results like power factor. For example sampling two channels at 8 kHz means that each sample on one channel is 12.5 us apart. Consecutive voltage and current samples may be separated by half that much (assuming you are only sampling two channels). The phase shift at 50 Hz from a 6.25 us delay is 0.11 degrees. You will need to decide it that introduces more error than you can tolerate. Faster sampling will reduce that. Using a simultaneous sampling DAQ device (which contains one A/D converter per channel) will eliminate it.
Lynn -
Hi,
I've got a sine wave signal that oscillates about the zero axis in the negitave and positive. It is measuring wave height about the static water level in an water wave tank. I am calculating the FFT but the amplitude is lower than the wave height in the time domain. Does this mean that I'm calculating it wrong? I don't know wheather I should be using the FFT Peak or RMS? I assumed that the FFT amplitude should give me the same amplitude as the time domain.
Any advice would be greatly appreciated.
Thank you,
Donners
Solved!
Go to Solution.Donners,
It can get complicated but I suspect that what you are seeing is a result of the frequency of the waves not matching exactly the frequency bins of the FFT. For example suppose that df = 1 Hz. Then each element of the FFT array represents the energy in a "bin" one hertz wide centered on integer frequencies. For a wave with most of its energy at 7.3 Hz the FFT will likely have non-zero values for both the 7 and 8 Hz bins. In real systems with noise and slight frequency variations it is not uncomon for the data to be spread over 10 or 20 bins. To get the fundamental amplitude of the signal you would need to combine the energy in all those bins. Since the FFT produces a complex output, the phase component also needs to be considered. Non-sinusoidal waveshapes mean that some of the energy is in harmonics. A narrow square pulse can have a quite large amplitude yet still have no large spectral components.
The short answer is that generally there is no easy way to get precise correlation between the peak amplitude in the time domain and the amplitude of the spectral components in the freqeuency domain.
Lynn -
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
GregGreg,
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 -
How to enhance frequency resolution of fft spectrum on x-axis
Dear Sir
I get the frequency spectrum of my real time signal. Frequency span that I want to analyze is 0~500hz. I get that span by setting the sampling rate. But the frequency resolution coming on graph is of 100hz (as shown in attachment). My requirement is to have frequency resolution of 10hz with same frequency span. Please guide me how can I achieve this.
I shall be thankful to you
Kind Regards
Muhammad Irfan
Student
UTP Malaysia
0060149087570
Solved!
Go to Solution.
Attachments:
fft graph1.JPG 40 KBI set the dt value to 0.002. For this I set sampling rate 2000hz and no.of samples 1000000. In this way I achieve frequency span of 250hz. But resolution is still 100hz (as shown in attach 1). My question is how can I set resolution to 10hz? I increase the number of samples but from doing this only the frequency span changes and resolution remain same as 100hz. Resolution become 10hz only when I set total frequency span to 50 hz (but My frequency span of intrest is 0~500hz or 0~250hz not below thos).
I am attaching the gaph in attachment 2 from where you can undersatnd what type of resolution and frequency span I want.
Attachments:
fft graph2.JPG 39 KB
desired values for scales.JPG 35 KB -
Hello, Iam trying to perform HRV FFT Spetrcum analysis on filtered ECG Signal, i am facing 1 major problem which is acquiring the RR intervals from the filtered rectified ECG Signal, i have tried to look this up a lot on the internet and tried a lot of things that did not yield to promissing results. Can somebody suggest the most efficient way to extract RR intervals from filtered rectified ECG wave?
Hi Ayman162,
What software are you using? Would it be possible to use arrays to analyze the data? If so, you can use logic combinations to look at the y-values in the array. If we are expecting the peak of the QRS complex to be about 1 mV, we can start using comparison logic when the values exceed .8 mV for example. Then when the y-value (n) is LESS than y-value (n-1), we can store the timestamp associated with the (n-1) value. The next time we get a timestamp from the peak of the QRS complex, we just subtract the first timestamp from it to get the RR interval.
I didn't get a chance to look through this page, but at first glance it seems like it might be helpful, so I thought I'd include it:
http://www.physionet.org/tutorials/hrv/
Jeff Munn
Applications Engineer
National Instruments -
Hello everyone,
I am trying to make the Spectrum analysis from a 2D array. In this case is Amplitude (Y) vs Depth (X). The problem is that the depth (X) doesnt have a constant dt so I cannot create a normal waveform as an input for the Power Spectrum analyzer or Spectral Measurements vi.
This is an example of some of the data that we have:
Depth (x) Amplitude (y)
8390.7
-15.767
8391.2
15.767
8391.7
6.8555
8392.2
-6.8555
8392.7
25.754
8393.2
-25.754
8393.7
2.8505
8394.2
-2.8505
8394.7
-8.574
8395.2
8.574
8395.7
-16.145
8396.2
16.145
8396.7
-0.063
8397.2
0.063
8397.7
3.3945
8398.2
-3.3945
8398.7
7.712
8399.2
-7.712
8399.7
-6.267
Thanks for any help
Solved!
Go to Solution.I gave you a portion of the signal that always have a constant dt. Sorry ... There is another part of the signal where there are different dt's :
8407.5
-26.08
8408
-15.189
8408.5
15.189
8409
6.5495
8409.5
-6.5495
8410
54.577
8410.5
-54.577
8411.2
-24.185
8411.5
24.185
8412.3
-41.445
8412.5
41.445
8413.4
25.7285
8413.5
-25.7285
8414.1
12.4975
8414.5
-12.4975
8415.2
-16.5155
8416.1
16.5155
8416.6
-24.4 -
Need PID vi that outputs analog instead of digital (on/off)
I am trying to actively control an electron gun filament using a PID vi that I found in some of the examples but it is not proportional control like I need. Instead it is digital on/off. I want to proportionally control the filament voltage. Turning it on and off is not good. I think the vi that I have is simple PID or something like that. It would work fine if it would output an analog value instead of on/off.
PerryHello Perry,
Wanted to double check whether you are using PID.vi from the PID toolset of LabVIEW. The PID.vi outputs an analog value within the output range that you specify. There are also PID example in the NI example finder that you could take a look at.
Hope this helps.
Regards,
Arun V
National Instruments
Maybe you are looking for
-
Dear All, I have designed a form.In which in have created new Customer and having no Item list for this Customer.And i have taken an exsisting Customer which have Item in it. When i press VIEW button it should pick the Old Customer Item Details and p
-
freezes very often imac
-
Auto-shift of focus between JTextFields
Greetings. I have an array of 50 JTextFields which I restricted to a four-character entry limit. The limit works just fine, but I would like the focus to shift to the next JTextField when the limit is reached. Currently, I'm watching for the limit vi
-
Hi, I am exploring the enhancement CNEX0031 to be able to write some code for progress caclulation. As per the docuementation,this exit is triggered in txn CNE1. However, in spite of putting a break-point in the user -exit and thereafter running CNE1
-
Using PListBuddy to open Safari in 32bit mode
Hi everyone, We've just done an upgrade to Safari 5.1 here and some webapps at the company do not function with Safari in 64bit mode. I know I can use PListBuddy to edit the com.apple.launchservices.plist to set Safari to open in 32bit mode for each