Rádio definido por Software

Contexto 

Com o avanço das tecnologias de silício e fabricação de circuitos impressos nas últimas décadas, houve crescimento exponencial na utilização de ondas eletromagnéticas para comunicação sem fio. Faixas de Rádio-Frequência (RF) e de Microondas (MM) que outrora eram de uso exclusivo de sistemas militares, agora são utilizadas por consumidores quaisquer, como eu e você, para comunicação entre aparelhos celulares, televisões e até mesmo geladeiras. Contudo, com o aumento da utilização do espectro RF/MM surgem algumas problemáticas. Em uma conversa entre duas pessoas, se ambas tentam falar ao mesmo tempo, nenhuma é capaz de transmitir e receber informações corretamente. Do mesmo modo, se dois aparelhos tentam utilizar a mesma porção do espectro RF/MM ao mesmo tempo, nenhum é capaz de transmitir ou receber dados corretamente.

Com o exemplo acima em mente, podemos compreender a necessidade de engenheiros de telecomunicações em visualizar e entender como se dá o diálogo entre aparelhos sem fio. Para este fim, foram criados equipamentos que pudessem “escutar” essa conversa de diferentes modos. Em casos de conversas localizadas, que se dão em uma faixa pequena de frequências, basta que tenhamos um receptor sintonizado para tal frequência para escutarmos o “diálogo”. Entretanto, em muitas ocasiões, é necessária a compreensão de “diálogos” que ocorres em faixas largas do espectro RF/MM.

C:\Users\Rodrigo\BLUE EYES SYSTEMS LTDA\Gustavo Almeida - BES - Publica\09. Blog\PT - BR\Rádio Definido por Software\fig1_sdr_vs_rec.pngfig1_sdr_vs_rec

Figura 1 – Comparação entre Recepção em um sistema SDR e um Receptor RF comum 

Uma das soluções encontradas por engenheiros é a utilização de Rádios definidos por Software (SDR), sistemas os quais permitem uso em faixas amplas do espectro RF/MM sem a necessidade de equipamentos especializados em cada uma delas. Por meio de sistemas SDR podemos verificar desde faixas de baixa frequência (Low Frequência – LF) até faixas de muito alta frequência (Ultra High Frequency – UHF). Além do poder de escutar “diálogos” em faixas extensas do espectro RF/MM, sistemas SDR tem a capacidade de receber diferentes modulações, equivalente a diferentes “línguas” em nossa analogia prévia. Com isso, o SDR se torna uma poderosa ferramenta de exploração e teste de sistemas sem fio, capaz de auxiliar no desenvolvimento de projetos com baixo custo.

C:\Users\Rodrigo\BLUE EYES SYSTEMS LTDA\Gustavo Almeida - BES - Publica\09. Blog\PT - BR\Rádio Definido por Software\fig2_sis_recepção.pngfig2_sis_recepção

Figura 2 – Recepção de sinais de diferentes frequências e modulações por um SDR

História 

Nascimento 

A ideia de realizar o controle de sistemas de rádio via software tem suas primeiras menções no ano de 1984. Neste ano o termo “Rádio Controlado por Software” foi cunhado pela empresa E-Systems, conhecida agora como Raytheon. O termo foi utilizado para descrição de um novo protótipo desenvolvido pela empresa para fins militares e de espionagem, capaz de selecionar bandas RF específicas a serem “escutadas” e realizar operações complexas como cancelamento de interferência e demodulação de sinais por meio do chaveamento individual de diversos processadores de rádio.

C:\Users\Rodrigo\BLUE EYES SYSTEMS LTDA\Gustavo Almeida - BES - Publica\09. Blog\PT - BR\Rádio Definido por Software\fig3_scr.pngfig3_scr

Figura 3 – Exemplo de sistema controlado por software 

Maturação 

Apesar de ter produzido um sistema que, à principio, atende à expectativas da introdução desse post, o sistema desenvolvido pela E-Systems é considerado um “Rádio Controlado por Software” e não um “Rádio Definido por Software”. Assim como na escrita das duas definições, a diferença entre ambas reside nos detalhes. Vale à pena então mencionar a definição de SDR, ratificada pelo IEEE-P1900.1 em 2008:

