02-11-2009 03:26 AM - edited 02-11-2009 03:27 AM
Hi,
We have a PXI-1044 chassis and 2 PXI-5661 RF Vector Signal Analzyers. We want to take synchronous IQ data from 5661s. Thus, we tried to synchronize the clocks of these 5661s.
Firstly, we used niRFSA to achieve syncronization, we connect the 10 MHz output pin of 1st 5600 to RefIn pin of 2nd 5660. 5142s' ClkIn pins are connected to 5660s' 10 MHz output pins. The code for syncronization is below
checkWarn ( niRFSA_ConfigureRefClock (session1, "OnboardClock", 10E6) );
checkWarn ( niRFSA_ConfigureRefClock (session2, "RefIn", 10E6) );
but there is a phase shifting with time between the signals taken from the two 5661s.
How can we syncronize these two 5661s and get rid of phase shifting between the signals?
Second problem is about the use of niScope with niTuner.
We try to DDC property of 5142, tune 5600 with niTuner and try to downconvert the signal with niScope using DDC properties. We want to achieve continuous data fetching but we can only fetch the amount of data ((numSamplesDesired)) described in
handleErr ( niScope_ConfigureHorizontalTiming (session1, IQRate, numSamplesDesired, 0.0, 1, NISCOPE_VAL_TRUE) );
How can we achieve continuous IQ data fetching with niScope?
02-12-2009 05:35 PM - edited 02-12-2009 05:36 PM
Hi muratkebeli,
I would like to clarify that even though you may reference multiple 5661's to the same 10 MHz reference clock, you cannot accurately synchronize them together since each 5600 downconverter derives its own local oscillator (LO) which cannot be shared across multiple devices. Please take a look at the following KnowledgeBase for more details.
Can I Synchronize Mutiple RF Devices?
However, I would like to add that our newer 5663's have the ability to be synchronized together since the LO is not internal to the downconverter, but rather taken from an external source such as a 5652 RF Signal Generator.
As for being able to continuously fetch data from your RF Vector Signal Analyzer, you will need to setup a callback function and keep calling the fetch function to transfer data from your onboard memory to your buffer (RAM). Know that when the acquisition is initiated, the hardware starts acquiring data and puts this data on the onboard memory. Every time a fetch function is called, it transfers an amount of data set by your fetch size from onboard memory to your computer RAM. Therefore, as long as you keep offloading the onboard memory at a fast enough rate, you should be able to continuously acquire for a longer period of time before your buffer overflows with data.
I hope this helps,