Dynamic Signal Acquisition

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-4552 w/2 FFTs and 2 Analog channels?

I am trying to use the DSA library with VB6 to capture two FFTs (channels 0 and 1) while still capturing raw audio on channels 2 and 3. Is this possible? If so, can someone clarify the steps to do this, or point me toward one of the examples that shows something like this? Thank you for any input.
0 Kudos
Message 1 of 4
(6,897 Views)
It is possible for NIDSA to return 2 FFT's (ACH0 and ACH1) and 2 Time domain data (ACH2 and ACH3).
I would first like to make sure you are using NIDSA 1.2 - Could you please confirm you're using this version of NIDSA ?
The reason for this question is that we've been adding new examples for VB users as well as a Software user manual that should help you getting started with your 4552
http://digital.ni.com/manuals.nsf/websearch/032430F78301D4A986256AC7004DFC52?OpenDocument&node=132100_US

Anyway, the steps to achieve what you're looking for :
- Initialize NIDSA
- Configure Mode as FFT_4_Channels
- Configure HW parameters (range, trigger, etc...)
- Route ACH"i" to analyzer"i" [i=0 to 3]
- Configure baseband FFT settings (span, averaging
mode) [Note : sampling frequency will be calculated from the span you define)
- Check if new measurement is available (in a loop)
- If new measurement is ready, Read Base_FFT0, Read Base_FFT1, Time2 and Time3

You have additional functions to set units and get useful information such as sampling frequency.
There is also a "Capture" mode you could use in order to save time records to file.

I attach an example in C that describes the basic steps to use NIDSA.
It's been developped using LabWindows/CVI and it should be quite easy to port it to VB and adapt it to your needs.

I hope this will help !

Gerald Albertini
Message 2 of 4
(6,897 Views)
Thank you, Gerald. I will study the attachment. From the steps you listed above, I can already see that I approached the problem incorrectly, as I had chosen FFT_2_Channels. Thanks again, Billy.
0 Kudos
Message 3 of 4
(6,897 Views)
Billy,

I would like to attach a LabVIEW diagram that shows in more details how to perform this operation.

A few tricks :
- You can use "-1" if you want to apply similar settings to all the channels (Input range, coupling)
- In the "configure base FFT engine ()" function, select Auto(power spectrum) if you're not interested in phase measurements - Select FFT if you need phases - Select Cross Power spectrum if you're performing Frequency response measurements. This has been implemented in order to minimize operations on the DSP (no need to compute phase if you're not interested in it...)
- In configure Base FFT engine, a size of 1024 points will lead to a 400 lines FFT if you're using "classical bands" (# of lines = blockS
ize / 2.56)
- You will be able to ask the Read Measurement() function to retun info in dB and you will be allowed to select Real, Imaginary, Mag or Phase - If you need Mag + Phase, simply call this function twice with appropriate parameters

Please look at the attached HTML file - It shows how to sequence these operations to perform the measurements you're interested in (simply need to add the "Read Time2" and "Read Time3")

Please let me know if you have additional questions.

Best regards

Gerald
0 Kudos
Message 4 of 4
(6,897 Views)