1 / 70

Roteiro

Introdução à Redes Sem Fio Inteligentes Software Defined Radio Minicurso Semana Acadêmica do Instituto de Informática Porto Alegre, 22 a 24 de maio de 2013. Cristiano Both, Rafael Kunst , Lucas Bondan , Maicon Kist , Leonardo Faganello , Lisandro Granville , Juergen Rochol. Roteiro.

trella
Download Presentation

Roteiro

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introdução à Redes Sem Fio InteligentesSoftware Defined RadioMinicursoSemana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013 Cristiano Both, Rafael Kunst, Lucas Bondan, Maicon Kist, Leonardo Faganello, Lisandro Granville, Juergen Rochol

  2. Roteiro • Software Defined Radio • O que é? • Vantagens e Desvantagens • SDR hoje • GNU Radio • Visão Geral • Instalação e Utilização • GNU Radio + USRP • Resumo Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  3. Roteiro • Software Defined Radio • O que é? • Vantagens e Desvantagens • SDR hoje • GNU Radio • Visão Geral • Instalação e Utilização • GNU Radio + USRP • Resumo Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  4. O que é SDR ? • Software Defined Radio • Rádios implementados em software • Tecnologia de implementação • Traz os módulos de processamento de sinais digitais para perto da antena • Substitui hardware dedicado por software Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  5. O que é SDR ? Amplificador Mixer Amplificador de IF Demodulador Amplificador de Áudio Hardware Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  6. O que é SDR ? Amplificador Mixer Amplificador de IF Demodulador Amplificador de Áudio Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  7. O que é SDR ? SDR Ideal Correção de Erros Operadores Conversor A/D Conversor D/A Demodulação Equalizadores Modulação Filtros Software Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  8. O que é SDR ? SDR Ideal Correção de Erros Operadores Conversor A/D Conversor D/A Demodulação Equalizadores Modulação Filtros Software Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  9. O que é SDR ? SDR Real Correção de Erros Operadores Front End de Rádio Conversor A/D Conversor D/A Demodulação Equalizadores Modulação Filtros Software Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  10. Roteiro • Software Defined Radio • O que é? • Vantagens e Desvantagens • SDR hoje • GNU Radio • Visão Geral • Instalação e Utilização • GNU Radio + USRP • Resumo Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  11. Vantagens de utilizar SDR • Flexibilidade • Redução do tempo de desenvolvimento • Custo • Para comercializar poucas unidades • Inovações: • Novas técnicas de modulação • Acesso dinâmico ao espectro • Rádios Cognitivos Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  12. Desvantagens de utilizar SDR • Maior consumo de energia • Maior poder de processamento para realizar a mesma tarefa do que em um FPGA/ASIC • Custo • Para comercializar um produto Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  13. Roteiro • Software Defined Radio • O que é? • Vantagens e Desvantagens • SDR hoje • GNU Radio • Visão Geral • Instalação e Utilização • GNU Radio + USRP • Resumo Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  14. Um pouco de história:SPEAKEasy(1/2) • 1991-1995 • Projeto para emular os mais de 10 tipos de rádios do exército americano • Frequências de 2 a 2000 MHz • Possibilitar a integração de novos tipos de rádios • Fracassou • DSPsvs GPP Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  15. Um pouco de história:SPEAKEasy(2/2) • Lições aprendidas no projeto: • Utilizar GPP – Moore está do nosso lado • SPEAKEasy durou 2 ciclos de Moore • Em 1995 os processadores já eram 4x mais rápidos • Não utilizar código específico para um hardware • Código do SPEAKEasy era “amarrado” ao DSP C40 (40MHz) • Em 1995 o Pentium Pro rodava a 200 MHz Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  16. SDRshoje (1/2) • Um PC realiza o processamento de sinais • O Front-End de rádio é conectado ao PC • USB, Ethernet, PCI-Express • Toda a preparação do sinal é feita no Front-End • Um software no PC substitui o hardware de processamento de sinais Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  17. SDRshoje (2/2) Don't have $1500 to drop on a USRP? A Linux kernel developer has discovered that a Realtek digital TV tuner chip has an undocumented mode that turns it into a software-defined radio, with a frequency range of 64-1700MHz. The going rate for one of these USB devices can be as low as US$11. If you're unfamiliar with software-defined radio and have 20 minutes to spare, BalintSeeber has a great video introduction. Fonte: Slashdot http://hardware.slashdot.org/story/12/03/31/1914217/software-defined-radio-for-11 Projeto Open-Source para o módulo: http://sdr.osmocom.org/trac/ Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  18. SDRs amanhã • Irradiar e receber sinais em qualquer frequência do espectro • Obstáculos: • De hardware: conseguir sintonizar em qualquer frequência do espectro, taxa de amostragem • De Software: processamento, restrições de tempo, estabilidade Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  19. SDR + Rádio Cognitivo • SDR oferecem a flexibilidade necessária para implementar um rádio cognitivo • SDR é um habilitadorpara rádio cognitivo Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  20. Os SDR mais utilizados • OSSIE • Sora Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  21. Roteiro • Software Defined Radio • O que é? • Vantagens e Desvantagens • SDR hoje • GNU Radio • Visão Geral • Instalação e Utilização • GNU Radio + USRP • Resumo Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  22. O que é o GNU Radio? • É um SDR • Gratuito e Open Source • Licença GPL • Muito utilizado na academia • Disciplina de Comunicação de Dados • Pesquisa Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  23. GNU Radio (1/2) • Desenvolvimento iniciou em 2001 • Disponível para *nix, Windows e iOS • Códigos em C++ e Python • C++: Módulos de processamento de alto desempenho • Python: Ligação de módulos. Usado pelo “usuário final” Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  24. GNU Radio (2/2) • Não é necessário “programar” • Ferramenta para “montagem” de um fluxo de processamento facilita o desenvolvimento de novos sistemas • GNU Radio Companion– GRC • GRC gera o Python final Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  25. Arquitetura • Python é utilizado para a criação de fluxos de dados (FlowGraphs) • C++ é usado para criar blocos de processamento de sinais • Biblioteca atual é completa • Escalonador controla o fluxo das informações entre os blocos Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  26. GNU Radio + USRP Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  27. Os blocos do GNU Radio • GNU Radio utiliza o conceito de “blocos” • Cada bloco realiza uma função especifica Source ou Fonte Sink ou Poço Somente saídas Gerador de sinal Somente entradas Transmissão/Visualização Bloco de Processamento N entradas e N saídas Processamento de sinais Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  28. Os blocos do GNU Radio Sources Processamento Sinks Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  29. FlowGraph (1/2) • Quando blocos são conectados para realizar alguma tarefa temos um FlowGraph • Todo FlowGraph possui 1+ Source(s) e 1+ Sink(s) • Ex: Placa de Som Filtro passa baixa Arquivo Gerador de senóide 350 Hz Placa de Som Somador Gerador de senóide 440 Hz Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  30. FlowGraph (2/2) • FlowGraph são executados no computador • Tudo é feito por software • E se eu usar o USRP? • Ainda executa no computador • USRP atua como um source e/ou sink • Falta pouco para as demos !!! Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  31. Contras • GNU Radio não oferece garantias de desempenho • Latência é o calcanhar de Aquiles • Desenvolver blocos novos requer conhecimentos em comunicação de dados e programação Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  32. Roteiro • Software Defined Radio • O que é? • Vantagens e Desvantagens • SDR hoje • GNU Radio • Visão Geral • Instalação e Utilização • GNU Radio + USRP • Resumo Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  33. Instalação • Ubuntu: • Do repositório: apt-getinstallgnuradio • Versão em desenvolvimento: • wgethttp://www.sbrac.org/files/build-gnuradio && chmoda+x ./build-gnuradio && ./build-gnuradio • Windows: • Guia em http://code.ettus.com/redmine/ettus/projects/uhd/wiki/GNURadio_Windows Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  34. O que é instalado? (1/3) • /usr/local/share/gnuradio • Exemplos • /usr/local/share/doc/gnuradio-<versão> • Documentação do código C++ • /usr/local/lib/python2.7/dist-packages/gnuradio • Fontes em Python • Nada legíveis Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  35. O que é instalado? (2/3) • Diversos FlowGraphs úteis • uhd_fft: Analisador de espectro • Úteis: • uhd_find_devices: Encontra os dispositivos USRP na rede local • gr_mod_tool: Cria os arquivos necessários para desenvolver um novo bloco Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  36. O que é instalado? (3/3) • GNU Radio Companion • Interface para a criação do FlowGraphs Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  37. GNU Radio Companion (1/3) • Muito útil para criação rápida de FlowGraphs • Blocos mostrados são descritos em XML • /usr/local/share/gnuradio/grc/blocks/ • GRC apenas gera o código em Python • Ótimo para aprender a mecânica do código Python • Arquivo top_block.py no mesmo diretório do .grc • FlowGraphs limitados aos blocos que aparecem no menu de seleção Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  38. GNU Radio Companion (2/3) Criação do FlowGraph Blocos de processamento Mensagens Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  39. GNU Radio Companion (3/3) • Blocos possuem diferentes tipos de dados de entrada e saída • GRC identifica esses tipos por cores • Dois blocos conectados devem utilizar o mesmo tipo de dado Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  40. Exemplo 1 Necessário quando source e sink são simulados Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  41. Exemplo 1 Necessário quando source e sink são simulados Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  42. Exemplo 1 Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  43. Show Time ! • Geração de ondas senoidais Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  44. Desenvolvimento em Python dst = audio.sink(sampling_rate) tb.connect( sin_350, (dst, 0) ) tb.connect( sin_440, (dst, 1) ) tb.start() raw_input('PressionEnter para terminar') tb.stop() #!/usr/bin/envpython fromgnuradioimportgr fromgnuradioimportaudio if __name__ == '__main__': sampling_rate = 48000 amplitude = 1 tb = gr.top_block() sin_350 = gr.sig_source_f(sampling_rate, gr.GR_SIN_WAVE, 350, amplitude) sin_440 = gr.sig_source_f(sampling_rate, gr.GR_SIN_WAVE, 440, amplitude) Gerador de senóide 350 Hz Placa de Som Gerador de senóide 440 Hz Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  45. Passo a passo (1/8) Para o Sistema Operacional saber que o restante do arquivo é um código Python #!/usr/bin/envpython Gerador de senóide 350 Hz Placa de Som Gerador de senóide 440 Hz Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  46. Passo a passo (2/8) Importa os módulos necessários do GNU Radio #!/usr/bin/envpython fromgnuradioimportgr fromgnuradioimportaudio Gerador de senóide 350 Hz Placa de Som Gerador de senóide 440 Hz Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  47. Passo a passo (3/8) Corpo principal do código sampling_rate é a amostragem da placa de som #!/usr/bin/envpython fromgnuradioimportgr fromgnuradioimportaudio if__name__ == '__main__': sampling_rate = 48000 amplitude = 1 Gerador de senóide 350 Hz Placa de Som Gerador de senóide 440 Hz Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  48. Passo a passo (4/8) Instância o FlowGraph #!/usr/bin/envpython fromgnuradioimportgr fromgnuradioimportaudio if__name__ == '__main__': sampling_rate = 48000 amplitude = 1 tb= gr.top_block() Gerador de senóide 350 Hz Placa de Som Gerador de senóide 440 Hz Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  49. Passo a passo (5/8) Cria os dois blocos geradores de sinais #!/usr/bin/envpython fromgnuradioimportgr fromgnuradioimportaudio if__name__ == '__main__': sampling_rate = 48000 amplitude = 1 tb= gr.top_block() sin_350 = gr.sig_source_f(sampling_rate, gr.GR_SIN_WAVE, 350, amplitude) sin_440 = gr.sig_source_f(sampling_rate, gr.GR_SIN_WAVE, 440, amplitude) Gerador de senóide 350 Hz Placa de Som Gerador de senóide 440 Hz Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

  50. Passo a passo (6/8) Cria o sink como sendo a placa de som fromgnuradioimportgr fromgnuradioimportaudio if__name__ == '__main__': sampling_rate = 48000 amplitude = 1 tb= gr.top_block() sin_350 = gr.sig_source_f(sampling_rate, gr.GR_SIN_WAVE, 350, amplitude) sin_440 = gr.sig_source_f(sampling_rate, gr.GR_SIN_WAVE, 440, amplitude) dst= audio.sink(sampling_rate) Gerador de senóide 350 Hz Placa de Som Gerador de senóide 440 Hz Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

More Related