I'm using GnuRadio on Ubuntu mainly. I may not have a chance to try it out
until the summer, though. On a somewhat related note, something that I also
want to tackle when I have some time is a julia interface to  the UHD, so
that we can control the radios directly from Julia.

-- mb

On Mon, Apr 20, 2015 at 11:37 AM, Jay Kickliter <jay.kickli...@gmail.com>
wrote:

> Thanks. What OS are you using, and how did you install Julia/GNU Radio?
> I'll attempt to fix any major problems before you try it out.
>
> On Monday, April 20, 2015 at 9:33:18 AM UTC-6, Miguel Bazdresch wrote:
>>
>> This is great, and something I wanted to do but hadn't had time for. I'll
>> give it a try when I have a chance.
>>
>> On Mon, Apr 20, 2015 at 10:22 AM, Jay Kickliter <jay.ki...@gmail.com>
>> wrote:
>>
>>> I just pushed a rough draft gr-juliaffi
>>> <https://github.com/JayKickliter/gr-juliaffi> to GitHub. It is not a
>>> Julia package, but a GNU Radio module (C++/Python) that calls your Julia
>>> code to do the actual signal processing.
>>>
>>> If you're not familiar with GNU Radio, it is a software defined radio
>>> (SDR) framework. SDR is really cool. Traditional radio hardware is
>>> dedicated  to certain kind of signal (like a satellite modem or FM
>>> receiver). SDR lets you use generic hardware that does little more than
>>> digitize the raw radio waves and send them to a computer. From there, all
>>> the signal processing is performed in software. There are real world
>>> applications
>>> <http://www.fsf.org/blogs/community/free-software-in-space-gnu-radio-and-the-isee-3-spacecraft>
>>> of SDR. I use it almost every day.
>>>
>>> The motivation for this block came recently when I needed something GNU
>>> Radio didn't have yet. At my job, we're developing new 802.15.4 hardware.
>>> There is an 802.15.4 <https://github.com/bastibl/gr-ieee802-15-4.git>
>>> out-of-tree module for GNU Radio, but it's not complete and doesn't have
>>> the capability of de-spreading
>>> <http://en.wikipedia.org/wiki/Direct-sequence_spread_spectrum> 802.15.4 900
>>> MHz BPSK signals. I wrote code to de-spread the signal in Julia, and piped
>>> from/to GNU Radio using ZeroMQ. That works fine, but it's cumbersome. Why
>>> not just have GNU Radio call the Julia code directly?
>>>
>>> If you do want to use the module, please let me know what issues you run
>>> into when building/using it. I spent two solid days just trying to get
>>> cmake to find and properly set up linking to libjulia. I'm using OS X, and
>>> @rpath was causing the biggest problem for me. It only built when I finally
>>> stopped trying to tell cmake where to find libjulia and switched to
>>> find_library. Also I had to do an actual `make install release` in the
>>> Julia repo for all the headers and libraries to be in predictable
>>> locations. That's because the FindJulia cmake  module I added calls julia
>>> on the command line to figure out where stuff is. The code still crashes if
>>> I try to run it with `jl_init(NULL)
>>> <https://github.com/JayKickliter/gr-juliaffi/blob/master/lib/juliablock_ff_impl.cc#L47>
>>> '.
>>>
>>>  There's still more c++ work to be done, and I don't know c++. I just
>>> infinite monkey it 'till it works. I just hope I or someone else can figure
>>> out how to make the c++ configure itself dynamically, so it isn't necessary
>>> to define blocks for every combo of input/output type. Most of the repo was
>>> automatically created with gr_modtool. This file
>>> <https://github.com/JayKickliter/gr-juliaffi/blob/master/lib/juliablock_ff_impl.cc>
>>> is pretty much the whole project. It's definitely possible to change the
>>> number of inputs/outputs to block at runtime. Looking at the code, I think
>>> it may be possible to change the type as well.
>>>
>>> I was hoping have this done with some good examples in time to give a
>>> JuliaCon talk. Maybe next year. I'll be there anyway, if anyone's
>>> interested I'll give an informal demo.
>>>
>>
>>

Reply via email to