We have 7 KiwiSDR receivers deployed across India. More units are in the pipeline to be deployed. These are handled externally to monitor broadcasts to a specific schedule everyday. We need to get them to record DRM broadcast too. We need to log signal strength, SNR, MER and other parameters plus record decoded audio for whatever duration as need may be. Ability to record waterfall or atleast get images of this waterfall will be extremely useful.

Has anyone done this already?


  • jksjks
    edited July 29

    Some of these measurements/recordings can be done now, but the tools may not fit your environment (e.g. kiwirecorder, to record Kiwi audio and save as .wav files, is a python script run from the Linux command line. You'd need to automate this with a "batch file" mechanism when dealing with a dozen different Kiwis sampled on a schedule (e.g. cron on Linux, something similar on Windows).

    Remember that you have two options for DRM programs:

    1) The original Dream application that runs under Windows, Linux and MacOS. This can be fed from streamed Kiwi IQ samples. I don't use Dream much but I believe it can log some of the parameters you're interested in. Obviously starting a dozen different copies of the app and feeding them the correct parameters to connect to the correct Kiwis is a challenge.

    2) The DRM extension within the Kiwi itself. This is essentially the same low-level Dream code without the Dream user interface. So for example no logging of DRM-IF/SNR/MER etc currently although this could probably be added.

    Waterfall/spectrum recording to a .jpg file can be done manually now from the Kiwi UI. But this doesn't help you if you're trying to automate the process. kiwirecorder could be adapted to store waterfall bin values in a file. Right now it just shows SNR for the waterfall samples. There is an open request to have kiwirecorder convert waterfall samples to .jpg/.png files in the same way as the Kiwi UI.

    So in summary, yes, all of this can be done. But it's going to take some work and a better understanding of your setup. Do you have just a central computer you want to automate all this from? I would assume so. Can it run Linux?

  • So I have been working on most of these issues.

    Not ready quite yet, but I have a version of kiwirecorder and the Kiwi server that does a number of new things:

    • Can start the DRM extension on the Kiwi side and save decoded DRM audio to .wav files just as it does for the other analog (and IQ) modes.
    • Can optionally receive, in JSON format, the information that drives the status display you normally see when opening the DRM extension from a browser connection to a Kiwi. So information about IF level, DRM SNR, FAC/SDC/MSC status, service channel info etc. MER would have to be added.
    • Running kiwirecorder in waterfall mode normally just prints max/min dB info. It can now save entire waterfalls of arbitrary duration as .png files. Right now only the standard Kiwi colormap is available. To set the color space you can specify the mindB/maxdB and there is also an Auto Scale button equivalent. These work the same way as what's found on the Kiwi WF tab.
  • Thanks much @jks. I just got to read your input today.

    We eagerly look forward to a final solution to this

    We have several sites each hosting a "unit" in which a kiwiSDR is 'married' to a RPi that runs a python script to automate the monitoring. The RPi would run Linux. I would consider it is best that this is run on the local unit instead of the central ftp or database where all the monitoring data is uploaded at predefined time, which would vary for each site.

    Thanks again.

  • Rpi is Raspberry Pi and we extensively use kiwi recorder.

  • @Shakti Okay, that sounds good. I am almost ready to upload the kiwirecorder changes. Just finishing documentation. Make sure your Kiwis are running version v1.550 or later to be able to use the new DRM features. I'll reply here when the new kiwirecorder is ready for a git pull.

  • @Shakti Okay, the new kiwirecorder has been pushed to GitHub. Use the --help option with kiwirecorder and look at the Makefile where the --wf-png option is used for examples.

  • I have successfully made some DRM audio recordings using the kiwirecorder.py

    And also reading the RSSI readings.

    This works in my python script:

    command = ["python3.7", "{kiwirecorder.py",
                    "-s del.twrmon.net",
                    "-p 8073", "-f 810",
                    "-L -5000", "-H 5000",
                    "--log=debug", "--log-level=info"]

    Thanks for all your hard work, John @jks

Sign In or Register to comment.