Super cool! One of my labmates has been playing around with SDR and I
was thinking that Julia would be great for that. Please bring a demo
to JuliaCon!

-s


On Mon, Apr 20, 2015, at 12:14 PM, Miguel Bazdresch wrote:
> 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[1] 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[2] 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[3] out-of-tree module for GNU Radio,
>>>> but it's not complete and doesn't have the capability of
>>>> de-spreading[4] 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)[5]'.
>>>>
>>>> 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[6] 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.
>>>
>



Links:

  1. https://github.com/JayKickliter/gr-juliaffi
  2. 
http://www.fsf.org/blogs/community/free-software-in-space-gnu-radio-and-the-isee-3-spacecraft
  3. https://github.com/bastibl/gr-ieee802-15-4.git
  4. http://en.wikipedia.org/wiki/Direct-sequence_spread_spectrum
  5. 
https://github.com/JayKickliter/gr-juliaffi/blob/master/lib/juliablock_ff_impl.cc#L47
  6. 
https://github.com/JayKickliter/gr-juliaffi/blob/master/lib/juliablock_ff_impl.cc

Reply via email to