Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update pocsag decoder #426

Merged
merged 5 commits into from
Nov 24, 2021
Merged

Conversation

heurist1
Copy link
Contributor

@heurist1 heurist1 commented Nov 7, 2021

Hi The POCSAG decoder was not very sensitive. It was also limited because it required the user to know the baud rate and inversion of the signal. Example data that I can get hold of has multiple baud rates on a single RF channel.
Around 20 years ago I wrote a decoder that worked from the discriminator output of a scanner, fed into the soundcard of a PC. I have ported the decoding section of this, and made it work with the POCSAG GUI aspect of the Portapac. As there is no need to set a baud rate or inversion, I have removed those elements from the GUI.
I noted that between me starting this work and now a new baud rate had been added, so I have set the smoothing so that it should still work well at this rate, but I only have access to signals at 512 1200 and 2400 for testing.
I kept the frame extractor in a separate class during development, so that it could be run in both Portapac and my old software, as that made development and debugging easier, but I have merged it back now. I spent quite a while converting it to use scaled integers rather than floats. I scaled all values by 1024, but actually I’m not convinced that it works that much faster, I’m also not sure how to know exactly how much CPU it is using.
There is a small helper class to smooth the signal which may be more correctly part of “dsp” but I’m not sure what the project policy is on this.
Maybe there is a standard test that you run against the code before a release, but I hadn’t spotted that in the repository. If there is a test, please could someone send a link to it so I could run my code against it. I could even expand the test to include multiple rates and inversion in a single file.
If you observe any issues with the code and would like them fixing before accepting the pull request, please let me know, and within reason, I’m sure I can find time to work on them.
Cheers
Simon

This is the POCSAG code before reformat to put smooth and extract packets in the correct place
Removed unused items from the UI
Left in the message for the moment, because there are likely to be parameters needed at some point.
@eried
Copy link
Member

eried commented Nov 8, 2021

Hey! thanks for the improved version 👍 it needs to get exposed it in our discord's testdrive channel

@heurist1
Copy link
Contributor Author

heurist1 commented Nov 8, 2021

Hey! thanks for the improved version 👍 it needs to get exposed it in our discord's testdrive channel

Hi Eried, I'm sorry I am not familiar with the "testdrive channel". Is this something that I do, or something that gets handled by the pull request review process (or something else)?

@ArjanOnwezen
Copy link
Contributor

ArjanOnwezen commented Nov 8, 2021

Looks like something was wrong with the antenna I was using.
I do see POCSAG messages after changing antenna. More messages then before. Also it doesn't 'freeze' anymore. So functionally a big improvement. I'll do some more comparison coming weekend.

@eried
Copy link
Member

eried commented Nov 9, 2021

Hey! thanks for the improved version 👍 it needs to get exposed it in our discord's testdrive channel

Hi Eried, I'm sorry I am not familiar with the "testdrive channel". Is this something that I do, or something that gets handled by the pull request review process (or something else)?

Hi! not much, in the main readme there is a link for our discord, and inside there is a channel where you can ask users to test stuff 💯

@pickeditmate
Copy link

Testing this now and I'm loving it. If I had 2 hackrf I could send pocsag messages to ensure they're all getting through but I'm happy it's pulling in more messages than it was before. Thanks for your efforts it's a yes from me!

@tomevans80
Copy link

Great work, thank you!

@eried eried merged commit 0d1d703 into portapack-mayhem:next Nov 24, 2021
@chrisgxj
Copy link

Great work updated and can confirm the POCSAG decoder does not freeze anymore

@gullradriel
Copy link
Member

@heurist1 are you still around ?
There is a lot of discussion around the pocsag app, and I'm sure you could help.
The related issue is just over my message.
Thanks :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants