Acessibilidade / Reportar erro

Construção e análise de códigos esféricos com boas taxas binárias

Resumos

Neste trabalho consideramos a distribuição de um conjunto discreto de pontos sobre a superfície de uma esfera euclidiana unitária, com o propósito de construir códigos esféricos para o canal Gaussiano. Apresentamos famílias de códigos esféricos estruturados, que podem ser construídas em tempo linear para dimensões pares e superam, para alguns parâmetros, o limitante inferior de Shannon para a taxa binária de informação.

Matemática discreta; Códigos esféricos; taxa binária


In this paper we deals with the construction of spherical codes for the Gaussian channel. We present families of structured spherical codes, designed in layers of flat tori, that can be constructed in linear time for even dimensions and improves, for certain parameters, the lower bound for the binary rate given by Shannon.

Discrete mathematics; spherical codes; binary rate


Construção e análise de códigos esféricos com boas taxas binárias1 1 Trabalho apresentado no Congresso de Matemática Aplicada e Computacional - Sudeste -2011.

L.R.B. NavesI; C. TorezzanII; S.I.R. CostaIII

IFRJ - Instituto Federal do Rio de Janeiro, Campus Volta Redonda, 27213-100 Volta Redonda, RJ, Brasil. ligia.naves@ifrj.edu.br - Bolsista do CNPQ

IIFaculdade de Ciências Aplicadas, UNICAMP - Universidade Estadual de Campinas, 13484-350 Limeira, SP, Brasil. cristiano.torezzan@fca.unicamp.br

IIIDepartamento de Matemática, UNICAMP - Universidade Estadual de Campinas 13081-970 Campinas, SP, Brasil. sueli@ime.unicamp.br

RESUMO

Neste trabalho consideramos a distribuição de um conjunto discreto de pontos sobre a superfície de uma esfera euclidiana unitária, com o propósito de construir códigos esféricos para o canal Gaussiano. Apresentamos famílias de códigos esféricos estruturados, que podem ser construídas em tempo linear para dimensões pares e superam, para alguns parâmetros, o limitante inferior de Shannon para a taxa binária de informação.

Palavras-chave: Matemática discreta, Códigos esféricos, taxa binária.

ABSTRACT

In this paper we deals with the construction of spherical codes for the Gaussian channel. We present families of structured spherical codes, designed in layers of flat tori, that can be constructed in linear time for even dimensions and improves, for certain parameters, the lower bound for the binary rate given by Shannon.

Keywords: Discrete mathematics, spherical codes, binary rate.

1. Introdução

Um código esférico é um conjunto finito de pontos sobre a esfera unitária do Rn. Vamos denotar por C(M, n, ρ) um código sobre a esfera unitária Sn-1Rn, com M pontos, os quais possuem distância euclidiana mínima ao quadrado igual a ρ.

O problema de alocar pontos sobre a superfície de uma esfera euclidiana tem atraído a atenção de matemáticos, engenheiros e cientistas em geral, devido sua ampla gama de aplicações em diversas áreas [8].

De modo geral, a construção de códigos esféricos envolve a busca por uma configuração de M pontos sobre Sn-1 que otimiza certos parâmetros de interesse, que podem ser: distância mínima entre pontos, raio de cobertura, kissing number, energia média, coeficiente de quantização, dentre outros. A escolha do parâmetro a ser otimizado vai depender de sua aplicação.

Em telecomunicações, pontos alocados sobre a superfície de uma esfera unitária são utilizados para a comunicação através de um canal Gaussiano e são a generalização natural para a conhecida modulação phase shift keying (PSK), que utiliza os vértices de um polígono regular inscrito na circunferência unitária do R2.

Para este propósito é desejável maximizar o número de pontos sobre a esfera, além de construir códigos que tenham alguma estrutura adicional que permita lidar com a complexidade de codificação e decodificação. Neste sentido, construções estruturadas são priorizadas em relação à soluções obtidas via métodos de otimização numérica.

