Roteiro

Post on 23-Feb-2016

34 views 0 download

Tags:

description

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. - PowerPoint PPT Presentation

Transcript of Roteiro

`

Introdução à Redes Sem Fio Inteligentes

Software Defined Radio

MinicursoSemana 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

① Software Defined Radio① O que é?② Vantagens e Desvantagens③ SDR hoje

② GNU Radio① Visão Geral② Instalação e Utilização③ GNU Radio + USRP

③ Resumo

Roteiro

2Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

① Software Defined Radio① O que é?② Vantagens e Desvantagens③ SDR hoje

② GNU Radio① Visão Geral② Instalação e Utilização③ GNU Radio + USRP

③ Resumo

Roteiro

3Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

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

4Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

O que é SDR ?

5

MixerAmplificad

or de IF

Demodulador

Amplificador de Áudio

Amplificador

Hardware

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

O que é SDR ?

6

MixerAmplificad

or de IF

Demodulador

Amplificador de Áudio

Amplificador

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

O que é SDR ?

5

Conversor A/DConversor D/A

Correção de Erros

Modulação

Operadores

Filtros

Software

EqualizadoresDemodulação

SDR Ideal

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

O que é SDR ?

5

Conversor A/DConversor D/A

Software

Correção de Erros

Modulação

Operadores

Filtros

EqualizadoresDemodulação

SDR Ideal

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

O que é SDR ?

5

Correção de Erros

Modulação

Operadores

Filtros

Equalizadores

Demodulação

SDR Real

Front End de Rádio

Software

Conversor A/DConversor D/A

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

① Software Defined Radio① O que é?② Vantagens e Desvantagens③ SDR hoje

② GNU Radio① Visão Geral② Instalação e Utilização③ GNU Radio + USRP

③ Resumo

Roteiro

10Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

Vantagens de utilizar SDR

11

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

Desvantagens de utilizar SDR

12

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

① Software Defined Radio① O que é?② Vantagens e Desvantagens③ SDR hoje

② GNU Radio① Visão Geral② Instalação e Utilização③ GNU Radio + USRP

③ Resumo

Roteiro

13Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

Um pouco de história:SPEAKEasy (1/2)

14

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

DSPs vs GPPSemana Acadêmica do Instituto de Informática

Porto Alegre, 22 a 24 de maio de 2013

Um pouco de história:SPEAKEasy (2/2)

15

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

MHzSemana Acadêmica do Instituto de Informática

Porto Alegre, 22 a 24 de maio de 2013

SDRs hoje (1/2)

16

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

SDRs hoje (2/2)

17

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, Balint Seeber 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

SDRs amanhã

18

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

SDR + Rádio Cognitivo

19

SDR oferecem a flexibilidade necessária para implementar um rádio cognitivo

SDR é um habilitador para rádio cognitivo

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

Os SDR mais utilizados

20

OSSIE

Sora

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

① Software Defined Radio① O que é?② Vantagens e Desvantagens③ SDR hoje

② GNU Radio① Visão Geral② Instalação e Utilização③ GNU Radio + USRP

③ Resumo

Roteiro

21Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

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

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

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”

23Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

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

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

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

Python Desenvolvimento de FlowGraphs

C++Módulos de Processamento de

Sinais

Escalonador

Controla o Fluxo de Execução

25Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

GNU Radio + USRP

Front End de RF (USRP)

Interface Gigabit Ethernet

Blocos de Processamento de Sinais em C++

SWIG

Python

26Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

Os blocos do GNU Radio

GNU Radio utiliza o conceito de “blocos”

Cada bloco realiza uma função especifica

27

Bloco de Processame

ntoN entradas e N saídas

Processamento de sinais

Source ou Fonte

Somente saídasGerador de sinal

Sink ou Poço

Somente entradasTransmissão/Visualização

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

Os blocos do GNU Radio

Sources

28

Processamento Sinks

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

FlowGraph (1/2)

29

Quando blocos são conectados para realizar alguma tarefa temos um FlowGraph

Todo FlowGraph possui 1+ Source(s) e 1+ Sink(s)

Ex:Gerador de senóide350 Hz

Gerador de senóide440 Hz

Somador

Placa de Som

Filtro passa baixa

Arquivo

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

Placa de Som

FlowGraph (2/2)

30

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

Contras

31

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

① Software Defined Radio① O que é?② Vantagens e Desvantagens③ SDR hoje

② GNU Radio① Visão Geral② Instalação e Utilização③ GNU Radio + USRP

③ Resumo

Roteiro

32Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

Instalação

33

Ubuntu: Do repositório: apt-get install gnuradio Versão em desenvolvimento: wget http://www.sbrac.org/files/build-gnuradio && chmod a+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

O que é instalado? (1/3)

34

/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

O que é instalado? (2/3)

35

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

O que é instalado? (3/3)

36

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

GNU Radio Companion (1/3)

37

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çãoSemana Acadêmica do Instituto de Informática

Porto Alegre, 22 a 24 de maio de 2013

GNU Radio Companion (2/3)

38

Blocos de processamento

Criação doFlowGraph

Mensagens

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

GNU Radio Companion (3/3)

39

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

Exemplo 1

40

Necessário quandosource e sinksão simulados

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

Exemplo 1

41

Necessário quandosource e sinksão simulados

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

Exemplo 1

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

Show Time !

43

Geração de ondas senoidais

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

dst = audio.sink(sampling_rate)

tb.connect( sin_350, (dst, 0) )tb.connect( sin_440, (dst, 1) )

tb.start()raw_input('Pression Enter para terminar')tb.stop()

Desenvolvimento em Python

44

#!/usr/bin/env python

from gnuradio import grfrom gnuradio import audio

if __name__ == '__main__':sampling_rate = 48000amplitude = 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óide350 Hz

Gerador de senóide440 Hz

Placa de Som

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

Para o Sistema Operacional saber que o restante do arquivo é um código Python

Passo a passo (1/8)

45

#!/usr/bin/env python

Gerador de senóide350 Hz

Gerador de senóide440 Hz

Placa de Som

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

Importa os módulos necessários do GNU Radio

Passo a passo (2/8)

46

#!/usr/bin/env python

from gnuradio import grfrom gnuradio import audio

Gerador de senóide350 Hz

Gerador de senóide440 Hz

Placa de Som

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

Corpo principal do códigosampling_rate é a amostragem da placa de som

Passo a passo (3/8)

47

#!/usr/bin/env python

from gnuradio import grfrom gnuradio import audio

if __name__ == '__main__':sampling_rate = 48000amplitude = 1

Gerador de senóide350 Hz

Gerador de senóide440 Hz

Placa de Som

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

Instância o FlowGraph

Passo a passo (4/8)

48

#!/usr/bin/env python

from gnuradio import grfrom gnuradio import audio

if __name__ == '__main__':sampling_rate = 48000amplitude = 1

tb = gr.top_block()Gerador de

senóide350 Hz

Gerador de senóide440 Hz

Placa de Som

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

Cria os dois blocos geradores de sinais

Passo a passo (5/8)

49

#!/usr/bin/env python

from gnuradio import grfrom gnuradio import audio

if __name__ == '__main__':sampling_rate = 48000amplitude = 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óide350 Hz

Gerador de senóide440 Hz

Placa de Som

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

Cria o sink como sendo a placa de som

Passo a passo (6/8)

50

from gnuradio import grfrom gnuradio import audio

if __name__ == '__main__':sampling_rate = 48000amplitude = 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óide350 Hz

Gerador de senóide440 Hz

Placa de Som

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

Conecta os blocos source e sink

Passo a passo (6/8)

51

if __name__ == '__main__':sampling_rate = 48000amplitude = 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)

tb.connect( sin_350, (dst, 0) )tb.connect( sin_440, (dst, 1) )

Gerador de senóide350 Hz

Gerador de senóide440 Hz

Placa de Som

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

Inicia o FlowGraph e espera uma tecla ser pressionada

Passo a passo (6/8)

52

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)

tb.connect( sin_350, (dst, 0) )tb.connect( sin_440, (dst, 1) )

tb.start()raw_input('Pression Enter para

terminar')tb.stop()

Gerador de senóide350 Hz

Gerador de senóide440 Hz

Placa de Som

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

① Software Defined Radio① O que é?② Vantagens e Desvantagens③ SDR hoje

② GNU Radio① Visão Geral② Instalação e Utilização③ GNU Radio + USRP

③ Resumo

Roteiro

53Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

GNU RADIO + USRP

54

USRP é representado por um bloco source e um bloco sink

Configurações são simples Somente um FlowGraph pode acessar o

mesmo USRP ao mesmo tempo

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

GNU RADIO + USRP

55

Usando apenas um USRP: Transmissão e recepção devem estar no

mesmo FlowGraph

Transmissão

Recepção

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

GNU RADIO + USRP

56

Source: Sink:Tipo do dado enviado/recebidopelo USRP.Geralmente usamos complex.

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

GNU RADIO + USRP

57

Tipo do dado enviado/recebidopelo USRPGeralmente usamos complex.Endereço IP do equipamento.Não é obrigatório

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

GNU RADIO + USRP

58

Endereço IP do equipamento.Não é obrigatório

Taxa de amostragem do sinal.Mínimo de 195312 amostras/s

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

GNU RADIO + USRP

59

Taxa de amostragem do sinal.Minimo de 195312 amostras/sFrequência de transmissãoou recepção

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

GNU RADIO + USRP

60

Frequência de transmissãoou recepção.Ganho do sinal

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

GNU RADIO + USRP

61

Ganho do sinalAntena.Vazio = AutomáticoTX/RX = Antena 1RX2 = Antena 2

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

Show Time !

62

Modulação OFDM

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

Show Time !

63

Fonte dos Dados

Processamento

Codificação + Modulação

Transmissão

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

Show Time !

64

Fonte dos Dados

Processamento

Codificação + Modulação

Transmissão

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

Um detector de energia simples

65

Detector de energia

Processamento

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

Processamento

Um detector de energia simples

66

Detector de energiaS/P FFT

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

① Software Defined Radio① O que é?② Vantagens e Desvantagens③ SDR hoje

② GNU Radio① Visão Geral② Instalação e Utilização③ GNU Radio + USRP

③ Resumo

Roteiro

70Semana Acadêmica do Instituto de InformáticaPorto Alegre, 22 a 24 de maio de 2013

Resumo

71

SDRs O que são ? Avanços

GNU Radio Arquitetura Conceitos GNU Radio + USRP2 Demonstrações

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

Conclusões

72

SDR é perfeito para desenvolvimento de novos protocolos de camada física

SDR reduz o tempo de desenvolvimento de produtos

SDR possibilita o desenvolvimento de Rádios Cognitivos

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

`

Obrigado!Perguntas?

Maicon Kistmaicon.kist@inf.ufrgs.br

Leonardo Roveda Faganellolrfaganello@inf.ufrgs.br

Curso de ExtensãoSemana Acadêmica 2013-1

Porto Alegre, 20 a 24 de maio de 2013

http://labcom.inf.ufrgs.br/dcg