DRM Radio đź“» & Julia

I see that Digital Radio Mondiale is replacing analog radios in many countries. Can Julia be used in this DE9180 Demonstration and Prototyping Kit for the DRM1000 Broadcast Receiver Module | CMLMicro ? CMLMicro is using Python but it would be better to use Julia.

Are there any projects being done in Julia for DRM? I think they can help in E-education in remote areas of the world. How we can have better/cheaper DRM radios?

Can any Julia library be used for Digital Signal Processing of DRM Radio developed using DRM1000? Software Defined Radio tuner used in it is CMX918( :money_bag:costs <$15 ). If CMX918( costs :money_bag:<$1) signal output can be processed then it is easy to listen and receive DRM Radio :radio: services on laptop or smartphone. I am looking for a way to control DRM Radio using Julia.

What are you basing this conclusion on? If they’re using Python as a cheap interpreter to run code mostly compiled from other languages, then the current Julia implementation wouldn’t add anything notable except a bigger runtime. If they support MicroPython-related implementations for even lower overheads on limited devices, as implied by “connected PC or external µController,” then Julia or anything else carrying around an LLVM-based compiler are non-starters.

Looking at the documentation, you might be able to use LibSerialPort.jl to do what you like. I have found julia to be very useful if your use case requires custom things that standard python libraries do not provide. The code is very scalable while having good performance. In python, I found numba to be nice.

Definitely plausible on a typical laptop given the right adapters, especially if you need to write a number-crunching routine from scratch. Still not sure how much work it would take to get a Julia interface working, and it’ll unlikely be maintained by the company.

Please try using LibSerialPort.jl and see how far you can go. I have used it before and should be able to help you if you get stuck (but also try using LLM first, the julia library is a thin wrapper around the C library so if the LLM is comfortable with the C Api, you could get by quicker).

I’m curious if there’s a serious use case for wrapping libserialport into a native julia style package (similar to the one I currently did for libsoundio), it shouldn’t take too much effort with a reference implementation on an LLM with some manual guidance/nudging

Hi, I have uploaded my work on DRM1000 radio here on plutoland. Please tell what i should improve? Why does length(data) and field_length variable are not equal? I think it would be better to have an android app based on it.

Cool project! Thanks for sharing.

From a readability standpoint, your code looks very nice (good variable names, simple logic).

From a performance standpoint, it would be useful to put commonly used things (begin end blocks, for loops) as individual functions and then run as functions.

regarding length of data, I’m unsure what the content is without really looking into it, but length(data) gives the total number of elements in the data Array (each element is of size of the data type, eg: if Data is a float 32 array of 10 elements then length(data) is 10, and each element contains a float 32 data ie 32 bits or 4 bytes). The reinterpret you so on the other line just takes elements 3:6 of a UInt8 array which is 4 bytes in total and sees it as if it were a 32 bit data.

Hi, My problem of losing bytes in data read() got solved after adding set_flow_control() in my code script. lose data when read binary data ! · Issue #67 · JuliaIO/LibSerialPort.jl · GitHub

  • Can you explain what does set_flow_control() do?