About Reed-Solomon decoding of PEGASUS satellite #529
-
Hi community! I have a question related to the "Satellite Reed-Solomon Decoder" block of gr-satellites (maint-3.8). As a small part of my Master thesis I am trying to briefly summarize how to decode the satellite. Here the FEC decoding plays a big roll. I am not very into FEC or RS decoding, but I want to give a short insight on how to get from the information provided in the "Ham Operator Manual" of PEGASUS to the actuall implementation into GNURadio for a users point of view. Moreover, with respect to our next satellite mission "CLIMB" I would like to improve the information provided for decoding of the satellite by ham operators (for PEGASUS especially information for CRC and FEC is missing :/ ) Following information is provided by the satellite team:
RS Implementation of gr-satellites:
What I have got so far (Am I true with my conclusions?):
Here I have some questions:
Many thanks in advance! :) 73 de |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Hi Alex, Here are some answers:
By the way, this particular Reed-Solomon code construction dates back to Voyager-1 (maybe it was the first place where it was used, I don't know). You can see how I define this code construction near the beginning of this post, though there I'm omitting some of the things that I said that should be specified (such as the mapping between 8-bit elements and field elements), because this is a post and not formal documentation. Annex F in the Galileo SIS ICD 2.0 is an example of how one can specify a Reed-Solomon code in all glory of detail (Maybe too much detail! Although it never hurts to have some redundancy in ICDs). It's again the same code construction, though they order the message bytes in the opposite order compared to what most of the world does (but this is completely clear if you read their documentation carefully). |
Beta Was this translation helpful? Give feedback.
Hi Alex,
Here are some answers:
The number of roots is equal to the degree of the code generator polynomial. These roots are the roots of the code generator polynomial, indeed. However, note that a polynomial of degree 16 has 17 coefficients. I think the leading coefficient is missing in your list, just because it should be 1 (the code generator polynomial is a monic polynomial).
The roots of a Reed-Solmon code must be of the form$\beta^j$ , $\beta^{j+1}$ , $\beta^{j+2}$ , etc., where $\beta$ is a primitive element. This $j$ is what is called the "first consecutive root", and writing $\beta = \alpha^k$ , where $\alpha$ is the root of the field generator polynomial (which must be primitiv…