On 11/14/2017 06:35 PM, David Rose via USRP-users wrote:

All,

I’m trying to implement a spectrum analyzer that spans the 2.4 GHz ISM band. The band I want is about 90 MHz wide, which is too wide to handle at one frequency setting. So my design is to step the receive frequency across the band, pausing at each step to collect enough samples for an FFT. I’m sampling at 10 Msps, and only need 1024 complex samples at each frequency step.

My flowgraph has the following components:

  * _Source block_: (Controls the B200-mini)
  * _Stream-to-vector block_: (Groups the samples in to 1024-sample
    vectors)
  * _Signal processing block_: Custom block, written in Python, that
    does the FFT, computes the magnitude, and writes the results to
    file.  Also tells the source when to change frequency.

The problem is, if the dwell time at each frequency is less than about 3 mS or so, the B200mini doesn’t respond to the “set frequency” command. It adds a tag to the stream that _says_ it changed to the new frequency. And if I interrogate it using the command “new_f = self.uhd_usrp_source_0.get_center_freq()”, it returns the new frequency. But based on looking at known emitters in the resulting spectrum, the frequency does not in fact change—it just continues generating samples at the original center freq. If the dwell at each frequency step is more than 3 mS or so, it all works as it should.

The 3 mS limit doesn’t seem to be related to the settling time of the PLL in the receiver. After a successful frequency change, I see valid samples (and valid spectrum) within about 0.1 mS.

Bottom line is, I only need one vector of 1024 samples at each frequency, but this issue is forcing me to wait for around 30 vectors at each freq. That’s too slow for the intended app. Has anyone run into this before (I assume they must have), and is there a solution?

Misc info:

  * GNURadio version 3.7.9
  * GNU Radio Companion 3.7.12
  * UHD version: 3.11.0.git-191-g1cd96dde
  * Python 2.7.12
  * Ubuntu 16.04.3 LTS - Desktop version
  * Running on Oracle VM VirtualBox Manager (version 5.1.28) under Windows

Thanks,

Dave Rose

Valkyrie Systems Corp.


I'm not sure why things are being apparently *ignored* at 3ms intervals, but the AD9361 is not known to be terribly zippy in changing frequencies. There is an optimization in UHD where if the frequency change is less than (AFAIR) 100MHz, it doesn't both doing laborious recals on some of the internal compensation machinery in the AD9361. But even absent *that*, it's not a fast-hopping synthesizer.


_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to