DEPRECIATED ---> THIS PACKAGE HAS BEEN TRASNFERED TO UHDBindings.jl here
This package proposes some bindings to UHD, the C driver of the Universal Software Radio Peripheral USRP
The purpose is to able to see the radio peripheral inside a Julia session and to be able to send and receive complex samples direclty within a Julia session.
For instance, in order to get 4096 samples at 868MHz with a instantaneous bandwidth of 16MHz, with a 30dB Rx Gain, the following Julia code will do the trick.
function main()
# ----------------------------------------------------
# --- Physical layer and RF parameters
# ----------------------------------------------------
carrierFreq = 868e6; # --- The carrier frequency
samplingRate = 16e6; # --- Targeted bandwdith
rxGain = 30.0; # --- Rx gain
nbSamples = 4096; # --- Desired number of samples
# ----------------------------------------------------
# --- Getting all system with function calls
# ----------------------------------------------------
# --- Creating the radio ressource
# The first parameter is to tune the Rx board
radio = openUHD("Rx",carrierFreq,samplingRate,rxGain);
# --- Display the current radio configuration
print(radio);
# --- Getting a buffer from the radio
sig = recv(radio,nbSamples);
# --- Release the radio ressources
close(radio);
end
The package can be installed with the Julia package manager.
From the Julia REPL, type ]
to enter the Pkg REPL mode and run:
pkg> add UHD
Or, equivalently, via the Pkg
API:
julia> import Pkg; Pkg.add("UHD")
- STABLE — documentation of the most recently tagged version.