Discussion:
[rust-dev] Rust Radio - an SDR framework
Allen Welkie
2014-09-11 12:56:04 UTC
Permalink
If anyone is interested in software defined radios, I'm starting a project
called Rust Radio (very similar to GNU Radio). Take a look at
https://github.com/awelkie/rustradio. It's still pretty new, but critiques
and contributions are always welcome!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140911/38d34523/attachment.html>
Evan G
2014-09-11 14:32:26 UTC
Permalink
This is so cool! SDR are awesome.

On Thu, Sep 11, 2014 at 8:56 AM, Allen Welkie <allen.welkie at gmail.com>
Post by Allen Welkie
If anyone is interested in software defined radios, I'm starting a project
called Rust Radio (very similar to GNU Radio). Take a look at
https://github.com/awelkie/rustradio. It's still pretty new, but
critiques and contributions are always welcome!
_______________________________________________
Rust-dev mailing list
Rust-dev at mozilla.org
https://mail.mozilla.org/listinfo/rust-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140911/3913b299/attachment.html>
Thad Guidry
2014-09-11 14:46:32 UTC
Permalink
SDR is an EXCELLENT software design challenge to flex Rust's muscles (and
expose latent bugs) !
Post by Evan G
This is so cool! SDR are awesome.
On Thu, Sep 11, 2014 at 8:56 AM, Allen Welkie <allen.welkie at gmail.com>
Post by Allen Welkie
If anyone is interested in software defined radios, I'm starting a
project called Rust Radio (very similar to GNU Radio). Take a look at
https://github.com/awelkie/rustradio. It's still pretty new, but
critiques and contributions are always welcome!
_______________________________________________
Rust-dev mailing list
Rust-dev at mozilla.org
https://mail.mozilla.org/listinfo/rust-dev
_______________________________________________
Rust-dev mailing list
Rust-dev at mozilla.org
https://mail.mozilla.org/listinfo/rust-dev
--
-Thad
+ThadGuidry <https://www.google.com/+ThadGuidry>
Thad on LinkedIn <http://www.linkedin.com/in/thadguidry/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140911/3a4b1db4/attachment.html>
Peter Marheine
2014-09-11 15:45:47 UTC
Permalink
Your design bears significant similarity to my own work on an audio
streaming framework [1], which seems a bit more mature despite still
being the subject of significant experimentation on my part.

It looks like your elements do a lot of copying, which could have a
significant negative effect on performance. I approached the same
problem by having elements (Source in audiostream) return references
to mutable buffers (which may not be possible with Iterator). This
should allow elimination of most copies in real-world applications,
though at the moment my design calls for independent tasks for each
linear pipeline segment while will require a copy for each task.

I also found your Interleave block interesting, since I've been
working on squeezing performance out of my own Interleave block (I
expect most pipelines with have at least one of both Interleave and
DeInterleave, so vector optimizations are a good goal to reach for).
I'm pleased with the performance so far (10.5 GB/s on the ~3 GHz Core
i5 machine I'm testing on), but it might be useful to break that into
its own library so others can benefit from the vector optimizations.

Your connect! macro is nice; I've been planning to do something
similar (possibly define a whole DSL for pipeline specification which
can be used as a macro), but you beat me to it in this case. :)

Anyway, it looks like there are things we can learn from each other
here, and I'll be watching your project- might be a good excuse to get
some use out of my HackRF and contribute some components back.

[1] https://bitbucket.org/tari/audiostream.rs/
Post by Allen Welkie
If anyone is interested in software defined radios, I'm starting a project
called Rust Radio (very similar to GNU Radio). Take a look at
https://github.com/awelkie/rustradio. It's still pretty new, but critiques
and contributions are always welcome!
_______________________________________________
Rust-dev mailing list
Rust-dev at mozilla.org
https://mail.mozilla.org/listinfo/rust-dev
--
Peter Marheine
Don't Panic
Allen Welkie
2014-09-11 17:07:56 UTC
Permalink
Yeah, I set up the block to work on iterators over objects instead of
references because it made a lot of things simpler. But you're right that
it causes a lot of unnecessary copying. I think its time to revisit that
decision. I'll play around with using iterators over references instead of
objects. Thanks!
Post by Peter Marheine
Your design bears significant similarity to my own work on an audio
streaming framework [1], which seems a bit more mature despite still
being the subject of significant experimentation on my part.
It looks like your elements do a lot of copying, which could have a
significant negative effect on performance. I approached the same
problem by having elements (Source in audiostream) return references
to mutable buffers (which may not be possible with Iterator). This
should allow elimination of most copies in real-world applications,
though at the moment my design calls for independent tasks for each
linear pipeline segment while will require a copy for each task.
I also found your Interleave block interesting, since I've been
working on squeezing performance out of my own Interleave block (I
expect most pipelines with have at least one of both Interleave and
DeInterleave, so vector optimizations are a good goal to reach for).
I'm pleased with the performance so far (10.5 GB/s on the ~3 GHz Core
i5 machine I'm testing on), but it might be useful to break that into
its own library so others can benefit from the vector optimizations.
Your connect! macro is nice; I've been planning to do something
similar (possibly define a whole DSL for pipeline specification which
can be used as a macro), but you beat me to it in this case. :)
Anyway, it looks like there are things we can learn from each other
here, and I'll be watching your project- might be a good excuse to get
some use out of my HackRF and contribute some components back.
[1] https://bitbucket.org/tari/audiostream.rs/
Post by Allen Welkie
If anyone is interested in software defined radios, I'm starting a
project
Post by Allen Welkie
called Rust Radio (very similar to GNU Radio). Take a look at
https://github.com/awelkie/rustradio. It's still pretty new, but
critiques
Post by Allen Welkie
and contributions are always welcome!
_______________________________________________
Rust-dev mailing list
Rust-dev at mozilla.org
https://mail.mozilla.org/listinfo/rust-dev
--
Peter Marheine
Don't Panic
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140911/b2c243ae/attachment.html>
Ian Daniher
2014-09-11 17:28:39 UTC
Permalink
Very cool. I did some work on discrete time DSP with SDR applications. The
library's at https://github.com/ade-ma/LibRedio.

Best,
Ian

On Thu, Sep 11, 2014 at 8:56 AM, Allen Welkie <allen.welkie at gmail.com>
Post by Allen Welkie
If anyone is interested in software defined radios, I'm starting a project
called Rust Radio (very similar to GNU Radio). Take a look at
https://github.com/awelkie/rustradio. It's still pretty new, but
critiques and contributions are always welcome!
_______________________________________________
Rust-dev mailing list
Rust-dev at mozilla.org
https://mail.mozilla.org/listinfo/rust-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140911/56a53572/attachment.html>
Allen Welkie
2014-09-11 17:45:13 UTC
Permalink
Looks like there's a lot of good stuff in there. I especially like the
rtlsdr bindings: I'll be able to get live data sooner than I thought!
Post by Ian Daniher
Very cool. I did some work on discrete time DSP with SDR applications. The
library's at https://github.com/ade-ma/LibRedio.
Best,
Ian
On Thu, Sep 11, 2014 at 8:56 AM, Allen Welkie <allen.welkie at gmail.com>
Post by Allen Welkie
If anyone is interested in software defined radios, I'm starting a
project called Rust Radio (very similar to GNU Radio). Take a look at
https://github.com/awelkie/rustradio. It's still pretty new, but
critiques and contributions are always welcome!
_______________________________________________
Rust-dev mailing list
Rust-dev at mozilla.org
https://mail.mozilla.org/listinfo/rust-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140911/39e0e92a/attachment.html>
Loading...