O problema de maximizar o número de pontos sobre uma superfície esférica sujeito a estarem afastados de uma distância d é equivalente ao problema de empacotar o maior número de chapéus esféricos com ângulo de abertura central igual a 2arcsen(d/2) (Figura 1).


Figura 1: Doze chapéus esféricos relacionados ao código .

Quando a distancia ρ decresce e/ou a dimensão n aumenta, o número de pontos M pode tornar-se arbitrariamente grande. Quando necessário, a comparação entre códigos esféricos distintos é feita através de medidas que relacionam os parâmetros (M, n, ρ). A densidade de empacotamento do código é uma dessas medidas e expressa a fração da área da superfície esférica que é ocupada pelos chapéus. Outra medida usual é taxa de informação binÁria (ou taxa de informação), que é definida por:

Como o desafio de encontrar códigos esféricos ótimos é ainda um problema em aberto [8], a descoberta de limitantes para funções que relacionam os parâmetros (M, n, ρ), ou de construções explícitas para os mesmos parâmetros, constituem-se em importantes contribuições para esta área.

Chabauty em 1953 [2] e Shannon em 1959 [7] apresentaram de forma independente um limitante inferior para R como função de ρ dado por:

Embora este seja o melhor limitante inferior conhecido até o momento para a taxa de informação de códigos esféricos, sua dedução é baseada em argumentos existenciais que não auxiliam na construção efetiva de códigos.

Uma abordagem construtiva foi apresentada em [6], considerando códigos esféricos construídos em tempo polinomial, cuja taxa de informação Rpol(ρ) obedece

P. Solé e J.C. Belfiore [10], baseados na existência de alguns empacotamentos reticulados, apresentaram a construção de códigos esféricos em tempo polinomial que atingem a taxa RL := - 0.5log2(ρ) e mostraram que, para valores de ρ suficientemente pequenos, RCS(ρ) - RL(ρ) = O(ρ2).

Neste trabalho apresentamos uma família de códigos esféricos que pode ser construída em tempo linear e tem, para valores de ρ não assintoticamente pequenos, taxa de informação binária acima do limitante inferior de Shannon. A construção utiliza uma folheação da esfera unitária em toros planares baseada em [9].

Este trabalho está dividido da seguinte forma: na seção 2, apresentamos uma rápida revisão sobre a construção de códigos esféricos em camadas de toros, baseados em [8] e [9]; na seção 3, apresentamos uma maneira de escolher os toros e também de preenchê-los que possibilita a construção em tempo linear; na seção 4, apresentamos um comparativo entre nossa construção e os limitantes mencionados anteriormente.

2. Códigos esféricos em camadas de toros

Dada uma dimensão k > 2 e ρ € (0, 2], ρ = d2, seja C(k,p) um código esférico k-dimensional qualquer, com distância mínima ao quadrado maior ou igual a ρ.

O código esférico em camadas de toros denotado por CT(2k, ρ) é construído em 2 etapas, como segue [9] e [8]:

  • Etapa 1- Selecionamos os pontos em

    C(

    k, ρ) que possuem somente coordenadas não negativas. Vamos denotar este subcódigo por

    C(

    k, ρ)

    +. Cada ponto

    c = (c

    1,...,

    c

    k) €

    C(

    k, ρ)

    + define um toro planar

    Tc na esfera unitária

    S2

    k-1. É interessante que

    C(

    k, ρ)

    + tenha boa densidade em S

    k-1 e, se possível, alguma propriedade algébrica ou geométrica. Para este propósito, podemos considerar um

    CT(

    k, ρ) ou qualquer código esférico k-dimensional conhecido.

  • Etapa 2- Para cada toro

    Tc definido por

    C (

    k, ρ)

    +, determinamos um conjunto finito de pontos

    YTc com

    YTc

    Pc, para

    Pc = {

    x

    R

    k : 0

    <

    xi

    < 2π

    ci}, tal que ||φ

    c(

    y) - φ

    c(

    x)||

    >

    d, ∀

    x,

    y

    Ytc. Onde

