04-16-2018 06:10 AM
04-16-2018 07:09 AM
At a first glance your coding looks right. However I'd suggest to simplify it by using some of the specialized functions in LabVIEW. You can use some of the analysis VIs from the Waveform Measurements palette to calculate the FFT with Re-Im output (that can easily be combined to a complex array) or you can use the Cross Spectrum VI directly (likewise Re-Im output). That one can even average for you. Alternatively you can go the low-level route and calculate the FFT directly (the output is a complex array).
What could be useful would be if you could save example data on your front panel and re-post your VI. Also if you could expand a little on what you mean with not getting an appropriate result. Is it totally off?
Also for instance the three following implementations are equivalent
Other questions: Do you really need a Hanning window?
04-16-2018 01:33 PM
I'm not sure I understand the question. Do you want to know the cross-correlation of the two signals that you measured (useful when one may be a time-delayed version of the other, and you want to know the time delay)? Do you want a Cross-Spectrum (and, again, what is the question)?
Vector-averaging can be tricky. Vectors, of course, have more than one component, so simply taking the mean of the amplitudes of the vectors might not be the correct thing to do. What does your course on Signal Theory tell you to do?
Bob Schor
04-16-2018 01:45 PM
Vector averaging of the cross correlation is useful if the signals are weak (noisy) and the delay between them is (more or less) constant. The mean value is calculated for the complex values so the resulting magnitude (post averaging) is probably a useful result.
But I agree it could be good to know more about the actual application and see sample data.
04-17-2018 12:24 PM
Dear Bob_Schor,
thanks for your reply,
I am working on two channel noise detection system for measuring power and cross-spectral densities of current fluctuation near about Mhz in DUT at low temperature. To measure the noise in the sample at cryogenic temperature is difficult since the sample noise usually is much smaller than the thermal noise of the components in the detecting circuit and the parasitic noise of the amplifier of the detecting circuit. Cross-correlation is one way to solve this problem. Cross-correlation measurement eliminates all these noise by measuring "in phase" signal between two different voltage channel.
Cross-correlation technique require two amplification lines which are sampled simultaneously using national instruments PCI-5922 digitizer at a sampling rate of 10MS/s and taking 10368 samples at a time. I am sampling two channel simultaneously which is highlighted in the picture below.
The highlighted part of the picture below is my question. Which means whatever I am doing in the LabVIEW programme for measuring the cross spectral density is correct or not? First doubt is vector multiply step, I just simply multiply the FFT and the complex conjugate FFT. The step of vector averaging which is the most important step in the cross correlation technique. In vector averaging step I have just taken the Mean of the data in the For-loop. How can I perform vector averaging in Labview of the data?
No. of Average means Nave. spectras are accumulated to provide the statistical average over time.
Please help me regarding to this. So, I can correct my VI and I able to perform my experiment.
Thank you once again....