CÓDIGO BCH BINÁRIO.. INTRODUÇÃO [] Os códigos BCH Bose, Chaudhuri e Hocquenghen são uma importante e extensa classe de códigos cíclicos com grande capacidade de correção de erros. Esses códigos são uma generalização dos códigos de Hamming para correção de múltiplos erros. Os códigos BCH binários foram descobertos por Hocquenghen em 99 e por Bose e Chaudhuri, de forma independente, em 96. A estrutura cíclica dos códigos BCH foi proada por Peterson em 96. Em 96, Gorenstein e Zierler generalizaram os BCH para códigos em p m símbolos, onde p é um número primo. Entre os códigos BCH não binários a sub-classe mais importante é a dos códigos Reed-olomon R, descobertos por Reed e olomon em 96, independentemente dos trabalhos de Bose, Chaudhuri e Hocquen. O primeiro algoritmo de decodificação para os códigos BCH binários foi desenolido por Peterson em 96. A partir daí o algoritmo de Peterson foi generalizado e refinado por Gorenstein e Zierler, Chien, Forney, Berlekamp, Massey, Burton e outros. Entre todos os algoritmos para a decodificação dos códigos BCH o algoritmo iteratio de Berlekamp e o algoritmo de busca de Chien são os mais eficientes. Este texto apresenta os fundamentos dos códigos BCH, o processo de criação de um código, o processo de decodificação pelos algoritmos de Peterson e de Berlekamp, e algumas considerações sobre implementações... CÓDIGO BCH PRIMITIVO BINÁRIO Para qualquer inteiro m e t < m-, existe um código binário BCH com os seguintes parâmetros: Comprimento do bloco n m - n o de dígitos de erificação de paridade n-k mt Distância mínima d min t O polinômio gerador deste código é especificado em termos de suas raízes do campo de Galois GF m. O polinômio gerador é o polinômio de menor grau sobre GF m que tem,,,..., t. como suas raízes, [isto é, g i para i t]. Isso significa que g tem,,,..., t e seus conjugados como todas as suas raízes. eja φ i o polinômio mínimo de i. Então, g dee ser o mínimo múltiplo comum MMC de φ, φ,..., φ t, isto é, g MMC{φ, φ,..., φ t }.. _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO e i é um inteiro par, ele pode se representado como um produto da forma como se segue. i i l, i i onde i é um número ímpar, e l. Então, l i tem o mesmo polinômio mínimo; isto é, é um conjugado de i e, portanto, i e φ i φ i. Consequentemente, toda potência par de na sequência em. tem o mesmo polinômio mínimo que algumas potências impares precedentes na sequência. Como resultado, o polinômio gerador g de um código BCH binário com comprimento m - e capacidade de correção de t erros dado por. pode ser reduzido para g MMC{φ, φ,..., φ t- }.. Pelo fato do grau de cada polinômio mínimo ser m ou menor, o grau de g, que é igual a n k, é no máximo igual a mt. Não há uma fórmula simples para a determinação de n k, mas se t é pequeno, n k é exatamente igual a mt. A Tabela. apresenta os parâmetros para todos os códigos BCH de comprimento m - com m 8. Tabela. - Características dos códigos BCH para alores de m até 8 n k t n k t n k t n k t 7 4 47 9 7 7 6 99 4 99 4 4 9 6 9 87 6 8 6 7 6 79 7 6 78 7 99 7 7 9 7 9 9 8 6 6 7 7 64 87 9 7 7 79 47 4 7 4 4 4 4 4 6 7 4 9 4 6 4 9 47 6 9 47 4 6 6 9 8 9 4 7 7 9 9 6 8 8 6 7 _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO De. pode-se obserar que para um código BCH de comprimento m -, com capacidade de correção de um único erro, φ t- φ. Logo ele é gerado por g φ. Deido a ser um elemento primitio de GF m, φ é um polinômio primitio de grau m. Portanto, um código BCH de comprimento m -, com capacidade de correção de um único erro, é um código de Hamming. EEMPLO. Considere o GF 4 gerado por p 4, apresentado na Tabela. e suas raízes conjugadas apresentadas na Tabela.. Determine os polinômios geradores para códigos BCH com capacidades de correção de dois e de três erros. Tabela. GF 4 gerado por p 4 Representação por potência Representação polinomial Representação etorial 4 6 7 8 9 4 Tabela. Raízes conjugadas de GF 4 gerado por p 4 l Raízes conjugadas, 4, 8,, 4, 8 6,, 4 9, 6, 9,, 7 4, 8, 6 7,,, 4 _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO OLUÇÃO A partir de GF 4 pode-se criar códigos BCH com comprimento n 4, ou seja, os códigos serão BCH, k. Os polinômios mínimos correspondentes às raízes conjugadas são: Raízes conjugadas φ Polinômios mínimos φ,, 4, 8 φ 4 8 [ ][ 4 8 ] [ ][ ] 4 8 7 4, 6, 9, φ 6 9 [ 6 9 ][ 9 ] [ 9 ][ 8 6 ] 4 8 9 6 7 8 4, φ 7,,, 4 φ 7 7 4 Para correção de duplo erro: [ 7 8 ][ 4 7 ] [ 8 8 ][ ] 4 8 8 4 Para correção de duplo erro o polinômio gerador é obtido fazendo: g MMC{φ, φ }. Como φ e φ são dois polinômio irredutíeis distintos, g φ φ 4 4 g 4 6 7 8..4 Logo g gera um código BCH, 7 cíclico com d min. Uma ez que o polinômio gerador do código possui peso, então a distância mínima do código é exatamente. _BCH_V_Re - Geraldo Gil R. Gomes.4
. CODIGO BCH BINÁRIO Para correção de triplo erro: Para correção de três erros o polinômio gerador é obtido fazendo: g MMC{φ, φ, φ } 4 4 g 4 8.. Este é um código BCH, cíclico com d min 7. Uma ez que o polinômio gerador do código possui peso 7, então a distância mínima do código é exatamente 7. * * * É importante obserar que o peso do polinômio gerador é igual à distância mínima do código apenas para os códigos BCH primitios. Existem códigos BCH não primitios, que não são apresentados neste texto, para os quais essa afirmação não é álida. Uma abordagem mais aprofundada sobre a distância mínima dos códigos BCH pode ser encontrada em []... DECODIFICAÇÃO DO CÓDIGO BCH [][] Admita que uma palara código c... n- n- seja transmitida e os erros introduzidos pelo canal de comunicação tenham produzido a palara recebida r r r r... r n- n-. e e foi o padrão de erro introduzido pelo canal, então r c e..6 Como nos códigos de blocos mais simples, o processo de decodificação se inicia por meio do cálculo da síndrome de erros para o etor recebido r. Para os códigos BCH primitios a diisão de r pelo polinômio mínimo φ i de i, para i t, pode ser escrito como onde b i é o resto da diisão. Como φ i i, então r a i φ i b i,.7 i b i i r i r r i r i... r n- n-i..8 Assim, cada componente da síndrome i pode ser obtido diretamente pela determinação de r com i, de forma que,,..., t,.9 ou seja, a síndrome de erros para os códigos BCH é formada por t síndromes componentes i. _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO EEMPLO. Considere o código BCH, 7 com capacidade de correção de duplo erro gerado por.4. Admita que o etor recebido foi r. Determine o conjunto de síndromes de erros para o etor recebido. OLUÇÃO O polinômio correspondente é r 8. A síndrome consiste de quatro componentes:,,, 4. Conforme apresentado no Exemplo., os polinômios mínimos para, e 4 são idênticos, e φ φ φ 4 4. O polinômio mínimo para é φ 4. Diidindo r 8 por φ 4, obtém-se b. Diidindo r 8 por φ 4, obtém-se b. Usando GF 4 dado na Tabela. e substituindo, e 4 em b, obtém-se, 4, 4 8. ubstituindo em b, obtém-se 9 7. Assim,, 4, 7, 8. Conforme.8 as síndromes podem ser obtidas diretamente a partir de r conforme mostrado a seguir r 8 r 6 4 r 4 9 7 4 r 4 4 8 _BCH_V_Re - Geraldo Gil R. Gomes.6
. CODIGO BCH BINÁRIO Assim,, 4, 7, 8. * * * Como,,..., t são raízes de cada polinômio código, então c i para i t. A partir de.6 e.8, obtém-se, para i t, a seguinte relação entre a síndrome e o padrão de erro, i e i.. A equação. mostra que a síndrome depende exclusiamente do padrão de erros e. Admita que o padrão de erro e tem erros nas localizações j, j,..., j ; isto é j j j e K. onde j < j <... < j < n. De. e. obtém-se o seguinte conjunto de equações: t j j K j j M j j j t j j K j K t j j K t,. j j j onde,, K, são desconhecidos. Qualquer método para a solução dessas equações é um algoritmo de decodificação para os códigos BCH. j j j Uma ez encontrados os alores para,, K,, as potências j, j,..., j indicam as localizações de erros em e, conforme mostrado em.. Geralmente, o sistema de equações. têm muitas soluções possíeis. Cada solução produz um padrão de erro diferente. A solução correta é a que apresenta o menor número de erros entre aquelas em que o padrão de erro e possui um número de erros igual a t ou menos t. Para grandes alores de t, a solução direta de. é difícil e ineficaz. A seguir é apresentado jl um procedimento eficaz para a determinação de para l,,..., dos componentes i s da síndrome. ALGORITMO DE PETERON [] [] [] Por coneniência, seja j l. l para l. Esses elementos são chamados de números de localização de erros. Assim o sistema em. pode ser reescrito da seguinte forma: _BCH_V_Re - Geraldo Gil R. Gomes.7
. CODIGO BCH BINÁRIO _BCH_V_Re - Geraldo Gil R. Gomes.8. t t t t K M K K K.4 Essas t equações são funções simétricas em,,...,, que são conhecidas como funções simétricas de soma de potências. Agora, considere o seguinte polinômio:........... As raízes de são -, -,..., -, que são o inerso dos números localizadores de erros. Por essa razão, é chamado de polinômio localizador de erros. Nota-se que é um polinômio não conhecido cujos coeficientes deem ser determinados. Os coeficientes de e o número localizador de erros são relacionados pelas seguintes equações:.......... M.6 Os i s são conhecidos como funções simétricas elementares de l s. De.4 e.6 pode-se erificar que os i s estão relacionados com os componentes de síndrome j s. De fato, eles estão relacionados com os componentes de síndrome pelas seguintes identidades de Newton:...... M.7 Para o caso binário, uma ez que, tem-se par i i i i i para ímpar para que resulta em
. CODIGO BCH BINÁRIO M 4 4.8 Desta forma o sistema fica restrito a um número t de equações. Uma ez que é possíel determinar as funções simétricas elementares,,..., do sistema de equações.8, os números localizadores de erros,,..., podem ser encontrados pela determinação das raízes do polinômio localizador de erros. Noamente, o sistema de equações.8 pode ter muitas soluções; entretanto, a solução será aquela que resultar em um de grau mínimo. Este produzirá um padrão de erro e com um número mínimo de erros. e t, este dará o padrão de erro e erdadeiro. A seguir será apresentado um algoritmo para a determinação do polinômio de grau mínimo que satisfaz as primeiras t equações de.8, apesar de podermos determinar até t síndromes. Isso se dee ao fato de que para os códigos binários apenas as síndromes ímpares serão usadas no processo de decodificação. O algoritmo de Peterson pode ser resumido nos seguintes passos:. Calcule a síndrome,,..., t a partir do polinômio recebido r.. Determine os polinômios localizadores de erros a partir dos componentes.. Determine os números localizadores de erros,,..., por meio das raízes de e corrija os erros em r. Os passos e são muito simples enquanto que o passo é a parte mais complicada da decodificação dos códigos BCH, onde a complexidade de decodificação aumenta com o aumento da capacidade de correção de erros dos códigos. Por exemplo, na decodificação de um código BCH binário, com capacidade de correção de apenas um erro, haerá somente um alor de síndrome e a primeira linha de.8 determina que Para t, o polinômio localizador de erros, obtido a partir de. resume-se a. Para códigos com capacidade de correção de dois erros,. Além disso, pode-se demonstrar facilmente que para códigos binários a seguinte igualdade é erdadeira []: i i para qualquer i..9 Assim, duas síndromes e deem ser calculadas e por meio das duas primeiras equações de.8 obtém-se. _BCH_V_Re - Geraldo Gil R. Gomes.9
. CODIGO BCH BINÁRIO _BCH_V_Re - Geraldo Gil R. Gomes.. Usando esta técnica ou qualquer outra técnica padrão para a solução do sistema de equações lineares de.8 pode-se determinar os alores dos i s para qualquer capacidade de correção de erros. A Tabela.4 apresenta os coeficientes do polinômio localizador de erros em função dos componentes da síndrome, para códigos com capacidade de correção t. Tabela.4 Coeficientes do polinômio localizador de erros em função dos componentes da síndrome para t. t l i 4 4 7 7 [ ] [ ] [ ] 4 7 7 4 9 9 4 7 7 7 7 4 9 9
. CODIGO BCH BINÁRIO _BCH_V_Re - Geraldo Gil R. Gomes. Exemplo. Admita que o etor código todo zero do código BCH, gerado por. tenha sido corrompido por ruído resultando no etor recebido r. Decodifique o etor recebido. OLUÇÃO O polinômio recebido obtido a partir do etor recebido r é r De onde se obtém as síndromes r r 9 6 r 6 Da Tabela.4 obtém-se para t, com o auxílio da Tabela., os seguintes resultados para i : Logo, o polinômio localizador de erros. torna-se. As raízes de podem ser encontradas fazendo 6 4 4 4 4 8 é raiz é raiz é raiz M M M
. CODIGO BCH BINÁRIO As posições de erros são o inerso das raízes do polinômio localizador de erros, logo: erro na posição erro na posição erro na posição Logo o polinômio localizador de erros. torna-se: e Uma ez obtido o polinômio localizador de erros, basta somar o etor erro com o etor recebido para obter-se o etor código que, proaelmente, foi o etor transmitido, ou seja: e e c r e c. * * * ALGORITMO ITERATIVO DE BERLEKAMP IMPLIFICADO PARA O CAO BINÁRIO [][4] Para a correção de mais de seis erros em um etor recebido correspondente a uma palara-código BCH transmitida o método de Peterson para a solução dos coeficientes de, obtido a partir dos alores das síndromes, tornam-se trabalhoso e ineficiente. Isso se dee ao fato de que o número de operações no campo finito, para a solução dos coeficientes de cresce aproximadamente com o quadrado do número de erros a ser corrigido. Por esse motio, a utilização do algoritmo iteratio desenolido por Berlekamp, para a solução das identidades de Newton, é mais antajosa porque requer um número de operações que cresce linearmente com o número de erros a ser corrigido. O algoritmo de Berlekamp será apresentado a seguir sem o seu desenolimento matemático assim como as correspondentes suas proas. Maiores detalhes sobre este algoritmo pode ser encontrado em [4] O algoritmo de Berlekamp consiste da busca iteratia dos coeficientes do polinômio localizador de erros, onde o número de iterações para a decodificação dos t erros de uma palara binária de um código BCH, é igual a t. O número de cada iteração é representado por µ. Assim, o polinômio localizador de erros para a iteração µ é denotado por µ µ µ t..... O polinômio localizador de erros para a iteração µ é determinado por µ µ _BCH_V_Re - Geraldo Gil R. Gomes. µ T µ µ t,.
. CODIGO BCH BINÁRIO µ onde é definida como sendo a discrepância encontada quando uma ersão proisória de µ, construída para uma linha de.7, não satisfaz a próxima linha, enquanto T µ é uma correção polinomial. A discrepância µ é definida como o coeficiente de µ µ no produto [ ].4 Enquanto o alor da correção polinomial para a próxima linha é determinado de acordo com as seguintes condições T µ se ou se o grau de µ µ T µ µ se e o grau de µ µ µ > µ µ. O algoritmo é inicializado na iteração µ sendo que o polinômio localizador de erros e a correção polinomial para este passo é feito, respectiamente, T.6 Após essas definições o algoritmo pode ser resumido nos seguintes passos: Comece a construção de uma tabela com quatro colunas que deerão abrigar, respectiamente, os alores µ, µ, T µ µ e, admitindo para a primeira linha, correspondente à iteração µ, os alores apresentados em.6, ou seja: µ µ T µ µ M M M M t T Determine os alores de µ e T µ para a próxima linha, ou seja, obtenha os alores µ e T µ por meio de. e., respectiamente. Complete µ a linha calculando o alor de usando.4. Note que o alor de µ usado em.4 é o alor presente nesta mesma linha. Repita o passo até que o todos os coeficiente i tenham sido encontrados. a ser _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO EEMPLO.4 Com os dados do Exemplo. encontre o polinômio localizador de erros utilizando o algoritmo de Berlekamp simplificado para o caso binário. OLUÇÃO Do Exemplo. tem-se que ; e e de.9 obtém-se os demais alores de síndromes: 4 6 Assim, pode-se escreer que 4 6 o Passo: µ o Passo: µ µ De. obtém-se: µ µ µ T T µ µ T De. obtém-se: T µ T T Conforme.4, para alor atualizado µ, dee-se obter o coeficiente de µ produto: 4 6 [ ]. Resolendo apenas para o termo de terceiro grau, obtém-se:, no Assim o coeficiente procurado é. Logo,. _BCH_V_Re - Geraldo Gil R. Gomes.4
. CODIGO BCH BINÁRIO Até a iteração µ a tabela do algoritmo de Berlekamp passa a ser o Passo: µ µ De. obtém-se: µ µ T µ µ µ T De. obtém-se: T µ T T Conforme.4, para alor atualizado µ, dee-se obter o coeficiente de µ produto [ ]. µ, no Resolendo apenas para o termo de quinto grau, obtém-se: 4 4 6 Assim o coeficiente procurado é. Logo,. Até a iteração µ a tabela do algoritmo de Berlekamp passa a ser 4 o Passo: µ µ De. obtém-se: µ µ T µ µ µ T Até a iteração µ a tabela do algoritmo de Berlekamp passa a ser _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO µ µ T µ µ - - Assim, que é idêntico ao encontrado no Exemplo.. * * * Berlekamp mostrou que se o número de erros no bloco recebido não for maior do que t, o algoritmo identificará corretamente a localização de todos os erros. e houer mais do que t erros, uma ariedade de eentos podem ocorrer. É possíel ainda que raramente que o algoritmo indique corretamente as posições de erros por meio de um polinômio com grau maior do que t. Muito mais frequentemente, entretanto, o algoritmo irá conergir para um polinômio com grau t ou menor, indicando uma aparente solução correta embora de fato incorreta. Quando o número de erros do bloco recebido é menor do que t, não são necessárias as t iterações para se obter o polinômio localizador de erros. Note que se a discrepância for zero, i.e., µ, então. torna-se µ µ e a execução do algoritmo pode ser interrompida. Veja Exemplo.. EEMPLO. Admita que o etor código todo zero do código BCH, gerado por. tenha sido corrompido por ruído resultando no etor recebido r. Encontre o polinômio de erro para o etor recebido usando o algoritmo de Berlekamp. OLUÇÃO O polinômio recebido obtido a partir do etor recebido r é r De onde se obtém as síndromes r r 9 6 r 6 De.9 obtém-se os demais alores de síndromes: _BCH_V_Re - Geraldo Gil R. Gomes.6
. CODIGO BCH BINÁRIO 4 6 Consequentemente, 4 6. o Passo: µ µ µ T µ µ o Passo: µ µ De. obtém-se: µ T De. obtém-se: T µ T T Conforme.4, para µ, dee-se obter o coeficiente de µ, no produto: 4 6 [ ] Resolendo apenas para o termo de terceiro grau, obtém-se:. Assim o coeficiente procurado é. Logo,. Até a iteração µ a tabela do algoritmo de Berlekamp passa a ser o Passo: µ µ µ µ T µ µ Como, de. obtém-se: _BCH_V_Re - Geraldo Gil R. Gomes.7
. CODIGO BCH BINÁRIO µ T De. obtém-se: T µ T T Conforme.4, para µ, dee-se obter o coeficiente de µ, no produto: 4 6 [ ] Resolendo apenas para o termo de quinto grau, obtém-se: 4 Assim o coeficiente procurado é. Logo,. Resultando, para µ, em µ µ T µ µ Logo, o polinômio localizador de erros. torna-se Pode-se erificar facilmente que apenas e são raízes de. Como as posições de erros são o inerso das raízes do polinômio localizador de erros, então:.. erro na posição erro na posição Logo o polinômio localizador de erros. torna-se: e * * * _BCH_V_Re - Geraldo Gil R. Gomes.8
. CODIGO BCH BINÁRIO.4. CONIDERAÇÕE OBRE IMPLEMENTAÇÕE [][] A implementação de um codificador para os códigos BCH primitios binários não apresenta grande dificuldade deido ao fato destes códigos serem cíclicos. Assim sendo, um codificador para códigos BCH primitios binários é idêntico a um codificador com registradores de deslocamento para códigos cíclicos. Já a decodificação é um pouco mais complexa. Cada passo da decodificação de um código BCH pode ser implementada tanto por software como por hardware. Algumas considerações sobre essas formas de implementação são apresentadas a seguir. ETAPA : CÁLCULO DA ÍNDROME Esta primeira etapa da decodificação não apresenta maiores dificuldades para a sua implementação em hardware. De fato, o circuito para o cálculo das síndromes é semelhante àquele utilizado para os códigos cíclicos. A diferença é que ao inés um circuito para o cálculo da síndrome, são necessários t circuitos para o cálculo do conjunto de síndromes dos códigos BCH. Isso pode ser feito considerando que o resto da diisão de r por φ i tem a forma e que b i b b b... b t- t-, i i b i.i. b b.i b.i... b t-.it- O Exemplo.6 apresenta a solução para a determinação das síndromes do código BCH, 7 do Exemplo.. EEMPLO.6 Desenhe um circuito para a determinação das síndromes para o BCH, 7, com capacidade de correção de até dois erros t do Exemplo.. OLUÇÃO b b b b b φ φ φ 4 4 e φ 4. b b b b 4 b 6 b b b b b b b b b b b b b b b b b b b b 6 b 9 b b b b b b b b b b b b b b b b 4 b 4 4 b b 4 b 8 b b b b b b b b b b b b b b b b b b b b b b b _BCH_V_Re - Geraldo Gil R. Gomes.9
. CODIGO BCH BINÁRIO Que resulta no circuito da Figura.. r φ φ φ 4 4 b b b b 4 φ 4 b b b b Figura. - Circuito para a determinação das síndromes para o BCH, 7 do Exemplo.. * * * A antagem da implementação em hardware, conforme a apresentada no Exemplo.6, é a elocidade. Entretanto, implementações em software apresentam a antagem de serem mais baratas. _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO ETAPA : DETERMINAÇÃO DO POLINÔMIO LOCALIZADOR DE ERRO Nesta etapa da decodificação o custo, a elocidade e a complexidade dependem do algoritmo usado e do tipo de implementação, ou seja, software ou hardware. Geralmente, a implementação pura em hardware torna o processo de determinação do polinômio localizador de erros mais rápido e a elocidade depende de quanto processamento está sendo feito em paralelo. Entretanto, mais uma ez, a implementação em hardware tende a ser mais cara do que a implementação por software. Independentemente do algoritmo usado para a implementação desta etapa de decodificação em hardware puro, basicamente sua implementação é feita por circuitos que realizam as operações de adição e multiplicação no Campo de Galois. O Capítulo 6 da Referência [] apresenta algumas alternatias para a realização dessas operações. ETAPA : LOCALIZAÇÃO DO ERRO E CORREÇÕE Este passo pode ser implementado em hardware usando o circuito de busca de Chien, apresentado na Figura.. Para entender como o circuito funciona, seja o polinômio localizador de erros diidido por t, conforme apresentado a seguir. t L t t O alor de que satisfaz satisfaz, consequentemente, a equação t t L Admitindo como conenção que a transmissão ocorra com os bits de ordem mais alta em primeiro lugar, é coneniente aplicar o teste da raiz para o localizador n- primeiramente. Note que a substituição de termo -i em n- resulta em -ini, o que equiale a i considerando o comprimento total do código BCH, uma ez que n e portanto -in. Consequentemente, o teste de n- como uma possíel raiz de é o mesmo teste para? t t L e, em geral, o teste para n-j como um localizador de erro é equialente à erificação se j satisfaz ou não t i il i para j,, K, n Conforme mostrado na Figura., o circuito de busca de Chien realiza essa sequência de testes da seguinte forma: _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO. Os registradores de são carregados com seus respectios alores i ;. Cada alor i é multiplicado por seu correspondente i e os resultados são recarregados nos registradores que são somados e o resultado comparado com a unidade;. O passo é repetido n ezes de modo que o alor atualizado a cada uma das n multiplicações seja sempre comparado com a unidade; 4. A cada repetição da operação descrita no passo a palara recebida armazenada no registrador de deslocamento é deslocada de um bit de forma que o bit na posição mais à direita do registrador de deslocamento é somado com se estier errado ou com zero se estier correto. r aída t i i il t t Figura. - Circuito de busca de Chien e o número de erros na palara recebida for igual a t, então o circuito de busca de Chien localizará e corrigirá corretamente os erros. Entretanto, quando o circuito de busca de Chien encontrar menos que l raízes, quando dado os coeficientes de um polinômio localizador de erros de grau l, isto significa que o polinômio não tem todas as suas raízes para a localização de erros. Assim sendo, o polinômio não é um legítimo polinômio localizador de l-erros. Este tipo de eento é, de fato, a indicação mais comum de um padrão de erros detectado e incorrigíel, i.e., um padrão contendo mais do que t erros que não é usado para estimar, na decodificação, uma palara código errada. No entanto, em certos casos, padrões com mais do que t erros escapam da detecção do circuito de busca de Chien e por esta razão uma erificação adicional é necessária. Quando os coeficientes do polinômio localizador de erros encontrados na segunda etapa de decodificação indicam a presença de l < t erros, e o circuito de busca de Chien realiza l correções de bit, a palara resultante dee ser testada por meio das equações de síndrome para alidação da palara código. Uma ou falha no teste das síndromes indica um padrão de erros detectáel mas não corrigíel. Para um estudo mais aprofundado da segunda e da terceira etapas de decodificação, recomendase uma leitura cuidadosa do Capítulo 6 da Referência []. _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO.. EERCÍCIO. Determine o polinômio gerador do código BCH com capacidade de correção de cinco erros t a partir do GF gerado por p.. Admita que uma palara código do Exercício foi transmitida e o polinômio recebido tenha sido r. 6 7 4. Decodifique o polinômio recebido pelo algoritmo de Peterson e também pelo algoritmo de Berlekamp..6. REFERÊNCIA BIBLIOGRÁFICA [] LIN,.; COTELO JR, D. J. Error Control Coding: Fundamentals and Applications. Upper addle Rier, New Jersey: Prentice Hall, a ed. 4. [] MICHELON, A. M.; LEVEQUE, A. H. Error-control Techniques for Digital Communication. New York: John Wiley & ons, 984. [] PETERON, W. W.; WELDON, E. J. Error-Correcting Codes. Cambridge, Massachusetts: MIT Press, 97. [4] BERLEKAMP, E. R. Algebric Coding Theory. New York: McGraw-Hill, 968. _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO ANEO. POLINÔMIO MÍNIMO DE ELEMENTO DE GF m Os polinômios mínimos estão representados por seus expoentes entre parênteses e o número apresentado à esquerda dos expoentes é o número do polinômio mínimo. Por exemplo, para m 4 a notação,, significa φ. Como, i e todos os seus conjugados tem o mesmo polinômio mínimo, então para m 4 o polinômio acima é o polinômio mínimo de 6 4 9,,., TABELA DO POLINÔMIO MÍNIMO DE ELEMENTO DE GF M PARA < M < 8 m,, - - - m,,,, - - m 4,, 4,,,, 4,, 7,, 4 m,,,,, 4,,, 4, 7,,,,,,, 4,,, - - m 6,, 6,,, 4, 6,,,, 6 7,, 6 9,,,,,, 6,,, 4, 6,, 4,, 6,,,, 4,, 6 7,,,, 6 m 7,, 7,,,, 7,,, 4, 7 7,,, 4,, 6, 7 9,,,, 4,, 7,, 4, 6, 7,, 7,,,,, 6, 7 9,,, 6, 7,,, 6, 7, 6, 7 7,, 4, 6, 7 9,,,, 7, 4,, 6, 7 4,,,, 7 47,, 4,, 7,,, 4,, 6, 7 6, 4, 7 - - m 8,,, 4, 8,,, 4,, 6, 8,, 4,, 6, 7, 8 7,,, 6, 8 9,,, 4,, 7, 8,,,, 6, 7, 8,,,, 8,,, 4, 6, 7, 8 7,, 4 9,,, 6, 8,,, 7, 8,,, 6, 8,,, 4, 8 7,,,, 4,, 8 9,,, 7, 8,,,, 8 7,,,, 4, 6, 8 9,, 4,, 6, 7, 8 4,,, 7, 8 4,, 4,, 8 47,,, 7, 8,,,, 4,,, 7, 8, 4,, 7, 8 9,,, 6, 8 6,,,, 6, 7, 8 6,,, 4, 6, 7, 8 8,, 87,,, 7, 8 9,, 4,, 6, 7, 8 9,,,, 4, 7, 8,,, 4,, 6, 8 9,, 4 7, 4,, 6, 8 - - _BCH_V_Re - Geraldo Gil R. Gomes.4
. CODIGO BCH BINÁRIO ANEO. POLINÔMIO GERADORE DE CÓDIGO BCH PRIMITIVO BINÁRIO DE COMPRIMENTO ATÉ 8 - Os polinômios apresentados neste anexo estão representados na forma octal. Cada dígito na representação está codificado como se segue: 4 6 7 onde os dígitos binários são os coeficientes do polinômio, com o termo de ordem mais alta mais à esquerda. Por exemplo, para o código BCH,, obtém-se, da tabela a seguir, a representação octal 467, que na forma binária fica Resultando em 8 4 g. TABELA DO POLINÔMIO GERADORE DE CÓDIGO BCH PRIMITIVO BINÁRIO DE COMPRIMENTO ATÉ 8 - n k t Polinômio Gerador 7 4 7 7 467 6 4 6 767 4 6 7 647 7 47 6 4 77 9 4 66667 6 4 6 7464647 467 6 474 99 4 4477 7 9 6477 8 6 744767 78 7 666 7 9 6777 64 647774 _BCH_V_Re - Geraldo Gil R. Gomes.
. CODIGO BCH BINÁRIO Continuação. n k t Polinômio Gerador 7 6777 4446444 4 4 777767744 7 6 46746667447647477 9 444667676667476 76744744466676474 7 74446447776764 8 7476476476476777 47 4 9 674 6766 4 766647 764764 7 6 676667667 99 7 767474 9 8 6647767467 87 9 746 79 6477744464 7 46446776667 6 7476747446 774766764646776 47 4 6477646447 9 46476767774746744 8 747677444464 9 644667766467667 66667476664467664777 7 776664747476747444 99 66667477474467447644 9 6767444776747776774446 87 6 676447464647746674777 79 7 66767677447667466776644 7 9 447644476444676476 6 74476447777666764676667 4 74764446774446 4767 47 4 476646647746744446466 447 _BCH_V_Re - Geraldo Gil R. Gomes.6
. CODIGO BCH BINÁRIO Continuação. n k t Polinômio Gerador 4 4 646467647667447767 74 7 4 66774477447447477674447644 477444 9 47 76677467646774447446 4674467 67666776767446744 64466477 9 46476444467746646774447664746 777644647 9 6 7674746446466744744 766477667767 _BCH_V_Re - Geraldo Gil R. Gomes.7