jks
About
- Username
- jks
- Joined
- Visits
- 32,395
- Last Active
- Roles
- Member, Administrator, Moderator
- Points
- 333
Reactions
-
CAT Sync - The CAT Tool for WebSDRs
-
Direction Finding and linking existing KiwiSDRs
Nice article on rtl-sdr.com about the topic: https://www.rtl-sdr.com/locating-various-hf-transmitters-and-number-stations-with-kiwisdrs -
Direction Finding and linking existing KiwiSDRs
Nice article on rtl-sdr.com about the topic: https://www.rtl-sdr.com/locating-various-hf-transmitters-and-number-stations-with-kiwisdrs -
What is the status of the WSPR background and autostart features? [added in v1.181]
wsprd handles the problem of strong signals "covering up" weak ones in an interesting way. After a first pass of decoding signals they are coherently subtracted from the spectrum and the entire decoding pass is run a second time to, hopefully, pickup the remaining weaker signals.
The Kiwi version doesn't do the subtraction and second pass because of how it implements the wsprd algorithm. To more efficiently use the limited processing power of the Beagle, and to help meet the realtime constraints, the per-symbol FFTs are spread out over the entire sampling time. As opposed to wsprd which does everything at once (at the end) when presented with all the samples together in a file. So when the two minutes of sampling are done the Kiwi only has to run the decoding process on the previously computed FFTs of the symbols during the subsequent two minute interval (i.e. overlapped with the next sampling period). But to do the subtraction and a second pass would require all that processing to be done again during the two minute window and there just wouldn't be time for it in most cases.
We have to remember what the Kiwi extensions are. They are meant to be a very convenient, browser-based, built-in subset of fancier decoders that normally require separate programs with their associated hassles of virtual-audio-cables etc. They will never match the features or performance of existing decoders that have had much more effort put into them (and are closed-source and fee-based in many cases). -
What is the status of the WSPR background and autostart features? [added in v1.181]
Yes, I do everything myself in user space. At various times during development I tried C-threads, Linux realtime scheduling etc. and I had nothing but trouble.
I would suggest just sticking with processing the existing audio IQ stream you can currently get over the net. You have the Python kiwiclient example showing how to do it. Many other languages have web socket libraries if you don't want to deal with Python.
As for why the Kiwi timing isn't disrupted by uploads to wsprnet.org: it's because the upload happens from javascript in the user's browser, not from C-code running on the Kiwi side. This is an example of the advantage of being able to split your extension code into C and javascript parts.