Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sweeps with an Ettus B200 USRP take an eternity #90

Open
aaronwoodcox opened this issue Jan 29, 2021 · 4 comments
Open

Sweeps with an Ettus B200 USRP take an eternity #90

aaronwoodcox opened this issue Jan 29, 2021 · 4 comments

Comments

@aaronwoodcox
Copy link

aaronwoodcox commented Jan 29, 2021

As a user, I would like to be able to sweep frequencies using an Ettus B200 USRP at a performance level similar to what can be done with RTL HW using the rtl_power_fftw. Sweeps with the B200 USRP using soapy_power are incredibly slow, for example taking upwards of 20 seconds to cover 20 MHz or less. Where the USRP is capable of sweeping frequency ranges outside the capabilities of an RTL, it would be very desirable to be able to achieve similar performance to the RTL with the USRP. Not quite sure why the USRP tuning would be so slow - Is there any chance the USRP FW image is being reloaded between each tune? And if so, can this be rectified?

(Note, I can certainly provide more details and logs, but before going to the trouble to do so wanted to see if this is already a known issue that is being worked and/or if there might be a workaround I am unaware of that would speedup USRP captures.)

@puchol
Copy link

puchol commented Nov 19, 2021

I see the same, have not managed to cure it. I also see the same signal pattern no matter where in the spectrum I look.

@aaronwoodcox
Copy link
Author

I've all but given up on qspectrum analyzer w/ the B200... I would love to get it working, but doesn't appear this repo is active any longer (at least no one seems to be responsive...). One thing you might check - at least got things working slightly better for me - was to confirm that under "Settings" in the "Device" field you have "driver=uhd" and also play around a bit with the sample rate settings. Also, if you run qspectrumanalyzer from the command line, you can at least see what it's doing under the hood (i.e., you can see the actual soapy_power command it issues, see it loading the USRP FW, etc.). Here's an example (and note you can copy/paste and run the soapy_power command directly if you'd like to experiment with things - just be sure to remove the --output-fd portion of the command):

$ qspectrumanalyzer 
Starting backend:
soapy_power -f 430.0M:440.0M -B 1.0k -T 0.01 -d driver=uhd -r 3840000.0 -p 0 -F soapy_power_bin --output-fd 29 -w 3840000.0 -g 15.0 -k 20.0 -c --even --fft-window boxcar --remove-dc

[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100; UHD_3.15.0.0-release
[INFO] [B200] Loading firmware image: /usr/share/uhd/images/usrp_b200_fw.hex...
[INFO] [b200_impl.cpp:386] [B200] Detected Device: B200

Anyway... hope this helps? And if you figure anything out to get sweeps to run at anything approaching a usable rate, please let me know!!

FWIW, here's an alternative, really simple approach to getting a workable spectrum analyzer running with a B200:
https://wiki.gnuradio.org/index.php/Guided_Tutorial_Hardware_Considerations#Creating_a_Software_Radio_Spectrum_Analyzer

@puchol
Copy link

puchol commented Nov 19, 2021

Thank you for your feedback! I was struggling with the "Device" field, nothing I tried seemed to work, I will give your format a go. Will feed back if I get anywhere useful.

@NustyFrozen
Copy link

hi, i have b210 (same series) i was having the same issue try lowering the number of repeats in soapy_power it will average less (for welching) so it will look more noisy but it will dramatically decrease the sweep time since it will sweep lees i was able to get it to sweep 500mhz span/sec (with hops)

You can also try increasing sample rate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants