Estrutura e Representação do Codificador de Código Convolucional

Esta coluna contém o conhecimento básico de teoria e codificação da informação, organizado por pontos de conhecimento e pode ser usado como referência para ensino ou aprendizagem. A versão markdown foi arquivada no [repositório do Github: https://github.com/timerring/information-theory ] ou na conta pública [AIShareLab] para responder ao Information Theory .

Noções básicas de código convolucional

Códigos de bloco—códigos sem memória

Códigos Convolucionais - Códigos de Memória

  • Ser capaz de memorizar os conceitos básicos de códigos convolucionais;
  • Capaz de desenhar o codificador do código convolucional de acordo com o vetor de conexão e codificá-lo;
  • Capaz de desenhar o diagrama de transição de estado e diagrama de treliça do código convolucional de acordo com o codificador;
  • Capacidade de decodificar códigos convolucionais usando o algoritmo de decodificação de Viterbi;
  • Entenda o conceito de intercalação.

O conceito de código convolucional

O código convolucional é descrito por três inteiros, (n, k, L), onde k/n também representa a eficiência de codificação e L é chamado de comprimento de restrição; representa a série de k-tuplas no registrador de deslocamento de codificação e k representa o tempo de codificação O número de elementos de código alimentados no codificador de uma só vez.

Uma característica importante dos códigos convolucionais diferentes dos códigos de bloco é a memória do codificador, ou seja, as n-uplas geradas pelo processo de codificação convolucional não são apenas uma função das k-uplas de entrada atuais, mas também do L-1 anterior entrada k-tuplas A função. Normalmente, n e k assumem valores menores, e a capacidade de codificação e a complexidade são controladas pela alteração de L.

Estrutura do Codificador de Código Convolucional

(n, k, L) código convolucional: A figura a seguir mostra o codificador do código convolucional, no qual existem registradores de deslocamento de nível kL, L \boldsymbol{L}L é chamado de comprimento de restrição do código convolucional.

O codificador do código convolucional é uma máquina de estado finito, e seu número de estados é 2 ( L − 1 ) k 2^{(L-1) k}2( L 1 ) k . estado e entrada atualk \boldsymbol{k}A k -tupla determina a n-upla de saída atual.

Representação do Codificador Convolucional

Este é um código convolucional (2,1,3), ou seja, n=2, k=1, L=3.

Por que é chamado de código convolucional?

Processo de codificação:

Suponha que a sequência de informações de entrada seja 100101.

A sequência de informações de saída é 11 01 11 11 01 00 01 11

O estado inicial do codificador de código convolucional é 0 e o estado deve ser limpo após a codificação

1. Conectar vetor (gerar vetor)

Uma maneira de descrever um codificador é especificar n vetores conectados, cada um correspondendo a um módulo-2 somador. Cada vetor é L-dimensional e representa a conexão entre o módulo-2 somador e o registrador de deslocamento codificado. Um 1 no i-ésimo bit no vetor indica que o estágio correspondente do registrador de deslocamento está conectado ao módulo 2 adicionador , e um 0 indica que não há conexão entre o estágio correspondente e o módulo 2 adicionador .

2. Descrição do estado e diagrama de estado

Os codificadores de código convolucional pertencem a uma classe de dispositivos conhecidos como máquinas de estado finito.

"Limitado" indica que a máquina de estado tem apenas um número finito de estados distintos. "Estado" pode usar a entrada atual do dispositivo e a quantidade mínima de informações para prever a saída do dispositivo. Um estado fornece restrições no processo de sequência passada e um conjunto de possíveis sequências de saída futuras, o próximo estado é sempre limitado pelo estado anterior.

Tomando um codificador de código convolucional com uma eficiência de codificação de 1/n como exemplo, o estado é representado pelo conteúdo do registrador de nível mais à direita (L-1) (observe que o mais à direita aqui se refere ao final mais à direita do registrador de deslocamento após o símbolo de informação atual é o registro de entrada).

Conhecer o estado atual e a próxima entrada é uma condição necessária e suficiente para determinar a próxima saída.

Uma maneira de representar um codificador simples é um diagrama de estado.

Os estados na caixa do diagrama de estado representam os possíveis conteúdos do nível mais à direita (L-1) do registrador, e os caminhos entre os estados representam as palavras de ramificação de saída dessa transição de estado. O estado do registro é expresso como a = 00, b = 01, c = 10, d = 11. Correspondendo a dois bits de entrada possíveis, há apenas duas transições de cada estado, e a palavra de ramificação de saída durante a transição de estado é marcada no correspondente ao lado do caminho de transferência. Na figura, a linha sólida indica o caminho onde o bit de entrada é 0 e a linha pontilhada indica o caminho onde o bit de entrada é 1.

Observação: as transições de estado não são arbitrárias. Como a informação é deslocada um bit por vez, existem apenas duas transições de estado possíveis para o registrador a cada tempo de bit.

3. Diagrama de árvore

Embora o diagrama de estado descreva completamente as características do codificador, é inconveniente usar o diagrama de estado para rastrear a transição de estado do codificador porque ele não representa o processo de tempo. Se você quiser mostrar todas as situações possíveis de entrada e saída do codificador, pode usar um diagrama de árvore para descrevê-lo. É formado expandindo o diagrama de estado do codificador no tempo.

4. O diagrama da treliça

O gráfico de grade combina nós no mesmo nível no gráfico de árvore que estão no mesmo estado.

A figura a seguir é um diagrama de treliça de um código convolucional (2,1,3). Os nós do gráfico de grade representam o estado do codificador; em cada unidade de tempo, o gráfico de grade usa 2 L − 1 2^{L-1}2L 1 nós representam2 L − 1 2^{L-1}2L 1 possíveis estados do codificador. Pode-se ver que haverá repetições.

O vetor de conexão de um código convolucional (2,1,3) é:
g 1 = [ 1 1 0 ] , g 2 = [ 0 1 1 ] g_{1}=\left[\begin{array}{lll} 1 & 1 & 0 \end{array}\right], \quad g_{2}=\left[\begin{array}{lll} 0 & 1 & 1 \end{array}\right]g1=[110],g2=[011]
(1) Desenhe o codificador, o diagrama de estado e o diagrama de treliça do código convolucional.

(2) Quando a sequência de entrada for 100011101001, encontre a saída codificada.

referências:

  1. Proakis, John G., et al. Engenharia de sistemas de comunicação . Vol. 2. Nova Jersey: Prentice Hall, 1994.
  2. Proakis, John G., et al. MANUAL DE SOLUÇÕES Engenharia de Sistemas de Comunicação . Vol. 2. Nova Jersey: Prentice Hall, 1994.
  3. Zhou Jiongpan. Communication Principles (3rd Edition) [M]. Beijing: Beijing University of Posts and Telecommunications Press, 2008.
  4. Fan Changxin, Cao Lina. Princípios de comunicação (7ª edição) [M]. Pequim: National Defense Industry Press, 2012.

Acho que você gosta

Origin blog.csdn.net/m0_52316372/article/details/131307002
Recomendado
Clasificación