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

Quickstart usage #27

Open
mikeyg123 opened this issue Dec 18, 2018 · 2 comments
Open

Quickstart usage #27

mikeyg123 opened this issue Dec 18, 2018 · 2 comments

Comments

@mikeyg123
Copy link

I must be really dumb but I find it impossible to understand how to start using this without knowing the details about roots of polynomials etc.

I've searched the issues and the code and found similar questions but nothing that helps

Could you possibly create pair of small example functions and add them to the README:

  • One which takes a message of length n bytes and adds p parity (is that the right word) bits,
  • One which takes an array of length n+p and writes out the original n byte message either in-place or to a different array.
    Reed-soloman or convolutional - it doesn't matter

That would help enormously - I'm lost at sea
Thank you

@brian-armstrong
Copy link
Member

Hi!

Sorry to hear you're feeling frustrated. I've wanted to create examples but I haven't got around to it yet.

There is something like an example in the tests here but it's not super easy to read. The Reed-solomon create() function is unfortunately somewhat complicated, but if you're not trying to interop with an existing RS setup, you don't need to worry too much about it. You can pick any of the polynomials and use 1 and 1 for FCR and root gap. num_roots is how many parity bytes you get.

What kind of lossiness are you transmitting through? Is it analog at all?

Brian

@mikeyg123
Copy link
Author

Thanks, that helps, hopefully I'll get it working soon.
The link is radio and the losses are hugely variable and possibly bursty.
The channel also carries audio data using codecs that degrade reasonably gracefully with increased error rate. So rather than use the theoretical BER from some particular S/N ratio; my plan is to experimentally determine the bit error rate at the point where the other streams become unusable and tune my data channel to that.
The other issue is that the frames used by the modem are less than 100 bits and I'd like to make each frame stand alone while using every bit possible. For efficiency and convenience if I need to request re-transmission I'd like to do it for individual frames rather blocks of several frames.
This is all early days yet. My first step was to find a FEC library in C with minimal dependencies and a compatible licence - so 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

No branches or pull requests

2 participants