3 ms·
Yes! There is a very active community of using Cuda to do signal processing[1]. Latency is an interesting thing, its always part of the SDR pipeline since you
by ChuckMcM 6y ago
Yes! There is a very active community of using Cuda to do signal processing[1].
Latency is an interesting thing, its always part of the SDR pipeline since you have filter delays and processing delays. Most digital streams are uni-directional so you get the bits out, just shifted by 'x' nS. Since the 'x' is deterministic you can plan for it.
[1] https://github.com/rapidsai/cusignal https://github.com/rapidsai/cusignal
- CamperBob2 6y agoThat's pretty cool. I don't know anyone who does realtime signal processing work in Python, though, least of all myself. Are there C bindings for all of that stuff?
- ksaj 6y agoI'm not sure if this is precisely what you are looking for, but it's been on my radar for a while for a potential upcoming project. It has limitations (64-bit Windows only, for one) which is why I haven't acted on it yet. But it is part of my pre-project research just the same. https://github.com/taroz/GNSS-SDRLIB https://github.com/taroz/GNSS-SDRLIB
- ChuckMcM 6y agoNearly all of the "heavy lifting" as it were are C or C++ libraries. Python is just the 'plumbing' level. It is not dissimilar to using MATLAB where the drivers are all optimized code but the connection between them is MATLAB. This design pattern is a common of nearly all SDR frameworks (Gnuradio, Redhawk, Pothos, Etc.) The "interconnect" between processing elements is typically shared memory, and that is why it lends itself to GPU work as well. That said, since my head is most comfortable thinking in C, I tend to write stuff in C rather than Python :-).