Doesn't WSPR also use the CRC in messages? So it would be a combination of collision + valid CRC.The 50/50 point for 32768 values is 214.Why does WSPR remember the hash value? We do see bogus matches in FT8 modes and such -- not real often but every once in while a callsign hash will match a random decode....same 15 bit hash being used for that too. Given the much lower WSPR counts I would expect "valid" collisions to be pretty rare. Mike W9MDB On Friday, August 13, 2021, 05:41:12 PM CDT, Phil Karn via wsjt-devel <wsjt-devel@lists.sourceforge.net> wrote: The hash function used in wspr is 15 bits wide, i.e., there can be 32,768 values. This may seem like a lot, but the "birthday paradox" says that the probability of a collision grows faster than you might expect as the set size grows. It comes from the fact that you only need ~23 people to have a 50% probability that two of them have the same birthday.
A very rough approximation is that the probability of a collision is 1/2 when the set size is equal to the square root of the hash size. For 15 bits, that's about 180. My hashtable.txt for 40m currently has 353 entries. Has anyone seen a collision in practice? If one occurs, the most recent duplicate entry is most likely the correct one. Requiring a match in the first 4 characters of the grid square would also seem to greatly reduce the problem. Phil _______________________________________________ wsjt-devel mailing list wsjt-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wsjt-devel
_______________________________________________ wsjt-devel mailing list wsjt-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wsjt-devel