Você está na página 1de 64

UNIVERSIDADE FEDERAL DE UBERLÂNDIA

FACULDADE DE ENGENHARIA ELÉTRICA


Bacharelado em Engenharia Eletrônica e de Telecomunicações

Introdução a Radio definido por software -


GNURadio
Semana de Engenharia Eletrônica e de
Telecomunicações

Jefferson da Silva Cândido 11311ETE005


jefinstz@gmail.com

10 de março de 2021
Conteúdo
1

Introdução

Preparações

Desenvolvimento

Resultados

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Introdução
2

I PDS;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Introdução
2

I PDS;
I Avanço da microeletrônica;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Introdução
2

I PDS;
I Avanço da microeletrônica;
I Desenvolvimento de software;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Introdução
2

I PDS;
I Avanço da microeletrônica;
I Desenvolvimento de software;
I Software-defined radio;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Introdução
2

I PDS;
I Avanço da microeletrônica;
I Desenvolvimento de software;
I Software-defined radio;
I GNURadio.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Hardware
3

I PC host (x86_64, amd64, armhf, arm64, aarch64);

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Hardware
3

I PC host (x86_64, amd64, armhf, arm64, aarch64);


I GNURadio-companion;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Hardware
3

I PC host (x86_64, amd64, armhf, arm64, aarch64);


I GNURadio-companion;
I Hardware do SDR;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Hardware
3

I PC host (x86_64, amd64, armhf, arm64, aarch64);


I GNURadio-companion;
I Hardware do SDR;
I USB (2.0 / 3.0);

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Hardware
3

I PC host (x86_64, amd64, armhf, arm64, aarch64);


I GNURadio-companion;
I Hardware do SDR;
I USB (2.0 / 3.0);
I TCXO, OCXO, GPSDO;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Hardware
4

Figura: Configurações de CPU e memória do computador utilizado.

Fonte: Elaborado pelo autor.


Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |
Preparações - Avaliação de SDR’s
5

Tabela: Comparativo de SDR’s a nível de hardware e custo de investimento.


Faixa Largura
RX/ Half / Resolução Preço
de de banda
TX Full Duplex do ADC (US$)
frequência máxima
500 kHz
RTL-SDR a 3 MHz RX - 8 bits ∼25,00
1766 MHz
1 kHz
RSPduo a 10 MHz RX - 14 bits ∼260,00
2 GHz
24 Hz
AirSpy
a 6 MHz RX - até 16 bits ∼150,00
Mini
1.7 GHz
USRP 70 MHz
RX/ a partir
B200/ a 56 MHz Full Duplex 12 bits
TX de 890,00
B210 6 GHz
325 MHz
RX/
PlutoSDR a 20 MHz Full Duplex 12 bits 249,00
TX
3.8 GHz
10 MHz
LimeSDR RX/ de 300,00
a 30 MHz Full Duplex 12 bits
Mini TX a 350,00
3.5 GHz
300 MHz
RX/ a partir
BladeRF a 40MHz Full Duplex 12 bits
TX de 720,00
3.8 GHz
1 MHz
RX/ a partir
HackRF a 20 MHz Half Duplex 8 bits
TX de 70,00
6 GHz

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One
6

I Michael Ossmann - pesquisador em segurança de redes sem fio;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One
6

I Michael Ossmann - pesquisador em segurança de redes sem fio;


I Hardware Open-Source;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One
6

I Michael Ossmann - pesquisador em segurança de redes sem fio;


I Hardware Open-Source;
I BW: 20 MHz;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One
6

I Michael Ossmann - pesquisador em segurança de redes sem fio;


I Hardware Open-Source;
I BW: 20 MHz;
I RX / TX (Half-duplex);

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One
6

I Michael Ossmann - pesquisador em segurança de redes sem fio;


I Hardware Open-Source;
I BW: 20 MHz;
I RX / TX (Half-duplex);
I ADC/DAC com 8 bits de resolução;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One
6

I Michael Ossmann - pesquisador em segurança de redes sem fio;


I Hardware Open-Source;
I BW: 20 MHz;
I RX / TX (Half-duplex);
I ADC/DAC com 8 bits de resolução;
I Conector SMA fêmea para antena e clock externo;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One
6

I Michael Ossmann - pesquisador em segurança de redes sem fio;


I Hardware Open-Source;
I BW: 20 MHz;
I RX / TX (Half-duplex);
I ADC/DAC com 8 bits de resolução;
I Conector SMA fêmea para antena e clock externo;
I Máx. pot. para recepção na ordem de -5 dBm;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One
6

I Michael Ossmann - pesquisador em segurança de redes sem fio;


I Hardware Open-Source;
I BW: 20 MHz;
I RX / TX (Half-duplex);
I ADC/DAC com 8 bits de resolução;
I Conector SMA fêmea para antena e clock externo;
I Máx. pot. para recepção na ordem de -5 dBm;
I Transferência estável para até 40 MiB / segundo (testado pelo
fabricante).

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One - Potência de saída
7

− 1 MHz a 10 MHz: 5 dBm a 15 dBm (3 mW a 30 mW), crescente


