Skip to content

Preamble

__init__(preamble_hex='2BEEEEBF')

Create the preamble bits sequence \(S[n]\) from a hexadecimal string (Syncronization word). On ARGOS-3 standard, the preamble defined by standard is \(S[n] = 2BEEEEBF_{16}\). The preamble bits sequence \(S[n]\) is intercalated to form the vectors \(S_I[n]\) and \(S_Q[n]\) for each channel, as shown below.

\[ \begin{align} S_I[n] &= [S_0,\, S_2,\, S_4,\, \dots,\, S_{28}] && \mapsto \quad S_I[n] = [1111,\, 1111,\, 1111,\, 111] \\ S_Q[n] &= [S_1,\, S_3,\, S_5,\, \dots,\, S_{29}] && \mapsto \quad S_Q[n] = [0011,\, 0101,\, 0100,\, 111] \end{align} \]
Where
  • \(S[n]\): Preamble bits sequence.
  • \(S_I[n]\) and \(S_Q[n]\): Vectors \(S_I[n]\) and \(S_Q[n]\) corresponding to the I and Q channels, respectively.

Parameters:

Name Type Description Default
preamble_hex (str, opcional)

Hexadecimal of the preamble.

'2BEEEEBF'

Raises:

Type Description
ValueError

If the preamble \(S[n]\) has a different length from 8 characters.

ValueError

If the hexadecimal is not valid or cannot be converted.

Examples:

>>> import argos3
>>> 
>>> Si, Sq = argos3.Preamble(preamble_hex="2BEEEEBF").generate_preamble()
>>> 
>>> print(Si)
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
>>> 
>>> print(Sq)
[0 0 1 1 0 1 0 1 0 1 0 0 1 1 1]
  • Bitstream Plot Example: pageplot
Reference:
AS3-SP-516-274-CNES (seção 3.1.4.6)

generate_preamble()

Generate the vectors \(S_I[n]\) and \(S_Q[n]\) from the preamble bits sequence \(S[n]\).

Returns:

Name Type Description
tuple (ndarray, ndarray)

Vectors \(S_I[n]\) and \(S_Q[n]\).