Speaker
Description
Our project aims to ease SDR workflow since there are a lot of burdens especially for new beginners. Software installation, configuration might be discouraging. So we decided to do everything in a web browser.
It's possible to talk to hardware directly in a web browser using WebUSB.
WebUSB technology is available in the Chrome browser—under Linux, Windows, MacOS, and Android—without requiring specific drivers or software. But we need to do a lot of DSPs as well. Thanks to WebAssembly and the Emscripten project, it's possible to write (and even reuse) code in languages like C, C++, Rust, Go, or C# and easily port these applications to the web. WebAssembly supports its own SIMD instructions that will be translated to native vector instructions. Web Workers can serve you as processing threads, using all advantages of modern multi-core CPUs. Later adopted WebGPU standard allows even direct computation on GPU in a browser, that allows even running machine learning over TensorFlow.js natively.
We adopted these technologies into our WSDR platform. We incorporated a C-based DSP function for filtering, modulation, demodulation and wrote a javascript based scheduler and visualizer. Simple applications can be described in a flowgraph-like description with a minimal JS. However, more complex applications are possible.
To demonstrate this we ported osmocom-based 2G cellular network. It wasn't straightforward but we managed to get it stable even if running on 10 year old laptops. Special technique required to mitigate inaccuracy of web browser task scheduler. We run all BTS related staff directly on the browser leaving BSC/MSC in the cloud. But it's also possible to have a completely autonomous network running in a browser. You don't even need a laptop since it's running well on modern smartphones. This is very interesting for a swift network deploying in a disaster recovery when you have only an inexpensive SDR.
Since we're doing it in a browser we can easily collaborate and share. We also made device sharing mode, where one can share an SDR and everyone in the world can get access to it with just a click.
For researchers and education easy access to recordings is beneficial. In WSDR it's possible to connect to a data cloud provider (Azure is the only at the moment) to store, share, modify and tag recordings in SigMF format.
Using data streams sharing you can stream data to and from other legacy software. We made a special gr-wsdr block, where you can interact with the WSDR directly inside the GNU Radio.
Since we're doing it in a browser we can easily collaborate and share. We also made device sharing mode, where one can share an SDR and everyone in the world can get access to it with just a click.
For researches and education easy access to recordings is beneficial. In WSDR it's possible to connect to data could provider (Azure is the only at the moment) to store, share, modify and tag recordings in SigMF format.
Using data streams sharing you can stream data to and from other legacy software. We made special gr-wsdr block, were you can interact with the WSDR directly inside the GNU Radio.
Talk Length | 30 Minutes |
---|---|
Link to Open Source Code | Code is going to be opensourced, we're in process of cleaning up staff |