com a frequência;
− 10 MHz a 2150 MHz: 5 dBm a 15 dBm (3 mW a 30 mW),
decrescente com a frequência;
− 2150 MHz a 2750 MHz: 13 dBm a 15 dBm (20 mW a 30 mW);
− 2750 MHz a 4000 MHz: de 0 dBm a 5 dBm (0-3 mW),
decrescente com a frequência;
− 4000 MHz a 6000 MHz: -10 dBm a 0 dBm, decrescente com a
frequência.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - HackRF One - Diagrama de blo-
cos 8

Figura: Diagrama de blocos simplificado do HackRF One.

2.3 a 2.7 GHz (IF) Sinal digital


Antena

USB 2.0
Wideband IF
ADC/DAC MCU
Frontend transceiver

Sinal em banda base


1 MHz a 6 GHz (analógico)
RF

Fonte: Elaborado pelo autor com base na documentação fornecida


pelo fabricante [?].

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Kit HackRF One
9

Figura: Kit de desenvolvimento de aplicações de rádio definido por software.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Software
10

I Linux;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Software
10

I Linux;
I Docker;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Software
10

I Linux;
I Docker;
I GNURadio.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - GNURadio
11

I 2001 - pacote oficial GNU;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - GNURadio
11

I 2001 - pacote oficial GNU;


I SDK opensource;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - GNURadio
11

I 2001 - pacote oficial GNU;


I SDK opensource;
I Acadêmicos, hobbystas ou empresas;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - GNURadio
11

I 2001 - pacote oficial GNU;


I SDK opensource;
I Acadêmicos, hobbystas ou empresas;
I GNU GPLv3 - Free Software Foundation.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - GNURadio
12

I Agnóstico ao hardware;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - GNURadio
12

I Agnóstico ao hardware;
I DSP;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - GNURadio
12

I Agnóstico ao hardware;
I DSP;
I Python e C++;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - GNURadio
12

I Agnóstico ao hardware;
I DSP;
I Python e C++;
I GRC.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Docker
13

I abstração e automação de containers;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Docker
13

I abstração e automação de containers;


I Processos linux isolados;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Docker
13

I abstração e automação de containers;


I Processos linux isolados;
I linux namespaces (mnt, pid, net, ipc, uts, user, cgroups;

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Preparações - Docker
14

Figura: Criação do container de desenvolvimento a partir de uma imagem


Ubuntu.

Fonte: Elaborado pelo autor.


Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |
Preparações - GNURadio-companion
15

Figura: GUI do GNURadio Companion.

Fonte: Elaborado pelo autor.


Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |
Preparações - Firmware HackRF One
16

Figura: Verificação de versão do firmware e taxa de transmissão do HackRF


One.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com | Fonte:


Desenvolvimento
17

Figura: Flowgraph da soma de dois sinais.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento
18

Figura: Gráficos da soma de dois sinais no GNURadio.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento
19

Figura: Flowgraph do produto de dois sinais.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento
20

Figura: Gráficos do produto de dois sinais no GNURadio.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento
21

Figura: Flowgraph para geração de dois sinais defasados no tempo.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento
22

Figura: Sinais defasados no domínio do tempo.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento
23

Figura: Flowgraph para simulação de um comparador de sinais com


histerése.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento
24

Figura: Comparação de sinais com histerése.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento - Receptor FM
25

Figura: Flowgraph para simulação de um receptor de rádio FM.

Fonte: Elaborado pelo autor.


Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |
Desenvolvimento - Receptor FM
26

Figura: FFT plot extraída durante simulação do receptor FM.

Fonte: Elaborado pelo autor.


Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |
Desenvolvimento - Criação de blocos customiza-
dos 27

Figura: Geração de um módulo OOT do GNURadio e sua estrutura de


arquivos e pastas.

Fonte: Elaborado pelo autor.


Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |
Desenvolvimento - Criação de blocos customiza-
dos 28

Figura: Criação dos arquivos de um bloco customizado usando gr_modtool.

Fonte: Elaborado pelo autor.


Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |
Desenvolvimento - Criação de blocos customiza-
dos 29

Figura: Prática do desenvolvimento guiado por testes.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento - Criação de blocos customiza-
dos 30

Figura: Classe do bloco de processamento digital de sinais customizado.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento - Criação de blocos customiza-
dos 31

Figura: Geração do arquivo de descrição do bloco na GUI.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento - Criação de blocos customiza-
dos 32

$ mkdir build $ cd build/ $ cmake ../ $ make $ make test $ make install

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Desenvolvimento - Criação de blocos customiza-
dos 33

Figura: Geração dos pacotes .deb e .rpm.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Resultados
34

Figura: Flowgraph para modulação de um sinal.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Resultados
35

Figura: Modulação do sinal mensagem, curvas no tempo e na frequência.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Resultados - Decimação e Interpolação
36

n
xL [n] = x[ ] <==> LX (ejωL )
L
sendo xL [n] o sinal após o procedimento de interpolação e,

1 jω
xM [n] = x[nM] <==>
X (e M )
M
com xM [n] o sinal em que ocorreu a decimação.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Resultados
37

Figura: Utilização do bloco customizado em um flowgrpah.

Jefferson da Silva Cândido 11311ETE005 jefinstz@gmail.com |


Obrigado!

Você também pode gostar