The KiwiSDR 2 online store is open for orders! Please visit kiwisdr.nz

FSK decoding error?

edited August 2019 in Problems and Issues
My Kiwi is on my home network. Have not yet connected the GPS dongle.
Antenna: ca 15m downsloping wire.
Kiwi is configured for 3 high bandwith audio channels.

I am trying to decode Pinnenberg FSK on 147.3khz.

Using an RSP2 and FlDigi this works flawless. Not a single character is missed.

If I connect the same antenna to the Kiwi and use the FSK extension
some characters are shown OK but lots are missed or garbled.
The red/green bar frequently shows "baudrate error".

If I use the Kiwi just as an audio receiver and process the audio on my PC with
FlDigi, the same thing happens.

Does somebody know what I am doing wrong?

Jan / PE1OSQ

Comments

  • Hmmm.....
    I experimented some more.

    When I switched the Kiwi to the "classic" mode (4 receivers) the problems became less.
    - The FSK decoding worked better (but far from perfect). See screenshot 1.
    - the Cr/LF after the RYRYRY and before the CQ CQ CQ was frequently missed.
    - sometimes the decoding stopped completely and restarted again 20 seconds later or so.
    - when I processed the Kiwi audio on my PC (FlDigi) this worked like a charm without any errors. See screenshot 2.

    My intermediate conclusions:
    1) switching the kiwi into "3 receiver mode" does weird things to the audio.
    2) the FSK-audio decoding on the kiwi does not work correctly.

    screenshot 1
    image

    screenshot 2
    image

    Attachments:
    https://forum.kiwisdr.com/uploads/Uploader/82/e31246b97b5b6eef1f2f0a17b2df43.jpg
    https://forum.kiwisdr.com/uploads/Uploader/8b/25458e8894072f78454b0e3743f74f.jpg
  • You're not doing anything wrong. The Kiwi uses free, open-source software as a basis for most of the extensions. The quality of such software is often not as good as closed-source, fee-based or commercial software. If you know of an open-source FSK implementation that does a better job then please let us know. We'll take a look at using it.
  • @jks

    When I used FLDigi on my pc to decode the FSK audio generated by the Kiwi, the FSK decoding was flawless.
    The Kiwi was in "classic" (4 receiver) mode,
    The decoding sample above was produced using a windows 7 setup.
    I used firefox to connect to the kiwi (locally over my wired network) and had FLdigi "listening" to the audio output
    device on my computer (a yamaha AP-U70 digital amp).

    While I used the windows version of FLDigi, the program is written for linux.
    The sources can be found here: http://www.w1hkj.com/files/archives/Source/
    In the source TARball is a licence that states it is permitted to use parts in an other program.

    I do not know which FSK decoding algorithms the current Kiwi version uses.
    If the algorithm/implementation is the same as FLDigi there might be a performance issue on the beaglebone
    If not, I have no way to know if the beaglebone processing power will support the FLDigi algorithm/implementation.


    Note that I also found that FLdigi (same setup as above) could NOT decode the audio produced by the Kiwi when
    the Kiwi was in "high audio bandwith / three receiver mode".
    There might be a completely separate problem there.

    regards, and many thanks for creating this wonderful piece of equipment.

    Jan (PE1OSQ)
  • Interesting that FLDigi seems to be licensed under GPL v2/v3. I could have sworn that when I checked a few years ago sources for FLDigi and MultiPSK were unavailable (open source or not). I wonder if the licensing had changed for FLDigi at some point.

    Anyway, as usual it would be a large amount of work to adapt the code to work with the Kiwi. Even if only the FSK part to start with.
  • jksjks
    edited August 2019
    I had no problems with FLDigi decoding when the Kiwi was in 3-channel mode. This was on a Mac using Loopback app as the virtual audio cable. I used an EU Kiwi to decode DDK2 4583 kHz around 4am Kiwi local time when there was some minor fading.

    The problem with the baud error indicator on the FSK extension control panel "rolling" when in 3-channel mode turns out to be a limitation in the extension FSK algorithm (the code is pretty ad-hoc). When decoding the DDKn/Hn weather sites that run at 50 baud and 1.5 stop bits the code processes the bit stream at 100 baud to make handling the fractional stop bit easier.

    But with the Kiwi 3-channel audio sample rate of 20.25 kHz the math works out poorly such that there are 202.5 sample "bins" per baud. This is rounded since you can't have a fractional bin. But the way it is currently done the error accumulates and the baud error indicator shows this. The proper way to handle it would be like how phase incrementing is handled in fractional-N synthesis. You use 202 samples for a while then switch to 203 for a while (the exact periods would be computed) such that the longer term average is 202.5

    The math works out better for 4 and 8-channel modes and this problem is not as significant.
  • @jks
    Thank you for looking into this.
    I will experiment some more (and also try public kiwi's) to check if I can reproduce the "3 channel mode"
    problem that I reported, or find that I made some mistake (like not properly tuning FlDigi).

    Actually I had not noticed the Baudrate Error you mention in your post.
    I just noticed that FlDigi failed to decode the Kiwi audio when the Kiwi was in "3 receiver mode" while FlDigi worked
    spot on in "4 receiver mode".
    The FSK transmission I tried to decode was Pinnenberg on 147,3KHz (which uses a frequency swing of 85 Hz instead
    of the more common 170).

    It is very much possible that FlDigi changed its licence scheme.
    Also I can image that it will take a lot of time and tinkering to adapt code that is written for/in an other context.
    Thanks again for creating this.

    Regards
    Jan
Sign In or Register to comment.