LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FFT analysis and vector averaging

I have AM modulated (Carrier 250 kHz sampling) signal which I send it to USB 6218 DAQ. Then I measure the FFT using vector averaging to increase SNR. The whole program is in sequential form so that the signal generation is done and repeated in a loop and the next sequence FFT is computed. 

 

If I do measurement on the same DAQ and with the same sampling frequency for input (250 kS/s) then I am getting correct frequency spectrum but if I use two different DAQ, one for signal generation (AO) and second for measurement (AI) then I think I have synchronization problem because the averaging does not work. However, when I am using the same DAQ and I don't do any sync. 

The reason I would use two DAQs is sampling limitation of my card which is 250 kS/s and I have to go beyond that which is 300 kS/s.  I am stimulating with sound and measuring vibration. So the input sampling rate can be far less but when I go with lower sampling I have aliasing problem and again non-sync. 

 

I would appreciate if you share your experience about it!

 

Best regards, 

 MGH

0 Kudos
Message 1 of 6
(3,421 Views)

Dear M.GH,

 

could you list which HW apart from the USB 6218 you have available and maybe post your aquisition code?

 

Best regards
AndGar

Andreas Gareis
Senior Applications Engineer, NI
Certified LabVIEW Developer & TestStand Architect
0 Kudos
Message 2 of 6
(3,389 Views)

Hi,

 

I have attched the program but since I use an excel sheet reading subVI, you might not be able to open this.

I have another card-NI PCI-MIO available!

 

But the generated signal goes through a buffer amplifier to the resonator (LC-tunued at carrier frequency). Then it is transmitted to the vibrator after demodulation. I have an accelerator and a charge amplifier to measure the vibration. 

0 Kudos
Message 3 of 6
(3,380 Views)

If you do vector averaging on FFT values the phase relation is important !

Think of two values of the same magnitude but 180° phase shift -> no magnitude 😄

So your aquisition and generation needs to be synchronized. If you run it on the same board they use the same timebase and are more or less synced by accident 😉

If you use different boards even the small difference in the oscillators can generate errors. ( Can be corrected with some math assuming the carrier is constant)

But in addition the phase of your signal depends on the time of your generation start and aqusition start. 

 

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 4 of 6
(3,369 Views)

Dear M.GH,

 

thank you for the information. What model is the PCI-MIO Card? Can't you perform the aquisition on that card alone? Otherwise i only see the possibility of synchronization by sharing a sample clock from the usb daq to the pci card via a PFI line. The propagation delay of the trigger signal might become a problem so you'd need to reduce the cable length between the two as much as possible.


Take a look into this white paper (part 3):

 

Synchronization Explained

 

Best regards

AndGar

Andreas Gareis
Senior Applications Engineer, NI
Certified LabVIEW Developer & TestStand Architect
0 Kudos
Message 5 of 6
(3,323 Views)

Thank you  AndGar and Henrik for your reply!

 

The card is a NI PCI-MIO-16E-4 (NI 6040E) and my intention is to use 6218 daq because I need its isolated property.

 

kind regadrs,

MGH

0 Kudos
Message 6 of 6
(3,309 Views)