Uma boa opção para YTc consiste em considerar pontos de algum reticulado k-

Pode-se demonstrar que, sejam Tb, e Tc dois toros planares, para be c vetores unitários com coordenadas não negativas a distância mínima entre estes toros é


Figura 2: Construção de toro planar em dimensão 4.

dada por [9]:

A distância entre dois pontos no mesmo toro Tc é dada por:

e é limitada em termos de ||u - v||.

Seja c = (c1, c2,..., ck), ||= 1, e sejam u,vPc. Seja dk = ||u - v|| e d2k = ||Φ(u) - Φc(v)||- Então

onde ξ = argmini(ci) [9].

Existe, portanto, uma deformação na distância quando saímos do PcRk para o TcR2k.

3. Construção e análise de códigos esféricos

Considerando as duas etapas para a construção de códigos esféricos em camadas de toros explicitadas na seção anterior, analisaremos nessa seção diferentes possibilidades para a escolha do subcódigo na primeira etapa. Manteremos a segunda etapa conforme foi descrita, escolhendo para YTc o reticulado Dk reescalado de modo a atingir a distância desejada no código.

As possibilidades de construção analisadas para primeira etapa estão divididas nas subseções a seguir.

3.1. Análise de subcódigo com k elementos

Podemos considerar para a primeira etapa, o subcódigo construído a partir das k permutações do vetor , em que e = (1,1,..., 1) € Rk, t > 0 e ei é o i-ésimo vetor canônico do Rk. Cada, vetor ci(t) define um toro planar sobre S2k-1. Podemos estabelecer então o seguinte resultado.

Proposição 3.1.Para cadaρ 0 < ρ < 2, há ao menos k vetores unitários em Sk_1, com coordenadas positivas, tais que o quadrado da distância entre dois destes vetores é maior que ρ.

Demonstração. Pela definição acima, há k vetores cj(t) € Rfc. A distância ao quadrado entre vetores do tipo ci(t) supracitado é dada por:

onde a equação tem sempre uma solução real positiva dada por

Seja cmin a menor coordenada de , a imagem da aplicação Φ de qualquer conjunto discreto no interior da caixa com distância mínima

será um código esférico em S2k-1 com distância mínima ao quadrado ρ.

Assim, na segunda etapa de construção, para cada um dos k toros definidos por consideramos os pontos do reticulado obtido reescalando o reticulado Dk por um fator , onde dk é dado por (3.1).

Como todos os vetores c1 são simétricos por permutações cíclicas de suas coordenadas, é suficiente construir uma camada do código e tomar as permutações cíclicas das coordenadas dos pontos encontrados para obter todo o código.

Como um exemplo desta construção considere k = 3 e ρ = (0, 3)2. Neste caso teremos = 2.34719 e três toros definidos pelos vetores c1= (0.710045,0.497913, 0.497913), c2= (0.497913, 0.710045, 0.497913) e c3= (0.497913,0.497913, 0.710045). Temos c4 = 0.304734 e podemos considerar um reticulado reescalado de D3 pelo fator .

As palavras código em cada um dos três toros serão a imagem dos pontos do reticulado na caixa pela função Φci. Neste caso, cada toro terá 1605 pontos e teremos M = 4815 pontos no código esférico. A taxa de informação deste código é R = 2.03889. Para estes parâmetros, os limitantes de Shannon e de Solé & Belfiore são ligeiramente inferiores, 1.75338 e 1.73697, respectivamente.

3.2. Construção de subcódigos com k! elementos

Uma possibilidade de melhorar o número de pontos no subcódigo sem aumentar a complexidade de codificação é tomando as k! permutações do vetor

onde e = (1,1,..., 1) € Rk, t > 0 e p é o vetor (0,1, 2,....,k - 1) do Rk.