“Rádio em que algumas ou todas as funcionalidades da camada física são definidas por software” 

Diferentemente do produto da E-Systems, em que as funcionalidades da camada física foram implementadas em diversos hardwares os quais eram controlados e chaveados via software, o primeiro sistema SDR construído foi o projeto SPEAKeasy, um programa militar desenvolvido nos EUA pela Agência de Pesquisas Avançadas do Departamento de Defesa (DARPA). Com o sucesso do projeto SPEAKeasy, os pesquisadores do DARPA foram capazes de provar que muitas das funcionalidades de um rádio, antes implementadas por meio de sistemas elétricos, poderia ser substituída por cálculos matemáticos realizados por computadores. A partir desse ponto inicial, outros projetos como o JTRS nos EUA e o ESSOR nos estados europeus espalharam a utilização de sistemas SDR no meio militar/governamental.

C:\Users\Rodrigo\BLUE EYES SYSTEMS LTDA\Gustavo Almeida - BES - Publica\09. Blog\PT - BR\Rádio Definido por Software\fig4_sdr.pngfig4_sdr

Figura 4 – Exemplo de sistema definido por software 

Desenvolvimentos Recentes

Em 2004 houve a aprovação de desenvolvimento de sistemas SDR para fins comerciais pela FCC e a partir desse momento o surgimento de diversas companhias, como Vanu Inc., Picochip e Lime Microsystems, empenhadas na produção de sistemas SDR cada vez mais capazes.

Assim como no começo do século, o progresso dos sistemas SDR mais atuais é diretamente ligado à interação da industria com o meio militar e suas necessidades. Chips de Conversão Analógico Digital mais rápidos permitiram sistemas SDR com banda muito maior, enquanto que o desenvolvimento do GPS/GNSS permitiram a auto-calibração de sistemas de rádio sem a necessidade de downtime do equipamento.

Devido às crescentes demandas governamentais e militares para sistemas SDR, industrias foram encorajadas à refinar as técnicas de produção de chips o que levou à redução dos custos de produção, bem como do tamanho necessário para sistemas SDR. O maior exemplo de redução de custo e tamanho foi a produção do RTL283U, um chip produzido pela empresa Realtek com capacidade de realizar aquisição A/D de até 24MHz junto a um demodulador RF DVB-T COFDM e uma interface de comunicação USB2.0. Este chip apresenta a capacidade de adquirir sinais RF na faixa de 100kHz ~ 1.7GHz, com um custo de menos de R$100,00.

9pikw45z

Figura 5 – Exemplo de SDR que utiliza o chip RTL283U 

Engrenagens de Rádios Definidos por Software  

Para aqueles que pretendem realizar projetos que incluem SDRs ou até mesmo construir sua própria plataforma SDR, é importante que seja atingida uma boa compreensão de como funcionam esses sistemas. Para isso vamos usar o diagrama na figura 5:

C:\Users\Rodrigo\BLUE EYES SYSTEMS LTDA\Gustavo Almeida - BES - Publica\09. Blog\PT - BR\Rádio Definido por Software\fig6_diagrama_funcional.pngfig6_diagrama_funcional

Figura 6 – Diagrama Funcional de Blocos de um sistema SDR 

Apesar da figura acima mostrar o diagrama funcional de um receptor SDR, os blocos utilizados são quase idênticos aos de um transceiver SDR. Com este panorama em mente podemos separar um sistema SDR em 5 itens: Antena, Frontend RF, Conversor AD, Demodulador de Símbolos, Decodificador.

Antena

O primeiro componente encontrado por um sinal eletromagnético em seu sistema será a Antena. Para muitos, este componente pode ser considerado o mais importante de um sistema de rádio. De maneira simplificada, além de definir parâmetros mais óbvios, como a frequência de operação do rádio, a antena também será responsável por fatores como a diretividade e a temperatura de ruído do sistema. Todos os três fatores são intimamente ligados à geometria da antena e do tipo de antena que é utilizado.

A Frequência de Operação da antena define quais frequências são recebidas sem que haja grande atenuação do sinal. Antenas projetadas para serem operadas em 3GHz podem receber sinais de frequência mais alta, como 5GHz, ou mais baixa, como 1GHz, contudo, a amplitude do sinal recebido é muito baixa o que muitas vezes inviabiliza sua utilização.

