# Embedding

**URL:** <https://www.ruby-forum.com/t/embedding/240253>\
**Category:** GNU Radio\
**Created:** [April 4, 2014, 10:59am UTC](https://www.ruby-forum.com/t/embedding/240253 "2014-04-04T10:59:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [April 4, 2014, 10:59am UTC](https://www.ruby-forum.com/t/embedding/240253/1 "2014-04-04T10:59:06Z")

</div>

Hi

Anyone with input as to the feasibility of maintaining either gnu-radio  
or math-lab design and have something embeddable without pulling the  
whole environment into the target? Generating c or c++ to be compiled  
for the target with or without a real-time os.

What I foresee as a problem is the transfer of design from modelling to  
run-time, and that becomes a one-way road and only done once so that one  
looses the value of the model be it gnu-radio or math-lab based.

best regards,  
George Refseth

---

<div class="post-metadata">

**Author:** ![George\_Refseth](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/45deac/32.png) [@George\_Refseth](https://www.ruby-forum.com/u/George_Refseth)\
**Post date:** [April 4, 2014, 11:48am UTC](https://www.ruby-forum.com/t/embedding/240253/2 "2014-04-04T11:48:45Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Hi George,

I think you’re talking about Matlab, aren’t you?  
Matlab has a resource hungry interpreter for its scripting language.  
Embedding that will be possible.  
Matlab _can_ (in many cases) generate C/C++ code, but that will also  
only work with a fully-fledged OS underneath; also, the  
Matlab-supplied compiler links against a matlab supplied standard  
runtime, which effectively eliminates portability.

Generally, comparing Matlab to GNU Radio is a lot like comparing  
apples and pears – you can do signal processing with both, but the  
idea behind is quite different.

GNU Radio is a C++/python-based framework. As such, it needs a runtime  
to work on; you won’t get far without an OS (memory  
allocation/management, threading etc are all in especially heavily used)  
You can actually generate GNU Radio applications without using python,  
thus reducing the need for dynamicly loaded libraries heavily.

So to be realistic: Embedded OS for GNU Radio boils down to using  
Linux, for example in the shape of OpenEmbedded/Yocto. That has been  
proven numerous times to work quite well.

I haven’t actually tried, but in theory you should be able to  
statically link with GNU Radio. I honestly don’t know if you win much  
by that – I imagine a embedded platform that’s powerful enough to do  
useful RF signal processing will most probably not be limited by a few  
MBs of superfluous libraries lying around; but maybe I’m wrong about  
that.

If you want to see an embedded GNU Radio based Signal Processing  
hardware in action, there are several people that use raspberry Pi’s  
together with RTL-SDR dongles, or take a look at the Ettus Embedded  
USRP series – these are ARM platforms running an Angstrom Linux  
distribution.

So to answer to your considerations:  
The GNU Radio approach is usually to develop your application on your  
workstation, and run it on an embedded device that’s powerful enough.  
It’s been proven to work well 🙂

Greetings  
Marcus

On 04.04.2014 10:20, George Refseth wrote:

> or math-lab based.
> 
> best regards, George Refseth
> 
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ Discuss-gnuradio  
> mailing list [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)  
> -----BEGIN PGP SIGNATURE-----  
> Version: GnuPG v1  
> Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTPn+xAAoJEBQ6EdjyzlHtU1oH/jQaYIfIvpa6q1OeXOWbRdf8  
xrYWAlpyfZTd7sg4sX081n2abfhH67qV5fT2OnuD8QGjPygwI6/AI/ptLGPNp+6C  
EnUS5HlEv5q1PHh1HZiKfPouUZv9aq1BZrtFi2G19OXpGyK8rV65anyahta7B4lw  
AlhPTgjtbsEG+yeub0zrhjQU+rZjjvYP3q+rFuiyYBGuJGeN+tLMAFZdlZXk0q6V  
4wRvZGM4C9goCDwuhpdI+C7/N9ZX/Tys+0FlagSKcCHn9b8Ns5+VfemlzDIzUo/s  
1Qk4OlTo+78bJ/RqspnbP5AtwVOy9cSA4B7yJHcur10OeyYEukMAnNBeOf3MxM4=  
=A7NH  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![George\_Refseth](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/45deac/32.png) [@George\_Refseth](https://www.ruby-forum.com/u/George_Refseth)\
**Post date:** [April 4, 2014, 11:52am UTC](https://www.ruby-forum.com/t/embedding/240253/3 "2014-04-04T11:52:15Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

typo :

> Matlab has a resource hungry interpreter for its scripting  
> language. Embedding that will be possible.  
> … will _not_ be possible.

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1  
Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTPoB5AAoJEBQ6EdjyzlHt/R8IALqzpD7RDy3+zR4ifp8+Bphu  
7aoeEADCnpxJw52bRy0qEWOMC7SbkVGe/HdlGb+/TIyhSa+VXP6pFSYRhM/bQ8t6  
U7a8sGPMRirlhcM+XOL3AqhdGlcDvD3mN/C32OqOxpxW+LZMHa3c+SFlGYonYBS1  
iFYnyQym9PErLD1QJn8WlxGrwY0eG8hTyKSowLqTutdiA3NmnghJOCJLaaq078Rl  
KOgEsIATV/HBO9lC6Cj8ObxkhlREG+cHbtKgXsEXcZhNlS4mfWhus3WXj32DynIn  
5CvjikL3N7i5zVPjtZS6RvETwjOKmr4yK5IpBUIo6kycdjQ15heznLXxQkRitVw=  
=rgBJ  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![George\_Refseth](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/45deac/32.png) [@George\_Refseth](https://www.ruby-forum.com/u/George_Refseth)\
**Post date:** [April 4, 2014, 3:09pm UTC](https://www.ruby-forum.com/t/embedding/240253/4 "2014-04-04T15:09:07Z")

</div>

Hi George,

In addition to Marcus’ response. Engineers who works in a context where  
an embedded “production design” is the end goal will want to leverage  
the SoC’s FPGA to its full potential. To do that they will target the  
ARM processors (with an Embedded OS) using GNU Radio, and target the  
FPGA with Matlab/Simulink either using the MathWork’s HDL coder or  
Xilinx System Generator to avoid tedious HDL coding.

If you follow the link bellow, you will find an OFDM physical layer  
(802.11a) implemented in a Zynq’s FPGA using Simulink and Xilinx System  
Generator combiened (graphical tools to program FPGAs). Upper layer data  
is sinked/sourced from GNU Radio. The GNU Radio application runs on a  
laptop in this example but it’ll run just the same on the Zynq’s ARMs

> **[Home - Nutaq | Private 5G/LTE Network Testing and Deployment](https://nutaq.com)**
>
> Cellular device testing, private LTE/5G network deployment, and advanced RF platforms for various industries in indoor and outdoor environments.

Cheers,

~Tristan

-----Message d’origine-----  
De: [discuss-gnuradio-bounces+tristan.martin=removed\_email\_address@domain.invalid](mailto:discuss-gnuradio-bounces+tristan.martin=removed_email_address@domain.invalid)  
[[mailto:discuss-gnuradio-bounces+tristan.martin=removed\_email\_address@domain.invalid](mailto:discuss-gnuradio-bounces+tristan.martin=removed_email_address@domain.invalid)] De la  
part de Marcus M.  
Envoy: 4 avril 2014 05:47  
: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Objet: Re: [Discuss-gnuradio] embedding

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Hi George,

I think you’re talking about Matlab, aren’t you?  
Matlab has a resource hungry interpreter for its scripting language.  
Embedding that will be possible.  
Matlab _can_ (in many cases) generate C/C++ code, but that will also  
only work with a fully-fledged OS underneath; also, the Matlab-supplied  
compiler links against a matlab supplied standard runtime, which  
effectively eliminates portability.

Generally, comparing Matlab to GNU Radio is a lot like comparing apples  
and pears – you can do signal processing with both, but the idea behind  
is quite different.

GNU Radio is a C++/python-based framework. As such, it needs a runtime  
to work on; you won’t get far without an OS (memory  
allocation/management, threading etc are all in especially heavily used)  
You can actually generate GNU Radio applications without using python,  
thus reducing the need for dynamicly loaded libraries heavily.

So to be realistic: Embedded OS for GNU Radio boils down to using Linux,  
for example in the shape of OpenEmbedded/Yocto. That has been proven  
numerous times to work quite well.

I haven’t actually tried, but in theory you should be able to statically  
link with GNU Radio. I honestly don’t know if you win much by that – I  
imagine a embedded platform that’s powerful enough to do useful RF  
signal processing will most probably not be limited by a few MBs of  
superfluous libraries lying around; but maybe I’m wrong about that.

If you want to see an embedded GNU Radio based Signal Processing  
hardware in action, there are several people that use raspberry Pi’s  
together with RTL-SDR dongles, or take a look at the Ettus Embedded USRP  
series – these are ARM platforms running an Angstrom Linux  
distribution.

So to answer to your considerations:  
The GNU Radio approach is usually to develop your application on your  
workstation, and run it on an embedded device that’s powerful enough.  
It’s been proven to work well 🙂

Greetings  
Marcus

On 04.04.2014 10:20, George Refseth wrote:

> based.
> 
> best regards, George Refseth
> 
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ Discuss-gnuradio  
> mailing list [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)  
> -----BEGIN PGP SIGNATURE-----  
> Version: GnuPG v1  
> Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTPn+xAAoJEBQ6EdjyzlHtU1oH/jQaYIfIvpa6q1OeXOWbRdf8  
xrYWAlpyfZTd7sg4sX081n2abfhH67qV5fT2OnuD8QGjPygwI6/AI/ptLGPNp+6C  
EnUS5HlEv5q1PHh1HZiKfPouUZv9aq1BZrtFi2G19OXpGyK8rV65anyahta7B4lw  
AlhPTgjtbsEG+yeub0zrhjQU+rZjjvYP3q+rFuiyYBGuJGeN+tLMAFZdlZXk0q6V  
4wRvZGM4C9goCDwuhpdI+C7/N9ZX/Tys+0FlagSKcCHn9b8Ns5+VfemlzDIzUo/s  
1Qk4OlTo+78bJ/RqspnbP5AtwVOy9cSA4B7yJHcur10OeyYEukMAnNBeOf3MxM4=  
=A7NH  
-----END PGP SIGNATURE-----

* * *

Discuss-gnuradio mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> **[Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)**
