Re: CPU load on single board Linux computers with 12 bit SDR? #hardware #spyserver


On Tue, Nov 21, 2017 at 01:35 pm, <weird_joe@...> wrote:
Hi Everybody,

I have a few questions on the real life situation with mini computers and the Spyserver.
Just ask!

- I'd like to know how the CPU load of e.g. a Raspberry Pi 3 is when running the Spyserver with a device like the Airspy or Airspy Mini (more than 8 bits)?
A Raspberry Pi 3 won't be able to handle more than 3MSPS regardless of the bit width. It's not the best platform for SDR for two reasons:
1) Shared bus between USB and the network controller
2) Modest processing power - not suitable for hosting a public server with a lot of clients

- Do I have to reduce the FFT framerate in order to not overload the CPU? 
That's one possible option.

- What bandwidth can I practically use? Full spectrum? (full 10MHz on an Airspy?) I am really impressed how low the CPU impact on a second connected client is when running it under Windows. 
The server is scalable. The FFT is calculated only once for all the clients, then it is sliced and streamed to the clients depending on their current "view". The DDC that tunes within the device's bandwidth uses newly developed algorithms that guarantee very high alias rejection while minimizing the CPU usage per session.

Getting many users on 10MSPS is easy on a TinkerBoard, Odroid XU4 or UpBoard (Atom or Celeron). Just don't expect the same level of performance from a RPi3. Very, very big difference.

- Would you recommend a more powerful mini computer, like the Asus Tinker or Odroid octa core with twice as much RAM and much more performance?
RAM is not a problem. But the CPU's of these beasts are really powerful and more than adequate for server use cases.

- I believe the Asus Tinker has the exact same physical outlines of the Pi3, and there are plenty of inexpensive metal cases that should minimize the RF
If it fits with a fan on the CPU, you should be fine.

noise - so I guess that would be an advantage against the Odroid boards which are available with the faster memory modules than the fastest SD cards as far as I have been reading. Any recommendations on that?
Most of the noise is generated by the PSU, not the board itself. Get a clean PSU, use good cables and move your antenna away from sources of interference. If you still have noise, get a metal enclosure.

- Do you have any recommendations on where to get a low RF-noise 5V 4A power supply for these more powerful boards?
No idea. If you find one, please let me know.

- in case performance on these boards is no big issue, can I also run several Spyserver in separate directories addressing different receivers in parallel in Linux like I currently do on my Windows server?
You can use the same directory with different config files. Just run the executable with the config file name as parameter. Make sure the ports are different.

- I have just been trying to run the Spyserver on my little Raspberry-Pi Zero W with the latest OS (slim version w/o GUI) but the only thing I get a a segmentation fault. The relatively dumb RTL-TCP server runs fine, so the dongle and driver setup works. So far I could not find out what the actual problem is. I have already been reformatting the SD card and put the latest image on.
The code was compiled so it can take advantage of more modern and capable hardware. Pi Zero should not be used as a DSP server anyway.

In advance many thanks for any constructive feedback!

You are welcome. Thank you for asking these questions. This will help many other people.

Join to automatically receive all group messages.