57 lines
1.9 KiB
XML
57 lines
1.9 KiB
XML
|
<?xml version="1.0"?>
|
||
|
<block>
|
||
|
<name>Pseudo (De)randomiser with Softbits (CCSDS)</name>
|
||
|
<key>ccsds_randomiser_softbits</key>
|
||
|
<category>CCSDS/Telemetry</category>
|
||
|
<import>import ccsds</import>
|
||
|
<make>ccsds.randomiser_softbits($poly,$seed)</make>
|
||
|
<param>
|
||
|
<name>Generating Polynimoal</name>
|
||
|
<key>poly</key>
|
||
|
<value>0x95</value>
|
||
|
<type>int</type>
|
||
|
</param>
|
||
|
<param>
|
||
|
<name>Seed</name>
|
||
|
<key>seed</key>
|
||
|
<value>0xFF</value>
|
||
|
<type>int</type>
|
||
|
</param>
|
||
|
<check>$poly >= 0</check>
|
||
|
<check>$poly < 256</check>
|
||
|
<check>$seed >= 0</check>
|
||
|
<check>$seed < 256</check>
|
||
|
<sink>
|
||
|
<name>in</name>
|
||
|
<type>message</type>
|
||
|
</sink>
|
||
|
<source>
|
||
|
<name>out</name>
|
||
|
<type>message</type>
|
||
|
</source>
|
||
|
<doc>
|
||
|
Pseudo (De)randomiser
|
||
|
Combines the input frame with a pseudo random sequence by XOR operation. A one
|
||
|
in the PRN sequence will invert the softbit, a zero will copy it untouched. The
|
||
|
pseudo random sequence is generated by an 8-bit linear feedback shift register
|
||
|
(LFSR) as defined in ECSS.
|
||
|
|
||
|
The pseudo random sequence can be modified by the generating polygon as well as
|
||
|
shifted by choosing a different initial seed state.
|
||
|
|
||
|
poly: Polynomial that defines the network of the 8 shift registers. The MSB
|
||
|
encodes whether the last shift register (which is used for the output) should be
|
||
|
used to generate the new input while the LSB encodes whether the first shift
|
||
|
register (that holds the input bit of the last step should be used to generate
|
||
|
the output. Or in ECSS definition: The MSB holds the coefficient for x^0 up to
|
||
|
the LSB which holds coefficient x^7. x^8 is not encoded as it is always set (due
|
||
|
to the fact that this is a maximum length 8 bit shift register). The default
|
||
|
value is 0x95 which corresponds to the randomiser defined in ECSS with the
|
||
|
polynomial representation x^8+x^7+x^5+x^3+x^0.
|
||
|
|
||
|
seed: Initial state of the shift registers. MSB corresponds to the last register
|
||
|
(which will be the output on the next step). Default to all ones as defined in
|
||
|
ECSS.
|
||
|
</doc>
|
||
|
</block>
|