jakapoor / AMRUPT

Animal Movement Research Using Phase-based Trilateration (AMRUPT)
GNU General Public License v3.0
4 stars 7 forks source link

Approach for development of GNU Radio code #14

Open jakapoor opened 6 years ago

jakapoor commented 6 years ago

Primary DSP of the received phase information will be performed on the Raspberry Pi using Gnu Radio code blocks (including some custom blocks for our specific application).

Ettus Research has published custom blocks that may be useful in accomplishing some DSP tasks (for instance, they have a MUSIC algorithm that would allow us to avoid having to program a direction-finding algorithm by ourselves). Unfortunately, the Ettus blocks do not appear to be useable within the Raspberry Pi OS (Raspbian).

The AMRUPT team therefore needs to determine the best way forward: Do we try to emulate an OS that can load Ettus blocks or do we try to recreate those blocks within Gnu Radio ourselves but usingg Raspbian?

jakapoor commented 6 years ago

Email correspondence from Russell Silva (6/12/2018) [edited by Julian Kapoor 6/13/2018]:

"Converting a Virtual Box image to an image bootable by a Raspberry Pi would be an extremely arduous task. Therefore, we considered running the virtual machine directly on the Raspberry Pi. It turns out though that running a VM running on a Raspberry Pi would be extremely slow. Raspberry Pi's have processors with an ARM instruction set architecture which are much slower than x86-64 processors at emulating operating systems (VM sources). Therefore, I would suggest that we immediately shift our efforts to reproducing Ettus code into c/python code that would work fine within a standard raspbian operating system. There are c/python implementations of the MUSIC direction finding approach such as this one which can aid in this code conversion process.

jakapoor commented 6 years ago

Agreed. I believe this is a much better course of action.

Let's focus on finding, modifying, and documenting/commenting c / python implementations for blocks we need. Our first step, however, should be to generate a task list for each of the individual blocks, so that we can proceed in a logical order.

jakapoor commented 6 years ago

Update

I will close this issue once we've created our task list for the summer's work.