Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jaykickliter/gr-juliaffi
GNURadio blocks in Julia
https://github.com/jaykickliter/gr-juliaffi
Last synced: 4 days ago
JSON representation
GNURadio blocks in Julia
- Host: GitHub
- URL: https://github.com/jaykickliter/gr-juliaffi
- Owner: JayKickliter
- Created: 2015-04-18T21:56:57.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-07-01T20:29:04.000Z (over 9 years ago)
- Last Synced: 2023-03-30T20:43:31.766Z (over 1 year ago)
- Language: CMake
- Size: 267 KB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# gr-juliaffi #
![GRC Example](docs/GRC Example.png)
gr-juliaffi is a [GNU Radio](http://gnuradio.org/redmine/projects/gnuradio/wiki) package that lets you write custom signal processing blocks in Julia.
## Installation
Until the kinks are ironed out, there is a high probability of the installation process failing. Please submit a an issue if you run into any problems.
If you have installed GNU Radio via macports, first run `setup_gr-juliaffi_clang_x64.sh` from the root of the repository.
```
git clone https://github.com/JayKickliter/gr-juliaffi.git
cd gr-juliaffi
mkdir build
cd build
cmake ..
make
sudo make install
```## Usage
In these early stages, gr-juliaffi only has one block, `juliablock_ff`. It has one input and one output, both of type `float`. If I can't figure out a way to dynamically change the input/output parameters, I will add more blocks. In the meantime, instantiate to use the block, you'll need to create a `.jl` file with a function called `work!`. `work!` must accept two parameters. The first the output buffer, and the second is the input vector. Here's a simple example (abs.jl) included in the repository:
```julia
function abs!(y::AbstractVector, x::AbstractVector)
for i in 1:length(x)
y[i] = abs(x[i])
end
y
endwork = abs!
```See the included [GRC](https://gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioCompanion) flowgraph in `examples`.