Roteiro
description
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 [email protected]
Leonardo Roveda [email protected]
Curso de ExtensãoSemana Acadêmica 2013-1
Porto Alegre, 20 a 24 de maio de 2013
http://labcom.inf.ufrgs.br/dcg