Entretanto, neste caso, a medida que aumenta-se consideravelmente o número de pontos no subcódigo, diminuem-se os valores possíveis a se considerar para distância mínima em dimensões maiores. Por exemplo, para um subcódigo obtido a partir de ci(t) na dimensão k = 6 terem os k! = 720 toros mas, para gerar códigos com estes toros, devemos limitar a valores de ρ < 0.192.

Como um exemplo desta construção, tomemos k = 3 e ρ = (0.3)2. Teremos = 1.59629, em que é solução positiva da equação

Os pontos do subcódigo serão as 3! = 6 permutações do vetor

Teremos dk = 0.31079 e novamente na segunda etapa consideraremos na caixa de arestas com medidas um reticulado reescalado de D3 por um fator .

As palavras código em cada um dos seis toros serão dadas pela imagem de Φci do reticulado na caixa . Cada toro terá 1120 pontos e teremos Μ = 6720 pontos no código esférico. A taxa de informação será R = 2.11904, que é superior à taxa obtida no exemplo da subseção anterior para os mesmos valores de ρ e n.

As duas possibilidades analisadas nas subseções anteriores resultam em códigos que podem ser facilmente construídos, além de terem boa taxa de informação binária para alguns parâmetros e terem baixa complexidade de codificação e decodificação. Entretanto é possível ainda aumentar o número máximo de pontos repetindo de forma iterativa a construção anterior baseada na seguinte observação.

É fácil perceber que os vetores ci obtidos pelo método descrito nas subseções anteriores pertencem, respectivamente, aos hiperplanos

e

Partindo da idéia de que em qualquer dos dois métodos temos pontos em um único hiperplano, pode haver mais de um hiperplano que, ao interceptar a esfera do Rk, forneça vetores unitários com coordenadas positivas.

Na tentativa de obtermos resultados ainda melhores, propomos uma construção que toma sucessivos hiperplanos paralelos com vetores unitários no Rk para definir os toros, ao invés de um único hiperplano como foi feito até agora. Isso permite, em geral, aumentar o número de pontos no código para um valor fixado de ρ sem comprometer demasiadamente a complexidade de construção. Essa construção será detalhada na próxima seção.

4. Construção de códigos esféricos por vetores unitários em hiperplanos paralelos

Para realizar essa construção consideraremos, como o primeiro hiperplano Π1; aquele obtido pelo método descrito na subseção 3.1., em que temos vetores unitários

satisfazendo

A partir deste hiperplano Π1, e de acordo com a distância estabelecida é possível obter um novo hiperplano Π2 paralelo a Π1 e distante deste valor x.

O valor x é fácil de ser obtido bastando para isso observar que vetores unitários de diferentes hiperplanos devem no mínimo estar sitantes o valor d.

Para o caso em que k=3, uma ilustração deste processo é apresentada na figura 3. Cada hiperplano (que neste caso é um plano) corta o primeiro octante em círculos para obter vetores unitários de coordenadas positivas.


Figura 3: S2 interceptada por dois planos. A intersecção são círculos no quadrante positivo.

A distância x entre os (hiper)planos é obtida por relações trigonométricas simples e pode ser expressa por , em que d é a distância mínima do código e y é a distância entre os pontos e (Pi é o ponto do hiperplano Πi que possui todas as coordenadas iguais e positivas).

Obtido o valor x, o novo plano Π2 será definido por

Neste novo plano tomaremos, sempre que possível, vetores unitários com coordenadas positivas, os quais distem entre si , Prosseguimos assim sucessivamente enquanto houverem planos paralelos a Πί, distantes de Πi o valor x, que forneçam vetores unitários com coordenadas positivas. Teremos assim mais pontos no subcódigo e, consequentemente, mais toros e um número maior de pontos no CT(2k, ρ).

Utilizando este método foram construídos alguns códigos esféricos para diferentes valores de ρ, partindo de vetor es no R3, todos com coordenadas positivas e provenientes de diferentes planos. Cada vetor gerou um toro e depois, cada toro plano tri-dimensional foi preenchido com pontos do reticulado D3. O resultado foi a obtenção de códigos esféricos no R6 com boas taxas binária conforme os dados apresentados na tabela 1.

