Topics

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


dl8ebm
 

Hi Everybody,

I have a few questions on the real life situation with mini computers and the Spyserver.
- 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)?
- Do I have to reduce the FFT framerate in order to not overload the CPU? 
- 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. 
- 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?
- 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 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?
- Do you have any recommendations on where to get a low RF-noise 5V 4A power supply for these more powerful boards?
- 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?
- 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.

In advance many thanks for any constructive feedback!


prog
 

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.


Jeff Kelly
 

I am running the Asus Tinker board…one with an Airspy and one with a RTLSDR V3
It handles the 2.5 MHZ Airspy bandwidth and the 2.4 RTLSDR fine.  And I think 10 users would be fine.

It does burp a little with the 8 mhz bandwidth of the airspy. so wouldn’t recommend that.

I have 4 tinker boards stacked for projects and have pretty much put the RPI’s in the drawer! Love them.

Tinkers...




Jeff
K2SDR





On Nov 21, 2017, at 4:33 PM, weird_joe@... wrote:

Hi Everybody,

I have a few questions on the real life situation with mini computers and the Spyserver.
- 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)?
- Do I have to reduce the FFT framerate in order to not overload the CPU? 
- 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. 
- 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?
- 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 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?
- Do you have any recommendations on where to get a low RF-noise 5V 4A power supply for these more powerful boards?
- 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?
- 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.

In advance many thanks for any constructive feedback!


prog
 

On Tue, Nov 21, 2017 at 02:06 pm, Jeff Kelly wrote:
It does burp a little with the 8 mhz bandwidth of the airspy. so wouldn’t recommend that.
The Odroid XU4 has a slight edge on this use case.


Marcus D. Leech <mleech@...>
 

On 11/21/2017 05:21 PM, prog wrote:
On Tue, Nov 21, 2017 at 02:06 pm, Jeff Kelly wrote:
It does burp a little with the 8 mhz bandwidth of the airspy. so wouldn’t recommend that.
The Odroid XU4 has a slight edge on this use case.


Jeff Kelly
 

Hmmm - gonna try the 8 mhz for a little while!  :-)


On Nov 21, 2017, at 5:23 PM, Marcus D. Leech <mleech@...> wrote:

On 11/21/2017 05:21 PM, prog wrote:
On Tue, Nov 21, 2017 at 02:06 pm, Jeff Kelly wrote:
It does burp a little with the 8 mhz bandwidth of the airspy. so wouldn’t recommend that.
The Odroid XU4 has a slight edge on this use case.



Jeff Kelly
 

sdr://k2sdr.dyndns.org:5555 is on 8 mhz now.

Jeff



On Nov 21, 2017, at 5:40 PM, Jeff Kelly <jkelly@...> wrote:

Hmmm - gonna try the 8 mhz for a little while!  :-)


On Nov 21, 2017, at 5:23 PM, Marcus D. Leech <mleech@...> wrote:

On 11/21/2017 05:21 PM, prog wrote:
On Tue, Nov 21, 2017 at 02:06 pm, Jeff Kelly wrote:
It does burp a little with the 8 mhz bandwidth of the airspy. so wouldn’t recommend that.
The Odroid XU4 has a slight edge on this use case.




prog
 

On Tue, Nov 21, 2017 at 02:47 pm, Jeff Kelly wrote:
sdr://k2sdr.dyndns.org:5555 is on 8 mhz now.
 
Jeff
Works just fine.


dl8ebm
 

Thanks so much for this comprehensive feedback, it really gives me a very good idea for what I can do and what to not invest in / try.

The Tinker is much cheaper than the octa core Odoids, where I may also have to build my own metal case ... so I will decide for the slightly less powerful Tinker with a standard Pi metal case with fan and heat sinks and I should be good to go.
I will let you know if I find a powerful low noise supply - will probably build a powerful one with a toroidal transformer and traditional regulation, swapping noise for heat, and run all my USB devices across one single clean unit.
The hint with the command line server call with its specific config is making life very convenient, especially when updating.

Happy Thanksgiving everyone
Joe


prog
 

On Thu, Nov 23, 2017 at 02:17 pm, <weird_joe@...> wrote:
Thanks so much for this comprehensive feedback, it really gives me a very good idea for what I can do and what to not invest in / try.

The Tinker is much cheaper than the octa core Odoids, where I may also have to build my own metal case ... so I will decide for the slightly less powerful Tinker with a standard Pi metal case with fan and heat sinks and I should be good to go.
I will let you know if I find a powerful low noise supply - will probably build a powerful one with a toroidal transformer and traditional regulation, swapping noise for heat, and run all my USB devices across one single clean unit.
The hint with the command line server call with its specific config is making life very convenient, especially when updating.

Happy Thanksgiving everyone
Joe
Happy Thanksgiving, Joe.


dl8ebm
 

Dear Jeff,

many thanks for the feedback and the real life access to your Tinker based receivers.

8 MHz is quite a stretch and it may run well for while and then stutters and loops, for this much bandwidth the Ordoid may be the right choice, though it is not yet proven if the application uses its full resources.
The direct sampling RTL-SDR on 5557 is behaving very well for the fact that the dynamic range is so limited.
I tried to decode the VDL2 on 136.975 (SatRX on 5556) but was unable to get the IF wide enough to pass along the audio to be decoded.
Then I switched to full IQ which would have worked if the server didn't start stuttering.
How do you decode your satellite data, which is also wider than traditional signals?
Maybe it started stuttering because your satellite decoders in real I/Q mode kept the machine busy already?
Impressive S/N on the satellites by the way!

Happy Thanksgiving
Joe