David,
Not a direct answer to your question but an idea for you to sidestep it.
Setup your B200-mini to capture a big chuck of spectrum, say 56MHz, with the 
band center at 2022MHz.
You are going to capture 56MHz of spectrum up front but only pass a 1MHZ 
sub-band of that at any one time to the host.
You do this by setting master_clock_rate=56e6 and samp_rate=1e6.
Then use a tuning request to the DDC (Digital Down Converter) within the USRP 
to instantaneously retune the sub-channel digitally without retuning the LO 
synthesizer.
http://files.ettus.com/manual/structuhd_1_1tune__request__t.html 
<http://files.ettus.com/manual/structuhd_1_1tune__request__t.html>
So you would start with a target frequency of 2400.5MHz and an LO offset of 
21.5MHz, then step them both by 1MHz (with opposite signs) to tune each band.
After you grab your first 45MHz, do a retune of the RF LO to 2067MHz and repeat 
the process.
(The excess bandwidth captured leaves filter rolloff out of band)
-Ian


> On Nov 14, 2017, at 4:15 PM, Marcus D. Leech via USRP-users 
> <usrp-users@lists.ettus.com> wrote:
> 
> 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
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to