A Diretividade de uma antena diz respeito à atenuação de um sinal recebido de acordo com sua localização em relação à antena. Antenas quasi-omnidirecionais, tal como uma antena de dipolo permitem a recepção de sinais de quase todos os ângulos, em contraste, antenas direcionais, tal como uma antena quadrifiliar, só conseguem receber sinais de direções específicas.

Por fim, podemos citar a Temperatura de Ruído da antena como último fator a ser considerado em uma análise mais simples. A temperatura de ruído diz respeito ao ruído produzido/captado pela antena em relação ao ambiente em que se encontra. Esse fator, é de difícil medição e portanto é geralmente dado pelos fabricantes. Antenas com maior temperatura de ruído acarretam na recepção de sinais com mais ruído e em sistemas muito sensíveis, como astrometria e receptores de satélite, pode ser determinante.

Como exemplos de uma escolha que leva em conta os parâmetros acima, suponha que precisamos receber um sinal WiFi a 1km de distancia de um roteador residencial comum. Como seria a escolha de uma antena para nosso sistema SDR? Como queremos realizar uma recepção de apenas um ponto (o roteador no caso) precisaríamos de uma antena com alta diretividade e cuja frequência de operação seja condizente com a faixa WiFi. Sendo assim, uma boa escolha seria uma antena parabólica para frequências de 2.4 GHz (IEEE 802.11b/g/n/ax)

IMG_256IMG_256

Figura 7 – Antena Parabólica para faixa 2.4GHz1, e gráfico de diretividade correspondente2

Frontend RF

Após a recepção com a antena, o sinal deverá ser amplificado, filtrado e modulado pelo Frontend RF. Como diversas antenas podem ser utilizadas para um mesmo SDR, em geral consideramos o Frontend RF a secção de um SDR é que define os limites de sua operação.

Sistemas de utilização industrial fazem uso de circuitos RF com múltiplos estágios de amplificação e filtragem para que seja introduzida a menor quantidade de distorção e ruído possível.

Como circuitos RF apresentam grande complexidade, não serão analisados neste post. Contudo, basta compreender que em geral, quanto maior a faixa de frequências que desejamos “ouvir”, mais complexo será essa porção do SDR.

IMG_256

Figura 8 – Placa de Circuito Impresso USRP B2103

Conversor AD:

Feita a amplificação e filtragens no Frontend, o sinal deverá ser dirigido ao Conversor AD (ADC) do sistema. A partir deste ponto, sinais analógicos são convertidos em números binários que possam ser lidos por um computador. Para um ADC três fatores são, inicialmente, importantes de serem analisados: Tensão de Referência, Resolução e Frequência de Amostragem.

Assim como em uma conversa entre pessoas, só conseguimos distinguir se algum indivíduo “sussurra” ou “grita” baseado em alguma referência. Do mesmo modo, um ADC necessita de uma referência para que possa avaliar qual o nível de tensão em sua entrada. Este fator é de grande importância pois se nossa referência é muito maior do que o sinal a ser adquirido, não seremos capazes de “ouvir” com nosso SDR. Em geral esse parâmetro é escolhido com conjunto com o Frontend RF e seu módulo de ganho automático (ACG).

Os outros dois parâmetros, Resolução e Frequência de Amostragem, definem nossa habilidade de “ouvir” um sinal. Este tópico é de difícil compreensão, porém basta saber que a Resolução afeta a excursão máxima de sinais que podemos “ouvir” (é utilizado o termo “Dinamic Range” para essa característica), enquanto que a Frequência de Amostragem afeta a excursão máxima de frequências que podemos “ouvir” ao mesmo tempo (“Bandwidth”).

De maneira prática, nos deparamos em geral com uma escolha entre poder “ouvir” sinais de diferentes amplitudes ao mesmo tempo (adequado para análise de sistemas Mesh por exemplo), ou sinais de frequências distintas (adequado para análise de sistemas Multicanal por exemplo).

Tabela 1 – Comparação entre ADCs4

Demodulador de Símbolos & Decodificador

