v1.360+: DRM extension now available

edited December 2019 in KiwiSDR Discussion
This discussion was created from comments split from: Who runs Linux for their main OS/Browser [how to run Dream on Linux].
«13

Comments

  • Do not despair about Dream/DRM -- Santa's elves have been busy:





    image

    Attachments:
    https://forum.kiwisdr.com/uploads/Uploader/b3/8d505793f4de9a175762dd3409e271.png
    Powernumptyfractional_nHB9TMCWA2ZKDcathalferrisKA7UG0LUJTonda
  • This will be a great extension addition! Best of luck with it!
    Ron
    KA7U
  • Jos can you enlighten us on your latest post?
  • jksjks
    edited December 2019
    @rohit Well, there is not much to say at this point. I have been working on re-packaging the open source Dream code into a Kiwi extension for about 4 weeks now. Much as I have done for other open source work (e.g. the Kiwi SSTV and CW decoders).

    When might it be available? I would say weeks to months. The work has been very, very difficult for a number of reasons. And I don't fully understand the legal issues about the codec and how exactly I have to handle its installation. This is a major limitation and annoyance with Dream and I want to completely automate a solution (part of the Kiwi philosophy).

    The biggest surprise is that it works on a stock Kiwi using the Beaglebone Green/Black. Although right now only with severe limitations. Essentially nothing else of significance can be happening on the Kiwi except for GPS. The waterfall nearly comes to a halt due to the lack of cpu cycles. So for now it is a single-user solution.

    BUT this is better than nothing. I initially expected it would only work using the Beaglebone-AI which is not available as a standard Kiwi product (you have to put one together yourself). But note that no effort has been put into optimization of the code yet. There is a lot that can be done. So I have hope it will perform better on the BBG/B in the future.

    You are correct that All India Radio on MW (e.g. Delhi 828, 1368) uses the xHE_AAC codec and there is currently no support in Dream for xHE even though the codec I use in Dream (fdk-aac) does support it. Julian Cable of Dream development said a year ago he's working on it. But so far nothing has happened.

    Note that the patent situation is not unique to xHE_AAC and Fraunhofer (fdk-aac developer) as your post implies. It is a general issue with all AAC codecs and intellectual property. Fraunhofer has made the copyright of their codec somewhat open (subject to limitations) and this is why it has recent support in Dream. But this does not change the patent situation including Fraunhofer's additional patent claims.
    rohit
  • jksjks
    edited December 2019
    Progress with the DRM extension continues.

    I recently found a simple bug in Dream with the interface code to the FDK codec that prevented mono services from producing audio (e.g. the two-channel All India Radio 7550 kHz). But it took a long time to find. The problem doesn't exist with the older FAAD2 codec, but it has other problems. FDK seems to require less cpu resources so naturally I want to use it.

    The DRM waveform is really interesting. If you zoom in with the Kiwi waterfall you'll notice three apparent "dead" carriers on the right-hand side of the passband. To explain: Mode B DRM OFDM modulation consists of 206 carriers spaced every 46.875 Hz across the (almost) 10 kHz wide DRM signal. You can sort of see them when you zoom in. The image below is RFI at 3965 kHz. You can see that central carrier is missing. The unmodulated carriers are at 16, 48 and 64 carrier positions away from the center. These turn out to be intentional unmodulated "frequency pilots" used by the software to do correction for receiver mistuning. The diagonal "ripples" in the waveform is (frequency) selective fading seen on virtually every other HF signal.

    https://en.wikipedia.org/wiki/Digital_Radio_Mondiale
    https://www.drm.org/wp-content/uploads/2019/02/DRM-Handbook.pdf

    image

    Attachments:
    https://forum.kiwisdr.com/uploads/Uploader/f0/15097a81aef5e3a1212eb275e18804.jpg
    KA7UG0LUJHB9TMCcathalferrisfractional_n
  • I agree that the waveform is interesting, not least so when viewed in the kiwi waterfall as you've shown. Looking at it, one can almost "hear" the results of frequency selective fading/multipath that are so often observed on HF broadcast AM stations. I particularly think of the situation where the darker valley crosses through the carrier leaving AM sidebands producing a result that sounds like (is) DSB.
    Neat.
    From the Wikipedia page you reference "The principle of DRM is that bandwidth is the limited element, and computer processing power is cheap; modern CPU-intensive audio compression techniques enable more efficient use of available bandwidth, at the expense of processing resources."
    Does this make a kiwi solution most likely limited to the BB AI?
  • jksjks
    edited December 2019
    Does this make a kiwi solution most likely limited to the BB AI?
    No, which surprised the heck out of me. Right now you can run the DRM extension on one channel of a regular BBG/B Kiwi. The waterfall slows to a crawl and there can be no other connections that take resources (including things like WSPR autorun etc.) But it works. GPS can be enabled. On the BBAI DRM takes roughly 30% (@ 1 GHz) of the second cpu (less @ 1.5 GHz). So it's likely several instances can be run simultaneously.

    But I have spent no time doing performance measurement and optimization yet. It is quite likely that applying ARM Neon vectorization (similar to Intel SSE) to the inner loops will speed things up. Christoph did this for our GPS code.

    The screenshot above is running on an ordinary Kiwi in the UK that I'm using for development that has good DRM reception.
    KA7U
  • jksjks
    edited December 2019
    Just now fixed some bugs preventing multi-channel operation. On BBAI @ 1 GHz (I have cooling problems preventing 1.5 GHz operation for very long) I can run 4 channels of DRM simultaneously with ~90% cpu1 use. That drops to 70% @ 1.5 GHz. So no problems at all with BBAI.
  • edited December 2019
    This reignites my interest in the BBAI and I'm loading software as I type. I wonder how to seriously cool this thing. Little fans recommended don't get it done. Maybe connect it to a shop vac...
    Ron
    KA7U
  • jksjks
    edited December 2019
    The elves have delivered. In time for Xmax / Boxing Day (depending on your timezone) v1.360/61 contains a DRM Beta test.

    This will be a long update as a new compiler is installed and the DRM code takes 10 times longer to compile than the rest of the Kiwi code. The DRM compiled code is cached so future updates won't take as long.

    There are many bugs and limitations currently:
    • Use of the DRM extension on stock Kiwis using the BeagleBone Green/Black is limited to a single channel. DRM won't start unless there is no other activity. All other activity is excluded while DRM is running. Kiwis using a BeagleBone AI can run 4 DRMs simultaneously (but watch your CPU temperature!)
    • If you don't want DRM available on your public Kiwi because of the above exclusions then disable it in the admin "extensions" tab. DRM entry, "User enabled?" switch. But consider leaving it enabled as we need geographically dispersed DRM Kiwis for testing.
    • DRM doesn't currently work on Kiwis configured for 20 kHz channels.
    • The stations in the India MW menu won't play because Dream xHE_AAC codec development is not finished.
    • The frequencies in the menus are currently static and DRM frequencies are known to change. We are working on a scheme to dynamically update them.
    • Exactly why some signals "drop-out", even though they are relatively strong, is an interesting topic. We hope to write about this at some point. It has to do with selective fading and the DRM transmission options selected by the broadcaster (e.g. QAM options, coding rates, protection levels).
    fractional_nPowernumptyrz3dvpG0LUJcathalferrisWA2ZKD
  • WINB is in Red Lion PA and here is their current info:

    A new DRM transmitter, an ASI CE-50000WS, was installed in April 2018. The transmitter is rated at 15 kW and is using the Rhombic antenna at 062 degrees. The authorized schedule for this transmitter is: Monday-Friday 0700-1000 on 7315 kHz, 1000-1200 on 9265 kHz, 1200-1700 UTC on 13690 kHz.
  • edited December 2019
    No voice or music, but logged this at 1810Z on 15120



    fractional_n
  • edited December 2019
    on 7550 at 1825Z


    But no audio, just quieting
    fractional_n
  • edited December 2019


    audio here
    fractional_n
  • jksjks
    edited December 2019
    You won't get audio unless the signal is good enough that the "Main service channel" (MSC) block goes green. If the broadcaster is using 64-QAM for MSC (and to a lesser extent 16-QAM for SDC) then the signal will be less robust against selective fading, multi path etc. This is a trade-off to allow a higher bitrate (e.g. "20.96 kbps" as shown above) which allows better codec performance and stereo vs mono etc. There are other factors too that I'm only beginning to understand.
    WA2ZKDPowernumptyfractional_n
  • Worked fine on Radio Kuwait on 15110 kHz earlier, and presently on All India Radio on 7550 kHz. Thanks for the addition.
    WA2ZKDPowernumptyfractional_n
  • KTWR Guam Christmas special broadcast on 7500kHz for East Asia
    Dec 25 1228-1243UTC
  • Russia DRM test Chukotka Radio on 11860kHz
    Dec 26 0121UTC
  • v1.362 fixes a few memory leaks and crashes and makes some minor user interface improvements.
    As with other extensions you can make a bookmark that selects DRM and an existing station in the menu, e.g.
    my_kiwi.com:8073/?ext=drm,3965        (brings up RFI on 3965 kHz)
    
    The cached build mechanism is still not working, so this update will take around 35 minutes.
    fractional_nG0LUJ
  • I like the multi-press mode buttons that access AMN, LSN etc. and look forward to SAM. Nice work and Happy Holidays John
  • While this is certainly good news for many, I am happy that admin can disable the DRM option. It will not be enabled on my Kiwis. But while I'm at it, could it be that some might want their Kiwi to be exclusively DRM? Maybe an option in FPGA Mode?
  • when locked out, DRM mode button should be grayed and inactive
  • In some respects the DRM extension has just caused a huge drop in the number of available public Kiwi channels. This is one reason I'm always preaching that we need more public Kiwis made available even though looking at the map it seems we have plenty.

    But it is early days yet. I am working on improving the efficiency of the code. In recent tests I am able to run one DRM plus 3 ordinary connections provided they don't do anything harsh like run the WSPR extension.

    And there is also hope that eventually two active DRM sessions will be able to run on a stock BBG/B Kiwi.
    Bjarne
  • I am impressed that I can decode Kuwait on 15110 @1245Z. Signal on s-meter in am mode is s-5 max, yet sound very good.image

    Attachments:
    https://forum.kiwisdr.com/uploads/Uploader/ea/c34a8b56a8bf7f3b5bcd184af271b8.pdf
  • I was able to get audio from Radio Romania's DRM transmission yesterday on 41m, briefly, when I switched from my 670 ft horizontal sky loop to 43mb dipole. Even then it was hit or miss. The signal levels were quite strong and there wasn't any obvious QRM, but perhaps there's some issues I need to sort out on this end. Several other stations were not able to decode audio at all, although it was able to get the station name. I'll do some more tests later today.

    I have a fairly popular KiwiSDR due to my rural location with few RFI issues. I've vowed to put a second KiwiSDR online, as soon as they're back on Drop :) I actually have more antennas than radios, so I could put a few online. Not sure at what point (if any) I would run into issues with the ISP complaining about traffic?
  • edited December 2019
    I turned the small fan over on the original heatsink on the BBAI. That is the paper logo is now facing the heatsink. Wonder of wonders, it now keeps the BBAI in operating temperature range @ 1GHz cpu speed. I've ordered a 20x20x10mm heatsink and a fan that will blow sideways through it. I'm thinking that might cool it for 1.5GHz, or at least cool it better @1GHz. So anyway, with the heat problem under control, the port 8073 kiwiSDR is now providing 4 receivers and all 4 seem to have DRM capability. Currently the only DRM station that has been reliable here has been WINB and Voice of Nigeria. Occassionally, I'll pull one from East Russia or China. What is needed is a proper cooling system for the BBAI that an average guy like me can buy and install, without inventing stuff.



    Ron
    KA7U
  • edited December 2019
    Testing here. I have RX0 using IQ and feeding to the DREAM receiver. RX3 using the DRM extension. Both tuned to 15120KHz Voice of Nigeria. The RX0 receiver and DREAM are rock solid, without losing the audio lock. RX3 is intermittent. The KiwiSDR is in the red, but just barely and I doubt that is affecting performance at this temperature on the BBAI. Both computers using the Chrome browser.




    Ron
    KA7U
  • edited December 2019
    Bug: DX Label allows selection of DRM but that doesn't fully get things going when you click on a logged station
Sign In or Register to comment.