Skip to content

Codificador NRZ e MAN

__init__(method)

Inicializa o codificador de linha com o método de codificação especificado.

Parameters:

Name Type Description Default
method str

Método de codificação desejado, \(NRZ\) ou \(Manchester\).

required

Raises:

Type Description
ValueError

Se o método de codificação não for suportado.

Exemplo

pageplot

Referência:
AS3-SP-516-274-CNES (seção 3.2.4)

encode(bitstream)

Codifica o vetor de bits usando o método especificado na inicialização. O processo de codificação de linha é dado pelas expressões abaixo correspondente a cada método.

\[ \begin{equation} \begin{aligned} X_{\text{NRZ}}[n] &= \begin{cases} +1, +1, & \text{se } X_n = 1 \\ -1, -1, & \text{se } X_n = 0 , \end{cases} &\quad\quad Y_{\text{MAN}}[n] &= \begin{cases} +1,-1, & \text{se } Y_n = 1 \\ -1, +1, & \text{se } Y_n = 0 . \end{cases} \end{aligned} \end{equation} \]
Sendo
  • \(X_n\) e \(Y_n\): Vetor de bits de entrada.
  • \(X_{\text{NRZ}}[n]\) e \(Y_{\text{MAN}}[n]\): Vetor de simbolos de saída.

Parameters:

Name Type Description Default
bitstream ndarray

Vetor de bits a ser codificado.

required

Returns:

Name Type Description
out ndarray

Vetor de simbolos codificados.

decode(encoded_stream)

Decodifica o vetor de simbolos usando o método especificado na inicialização. O processo de decodificação de linha é dado pelas expressões abaixo correspondente a cada método.

\[ \begin{equation} \begin{aligned} X_n &= \begin{cases} 1, & \text{se } X_{\text{NRZ}}[n] = +1, +1 \\ 0, & \text{se } X_{\text{NRZ}}[n] = -1, -1 \end{cases} &\quad\quad Y_n &= \begin{cases} 1, & \text{se } Y_{\text{MAN}}[n] = +1, -1 \\ 0, & \text{se } Y_{\text{MAN}}[n] = -1, +1 \end{cases} \end{aligned} \end{equation} \]
Sendo
  • \(X_{\text{NRZ}}[n]\) e \(Y_{\text{MAN}}[n]\): Vetor de simbolos de entrada
  • \(X_n\) e \(Y_n\): Vetor de bits de saída.

Parameters:

Name Type Description Default
encoded_stream ndarray

Vetor codificado.

required

Returns:

Name Type Description
out ndarray

Vetor de bits decodificado.