Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 Análise e processamento de sinais para emulação de canal e controle de Circuitos Modificadores dos sinais de RF Leandro Nascimento Ortiz Prof. Dr. Omar Carvalho Branquinho Faculdade de Engenharia Elétrica CEATEC [email protected] Sistemas de Telecomunicações e Informática – Gestão de Redes e Serviços CEATEC [email protected] Resumo: Este documento é resultado de um projeto de implementação de um sistema de emulação de canal de RF. A emulação é feita em bancada, controlando-se um atenuador de RF variável. O controle do atenuador é feito por tensão, vinda de um conversor digital-análogico serial de 12 bits. Foi criado um programa em linguagem Python que escreve na porta serial do computador as seqüências de atenuações, propiciando a emulação de canal. Este programa funciona como interface do usuário da bancada para que sejam escolhidas as características dos canais que serão emulados. As atenuações são geradas pelo atenuador variável, que é controlado por um módulo conversor digitalanalógico serial de 12 bits. O programa em Python [1] funciona como uma interface gráfica para o usuário da bancada escolher as características do sistema e como deverá ser a emulação. Então, o programa gerará as seqüências necessárias para as emulações, escrevendo na porta serial do computador. Palavras-chave: de Canal de RF, Atenuador variável, Distribuições estatísticas. Área do Conhecimento: Ciências Exatas - Engenharia Elétrica - Telecomunicações. 1. INTRODUÇÃO Os sistemas de comunicação sem fio são amplamente utilizados em inúmeras aplicações e, por isso, necessitam ser testados em diversas condições. Mas, devido à complexidade e aos custos dos testes de campo, podemos reproduzir as mesmas condições reais em uma bancada de laboratório, reduzindo a complexidade e o custo dos testes. Esta forma de reproduzir uma situação real em laboratório é a emulação. O canal de RF é o meio de transmissão entre o transmissor e o receptor de RF, contendo todos os obstáculos. A emulação de canal de RF é uma forma de testar um sistema de comunicação sem fio em um determinado canal, em uma bancada de laboratório. 2. O FUNCIONAMENTO DA BANCADA A emulação de canal é feita na bancada utilizando-se ondas guiadas em cabos coaxiais. As antenas são retiradas e substituídas por cabos coaxiais. O transmissor é conectado ao atenuador variável, que é conectado ao receptor (Figura 1). A emulação é obtida através de seqüências específicas de atenuações. Figura 1. Montagem da bancada de emulação de RF Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 Entretanto, em 2010, a bancada foi adaptada para ser utilizada em pesquisas de rede de sensores, tendo sua montagem alterada para a forma mostrada nas figuras 1 e 2. Figura 2. Bancada de emulação de RF Durante o período de agosto/2009 a dezembro/2009, a bancada foi montada de uma forma em que um computador possa transmitir pacotes para outro computador em uma rede “sem-fio” usando ondas guiadas em cabos coaxiais. Então, o sinal de RF passa pelo atenuador variável que é controlado pelo software em Python que implementa os modelos de propagação, permitindo que o usuário emule diversos ambientes e percursos (Figura 3). Figura 3. Montagem da bancada em 2009 2.1 O programa em Python O software funciona como uma interface gráfica para o usuário da bancada escolher as características do canal e como deverá ser a emulação. A interface gráfica contém abas (figuras 4 a 8) que permitem diversos tipos de controle na emulação. A aba de controle geral permite o controle direto do atenuador, onde o usuário pode escolher a atenuação a ser aplicada. Existem várias abas que implementam os modelos de propagação [2] como Logdistance [2], Log-Normal [2], Hata Model [2], ITU Model [3]. Além disso, é possível emular distribuições estatísticas nas atenuações do sinal, como por exemplo, Rayleigh e Weibull [2]. Após o usuário escolher as opções do programa, será calculado os valores de atenuação e enviado dados correspondentes para a porta serial [4] do computador. Foi escolhida o Python como a linguagem de programação, devido à rapidez e facilidade de implementação de funcionalidades complexas como a comunicação paralela ou serial e a interface gráfica, além do excelente suporte matemático da linguagem. A interface gráfica [1] foi feita no software Glade e salva como um arquivo XML. Então, ela é acessada no código da programação utilizando-se o módulo GTK+ para Python. As distribuições estatísticas foram obtidas com métodos da classe Random, disponível na biblioteca padrão [5] do Python. O restante das operações matemáticas foi realizado com a classe Math, também disponível na biblioteca padrão. A comunicação serial foi feita utilizando o módulo Pyserial [4] (Nas versões mais recentes e na versão final). Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 Figura 4. Aba do modelo Log-Distance Figura 7. Aba com distribuições estatísticas Figura 5. Aba do modelo Hata Figura 8. Aba com controle geral 3. CONSIDERAÇÕES FINAIS A emulação de canal na bancada é, portanto, obtida através da montagem explicada acima e, utilizandose do programa em Python, onde se escolhem as características do canal a ser emulado, baseado em modelos teóricos de propagação e distribuições estatísticas. Figura 6. Aba do modelo ITU AGRADECIMENTOS Agradeço a colaboração dos orientadores Profª. Dra. Norma Reggiani e Prof. Dr. Omar Branquinho, e a FINEP, que é a financiadora do laboratório LP-Sira da PUC-Campinas, onde se realizou a pesquisa. Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 REFERÊNCIAS [1] Borges, Luiz Eduardo. Python para Desenvolvedores. Rio de Janeiro: Publicação do autor, 2009. [4] Pyserial Python Library. Disponivel em: <http://pyserial.sourceforge.net/>. Acessado em janeiro de 2010. [2] Rappaport, Theodore S. Wireless Communications: Principles and Practice. New Jersey: Prentice Hall PTR, 2002. [5] Python Standard Library. Disponivel em: <http://docs.python.org/library/>. Acessado em outubro de 2009. [3] ITU Indoor. Disponível em: <http://en.wikipedia.org/wiki/ITU_Model_for_Indo or_Attenuation>. Acessado em outubro de 2009.