Feita a conversão do domínio analógico para o digital, podemos utilizar algoritmos de computador para realizar as próximas operações. Em qualquer sistema de transmissão de dados eletrónico, uma mensagem que é criada pelo transmissor deverá ser codificada, isto é, transformada em uma sequência de números binários, e modulada, convertida em uma forma de onda que será transmitida pela antena. Do mesmo modo, em um receptor de rádio, o sinal recebido deverá ser demodulado em símbolos e decodificado (Fig. 9).

C:\Users\Rodrigo\BLUE EYES SYSTEMS LTDA\Gustavo Almeida - BES - Publica\09. Blog\PT - BR\Rádio Definido por Software\fig9_demod&decod.pngfig9_demod&decod

Figura 9 – Exemplo do processo de Demodulação/Decodificação em sinais FM

Tomando a figura 9 acima como referência, podemos entender o processo de codificação de um sinal como a língua que escolhemos para nos comunicar com outra pessoa, enquanto que a modulação pode ser compreendida como o meio pelo qual nos comunicamos com ela. Um exemplo de codificação seria a Língua Portuguesa, e de modulação um texto escrito, como este. Ao leitor cabe a tarefa de ser capaz de identificar as letras/símbolos e associá-los em palavras e frases (demodulação) para que possa compreender a mensagem que esse texto se propõe a passar (decodificação). Em um sistema SDR ambos processos são realizados, em geral, via software em um computador.

Feita essa breve introdução aos sistemas de rádio, em particular os SDR, podemos compreender com mais facilidade os benefícios da utilização de um SDR em seu projeto e como podemos realizar a escolha de um sistema SDR, bem como os desafios de engenharia a serem superados.

Topologias de SDR

Em engenharia, geralmente são tratados problemas de grande complexidade onde muitas vezes são necessárias abstrações para que possamos nos comunicar efetivamente. Um modo de se comunicar tais conceitos complexos é por meio de topologias. Ao invés de dizer que um indivíduo mora em um conjunto residencial de alta densidade com com facilidades de exercícios de musculação e hidroginástica, podemos dizer que alguém mora em um prédio com academia. Do mesmo modo, podemos dizer que utilizaremos topologias de SDR.

[Topologia GPP]

Topologia GPP: Esta topologia de SDR é a que vimos anteriormente. É realizada a captura do sinal pela antena e pelo Frontend, o processo de aquisição é realizado pelo ADC e as etapas de demodulação e decodificação são realizadas pela CPU de um computador pessoal. Apesar de ser suficiente na maioria dos casos de uso, existem situações em que não há poder de processamento suficiente disponível pela CPU.

C:\Users\Rodrigo\BLUE EYES SYSTEMS LTDA\Gustavo Almeida - BES - Publica\09. Blog\PT - BR\Rádio Definido por Software\fig10_topGPP.pngfig10_topGPP

Figura 10 – Topologia GPP5

[Topologia GPP+GPU/FPGA] 

Topologia GPP+GPU: Nesta ocasião, utilizamos o paralelismo disponível da GPU de um computador para nos auxiliar nas etapas de demodulação e decodificação. 

C:\Users\Rodrigo\BLUE EYES SYSTEMS LTDA\Gustavo Almeida - BES - Publica\09. Blog\PT - BR\Rádio Definido por Software\fig11_topGPP_p_GPUFPGA.pngfig11_topGPP_p_GPUFPGA

Figura 11 – Topologia GPP+GPU/FPGA5

Perceba que topologias diferentes apresentam pontos de vista diferentes do problema a ser otimizado e com isso apresentam suas vantagens e desvantagens. A configuração GPP é simples e de fácil construção, enquanto a configuração GPP+GPU/FPGA apresenta a necessidade de programas adicionais de transmissão de dados entre GPU/FPGA e a CPU. Portanto, a topologia GPP+GPU/FPGA é otimizada para performance, enquanto que a topologia GPP é otimizada para versatilidade.

Bibliografia 

http://www.acantenna.com/products/info_21_itemid_123.html

https://www.criterioncellular.com/antennas/wifi-ism-safety-band/24ghz_grid.html

The Continued Evolution of Software-Defined Radio for GNSS, December 2017, James T. Curran, Carles Fernández-Prades, Aiden Morrison, Michele Bavaro

Share on facebook
Facebook
Share on google
Google+
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on pinterest
Pinterest