Replies: 1 comment 2 replies
-
It looks like a configuration error with the Additive Scrambler block. Can you share the complete flowgraph that reproduces this problem? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi, we are working on the development of an uplink and downlink soft modem to use with the GOMSpace AX2150 radio. This is a relatively new S Band product, however based on the manual (we haven’t turned the radio on yet!) it seems to be configured in a very similar manner to the AX100 radio in “ASM + Golay” Mode.
We have made good progress – packets can be generated with an added preamble and syncword, the packet length field is Golay encoded, we can add a CRC32 and encode and decode with Reed Solomon, and have everything pop out again on the downlink using the gr-satellites AX100 Deframer (which is really using the U482C Decoder). Just one element is not working correctly, which is the CCSDS scrambling, currently we can only get it to work by turning scrambling off.
For the uplink we are using the GNURadio additive scrambler with parameters mask 0xA9, seed 0xFF, length 7, count 0 with a reset based on a packet length tag key. For the downlink the (de)scrambler is integrated in the U482C Decoder. We expected these to be functionally identical but it seems that this is not the case. The implementation for the U482C Decoder doesn’t use the GNURadio version but uses a separate implementation found in randomizer.c. They “should” be the same as they are, we understand, both based on the polynomial h(x) = x8 + x7 + x5 + x3 + 1. However they give different results – we have reimplemented the “randomizer” version in Python and fed both versions with a sequence of zero bytes - the “randomizer” implementation gives the expected result matching the CCSDS Blue Book description (first 9 bytes 0xff 48 0e c0 9a 0d 70 bc 8e) whereas the GNURadio version gives 0xff 12 70 03 59 b0 0e 3d 71. So the GNURadio version with these parameters looks to be giving the wrong answer.
So, is there some quirk regarding the U482C / AX100 scrambler implementation we are missing which means the GNURadio based scrambler doesn’t work here, but does for other satellites? Is this a configuration error?
Beta Was this translation helpful? Give feedback.
All reactions