Thanks Andy, that helps explain what I was observing. So basically, I need to use a large enough span so that my desired frequency is within +/- 1/2 the span of the 5 MHz tuning resolution? To capture 6.25 MHz, I'd need to use a span of at least 2.5 MHz so that the range of frequencies returned from my niScope_Read call will include everything from 3.75 MHz to 6.25 MHz? Is this correct?
I was previously using a 20 MHz span (and a 10 KHz BW) and it wasn't a factor. Let me explain my requirement and hopefully you can further enlighten me.
I'm trying to detect peak levels on 12 frequencies spread over multiple 20 MHz bands (normall 6 bands, as each band may contain 1 - 3 of the desired freqs). Some initial testing determined that I need to use a much smaller bandwidth (between 300 Hz and 1 KHz) to get my required resolution. But collecting six 20 MHz spans of data at those bandwidths has caused a big performance hit. Each call to tune (SmtConfigureSpectrumForRFSA) requires about 40 msec, each call to niScope_Read 20 - 50 msec, each SmtZoomFFT 80 msec, and each SmtSpectrumPeakSearch 10 msec. When that's done 6 times (for each 20 MHz band) it isn't quite meeting my performance requirements (sampling each frequency 2 times/sec). That's when I started trying to speed up things by collecting smaller spans.
1) Does my approach sound reasonable or is there a significantly faster approach I could take?
2) Is it true that the 5600 will collect the full 20 MHz every read and the software specified span doesn't change that?
3) Is there any way I can improve the performance of the niScope_Read?
4) It seems like my best performance gain would be to work on my calls to SmtZoomFFT so I'm only zooming on subsections of the entire span (those of interest)? Am I heading in the right direction with this thought?
Thanks,
Ken