Tabela 1: Comparação entre as taxas binárias de códigos esféricos no R6 com limitantes inferiores para várias distâncias mínimas.

O mesmo método de construção foi usado para se obter códigos CT(2k, ρ) para k = 4, 5 6. Na figura 4, apresentamos resultados obtidos para a taxa de informação binária considerando-se diferentes valores de ρ em forma de gráfico. Podemos verificar que vários códigos construídos superam o limitante inferior de Shannon.

Figura 4:
Comparação entre alguns códigos esféricos construídos (pontos isolados) e os limitantes para taxa de informação binéria (Shannon: curva contínua. Solé: curva pontilhada) em função de ρ.

5. Conclusão

Neste trabalho consideramos a distribuição de um conjunto de pontos sobre a superfície de uma esfera euclidiana unitária, com o propósito de construir códigos esféricos para o Canal Gaussiano. Apresentamos famílias de códigos esféricos estruturados, que podem ser construídos em tempo linear para dimensões pares e superam, em algumas dimensões e para distância mínima não muito pequenas, o limitante inferior de Shannon para a taxa de informação binária. Essa construção é baseada na folheação da esfera unitária por toros planares, proposta em [8] e as contribuições principais deste trabalho referem-se à maneira de obter os toros utilizando vetores de permutação unitários Rk.

Recebido em 21 Outubro 2011

Aceito em 10 Janeiro 2013

  • [1] M. Berger, B. Gostiaux, "Differential Geometry: Manifolds, Curves and Surfaces", Springer-Verlag, Berlin, 1988.
  • [2] C. Chabauty,"Résultats sur l'empilement de calottes égales sur une périsphère de Rn et correction à un travail antérieur", C.R. Acad. Sci. Ser. A, 236, 1953, 1462-1464.
  • [3] J.H. Conway, N.J.A. Sloane, "Sphere packings, lattices and groups", Springer Verlag, GMW 290, 2003.
  • [4] S.I.R. Costa, M.M. Alves, E. Agustini, R. Palazzo, "Graphs, tesselations and perfect codes on flat tori", IEEE Transactions on Information Theory, 50, Oct. 2004, 2363-2377.
  • [5] T. Ericson, V. Zinoviev, "Codes on Euclidean spheres", North-Holland, Amsterdam, 2001.
  • [6] G. Lachaud, J. Stern, "Polynomial-time construction of codes. II Spherical codes and the kissing number of spheres", IEEE Trans. Inform. Theory, 40, No.4, 1994, 1140-1146.
  • [7] C.E. Shannon, "Probability of error for optimal codes in a Gaussian channel", Bell Syst. Tech. J., 38, 1959, 611 - 656.
  • [8] C. Torezzan, "Códigos esféricos em toros planares", Tese de doutorado, IMECC-Unicamp, 2009.
  • [9] C. Torezzan, S.I.R. Costa, & V.A. Vaishampayan, "Spherical codes on torus layers", International Symposium on Information Theory, Seul, Coreia, 2009.
  • [10] P. Solé, J.C. Belfiore, "Constructive spherical codes near the Shannon bound", The Seventh International Workshop on Coding and Cryptography, Paris, França, 2011.
  • 1
    Trabalho apresentado no Congresso de Matemática Aplicada e Computacional - Sudeste -2011.
  • Datas de Publicação

    • Publicação nesta coleção
      28 Maio 2013
    • Data do Fascículo
      Abr 2013

    Histórico

    • Recebido
      21 Out 2011
    • Aceito
      10 Jan 2013
    Sociedade Brasileira de Matemática Aplicada e Computacional Rua Maestro João Seppe, nº. 900, 16º. andar - Sala 163 , 13561-120 São Carlos - SP, Tel. / Fax: (55 16) 3412-9752 - São Carlos - SP - Brazil
    E-mail: sbmac@sbmac.org.br