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:
Reference:
AS3-SP-516-274-CNES (seção 3.1.4.6)
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]\). |