hz.tools/sdr (go): Package sdr contains go fundamental types and helpers to allow for reading from and writing to software defined radios.  The interfaces and functions exposed here are designed to mirror and behave in a way that is expected and not supprising to a Go developer. A lot of the design here is taken from the Go io package. A new set of interfaces are required in order to provide a set of tools to work with reading and writing IQ samples.  Since conversion between IQ formats is very expensive, this package operates on a generic "sdr.Samples" type, which is a vector of IQ samples, in some format. Reading and writing time sensitive IQ data should usually be kept in its native format, and allow for a non-real-time conversion on a separate thread to take place.  Most code designed to create and consume IQ data likely wants data in the complex64 format, so an explicit cast or conversion should be made before doing signal processing.
Keywords: core|stable