09-16-2011 09:15 AM
Can you save the VI for Previous Version (version 10) and post it again, please?
Lynn
09-16-2011 09:16 AM
@shjukheter wrote:
Hello,
I have been analyzed with all kinds of spectrums and you can see in pictures below. I have no idea to separate the noise and original frequencies and I would like to do the same for what ever the device is connected to my program.
I cant open the VI since i only have 2010 here, but from the FFT you get an array of amplitudes that you show us on the graph, right? Each array step is the amplitude for a small frequency band (sampling freq/bands). From the noisy signal vs nice signal we can see that amplitudes of 1-2kHz signals are > 0.02.
So, Split Array block at index X (2kHz), send to Bigger than 0.02-block. Send to Or-array, if True then you have some noise spike.
You can ofcourse make it more advanced by requiring more than x true, more than y total signal or similar.
/Y
09-16-2011 09:22 AM
There is nothing in the VI. I just then waveform which is coming from DAQ assistance and connected to all analyzers. Previously, I done with amplitude levels and the efficiency is not at all good. I hope this way is best to just find the noise freqs and take the decision on those basis.
09-16-2011 09:35 AM
We also need some data. Please run your VI with a noisy pump. When you have data on the screen, stop the VI and then from the Edit Menu, select Make Current Values Default. Save to Previous Version and post that.
Without some data we cannot suggest any useful changes to your program.
Lynn
09-17-2011 02:06 AM
I am out of my setup now and I will post it later but According to Yamedha, I am getting cluster of data i.e.. f, df and magnitude not the array of amplitudes and frequencies. I am using options from Waveform pallet and I am much confused about Power spectrum, power spectrum density FFT and magnitude and phase FFT.
09-17-2011 02:20 AM
I am out of my setup now and I will post it later but According to Yamedha, I am getting cluster of data i.e... f, df and magnitude not the array of amplitudes and frequencies. I am using options from Waveform pallet and I am much confused about Power spectrum, power spectrum density FFT and magnitude and phase FFT.
I would like to do in a way that convert the waveform into freq domain and filter out the total noise(at the same time I would like to see the noise level because it is different from pump to pump). Based on these noise data, I would probably write some data to pump and again make a check with noise level(decreased or same as before writing). If it decreased, probably continue to write some data until its gets minimum or vanish(noise).
The noise level(frequencies) is not always same for all. As you saw before, Some noise is overriding until 1 to 2kHz but incase of some other pump, it will be more than 2kHz and also the peaks before 2kHz to 0 Hz are also get increased in their amplitude levels. So, because of this reason, I would probably like to make system that will automatically delete the noises and no matter what the device is connected. I should separate the both frequencies and then go to next
step.
09-18-2011 10:01 AM
The cluster for the waveform coming from the spectrum VIs contains three components: f0 = the center frequency of the first bin, df = the interval between the centers of adjacent bins also known as the frequency resolution, and magnitude = array of magnitude of the signal in each bin. From the help for FFT Power Spectrum andPSD VI: "magnitude is the magnitude of the averaged power spectrum or power spectral density. If the input signal is in volts (V), magnitude has units of volts-rms squared (Vrms2) for power spectrum and volts-rms squared per hertz (Vrms2/Hz) for power spectral density. If the input signal is not in volts, magnitude has units of the input signal unit-rms squared for power spectrum, and input signal unit-rms squared per hertz for power spectral density."
Other spectral VIs may have units of volts squared or votls peak. Read the help.
If you use the basic FFT.vi you get an array of complex values containing both the ampliutde and phase information.
In any case the array has all the information you want. To calculate the frequency of the ith element or bin use f(i) = f0 + 1*df.
Lynn
09-19-2011 06:07 AM
Thank you so much for helping through out the way.
I have done in the following way. I have taken some 10 different pumps(small and big) and saved the sample data for each pump incase of noisy and nonoisy situation. I just plotted all the data in MATLAB with red color(no noise) and blue color(noisy) to see exact noise frequencies. Now, How can I differentiate these frequencies.
09-24-2011 07:45 PM
I have been away on a brief vacation.
Can you save that data (from MATLAB) as a text file and post it?
What is the significance of the amplitude steps in the time domain? It appears that something changes very 0.2-0.3 seconds.
Lynn
09-25-2011 05:36 AM
Hello,
After long time, I have been missing you here. Anyway, I have done it in another way that I just applied a highpass filter 550Hz as cutoff frequency 650 as stop frequency and I calculated the power of signal after that highpass filter. Then, I am just thinking to compare that power with one reference power value(taken from observation of some 50 good pumps but right now I am just using some value as guess). I tested this with pumps and it is also not efficient and again switch back to the amplitude version. I attached a zip file here with my all codes but without subvi because those are only for serial communication. The logic was written in this vi for calculating or observing the peaks.