FSK decoding error?
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
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
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
screenshot 2
Attachments:
https://forum.kiwisdr.com/uploads/Uploader/82/e31246b97b5b6eef1f2f0a17b2df43.jpg
https://forum.kiwisdr.com/uploads/Uploader/8b/25458e8894072f78454b0e3743f74f.jpg
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)
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.
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.
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