Codificador Convolutional
__init__(G=np.array([[121, 91]]))
Inicializa o codificador convolucional, com base em uma tupla de polinômios geradores \(G\) que determinam a estrutura do codificador.
O codificador convolucional, considerando \(G_0\) e \(G_1\) pode ser representado pelo diagrama de blocos abaixo.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
G
|
ndarray
|
Tupla de polinômios geradores \(G\). |
array([[121, 91]])
|
Exemplo
AS3-SP-516-274-CNES (seção 3.1.4.4)
CCSDS 131.1-G-2
calc_taps(poly)
Calcula os índices dos bits ativos (\('1'\)), ou taps, do polinômio gerador \(G_n\).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
poly
|
int
|
Polinômio gerador \(G_n\) em formato binário. |
required |
Returns:
Name | Type | Description |
---|---|---|
taps |
int
|
Lista com os índices dos taps ativos. |
calc_free_distance()
Calcula a distância livre \(d_{free}\) do código convolucional, definida como a menor distância de Hamming entre quaisquer duas sequências de saída distintas.
Returns:
Name | Type | Description |
---|---|---|
dist |
int
|
Distância livre \(d_{free}\) do codificador convolucional organizado com \(G\). |
encode(ut)
Codifica uma sequência binária de entrada \(u_t\), retornando as sequências de saida \(v_t^{(0)}\) e \(v_t^{(1)}\). O processo de codificação pode ser representado pela expressão abaixo.
Sendo
- \(v_t^{(0)}\) e \(v_t^{(1)}\): Canais de saída do codificador.
- \(u_t\): Vetor de bits de entrada.
- \(G_{0}\) e \(G_{1}\): Polinômios geradores do codificador.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ut
|
ndarray
|
Vetor de bits \(u_t\) de entrada a serem codificados. |
required |
Returns:
Name | Type | Description |
---|---|---|
tuple |
(ndarray, ndarray)
|
Tupla com os dois canais de saída \(v_t^{(0)}\) e \(v_t^{(1)}\). |