88
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA CURSO DE GRADUAÇÃO EM ENGENHARIA DE TELECOMUNICAÇÕES Discente: Leonardo Silva Damasceno Orientador: Prof. Dr. Vicente Sousa RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO DEFINIDO POR SOFTWARE Natal-RN 2016

RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

CENTRO DE TECNOLOGIA

CURSO DE GRADUAÇÃO EM ENGENHARIA DE TELECOMUNICAÇÕES

Discente: Leonardo Silva Damasceno

Orientador: Prof. Dr. Vicente Sousa

RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO DEFINIDO POR

SOFTWARE

Natal-RN

2016

Page 2: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

Leonardo Silva Damasceno

RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO DEFINIDO POR

SOFTWARE

Trabalho de conclusão de curso de graduação

apresentado ao Centro de Tecnologia da Universidade

Federal do Rio Grande do Norte como requisito

parcial para a obtenção do título de Bacharel em

Engenharia de Telecomunicações.

Orientador: Prof. Dr. Vicente Sousa.

Natal-RN

2016

Page 3: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

Ficha Catalográfica

Inserir aqui a ficha gerada pela biblioteca Zilá Mamede

Page 4: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

Leonardo Silva Damasceno

RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO DEFINIDO POR

SOFTWARE

Trabalho de conclusão de curso de graduação apresentado ao Centro de Tecnologia da

Universidade Federal do Rio Grande do Norte como requisito parcial para a obtenção do

título de Bacharel em Engenharia de Telecomunicações.

Aprovado em: ____ de _______ de _____.

BANCA EXAMINADORA

__________________________________________

Cristhianne de Fátima Linhares de Vasconcelos - UFRN

__________________________________________

Danilo de Santana Pena – UFRN (Co-orientador)

__________________________________________

Marcio Eduardo da Costa Rodrigues - UFRN

__________________________________________

Vicente Angelo de Sousa Junior - UFRN (Orientador)

Page 5: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

RESUMO

Este trabalho propõe um estudo sobre ferramentas de prototipagem utilizando a

tecnologia de SDR (Software Defined Radio, em português, Rádio Definido por Software)

para construção de protótipos de moduladores e demoduladores digitais. O tema é tratado

através de experimentos práticos baseados em GNU Radio, uma plataforma de software muito

utilizada para SDR.

O sistema de transmissão digital está vulnerável a problemas ligados à falta de

sincronismo de fase, devido à diferença entre a fase do sinal transmitido e recebido, assim

como a falta de sincronismo de tempo, quando o receptor não amostra o sinal recebido no

momento adequado. A falta de sincronismo de fase pode ser solucionada através de

algoritmos de recuperação de portadora como o PLL (Phase Locked Loop, em português, Elo

Travado em Fase) e o Costas Loop (um especialização de circuito PLL, usado para recuperar

a fase e frequência de um sinal modulado). Já a falta de sincronismo de tempo pode ser

solucionado com a implementação de algoritmos de recuperação de clock, como a técnica de

PFB (Polyphase Filter Bank, em português, Banco de Filtro Polifásico).

Este trabalho investiga o desempenho do receptor Costas Loop no Matlab e no GNU

Radio, além de mostrar uma transmissão real de um arquivo de texto entre duas USRP N210,

usando a técnica de modulação não coerente DPSK.

Palavras-Chaves – SDR, GNU Radio, Comunicações Digitais, Costas Loop.

Page 6: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

ABSTRACT

This work proposes a study about prototyping tools using the SDR technology to build

prototypes of digital modulators and demodulators. The subject is a treated through practical

experiments based on GNU Radio, a software platform mostly used for SDR.

The digital transmission system is vulnerable to problems relating to lack of phase

synchronization, due to difference between the phase transmitted signal and the received

signal, and the lack of time synchronization, when the receiver do not sample the received

signal at right time. The lack of phase synchronization can be solved through carrier recovery

algorithms such as Phase Locked Loop and Costas Loop (a type of Phase Locked Loop that is

used to recover the phase and frequency of the carrier). The lack of time synchronization can

be solved by implementing algorithms of timing recovery, such as the Polyphase Filter Bank.

This work investigates the performance of the Costas Loop receiver in Matlab and

GNU Radio, besides to showing a real transmission of a text file between two USRP N210,

using noncoherent detection of DPSK modulation.

Keywords – SDR, GNU Radio, Digital Communication, Costas Loop.

Page 7: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

AGRADECIMENTOS

Primeiramente agradeço a Deus pelo dom da vida, pela força e saúde que me foram

dadas para chegar até aqui.

Agradeço a toda minha família pelo apoio, educação, carinho e investimento que me

deram durante toda minha vida.

Agradeço ao Prof. Dr. Vicente Angelo de Sousa Junior, pela orientação, amizade e

ensinamentos que ajudaram a me capacitar pessoal e profissionalmente.

Agradeço ao meu coorientador e amigo, Prof. Dr. Danilo Pena, pelos ensinamentos

proporcionados durante a graduação que contribuíram muito para a realização deste trabalho.

Agradeço ao Departamento de Engenharia de Comunicações (DCO), da Universidade

Federal do Rio Grande do Norte (UFRN), e à Escola de Ciências e Tecnologia (ECT) pela

infraestrutura oferecida e pelas excelentes formações proporcionadas. E todos os professores

que contribuíram ao longo de toda minha formação acadêmica.

Ao Grupo de Pesquisa em Prototipagem Rápida de Soluções para Comunicações

(GppCom), pela formação extracurricular e pelo fornecimento de todos os equipamentos

necessários para a realização deste trabalho.

À minha namorada Ana Claudia Xavier de Amorim, pelo apoio, motivação e

companheirismo durante todo o período da minha graduação.

Agradeço ao meu amigo, Enir Dias Neto, por toda ajuda proporcionada para o

desenvolvimento deste trabalho.

Aos meus amigos de graduação e de vida, Eliennay Ferreira e Guilherme Oliveira, por

todo apoio e torcida durante esse tempo.

Page 8: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

LISTA DE FIGURAS

Figura 1 - Diagrama de constelação gerado por uma modulação QPSK ................................ 12

Figura 2 – Ilustração de uma cadeia de transmissão e recepção digital .................................. 12

Figura 3 – Ilustração de alguns cenários que ocasionam o multipercurso e o Efeito Doppler . 14

Figura 4 – Rotação da constelação de um sistema QPSK devido ao erro de fase ...............14

Figura 5 – Diagrama de blocos para codificação diferencial DPSK ........................................ 15

Figura 6 – Exemplo de uma codificação diferencial realizada pelo DPSK.............................. 15

Figura 7 – Diagrama de blocos do PFB para determinação do tempo ideal de amostragem ... 17

Figura 8 – Código pulrecsig.m cria o formato de pulso e gera a FFT dos sinais .................... 19

Figura 9 – Espectro de magnitude do sinal recebido de um sistema AM DSB........................19

Figura 10 – Espectro de magnitude do sinal recebido de um sistema AM DSB-SC................20

Figura 11 – Esquema de pré-processamento utilizando o método de quadratura e filtro

BPF..... ..................................................................................................................................... 21

Figura 12 – Código de pré-processamento utilizando o método de quadratura e filtro BPF ... 21

Figura 13 – Espectro da magnitude do sinal recuperada a duas vezes a frequência desejada .. 22

Figura 14 – Código de implementação do algoritmo SD ....................................................... 24

Figura 15 – Resultado do algoritmo SD convergindo o deslocamento de fase correto (neste

caso, -0.8) ................................................................................................................................ 24

Figura 16 – Gráficos da superfície de erro dos algoritmos de rastreamento de fase SD (JSD),

PLL (JPLL) e Costas Loop (JC). Observa-se que todos os métodos tem mínima (ou máxima) na

fase desejada (nesse caso, em-0.8) mais deslocamentos em n ............................................... 26

Figura 17 – Esquema de funcionamento do algoritmo SD ....................................................... 27

Figura 18 – Esquema de funcionamento do algoritmo PLL .................................................... 27

Figura 19 – Código pllconverge.m que simula o método de estimação de fase PLL .............. 28

Figura 20 – Resultado do algoritmo PLL convergindo para o valor de fase correto .............. 28

Figura 21 – O Costas Loop é um algoritmo de rastreamento de fase baseado no desempenho

da função custo Jc. A entrada do sinal não precisa ser pré-processada (como é requerida no

PLL) ......................................................................................................................................... 30

Figura 22 – Código costasloop.m simulado com os dados de entrada de pulrecsig.m ............ 31

Figura 23 – Resultado do algoritmo Costas Loop convergindo para o deslocamento de fase

correto ....................................................................................................................................... 31

Figura 24 – Algoritmo SD convergindo para -0.8 e para valores múltiplos de -0.8+nπ .......... 32

Figura 25 – Algoritmo PLL convergindo para -0.8 e para valores múltiplos de π ................... 32

Figura 26 – As estimativas feitas pelo algoritmo Costas Loop convergem para -0.8 e -0.8±nπ.

Estes pontos estacionários ocorrem em todos os máximos de superfície de erro .................... 33

Page 9: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

Figura 27 – Algoritmo SD com ruído ....................................................................................... 34

Figura 28 – Algoritmo PLL com ruído ..................................................................................... 34

Figura 29 – Algoritmo Costas Loop com ruído ........................................................................ 35

Figura 30 – Algoritmo PLL com offset de frequência .............................................................. 36

Figura 31 – Algoritmo Costas Loop com offset de frequência ................................................. 36

Figura 32 – Ambiente de trabalho do GNU Radio para demonstrar o sistema descrito .......... 37

Figura 33 – Sinal sem a presença de ruído (amplitude do ruído igual a 0) .............................. 38

Figura 34 – Sinal com ruído (amplitude do ruído igual a 1) .................................................... 38

Figura 35 – Flowgraph da cadeia de transmissão com o modulador QPSK e a presença do

canal .......................................................................................................................................... 39

Figura 36 – Resultado no domínio do tempo, da frequência e através do diagrama de

constelação................................................................................................................................ 40

Figura 37 – Flowgraph do sistema com a técnica de recuperação de clock ............................. 41

Figura 38 – Resultado da constelação antes (gráfico à esquerda) e depois (gráfico à direita) do

uso do PFB ............................................................................................................................... 41

Figura 39 – Resultado da constelação antes e depois do uso do PFB com offset de tempo

máximo ..................................................................................................................................... 42

Figura 40 – Resultado do antes e depois do uso do PFB com offset de frequência de 1x10-5

Hz

.................................................................................................................................................. 43

Figura 41 – Configuração do bloco PSK Mod e alteração do parâmetro Excess BW............... 44

Figura 42 – Constelação após alteração do parâmetro Excess BW para 0.1 ............................. 44

Figura 43 – Cadeia de recepção com o bloco CMA Equalizer para resolver o problema de ISI

.................................................................................................................................................. 45

Figura 44 – Resultado do decodificador com uso do bloco CMA Equalizer (à direita da figura)

para um fator de roll-off igual a 0.1. Figura 45 – Algoritmo PLL com offset de frequência ... 45

Figura 45 - Resultado do decodificador com uso do CMA Equalizer para um offset de

frequência de 1x10-5

Hz ............................................................................................................ 46

Figura 46 – Resultado da Cadeia de Transmissão/Recepção final com o uso do algoritmo de

estimação de fase Costas Loop ................................................................................................. 47

Figura 47 – Comparação entre o CMA Equalizer e o algoritmo Costas Loop para um offset de

frequência de 0.01 Hz ............................................................................................................... 47

Figura 48 – Comparação entre o CMA Equalizer e o algoritmo Costas Loop no canal com

ruído AWGN ............................................................................................................................ 48

Page 10: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

LISTA DE SIGLAS

ASK Amplitude Shift Keying

BER Bit Error Rate

DPSK Differential Phase Shift Keying

FSK Frequency Shift Keying

GRC GNU Radio Companion

ISI Inter Symbol Interference

PSK Phase Shift Keying

PFB Polyphase Filter Bank

PLL Phase Looked Loop

QPSK Quadrature Phase Shift Keying

SD Squared Difference Loop

SDR Software Defined Radio

SNR Signal to Noise Ratio

UFRN Universidade Federal do Rio Grande do Norte

USRP Universal Software Radio Peripheral

Page 11: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

SUMÁRIO

1 INTRODUÇÃO ............................................................................................................ 11

1.1 OBJETIVOS ESPECÍFICOS .......................................................................................... 11

1.2 METODOLOGIA ............................................................................................................ 11

1.3 CONTEXTO DE EXECUÇÃO DO TRABALHO ......................................................... 12

1.4 PRODUTOS TANGÍVEIS DO TRABALHO ................................................................ 12

1.5 ORGANIZAÇÃO DO TRABALHO .............................................................................. 12

2 TRANSMISSÃO DIGITAL ......................................................................................... 13

2.1 O SISTEMA DE TRANSMISSÃO DIGITAL ................................................................ 14

2.1 SINCRONISMO DE FASE E FREQUÊNCIA ................................................................ 15

2.2 SINCRONISMO DE TEMPO ......................................................................................... 18

3 SOLUÇÕES CLÁSSICAS PARA SINCRONISMO DE FASE E FREQUÊNCIA. 19

3.1 ESTIMAÇÃO DE FASE E FREQUÊNCIA VIA FFT ................................................... 20

3.2 SQUARED DIFFERENCE LOOP (SD) ......................................................................... 24

3.3 PHASE-LOCKED LOOP (PLL) ..................................................................................... 28

3.4 COSTAS LOOP ............................................................................................................... 31

3.5 COMPARAÇÃO DE DESEMPENHO DOS ALGORITMOS........................................34

4 ESTUDO DE CASO: RECEPTOR COSTAS NO GNU RADIO ............................. 39

4.1 COMPORTAMENTO DE UM SINAL COSSENOIDAL COM RUÍDO ........................ 39

4.2 MODULAÇÃO QPSK E AS CARACTERÍSTICAS DO CANAL ................................. 42

4.3 SOLUÇÃO PARA SINCRONISMO DE TEMPO: PFB .................................................. 47

4.4 POSSÍVEL SOLUÇÃO PARA PROBLEMA DE ISI: EQUALIZAÇÃO ....................... 48

4.5 POSSÍVEL SOLUÇÃO PARA PROBLEMA DE SINCRONISMO DE FASE E

FREQUÊNCIA: ALGORITMO COSTAS LOOP ................................................................... 50

5 CONCLUSÕES E PERSPECTIVAS ........................................................................... 51

REFERÊNCIAS ............................................................................................................ 53

ANEXO A – CADEIA DE TRANSMISSÃO DIGITAL USANDO O GRC ............ 54

ANEXO B - TRANSMISSÃO REAL DE TEXTO USANDO O GNU RADIO .......76

Page 12: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

11

CAPÍTULO 1 - INTRODUÇÃO

Nos sistemas de comunicações, a mensagem a ser transmitida pelo canal está sujeita a

diversos fenômenos que podem alterar as características do sinal transmitido de forma que o

mesmo não seja reconhecido no receptor. Alguns desses efeitos é o multipercurso e o Efeito

Doppler, que geram perda de sincronismo de fase e frequência no sinal. Assim, tem-se a

necessidade de implementar algoritmos que consigam recuperar o sinal nesses cenários. Neste

trabalho é apresentado o algoritmo Costas Loop e outros métodos de recuperação de portadora.

Um dos principais avanços da tecnologia atual é a utilização de software para

implementar parte do rádio, ao invés de somente em hardware. O Rádio Definido por Software

(SDR) é uma tecnologia que permite tanto a simulação quanto a criação de um sistema de

transmissão completo, com baixo custo e grande flexibilidade, permitindo adaptações às novas

tecnologias sem a necessidade de substituição de equipamentos, além de obter uma melhor

utilização do espectro.

1.1 – OBJETIVOS ESPECÍFICOS

No decorrer deste trabalho serão discutidos e respondidos de forma prática, os seguintes

questionamentos:

Quais os problemas inerentes aos sistemas de transmissões digitais relativos a tempo de

amostragem e fase?

E esses problemas causam erros na recepção do sinal, como solucioná-los?

Quais os principais tipos de modulações digitais? O que pode ser dito a respeito da

característica coerente e não coerente dos moduladores digitais?

E quanto à implementação de software de algoritmos de sincronismo de fase?

Existe alguma ferramenta de simulação para SDR que possa servir como ambiente para

constatar a eficiência das soluções dos problemas no sistema de transmissão digital?

1.2 – METODOLOGIA

A grande versatilidade da programação em SDR permite que o teste de uma cadeia de

transmissão e recepção seja realizado na prática sem grande custo, permitindo assim

comparações entre soluções de problemas nos sistemas de transmissão digital. Este trabalho

traz uma breve fundamentação teórica sobre a cadeia de transmissão digital e suas principais

técnicas de modulação, os problemas envolvidos e algumas soluções. Tais problemas e

soluções são evidenciados e testados através de formulações matemáticas e simulações via

MATLAB e software de prototipagem GNU Radio.

Page 13: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

12

1.3 – CONTEXTO DE EXECUÇÃO DO TRABALHO

Este Trabalho de Conclusão de Curso (TCC) foi desenvolvido pelo discente Leonardo

Silva Damasceno sob orientação do Prof. Dr. Vicente Angelo de Sousa Junior, do

Departamento de Engenharia de Comunicações da Universidade Federal do Rio Grande do

Norte (DCO/UFRN) e atualmente coordenador do GppCom (Grupo de Pesquisa em

Prototipagem Rápida de Soluções para Comunicação). Este grupo trabalha na consolidação de

pesquisa aplicada e desenvolvimento na área de telecomunicações na UFRN através de projetos

com parceiros acadêmicos e com o setor industrial.

1.4 – PRODUTOS TANGÍVEIS DO TRABALHO

Construção de um protótipo de modulador digital DPSK para transmissão de um

arquivo de texto usando o GNU Radio e a USRP;

Construção de um protótipo de demodulador digital DPSK para recepção de um arquivo

de texto usando o GNU Radio e a USRP;

Concepção e Montagem de Kits Didáticos para Rádio Definido por Software usando

GNU Radio e USRP N210 – Artigo – Congresso de Iniciação Científica UFRN 2015;

Introdução a Rádio Definido por Software Sistemas de Telecomunicações com GNU

Radio e USRP N210 – Minicurso – UFRN 2015.

1.5 – ORGANIZAÇÃO DO TRABALHO

Este trabalho está dividido em 5 capítulos, que são organizados da seguinte forma: O

capítulo 2 é dedicado a uma visão sobre o sistema de comunicação digital e feito uma

abordagem sobre os problemas de sincronismo de tempo, fase e frequência.

O capítulo 3 apresenta alguns dos algoritmos existentes de estimação de fase, através de

formulações matemáticas e simulações realizadas no MATLAB.

O capítulo 4 entra em detalhes sobre os problemas relacionados ao canal sem fio e

limitado em banda, assim como também são apresentados as possíveis soluções para tais

problemas, usando a plataforma de software GNU Radio.

O capítulo 5 traz os comentários finais e as perspectivas de trabalhos futuros.

Page 14: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

13

CAPÍTULO 2 – TRANSMISSÃO DIGITAL

Nas transmissões digitais a fonte de informação é gerada através de bits e as técnicas de

modulações digitais são obtidas através da variação de amplitude, frequência e fase, assim

como ocorrem nas modulações analógicas [1]. As principais técnicas de modulações digitais

são descritas brevemente nos tópicos abaixo:

ASK (Amplitude Shift Keying) ou Modulação por Chaveamento de Amplitude – É

a técnica de modulação mais simples entre as utilizadas para modular sinais digitais.

Consiste na alteração da amplitude da onda portadora em função do sinal digital a ser

transmitido. Esta técnica é equivalente à modulação AM para sinais contínuos com um

sinal modulante na forma de um pulso retangular. Como vantagem da modulação ASK

pode-se citar a simplicidade de implementação e como desvantagem a baixa imunidade

a ruído [2][3]. Umas das aplicações da modulação ASK é na transmissão via fibra

óptica, quando não há ruído para interferir na recepção do sinal, e em transmissão de

dados por infravermelho [4].

FSK (Frequency Shitf Keying) ou Modulação por Chaveamento de Frequência –

Processo de modulação que consiste na variação da frequência da onda portadora em

função do sinal digital a ser transmitido. Como vantagem da modulação FSK pode-se

citar que ela é menos susceptível a interferência pelo ruído do que a ASK, pois o

receptor fica atento a variações de frequências, então picos de voltagem causados pelo

ruído são ignorados. Uma das desvantagens é que a modulação FSK requer uma grande

ocupação de banda, chegando a exigir o dobro do espectro de frequência da modulação

ASK [5]. Este modelo de modulação é utilizada em modens com velocidade de

transmissão igual ou menor que 1200 bits/segundo, também utilizada em telefonia

celular para transmissão de controle entre a estação rádio base e o telefone celular [6].

PSK (Phase Shitf Keying) ou Modulação por Chaveamento de Fase – Consiste na

variação da fase da onda portadora em função do sinal digital a ser transmitido. Quando

ocorre uma mudança de nível lógico do sinal a ser transmitido há uma mudança na fase

da onda portadora para indicar a mudança do nível lógico do sinal a ser transmitido.

Essa modulação é a que apresenta melhor imunidade a ruídos e um significativo

aumento da velocidade de transmissão. Uma das poucas desvantagens do PSK é que a

informação não pode ser recuperada a partir da envoltória, visto que há apenas uma

dualidade de sinais (chaveamento de fase entre os valores 0 e π), ou seja, requer uma

demodulação coerente. Uma das aplicações da modulação PSK é nos sistemas de

comunicação via satélite, cenário no qual a SNR (Signal-Noise Ratio, ou Relação Sinal

Ruído) é baixa devido o canal severo e variável. Também utilizada em modens de

média velocidade e em rádios digitais [6] [7]. Uma das técnicas derivadas do PSK

bastante utilizada é o QPSK (Quadrature Phase Shift Keying), que transmite 2 bits por

símbolo. Neste caso tem-se 4 tipos de símbolos possível e a portadora pode assumir 4

valores de fase diferentes. A figura 1 ilustra um diagrama de fase e quadratura, com os 4

possíveis símbolos gerados pela modulação QPSK.

Page 15: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

14

Figura 1 – Diagrama de constelação gerado por uma modulação QPSK.

Fonte: Adaptado de [7].

2.1 – O SISTEMA DE TRANSMISSÃO DIGITAL

Os sistemas de transmissões digitais apresentam facilidades de regeneração, em

comparação com os sistemas analógicos, além de apresentarem maior imunidade à distorção e

interferência. Os circuitos digitais são mais confiáveis (e flexíveis) e podem ser produzidos

com custos mais baixos. Uma desvantagem dos sistemas digitais é o alto processamento

exigido, sendo necessária a utilização de métodos de sincronismo de fase, frequência e tempo.

Na figura 2 é ilustrado, através de um diagrama de blocos, o funcionamento de uma cadeia de

transmissão e recepção digital.

Figura 2 – Ilustração de uma cadeia de transmissão e recepção digital.

Fonte: O próprio autor.

Na cadeia de transmissão da figura 2, o bloco Fonte de Informação representa a

mensagem original a ser transmitida (voz, música, imagens, vídeos ou arquivos de dados), já

em formato binário. O bloco Codificação de Fonte é responsável por aumentar a eficiência da

transmissão, através da compressão e compactação das mensagens geradas pela fonte (taxa de

Page 16: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

15

remoção de bits). O bloco Modulação em banda base transforma os bits em forma de onda e o

bloco da Modulação em banda passante faz a adequação do sinal formatado para ser

transmitido pelo canal, gerando um sinal em alta frequência centrado na frequência central de

uma portadora senoidal.

O bloco Canal representa o meio pelo qual o sinal é transmitido (fibra óptica, cabo

coaxial, espaço livre etc). O canal funciona como um filtro atenuador, adicionando ruído ao

sinal e muitas vezes provocando offsets (deslocamentos) de fase, frequência e tempo.

Na cadeia de recepção, o bloco Demodulação em banda passante transforma a onda

modulada que chega ao receptor em forma de bits e o bloco em paralelo, de Sincronismo de

fase e frequência, é composto por técnicas que buscam estimar a fase e frequência em situações

que o canal possa alterar estes parâmetros. O bloco de Equalização resolve o problema de

interferência intersimbólica (ISI) que ocorre devido o processo de formatação de pulso para

limitar a banda do sinal transmitido, ou devido o multipercursos do canal sem fio. O bloco

Demodulação em banda base recebe as amostras do sinal, e geralmente utilizada um filtro

casado, que é uma filtro linear ótimo invariante no tempo, usado para maximizar a SNR de pico

do pulso [8]. O bloco Decodificação de fonte é responsável por atribuir um endereço binário

para cada símbolo decodificado e reconstruir o sinal transmitido.

2.2 – SINCRONISMO DE FASE E FREQUÊNCIA

Na transmissão digital, o receptor deve conhecer a fase e a frequência da informação

enviada pelo transmissor. Porém, o canal pode provocar distorções indesejáveis no sinal

transmitido, ocasionando perda de sincronismo de fase e/ou frequência no receptor. As

principais causas que contribuem para estes problemas são o multipercurso e o efeito Doppler.

O multipercurso ocorre devido os obstáculos existentes entre o transmissor e o receptor

que causam dispersão (ou espalhamento temporal) do sinal recebido, gerando problema de

sincronismo fase. O efeito Doppler é causado pela mobilidade dos objetos entre o transmissor e

o receptor, tendo como consequência a falta de sincronismo de frequência. Ambos os

problemas causam rotação na constelação, tornando-se difícil a recuperação do sinal. As figuras

3 e 4 ilustram alguns cenários que podem ocorrer estes problemas e a consequência deles na

cadeia de recepção, respectivamente.

Page 17: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

16

Figura 3 – Ilustração de alguns cenários que ocasionam o multipercurso e o efeito Doppler.

Fonte: Adaptado de [9].

Figura 4 – Rotação da constelação de um sistema QPSK devido ao erro de fase .

Fonte: Adaptado de [10].

Um dos métodos utilizados para recuperação de fase é o DPSK (Difference Phase Shift

Keying, ou PSK Diferencial). Esta é uma técnica variante da modulação PSK que, diferente das

outras variantes, utiliza demodulação não coerente, ou seja, o receptor não precisa conhecer a

informação de frequência e de fase da portadora.

Ao invés dos dados binários serem modulados sobre a fase da portadora, o DPSK

modula os dados sobre a mudança de fase da portadora. Por exemplo, uma mudança de fase π

durante a transição de um intervalo de símbolo para o seu adjacente representa o bit de valor 1,

enquanto a não mudança de fase neste intervalo de transição representa o bit 0.

O sistema DPSK é codificado diferencialmente, aplicando uma lógica XOR na

sequência de dados de entrada. A tabela 2.1 ilustra a operação binária XOR, evidenciando que

ela faz exatamente a lógica do DPSK. Assim, dada uma sequência de dados determinado por bj,

consistindo de 0’s e 1’s, pode-se obter a sequência de dados cj codificada diferencialmente,

conforme mostrada na equação 2.1, no qual o símbolo ⊕ representa a operação XOR.

Page 18: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

17

Tabela 2.1 – Ilustração da lógica XOR, aplicada no sistema de codificação DPSK.

Fonte: O próprio autor.

A figura 5 ilustra através de diagrama de blocos o processo de codificação diferencial de

um receptor DPSK.

Figura 5 – Diagrama de blocos para codificação diferencial DPSK.

Fonte: Adaptado de [12].

A diferença fundamental desta técnica de modulação é a forma que o sinal de referência

é gerado para a detecção de fase. Este sinal é gerado pelo atraso Tb em relação ao sinal de

entrada. Na figura 6 é mostrado como ocorre o processo de codificação de fase diferencial,

considerando os bits de entrada como sendo {1, 1, 0, 0, 1, 0, 1, 0, 1, 1}, admitindo o bit de

referência igual a 0 e aplicando a lógica XOR.

Figura 6 – Exemplo de uma codificação diferencial realizada pelo DPSK.

Fonte: Adaptado de [12].

Page 19: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

18

Nota-se na figura 6 que, com base no procedimento descrito, é obtido a sequência de

saída {0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0}. Assim, quando se tem um bit codificado igual a 0, a fase da

onda DPSK fica igual ao bit anterior, já quando o bit codificado é igual a 1, inverte-se a fase da

onda DPSK em π.

Outro método de estimação, tanto de fase quanto de frequência da onda portadora, é o

algoritmo Costas Loop. Diferente do DPSK, este algoritmo funciona com demodulação

coerente, ou seja, requer informações de fase e frequência da onda portadora, exigindo uma

maior complexidade na implementação e, consequentemente, não sendo utilizado nos

receptores de menor custo. Contudo, torna-se interessante seu uso em condições que a SNR é

baixa, obtendo desempenho melhores do que à solução não coerente [13].

Este TCC tem como objetivo testar o método do algoritmo Costas Loop como solução

para recuperação de fase em uma recepção digital. Os capítulos 3 e 4 mostram o funcionamento

deste algoritmo através de simulações no MATLAB e no GNU Radio.

2.3 – SINCRONISMO DE TEMPO

O sincronismo de tempo tem como objetivo determinar o instante de tempo ideal para

amostrar o sinal recebido. A perda de sincronismo tempo ocorre devido aos equipamentos do

transmissor e receptor terem clocks diferentes e o canal impor atraso de propagação variável.

Com isso, o receptor pode amostrar o sinal recebido sem maximizar a SNR (perder o começo e

o final do tempo de bit), afetando diretamente na recuperação do sinal.

O Banco de Filtro Polifásicos (PFB) é uma das técnicas utilizadas para recuperação do

tempo de bit. O PFB é um conjunto de N filtros (a quantidade vai depender do projeto) que

atuam em paralelo e cada um possui uma fase diferente, de forma a identificar o instante de

tempo ideal para recuperação do símbolo. A figura 7 apresenta o diagrama de blocos do Banco

de Filtros Polifásicos, em que o sinal recebido r(nT) passa por N filtros derivadores até

determinar o tempo ideal de amostragem [11][12].

Page 20: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

19

Figura 7 – Diagrama de blocos do PFB para determinação do tempo ideal de amostragem.

Fonte: Adaptado de [16].

A partir deste conjunto de filtros, no qual um destes está no tempo ideal de amostragem,

ou no tempo mais próximo do ideal, será utilizado um controle de loop de segunda ordem para

determinar com precisão qual dos N filtros é o correto. O controle de loop inicia em um dos

filtros e calcula o sinal de erro da saída, isto será feito até ser encontrado um sinal de erro mais

próximo ou igual a 0. Assim, o tempo ideal para amostragem será determinado corretamente

[11] [12].

O algoritmo PFB é utilizado na simulação de uma cadeia de recepção digital para

sincronismo de tempo, mostrada no capítulo 4 deste trabalho. Mais detalhes sobre este

algoritmo pode ser visualizado na monografia do autor Elder Monteiro da Silva [12].

CAPÍTULO 3 – SOLUÇÕES CLÁSSICAS PARA SINCRONISMO DE FASE

Este capítulo tem como principal referência o Capítulo 10 do livro Software Receiver

Design [13]. Trata-se de discussões e métodos que podem ser utilizados para estimar a fase e a

frequência da portadora, assim como resolver o problema do ganho no receptor. Esse processo

de estimação é conhecido como Carrier Recovery (em português, recuperação de portadora).

Normalmente, o transmissor e o receptor concordam em usar uma frequência particular

para a portadora e, num sistema ideal, a frequência da portadora do sinal transmitido poderia

ser exatamente conhecida pelo receptor. Porém, numa transmissão real, mesmo utilizando

osciladores caros e precisos na cadeia de recepção, estes podem se afastar da frequência

desejada ao longo do tempo, tornando os osciladores baratos uma opção de economia para os

Page 21: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

20

projetistas. Assim, é necessário que haja métodos para alinhar a frequência do oscilador no

transmissor com o receptor.

Já que o objetivo é achar a frequência e a fase do sinal, uma das ferramentas mais

tradicionais para esta solução é a Transformada Rápida de Fourier (FFT). A seção 3.1 mostra

como isolar uma senoide, que é o dobro da frequência da portadora, aplicando o método

quadrático e a filtragem no sinal recebido. Tanto a frequência quanto a fase da senoide, assim

como a portadora, podem ser facilmente encontradas aplicando a FFT, entretanto esse método

não é tão utilizado porque exige um alto custo computacional.

As seções seguintes apresentam estratégias para substituir a FFT por um elemento de

adaptação que consiga atingir seu valor ideal quando a fase de uma portadora estimada seja

igual à fase da portadora atual. Movendo as estimativas no sentido do gradiente de uma função

custo adequada, o elemento pode recursivamente aprimorar o valor correto. Supondo que a

frequência seja conhecida, existem vários métodos de estimar a fase desconhecida da portadora.

Um dos métodos, ilustrado na seção 3.2, aplica o quadrado da diferença entre o sinal recebido e

a senoide gerada pelo oscilador local. Outro método bem conhecido, que será discutido com

detalhe, é o Phase-Locked Loop (PLL) e por fim, o Costas Loop, que é o objetivo central deste

trabalho. Esses métodos são derivados a partir de uma função custo adequada, podendo ser

entendidos analisando a superfície de erro dos mesmos. Para uma melhor análise de

desempenho, todos os métodos foram simulados em MATLAB.

3.1 – ESTIMAÇÃO DE FASE E FREQUÊNCIA VIA FFT

Numa cadeia de transmissão, o sinal recebido geralmente consiste de uma mensagem

m(kT), modulada por uma portadora (em que k é a amostra e T é o período de amostragem do

sinal). No caso mais simples, quando é usada uma modulação AM com a portadora (AM DSB)

para transmitir a mensagem, torna-se muito fácil recuperar a portadora e sua fase. Porém,

visando uma economia de potência no sistema, em algumas situações, a informação é

transmitida com a portadora suprimida (AM DSB-SC), exigindo uma maior complexidade na

implementação do receptor.

Para analisar o problema de recuperação de portadora, o código pulrecsig.m ilustrado na

figura 8 gera dois sinais recebidos diferentes: o primeiro sinal é uma onda AM DSB e o outro

sinal é uma onda AM DSB-SC. A fase e a frequência de ambos os sinais podem ser

recuperadas via FFT, embora no esquema com a portadora suprimida seja necessário um

processamento adicional, antes que a FFT seja aplicada.

Page 22: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

21

Antes de gerar os dois sinais diferentes, o código pulrecsig.m cria uma formatação de

pulso do tipo PAM, usa a janela hamming para criação da forma de pulso do sinal, atribuindo

um fator de sobreamostragem igual a 20 e considerando 10000 símbolos a serem utilizados na

modelagem do sinal. Nas figuras 9 e 10 são apresentados os resultados para os dois sinais AM

recuperados através da FFT, considerando que o sinal está modulado na frequência de 1 kHz e

em fase -1.

Figura 8: Código pulrecsig.m cria o formato de pulso e gera a FFT dos sinais.

Fonte: Adaptado de Johnson et al., 2011.

Figura 9: Espectro de magnitude do sinal recebido de um sistema AM DSB (com a portadora).

Fonte: O próprio autor.

Page 23: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

22

Figura 10: Espectro de magnitude do sinal recebido de um sistema AM DSB-SC (com supressão da

portadora).

Fonte: Adaptado de Johnson et al., 2011.

Como pode ser visto na figura 10, na recuperação do sinal com a portadora suprimida, a

portadora não fica claramente visível e observa-se uma perda na amplitude do sinal, além de

que a fase do sinal também não é recuperada. Assim, é necessário que haja uma maneira de

processar o sinal recebido para recuperar com fidelidade os parâmetros da portadora.

Um esquema de processamento utiliza o método quadrático, seguido por um filtro

passa-banda, como ilustrado na figura 11. Quando o sinal recebido r(t) consiste num sinal de

dados modulado por pulso s(t) multiplicado pela portadora cos(2πfct+ϕ), a saída do bloco é

pode ser mostrado como na equação a seguir:

(3.1)

A equação 3.1 pode ser reescrita usando a identidade 2cos²(x) = 1+cos(2x) gerando o

seguinte resultado:

Reescrevendo s²(t) como a soma de valores médios do sinal e a variação sobre esses

valores médios, tem-se:

Assim,

.

Um filtro passa-banda estreita centrado em 2fc preserva os termos do cosseno e suprime

as componentes DC. Com isso, a saída do filtro passa-banda é aproximadamente:

Page 24: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

23

(3.2)

Em que Ψ é o atraso de fase adicionado pelo filtro BPF na frequência 2fc. Uma vez que

Ψ é conhecido, rp(t) pode ser utilizado para encontrar a frequência e a fase da portadora. O

componente primário em rp(t) é o dobro da frequência da portadora e a fase é o dobro da fase

desconhecida original, assim é necessário levar em consideração o parâmetro Ψ.

Figura 11: Esquema de pré-processamento utilizando o método de quadratura e filtro BPF.

Fonte: Adaptado de Johnson et al., 2011.

O código ilustrado na figura 12 mostra como é realizado o pré-processamento do sinal,

considerando os parâmetros iniciais do código pulrecsig.m, com o objetivo de resolver o

problema ocasionado na recuperação do sinal com a portadora suprimida. A figura 13 mostra a

recuperação do sinal com o dobro da frequência inicial.

Figura 12: Código de pré-processamento utilizando o método de quadratura e filtro BPF.

Fonte: Adaptado de Johnson et al., 2011.

Page 25: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

24

Figura 13: Espectro da magnitude do sinal recuperado com o dobro da frequência inicial.

Fonte: O próprio autor.

Neste caso, tanto a frequência como a fase é recuperada com o dobro dos valores

iniciais de fc e phoff, embora possa haver uma ambiguidade em π (como irá ocorrer em

qualquer método de estimação de fase). A tabela 3.1 mostra os valores de fases que foram

estimados por cada método utilizado, considerado que a fase da portadora foi de phoff = -1.0.

Nota-se que o Método de Quadratura e o AM DSB são os métodos que mais se aproximam da

fase exata, assim como também obtiveram os melhores ganhos nos espectros de magnitudes.

Tabela 3.1 – Estimação de fase gerada por cada método via FFT.

Fonte: O próprio autor.

Este método utilizado para resolver o problema não é comum, principalmente por causa

da complexidade numérica. A maioria dos receptores práticos usa algum tipo de elemento de

adaptação para localizar a portadora de forma iterativa, e assim controlar a fase e a frequência

da mesma.

3.2 – SQUARED DIFFERENCE LOOP

O problema de estimação de fase é determinar a fase da portadora e de seguir as

alterações em usando apenas o sinal recebido. A frequência fc da portadora é assumida

conhecida, embora em algumas situações esta também tenha de ser estimada. O sinal recebido

pode ser processado para gerar um sinal que mostra a informação de fase, criando uma senoide

Page 26: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

25

com o dobro da frequência e fase da portadora demodulada. Isso pode ser demonstrado pela

equação a seguir:

(3.3)

A forma de rp(t) implica que existe uma ambiguidade na fase , que pode ser

substituída por para qualquer inteiro n, sem ocorrer mudança de valor na equação (3.3).

O método de estimação via Squared Difference Loop (em português, Diferença dos Quadrados)

tem como objetivo minimizar a diferença das médias quadráticas entre o sinal rp(t) e a senoide

gerada no VCO, usando um estimador de fase que é representado pela seguinte função custo:

(3.4)

Procura-se minimizar o resultado pela escolha de Ɵ, em que é o valor de

amostrado no tempo , e a frequência do oscilador presume ser igual a frequência da

portadora ( f0 = fc).

Este método faz sentido, porque se Ɵ pudesse ser encontrado de modo que Ɵ =

, então o valor da função custo seria igual zero (que é o resultado ideal). Quando

, então , e, consequentemente, JSD >0.

Portanto, a equação custo (3.4) é minimizada quando Ɵ identifica corretamente o deslocamento

de fase, módulo da ambiguidade inevitável de π.

Um dos métodos mais utilizados para estimação de fase é analisado através do gradiente

descendente, que busca o gradiente da função JSD, que conduz ao algoritmo apresentado abaixo.

O parâmetro µ é adimensional e representa a quantidade de passos no qual o gradiente é

executado para obter o valor mais próximo do nulo. Por exemplo, quanto menor o valor de µ,

mais passos serão realizados para encontrar o valor ideal, contudo o resultado final será mais

preciso. Já quando o valor de µ é maior, menos passos serão realizados para encontrar o valor,

exigindo menos processamento do sistema, porém o resultado poderá não ser tão preciso.

Resolvendo a derivada da função custo (3.4) em relação a Ɵ, temos:

.

Substituindo este resultado em (3.4) e considerando que Ɵ = Ɵ[k], temos que:

Page 27: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

26

Esta função custo é implementada no código pllsd.m ilustrado na figura 14, para um

deslocamento de fase de phoff = - 0.8 (este valor corresponde a fase da função (3.3), embora

este valor seja desconhecido para o algoritmo). Na figura 15 é mostrado o resultado de

convergência do algoritmo para a fase correta.

Figura 14: Código de implementação do algoritmo SD.

Fonte: Adaptado de Johnson et al., 2011.

Figura 15: Resultado do algoritmo SD convergindo o deslocamento de fase correto (neste caso, -0.8).

Fonte: O próprio autor.

A função custo de JSD(Ɵ) fornece uma declaração matemática que possui um elemento

de rastreamento de fase adaptativa. O método é definido pelo algoritmo (3.7) e por simulações

como demonstrada no código pllsd.m.

Page 28: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

27

Uma das maneiras de entender os elementos adaptativos é analisando a superfície de

erro da função custo. Mas não é tão simples, uma vez que JSD (Ɵ) depende da frequência f0, do

tempo kTS, da fase desconhecida e do valor de Ɵ estimado. Reconhecendo que o operador de

média atua como um tipo de filtro passa-baixa (LPF), permite considerar uma simplificação

considerável de JSD (Ɵ). Reescrita da seguinte forma:

Substituindo rp(t) como descrito na equação (3.3) e assumindo que f0 = fc, isso pode ser

reescrito como:

Resolvendo a operação quadrática, tem-se:

Aplicando as identidades trigonométricas para o quadrado e a soma dos cossenos, tem-se:

Sabendo que o LPF é linear, então:

Assumindo que a frequência de corte é bem abaixo de 4f0, tem-se a seguinte superfície de erro

para JSD:

A função (3.9) é plotada no primeiro gráfico da figura 16, para = -0.8. O algoritmo

(3.7) é inicializado com [0] em algum ponto da superfície da onda senoidal. A cada iteração

do algoritmo, ele se move em declive. Assim, a função vai atingir um dos níveis mínimos nas

proximidades que ocorrem em Ɵ = - 0.8 para valores de n inteiros.

Page 29: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

28

3.3 – PHASE-LOCKED LOOP

Considerado um dos melhores métodos de rastreamento de fase, o Phase-Locked Loop

(que algumas bibliografias traduzem por Elo Travado em Fase, ou PLL [14]) pode ser derivado

como um elemento de adaptação ascendente do gradiente de uma função custo simples. A ideia

central é modular o sinal recebido rp(t) para o nível DC, usando a frequência e fase conhecida:

2f0 e (2Ɵ + Ψ). Depois realizar a filtragem para remover as componentes de alta frequência. O

valor de Ɵ que maximiza a componente DC é a mesma da fase do sinal rp(t).

Matematicamente, representada por:

(

Usando a definição de rp(t) mostrado em (3.3), aplicando a relação do produto dos

cossenos, assumindo que a frequência de corte do filtro passa-baixa é bem abaixa de 4f0 e

considerando que f0 = fc, temos que:

( (

{ + cos( }

{ +

cos( }

Esta função tem características semelhantes a JSD(Ɵ), exceto para uma constante DC. A

mudança de sinal implica que, enquanto JSD(Ɵ), precisa ser minimizado para encontrar a

resposta correta, o JSD(Ɵ), precisa ser maximizado. A diferença substancial entre os métodos

SD e PLL está na maneira que os sinais necessários no algoritmo são extraídos.

A diferença entre os algoritmos SD e PLL é ilustrada nas figuras 16 e 17. O PLL exige

de um oscilador e um bloco adicional a menos que o SD, uma vez que as funções custos dos

algoritmos são eficazmente as mesmas, obtendo desempenhos equivalentes.

Figura 16: Esquema de funcionamento do algoritmo SD.

Fonte: Adaptado de Johnson et al., 2011.

Page 30: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

29

Figura 17: Esquema de funcionamento do algoritmo PLL.

Fonte: Adaptado de Johnson et al., 2011.

Assumindo um pequeno passo, a derivada de JPLL (Ɵ), com Ɵ no tempo k, pode ser

aproximada usando:

Assim, o elemento de adaptação que vai estimar a fase é:

O algoritmo que realiza (3.12) é mostrado na figura 18 através de diagrama de blocos.

Observa-se que a derivada do sinal é preservada na atualização, o que indica que o algoritmo

está à procura de um máximo de superfície de erro, em vez de um mínimo.

Assumindo que fc é a frequência do transmissor e f0 é a frequência assumida no receptor,

o código pllconverge.m, ilustrado na figura 18, simula a equação custo descrita em (3.12).

Observe-se que o filtro firpm cria um h com a fase zero na frequência central e assim, o

deslocamento Ψ é definido como zero. Na figura 19 é mostrado o resultado simulado.

Page 31: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

30

Figura 18: Código pllconverge.m que simula o método de estimação de fase PLL.

Fonte: Adaptado de Johnson et al., 2011.

Figura 19: Resultado do algoritmo PLL convergindo para o valor de fase correto.

Fonte: O próprio autor.

3.4 – COSTAS LOOP

Os algoritmos de PLL e SD são duas formas de sincronização de fase no receptor e na

fase no transmissor. Ambos requerem que o sinal recebido seja pré-processado (por exemplo,

por uma quadratura não-linear e um BPF), a fim de extrair uma nova versão da portadora,

embora a duas vezes a frequência e a fase.

Page 32: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

31

Uma abordagem alternativa opera diretamente sobre o sinal recebido r(kTs) =

s(kTs)cos(2πf0kTS+ϕ), invertendo a ordem do processamento: primeiro modulando para DC, em

seguida, utilizando uma filtragem passa-baixa e, finalmente, aplicando a quadratura. Esta

inversão de operações conduz a seguinte função custo:

O resultado deste algoritmo é chamado Costas Loop. Por causa da maneira em que a

não linearidade entra em JC(Ɵ), ele pode funcionar sem o pré-processamento do sinal recebido.

Para ver como isso funciona, suponha que fc = f0 e substitua r(kTS) na equação anterior,

resultando em:

supondo que o corte do LPF é maior do que a largura de banda absoluta de s(kTS), e seguindo a

mesma lógica descrita em (3.11), mas com , em vez de 2 , Ɵ no lugar de 2Ɵ e 2πf0kTs

substituindo 4πf0kTs, chega-se na sequinte equação:

Substituindo (3.14) em (3.13), obtem-se:

Sendo s²avg o valor médio quadrático da sequência s(kTs). Assim, JC(Ɵ) é proporcional a

cos²( – Ɵ). Esse comportamento da função é mostrado (para um offset de fase “desconhecido”

de ϕ=0,8) na parte inferior da figura x. Este algoritmo atinge um máximo quando a estimativa

de =Ɵ. Outra máxima ocorre em +nπ para n inteiro. De fato, exceto para o valor da função

custo, este resultado é o mesmo para o JPLL porque cos²( -Ɵ)= ½ (1+cos( -2Ɵ)).

A função (3.9) é plotada no primeiro gráfico da figura 20, também para = -0.8.

Assim, o gráfico abaixo mostra que o algoritmo pode localizar com sucesso a fase

desconhecida, supondo que o sinal processado tenha a forma de

Page 33: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

32

Figura 20: Gráficos da superfície de erro dos algoritmos de rastreamento de fase SD (JSD), PLL (JPLL) e

Costas Loop (JC). Observa-se que todos os métodos tem mínima (ou máxima) na fase desejada (nesse

caso, em-0.8) mais deslocamentos em n .

Fonte: Adaptado de Johnson et al., 2011.

O costas Loop pode ser implementado como um padrão de elemento adaptativo. A

derivada de Jc(θ) é aproximada, trocando a ordem da diferenciação e o cálculo da média,

aplicando a regra da cadeia, e depois trocando a derivada com o LPF. Então, dJc(θ)/dθ pode ser

aproximada como:

Ɵ

Ɵ

Ɵ Ɵ

Ɵ

Ɵ

Ɵ

Assim, uma versão implementável do Costas Loop pode ser construída como (para θ = θ[k]):

Ɵ Ɵ Ɵ

Ɵ

Ɵ Ɵ Ɵ

Na Figura 21 é representado um diagrama de blocos do Costas Loop. Basicamente,

existem dois passos: o caminho superior, modulado por um cosseno e, em seguida, a passagem

Page 34: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

33

por filtros passa-baixas para criar ½LPF{s(kTs)}cos( – Ɵ); e o caminho inferior, modulado

por uma onda senoidal que depois, pela passagem dos filtros LPFs, gera o resultado –

s(kTs)sin( -Ɵ). Estes se combinam para formar uma equação atualizada, a qual está integrada

para formar uma nova estimativa de fase. A estimativa mais recente é realimentada para os

osciladores. Esse sinal que é realimentado nos osciladores é considerado um sinal de erro. Com

isso, um sinal de erro negativo diminui a frequência do oscilador, enquanto um erro positivo

incrementa a frequência no VCO até um momento que o erro seja igual 0.

Figura 21 - O Costas Loop é um algoritmo de rastreamento de fase baseado no

desempenho da função custo Jc. A entrada do sinal não precisa ser pré-processada (como é

requerida no PLL).

Fonte: Adaptado de Johnson et al., 2011.

Suponhamos que um sinal transmitido r, do tipo 4-PAM, é criado em pulrecsig.m com

fc = 1000 Hz. O método de rastreamento de fase Costas Loop pode ser implementado da

mesma forma que a PLL é implementada, como pode ser visto no código costasloop.m,

demonstrado na figura 22 e no resultado obtido, mostrado na figura 23.

Page 35: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

34

Figura 22: Código costasloop.m simulado com os dados de entrada de pulrecsig.m.

Fonte: Adaptado de Johnson et al., 2011.

Figura 23: Resultado do algoritmo Costas Loop convergindo para o deslocamento de fase correto.

Fonte: O próprio autor.

Page 36: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

35

3.5 – COMPARAÇÃO DE DESEMPENHO DOS ALGORITMOS

Para comparar o desempenho dos algoritmos de estimação de fase descritos, foram

analisados dois parâmetros: velocidade de convergência para o valor de fase correto e o

desempenho dos mesmos na presença de ruído. Os resultados são apresentados nas figuras 24 a

29, assumindo fase de -0.8, com 50 interações de valores diferentes de Ɵ.

Figura 24: Algoritmo SD convergindo para -0.8 e para valores múltiplos de -0.8+nπ.

Fonte: O próprio autor.

Figura 25: Algoritmo PLL convergindo para -0.8 e para valores múltiplos de π.

Fonte: O próprio autor.

Page 37: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

36

Figura 26: As estimativas feitas pelo algoritmo Costas Loop convergem para -0.8 e -0.8±nπ. Estes

pontos estacionários ocorrem em todos os máximos de superfície de erro.

Fonte: O próprio autor.

Com base nos resultados acima, percebe-se que os algoritmos Squared Difference Loop

e PLL têm desempenhos equivalentes. Ambos convergem rapidamente para a fase desejada (o

algoritmo SD apresenta uma leve vantagem em relação ao PLL). Por outro lado, o algoritmo

Costas Loop apresenta uma convergência lenta, comparado com os outros dois métodos. Isso

ocorre devido a maior necessidade de processamento que este algoritmo exige, utilizando um

número maior de filtros em relação aos demais.

Agora, analisando o desempenho dos algoritmos na presença de ruído, foram

adicionados os seguintes parâmetros para cada método:

mu = 0.01; (parâmetro de adaptação igual para todos)

rp = cos(4*pi*f0*t + 2*phoff) + randn(1,lenth(t)); (ruído)

Assim, foram obtidos os seguintes resultados:

Page 38: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

37

Figura 27: Algoritmo SD com ruído.

Fonte: O próprio autor.

Figura 28: Algoritmo PLL com ruído.

Fonte: O próprio autor.

Page 39: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

38

Figura 29: Algoritmo Costas Loop com ruído.

Fonte: O próprio autor.

Observa-se que o algoritmo Costas Loop para algumas aplicações é considerado uma

solução melhor do que o PLL padrão e os outros métodos, pois apresenta ser menos susceptível

a presença de ruído.

Outro fator importante no sistema de transmissão é o sincronismo de frequência. Um

pequeno offset de frequência pode comprometer totalmente a recepção do sinal. Para este

cenário, o algoritmo Costas Loop também mostra vantagem em relação aos outros métodos de

estimação. Quando a frequência não é exatamente conhecida, a estimativa de fase do Costas

Loop tenta adivinhar. As figuras 30 e 31 mostram uma simulação, em que foi considerada a

frequência da portadora fc = 1000 Hz, enquanto que a frequência assumida no receptor foi de f0

= 1000.1 Hz. Comparando o algoritmo Costas Loop com o PLL, foram obtidos os seguintes

resultados:

Page 40: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

39

Figura 30: Algoritmo PLL com offset de frequência.

Fonte: O próprio autor.

Figura 31: Algoritmo Costas Loop com offset de frequência.

Fonte: O próprio autor.

É nítido o quanto um offset de frequência prejudica os algoritmos na estimação da fase.

Porém, comparando os dois métodos acima, percebe-se uma leve diferença no algoritmo Costas

Loop. O PLL apresenta uma divergência linear na fase, enquanto o Costas Loop tenta estimar a

fase em alguns momentos de tempo.

Page 41: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

40

CAPÍTULO 4 – COSTAS LOOP: SOLUÇÃO PARA SINCRONISMO DE FASE E

FREQUÊNCIA

Neste capítulo são apresentadas as soluções para os problemas relacionados ao canal

sem fio e limitado em banda. No capítulo anterior, os métodos de estimação de fase foram

comparados através da velocidade de convergência e a imunidade dos algoritmos ao ruído

AWGN, usando o MATLAB como ferramenta de simulação. Agora, será analisado o

comportamento de uma modulação QPSK para um canal com ruído, multipercurso, ISI

(Interferência Intersimbólica) e offsets (deslocamentos) de tempo, fase e frequência, além de ser

apresentando os possíveis métodos para solucionar estes problemas, usando a plataforma GNU

Radio.

Os resultados apresentados nas seções a seguir foram realizados com base na

apresentação MPSK Tutorial [15], feita pelo autor Tom Rondeau, um dos principais

desenvolvedores do GNU Radio. Mais detalhes sobre as configurações de cada bloco de

simulação são descritos no Anexo A deste trabalho, em formato de hands-on.

4.1 – COMPORTAMENTO DE UM SINAL COSSENOIDAL COM RUÍDO

Este primeiro experimento ilustra o comportamento de um sinal cossenoidal na presença

de uma fonte de ruído. A onda propaga numa frequência de 1 kHz com uma amplitude de 1

Volt, enquanto a fonte de ruído pode operar numa amplitude entre 0 e 1 Volt, valores que

podem ser alterados durante o tempo de execução do experimento. A figura 32 mostra a área

de trabalho no GNU Radio (flowgraph) que foi construída o experimento.

Figura 32: Ambiente de trabalho do GNU Radio para demonstrar o comportamento de um sinal

cossenoidal na presença de uma fonte de ruído.

Fonte: O próprio autor.

Page 42: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

41

Os resultados foram analisados com o sinal sem a presença de ruído (amplitude igual 0)

e com a amplitude máxima do ruído (igual a 1), respectivamente, visualizados no domínio do

tempo, da frequência e através de um espectrograma, conforme são ilustrados nas figuras 33 e

34.

Figura 33: Sinal sem a presença de ruído (amplitude do ruído igual a 0).

Fonte: O próprio autor.

Figura 34: Sinal com ruído (amplitude do ruído igual a 1).

Fonte: O próprio autor.

Page 43: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

42

Observa-se na figura 33 que a componente de frequência está visivel em 1 kHz, assim

como o sinal no domínio do tempo se comporta de maneira adequada, caracterizando uma onda

cossenoidal. Em contra partida, na figura 34, com a presença do ruído, percebe-se o sinal

distorcido tanto no domínio do tempo quanto da frequência, e o espectrograma apresenta uma

coloração mais escura, caracterizando o aumento da amplitude do ruído (aumento de

temperatura).

4.2 – MODULAÇÃO QPSK E CARACTERÍSTICAS DO CANAL

Neste experimento, a mensagem é transmitida através de uma fonte de bits com 1000

amostras, que é modulada pelo bloco PSK Mod e posteriormente enviado pelo canal. O bloco

está configurado para implementar a função de uma modulador QPSK (Quadrature Phase Shift

Keying). A modulação QPSK é uma técnica de modulação derivada do PSK, porém, neste caso,

são utilizados parâmetros de fase e quadratura da onda portadora para modular o sinal da

informação, transmitindo 2 bits/símbolos e podendo assumir 4 valores de fase.

No bloco Channel Model são simulados parâmetros de um canal com ruído, problema

de sincronismo de tempo, fase e frequência. Os resultados são visualizados através do diagrama

de constelação, do sinal no domínio do tempo e da frequência. A figura 35 mostra como foi

montado este sistema e o resultado é apresentado na figura 36.

Figura 35: Flowgraph da cadeia de transmissão com o modulador QPSK e a presença do canal.

Fonte: O próprio autor.

Page 44: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

43

Figura 36: Sinal QPSK no domínio do tempo, da frequência e através do diagrama de constelação.

Fonte: O próprio autor.

Notam-se os efeitos do canal no comportamento do sinal tanto na constelação, como no

domínio do tempo e da frequência. A constelação encontra-se espelhadas entre as regiões de

decisão, apresentando características de problemas ocasionados pelo processo de formatação de

pulso do modulador, provocando ISI e falta de sincronismo de tempo.

4.2 – RECUPERAÇÃO DO SINCRONISMO DE TEMPO USANDO O BANCO DE

FILTROS POLIFÁSICOS

Para resolver o problema de sincronismo de tempo, foi adicionado o bloco Poliyphase

Clock Sync. Este bloco resolve o problema do sincronismo de tempo, aplicando a técnica de

PFB (Banco de Filtros Polifásicos) e a operação de filtro casado.

Como a transmissão é feita através de bits, será analisado a constelação antes e depois

de usar o PFB, dispensando a visualização do sistema no domínio do tempo e da frequência.

Observe na figura 37 como foi construída a área de trabalho para este cenário. A figura 38

apresenta o resultado da constelação antes e depois do PFB e a figura 39 ilustra uma ocorrência

de offset de tempo para testar a eficiência do algoritmo.

Page 45: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

44

Figura 37: Flowgraph do sistema com a técnica de recuperação de clock.

Fonte: O próprio autor.

Figura 38: Resultado da constelação antes (gráfico à esquerda) e depois (gráfico à direita) do uso do

PFB.

Fonte: O próprio autor.

Page 46: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

45

Figura 39: Resultado da constelação antes e depois do uso do PFB com offset de tempo de 1,000900.

Fonte: O próprio autor.

Veja na figura 39 que mesmo aumentando o offset de tempo para o valor máximo do

range, consegue-se recuperar o tempo bit da mensagem. Entretanto, nas figuras 40 e 42 são

mostrados dois cenários que só a técnica de PFB não é suficiente para resolver, são eles: offset

de frequência e problema de ISI.

Para testar o desempenho da cadeia de recepção em situações que possam ocorrer offset

de frequência (por exemplo, em canais com múltiplos percursos e efeito doppler), foi atribuído

um offset de 1x10-5

Hz na frequência do sinal. Observa-se na figura 40, que com o offset de

frequência, a constelação entra em rotação, ocorrendo a perda de sincronismo de fase do sinal.

Page 47: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

46

Figura 40: Resultado do antes e depois do uso do PFB com offset de frequência de 1x10-5

Hz.

Fonte: O próprio autor.

Outro cenário é o problema da ISI, que pode ser provocado pela mudança no parâmetro

Excess BW do bloco PSK Mod. Nas configurações iniciais, é atribuído o valor de 0.35 neste

parâmetro, depois alterado para 0.1. Este parâmetro corresponde ao fator de roll-off do pulso de

formatação do transmissor e refere-se à banda adicional que a comunicação usa acima do

mínimo teórico de Nyquist: metade da taxa de símbolos.

Portanto, no caso inicial, 0.35 significa 35% a mais que o mínimo teórico proposto por

Nyquist (taxa de símbolo/2). A partir do momento que este parâmetro é reduzido para 10%,

haverá uma redução na ocupação da banda que causa, no domínio do tempo, uma atenuação

nas franjas laterais do pulso que carregam cada símbolo. Com isso, qualquer deslocamento no

clock do receptor poderá fazer com que o pulso seja amostrado num instante em que pulsos

vizinhos ainda estarão contribuindo com ISI significativa. A figura 41 mostra as configurações

do bloco PSK Mod e a alteração que foi realizada no parâmetro Excess BW.

Page 48: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

47

Figura 41: Configuração do bloco PSK Mod e alteração do parâmetro Excess BW.

Fonte: O próprio autor.

Com o problema de ISI a constelação sofre espalhamento de bits nas regiões de decisão,

causando uma alta taxa de erro de bit (BER). Observe na figura 42 como ficou a constelação

depois da diminuição do fator de roll-off para 0.1, mesmo com o uso do PFB.

Figura 42: Constelação após alteração do parâmetro Excess BW para 0.1.

Fonte: O próprio autor.

Page 49: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

48

4.3 – POSSÍVEL SOLUÇÃO PARA O PROBLEMA DE ISI: EQUALIZAÇÃO

Mantendo o fator de roll-off igual 0.1, o problema da ISI é solucionado usando o bloco

CMA Equalizer. Este bloco desempenha a função de um equalizador cego, que tem o objetivo

de resolver o problema de ISI no sinal recebido. A figura 43 mostra como ficou o flowgraph

com o acréscimo do bloco e a figura 44 apresenta o resultado gerado.

Figura 43: Cadeia de recepção com o bloco CMA Equalizer para resolver o problema de ISI.

Fonte: O próprio autor.

Figura 44: Resultado do decodificador com uso do bloco CMA Equalizer (à direita da figura) para um

fator de roll-off igual a 0.1.

Fonte: O próprio autor.

Page 50: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

49

Portanto, foi comprovado que o equalizador, de fato, resolve o problema de ISI do sinal

recebido. Agora, na mesma simulação, atribuindo o mesmo offset de 1x10-5

Hz na frequência do

sinal, é observado que a constelação perde totalmente o sincronismo de fase, como pode ser

visto na figura 45.

Figura 45: Resultado do decodificador com uso do CMA Equalizer para um offset de frequência de

1x10-5

Hz.

Fonte: O próprio autor.

4.4 – POSSÍVEL SOLUÇÃO PARA O PROBLEMA DE SINCRONISMO DE FASE E

FREQUÊNCIA: ALGORITMO COSTAS LOOP

Para resolver este problema de sincronismo de fase gerado pelo offset de frequência, foi

utilizado um dos métodos mais eficazes para realizar sincronismo de fase e frequência, que é o

algoritmo Costas Loop. Com isso, foi adicionado o bloco Costas Loop no ambiente de trabalho

do GNU Radio e interligado na saída do bloco CMA Equalizer, conforme é ilustrado na figura

46.

Page 51: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

50

Figura 46: Resultado da Cadeia de Transmissão/Recepção final com o uso do algoritmo de estimação

de fase Costas Loop.

Fonte: O próprio autor.

Os resultados apresentados a seguir referem-se às constelações na saída do bloco CMA

Equalizer (à esquerda dos resultados) e na saída do bloco Costas Loop (à direita). Neste

cenário, foi atribuído um offset de frequência de 0.01 Hz e observado, conforme mostrado na

figura 47, que o algoritmo Costas Loop consegue recuperar a fase, enquanto a constelação na

saída do Equalizador entra em rotação, perdendo totalmente o sincronismo de fase.

Figura 47: Comparação entre o CMA Equalizer e o algoritmo Costas Loop para um offset de

frequência de 0.01 Hz.

Fonte: O próprio autor.

Page 52: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

51

Além de conseguir recuperar a fase em situações com offsets de frequência (para um

desvio de até 0,01 Hz), o algoritmo Costas Loop também apresenta boa imunidade ao ruído,

conforme foi demonstrado no item 3.5 do capítulo 3. Para comprovar esta vantagem do

algoritmo, usando o ambiente de simulação do GNU Radio, a amplitude do ruído foi aumentada

para 0.24V e o resultado gerado é ilustrado na figura 48.

Figura 48: Comparação entre o CMA Equalizer e o algoritmo Costas Loop no canal com ruído

AWGN.

Fonte: O próprio autor.

Apesar da taxa de erro de bit ter aumentado na proporção da amplitude do ruído, a

constelação referente à saída do algoritmo Costas Loop manteve a fase travada, enquanto a

constelação da saída do Equalizador sofreu rotação, perdendo o sincronismo de fase. Vale

salientar, que existem outros equalizadores que conseguem suportar a amplitude de ruído que

foi selecionada na simulação. O CMA Equalizer é um equalizador “cego”, que não tem um

parâmetro de referência (piloto) para comparar com o valor esperado. Assim, se o canal estiver

severo, o equalizador obterá um mau desempenho.

4.5 – TRANSMISSÃO/RECEPÇÃO DIGITAL DPSK USANDO O GNU RADIO E A

USRP N210:VENCENDO O CANAL SEM FIO

Os experimentos descritos nos itens 4.1 a 4.4 foram realizados via loopbacks, ou seja,

no próprio ambiente de simulação do GNU Radio. Para complementar este Trabalho Final de

Conclusão de Curso, o discente construiu uma cadeia de transmissão/recepção no GNU Radio

para trocar um arquivo de texto entre duas USRP N210 (canal sem fio e limitado em banda). A

documentação desenvolvida encontra-se no Anexo B desta monografia e poderá ser

demonstrado na prática na defesa do trabalho.

Page 53: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

52

CAPÍTULO 5 – CONCLUSÕES E PERSPECTIVAS

Neste trabalho foram avaliados e simulados quatro métodos para solução de problemas

de sincronismo de fase, com uma maior ênfase para o algoritmo Costas Loop que se mostrou

um dos métodos mais eficazes, principalmente em cenários com a presença de ruído e offsets de

frequência.

Para problema de sincronismo de tempo, foi aplicado o método de Banco de Filtros

Polifásicos, que consiste num conjunto de filtros paralelos, cada um com uma fase diferente,

que tem por objetivo identificar o instante ideal para amostrar o símbolo. E o problema de ISI

foi resolvido utilizando a técnica de equalização.

Assim, através das ferramentas de simulação MATLAB e GNU Radio, foi possível

observar alguns dos problemas que podem ocorrer numa cadeia de transmissão/recepção

digital, assim como suas possíveis soluções.

No capítulo 1 foram definidos os objetivos específicos deste TCC, repetidos abaixo por

conveniência e com as correspondentes conclusões:

Quais os problemas inerentes aos sistemas de transmissões digitais relativos a tempo de

amostragem e fase?

Os problemas inerentes aos sistemas de transmissões digitais são a falta de

sincronismo de fase e de tempo, muitas vezes ocorrem devido a múltiplos percursos,

que podem dificultar ou até mesmo impossibilitar a recepção do sinal pelo receptor.

E esses problemas causam erros na recepção do sinal, como solucioná-los?

De acordo com os resultados deste trabalho, um método eficiente para

solucionar os problemas de distorções de fase é o algoritmo Costas Loop, que além de

ter mostrado ser um algoritmo robusto a ruído, também consegue recuperar a

informação da fase na falta de sincronismo de frequência.

O atraso de clock ocasionado tanto pelo canal e como por interferência

intersimbólica proveniente do formatador de pulso do sistema foi solucionado

utilizando os métodos de Banco de Filtros Polifásicos (PFB) e o Equalizador,

respectivamente.

Quais os principais tipos de modulações digitais? O que pode ser dito a respeito da

característica coerente e não coerente dos moduladores digitais?

As principais modulações digitais são apresentadas no capítulo 2 deste trabalho.

Dando destaque para Modulação PSK que obtém melhor desempenho, em relação às

demais modulações, nos cenários em que o canal apresenta baixa SNR.

Page 54: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

53

Sobre a característica coerente e não coerente dos moduladores digitais, trata-se

de uma relação de compromisso. Os moduladores coerentes requerem informação de

fase e frequência da onda portadora, exige um maior grau de sofisticação em sua

implementação, porém apresentam menor probabilidade de erro em condições de baixa

SNR. Já os moduladores não coerentes, possuem uma maior facilidade de

implementação, não requerem informação de frequência e fase, entretanto não são tão

eficazes quanto os moduladores coerentes em cenários de baixa SNR.

E quanto à implementação de software de algoritmos de sincronismo de fase?

Existem diversos algoritmos que podem ser implementados de maneiras

variadas. Este trabalho apresentou os métodos de estimação de fase via FFT, SD, PLL e

Costas Loop. Este último foi apresentado tanto no ambiente GNU Radio quanto no

MATLAB.

Existe alguma ferramenta de simulação para SDR que possa servir como ambiente para

constatar a eficiência das soluções dos problemas no sistema de transmissão digital?

Este trabalho demonstrou a grande utilidade didática oferecida pela plataforma

GNU Radio na montagem de protótipos de telecomunicações em SDR. Foi possível

observar a construção e execução de um sistema de sincronização de tempo e fase numa

transmissão digital utilizando a modulação QPSK.

As perspectivas de trabalho futuros, tendo em vista o que foi desenvolvido neste TCC,

incluem as seguintes etapas:

Investigação e implementação de outras técnicas de sincronismo de fase comparada

com a técnica apresentada neste trabalho. Uma das alternativas seria a troca do bloco

Costas Loop pelo bloco PLL Ref Out na cadeia de recepção do GNU Radio que foi

utilizada neste trabalho.

Investigação e implementação de algoritmos de equalização (não somente sua

utilização, como foi feita neste trabalho);

Investigação e implementação de técnicas de codificação de fonte para aumentar a

eficiência da transmissão;

Investigação e implementação de técnicas de codificação de canal para aumentar a

confiabilidade da transmissão (minimizar a taxa de erro).

Page 55: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

54

REFERÊNCIAS

[1] FEY, A. F. & GAUER, R. R. Fundamentos de Telecomunicações e Comunicação de Dados. ITIT

1º edição. Caxias do Sul, 2016. p. 250.

[2] Modulação ASK (Amplitude Shift Keying). Disponível em:

<http://professores.unisanta.br/isfarias/Materia/Comunicacao%20Digital/ask.pdf> Acesso em: 24 de

Novembro de 2016.

[3] MALBURG, M. M. Modulação. Universidade Federal do Rio de Janeiro, 2014. Disponível em:

<http://www.gta.ufrj.br/grad/04_2/Modulacao/> Acesso em: 20 de Novembro de 2016.

[4] NICODERM,C. T. Modulação Digital (ASK, FSK, PSK, QAM) e Taxa de Erro Bit Sinal QPSK.

Universidade do Oeste de Santa Catarina, 2013. Disponível em:

<]http://www.academia.edu/5185393/Modula%C3%A7%C3%A3o_Digital_ASK_FSK_PSK_QAM_E_Ta

xa_de_Erro_de_Bit_Sinal_QPSK> Acesso em: 08 de Dezembro de 2016.

[5] Tecnologia PLC I: Modulação. Disponível em:

<http://www.teleco.com.br/tutoriais/tutorialplcalt1/pagina_4.asp> Acesso em: 25/07/2016

[6] PSK Modulação em Fase por Chaveamento. Disponível em: <http://penta.ufrgs.br/Alvaro/psk.html>

Acesso em: 08 de Dezembro de 2016.

[7] ABRANTES, S. A. Introdução à sincronização em modulações digitais. Universidade do Porto,

2009. Disponível em: < https://repositorio-aberto.up.pt/bitstream/10216/375/2/24686.pdf> Acesso em:

09 de Dezembro de 2016.

[8] PROAKIS, J. Intersymbol Interference in Digital Communication Systems: John Wiley & Sons, Inc.,

2001.

[9] Digital Video Broadcasting. Disponível em:

<http://www.img.lx.it.pt/~fp/cav/ano2006_2007/MEEC/Trab_22/website_cav/dvbt.htm> Acesso em: 09

de Dezembro de 2016.

[10] PROAKIS, J. Intersymbol Interference in Digital Communication Systems: John Wiley & Sons, Inc.,

2001.

[11] PROAKIS J. G.; SALEHI, M. B. G. Modern Communication Systems Using MATLAB: Cengage Learning, 2012. [12] SILVA, E. M. Prototipagem de Moduladores Digitais Utilizando Plataformas de Rádio

Definido por Software. Monografia. Universidade Federal do Rio Grande do Norte, 2015.

[13] JOHNSON, C. R; SETHARE, Jr. W. & KLEIN, A. G. Software Receiver Design: Build Your Own

Digital Communication System in Five Easy Steps. Cambridge University Press, 2011. 480 p.

[14] Instituto Newton C. Braga. Como funciona um PLL (ART058). Disponível em:

<http://www.newtoncbraga.com.br/index.php/como-funciona/624-como-funciona-o-pll-art058> Acesso

em: 22/07/2016.

[15] Rondeau, T. MPSK Tutorial. 2012. Disponível em: <http://documents.tips/documents/rondeau-

mpsk-tutorial.html> Acesso em: 20/07/2016.

[16] HARRIS, F.J. & RICE, M. Multirate digital filters for symbol timing synchronization in

software defined radios. IEEE Journal on Selected Areas in Communication 19(22), 2002.

Page 56: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

55

ANEXO A – CADEIA DE TRANSMISSÃO DIGITAL USANDO O GRC

Page 57: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

56

Hands-on

Cadeia de Transmissão Digital usando o GRC

Page 58: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

57

Introdução Teórica

Modulação PSK

A modulação PSK (Phase Shift Keying) é um esquema de modulação digital que tem por

finalidade transmitir dados através da alteração da fase de uma onda portadora. Por ser um esquema

de modulação com implementação simples e robusta, é muito utilizado em sistemas de comunicações

sem fio. Neste esquema de modulação associa-se cada fase a um determinado conjunto de bits, ou

seja, cada conjunto de bits representará um símbolo, como mostrado na figura 1. O caso mais simples

de modulação PSK é o BPSK (Binary Phase Shift Keying), que transmite um bit (0 ou 1) através da

mudança de fase da portadora em dois valores, 0°e 180º. A figura 2 ilustra a representação em

diagrama de constelação de um sinal BPSK. Embora seja uma modulação robusta ao ruído aditivo, a

taxa de transmissão obtida com esse esquema de modulação não é alta, já que associa-se apenas 1

bit por símbolo.

Figura 1: Bits e suas representações no sistema BPSK.

Decisão e erro

Como na modulação BPSK a informação binária é atribuída às mudanças de fase da portadora, na recepção, a decisão é feita observando-se a fase do sinal recebido. Diz-se que ocorreu erro de transmissão, quando no envio de um bit “0” o receptor decide pelo bit “1”, e vice-versa. Tal equívoco na decisão é ocasionado por interferências de diversas origens (e.g. AWGN). Assim, os sistemas de transmissão digitais têm como um dos principais parâmetros para análise de desempenho a taxa de erro, pois um serviço de transmissão digital precisa de um certo patamar de taxa de erro para garantir a qualidade de serviço apropriada.

De forma a se obter uma estimativa do comportamento do sistema são utilizados modelos matemáticos para o cálculo da probabilidade de erro, a qual é dependente do tipo de canal. Tomando como base um canal sob influência de ruído branco gaussiano (canal AWGN), podemos calcular a probabilidade de erro ao utilizar a modulação BPSK como:

sendo a energia de bit; e a densidade espectral de potência do ruído.

Figura 2: Representação em Diagrama de Constelação do BPSK.

Page 59: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

58

Referências

[1] http://en.wikipedia.org/wiki/Phase-shift_keying#Binary_phase-shift_keying_.28BPSK.29 – Acesso

em 20/01/2014

[2] http://en.wikipedia.org/wiki/Raised-cosine_filter#Roll-off_factor – Acesso em 20/01/2014

[3] Proakis, Salehi, Bauch; Modern Communication Systems Using Matlab®

; 3ªedição; Cengage

Learning.

[4] Dayan, Rausley; Transmissão Digital, Princípios e Aplicações; 1ª edição; Editora Érica.

[5] http://www-ee.uta.edu/dip/Courses/EE4330/comparison%20of%20modulation%20methods.pdf

Page 60: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

59

Exercício

OBJETIVO: Repetir os loopbacks realizados pelo Tom Rondeau, um dos principais

desenvolvedores do GNU Radio. Tratam-se de experimentos de uma cadeia de transmissão/recepção

digital usando modulação PKS, simulados num ambiente com a presença de ruído AWGN,

multipercurso e offsets de tempo e frequência. Com base nas características do canal, são

estabelecidos métodos mitigadores para a recuperação da fase e frequência do sinal.

1. Caso ainda não esteja aberto, inicialize o GNU Radio Companion.

a. Abra um terminal digitando CRTL+ALT+t

b. Digite: gnuradio-companion e pressione ENTER

Alternativa:

a. Clique em Dash Home

b. Digite gnuradio e clique no ícone correspondente ao GRC

2. Com o GNU RADIO COMPANION aberto, crie um novo projeto

3. Clique duas vezes no Bloco Options. Esse bloco configura alguns parâmetros gerais do

flowgraph. Mantenha o ID como top_block. Digite um título para o projeto e um autor. Selecione

Generate Options como QT GUI, Run para Autostart e Realtime Scheduling para Off. Então,

feche a janela de propriedades.

Page 61: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

60

4. A princípio será simulado o comportamento de uma fonte de ruído adicionada a uma onda

cossenoidal, e o resultado será visualizado no domínio do tempo e da frequência. Para isso,

construa seu projeto utilizando os blocos Noise Source, Signal Source, Throttle, Add, QT GUI

Frequency Sink, QT GUI Time Sink, QT GUI Waterfall Sink e QT GUI Range. Mantenha o

valor do Sample Rate do bloco Variable em 32000, e altere em todos os blocos o campo Type

para Complex. Com isso, interligue os blocos de forma que sua área de trabalho fique similar à

figura a seguir.

5. Primeiro, configure o bloco Signal Source, atribuindo-o uma forma de onda cossenoidal

(Waveform selecionado em Cosine), com Frequência de 1000 Hz, Amplitude igual a 1 e Offset

igual a 0. Assim, o bloco deve estar com os parâmetros configurados como o da figura abaixo.

6. O bloco Noise Source deve ser configurado com Output Type selecionado para Complex, Noise

Type como Gaussian (o popular ruído AWGN), no campo da Amplitude digite noise_amp, que é

um parâmetro que será configurado pelo bloco QT GUI Range para fazer o controle da

amplitude do ruído, enquanto a simulação é executada. Por fim, atribua 0 para o parâmetro

Seed.

Page 62: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

61

7. Como já comentado no item anterior, configure agora o bloco QT GUI Range com os seguintes

parâmetros: ID para noise_amp, Label para Noise Amplitude e Type para Float. Determine o

Default Value para 1, Start em 0, Stop igual a 1 e o step de 0.01. Para uma melhor visualização

do parâmetro de controle do QT GUI Range, selecione Widget para Counter + Slider e Minimum

Length igual a 200.

8. Para finalizar as configurações, edite os parâmetros dos blocos QT GUI Frequency Sink, QT

GUI Time Sink, QT GUI Waterfall Sink conforme às figuras abaixo. Esses blocos são

responsáveis por mostrar a onda cossenoidal no domínio da frequência, do tempo e através de

um espectrograma, respectivamente.

9. Feito isso gere o gráfico e execute-o. Os resultados das figuras a seguir representam a onda

cossenoidal para dois cenários: sem ruído (Noise Amplitude igual a 0) e com a amplitude

máxima do ruído (Noise Amplitude igual a 1).

Page 63: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

62

10. Agora crie um novo projeto ou edite o primeiro projeto criado neste hands-on.

11. Construa (edite) este novo projeto utilizando três blocos Variable, um bloco Import, um bloco

Random Source, um bloco PSK Mod, um bloco Multiply Const, um bloco Throttle, um bloco

QT GUI Frequency Sink, QT GUI Time Sink e QT GUI Waterfall Sink. Conecte os elementos

de forma que sua área de trabalho fique igual à figura a seguir.

Page 64: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

63

12. Feita as conexões vamos iniciar a configuração dos parâmetros de cada bloco, começando

pelos blocos Variable. Clique duas vezes no bloco cujo ID é samp_rate e altere o campo Value

para 32000. Agora abra outro bloco Variable e edite seu ID para arity e o campo Value para 4,

no último bloco Variable, edite o ID para sps e o campo Value para 4. Confira como deve ficar a

configuração dos blocos a seguir.

13. Agora no bloco Random Source, edite os campos: Output Type para Byte; Minimum para 0,

Maximum para 256, Num Samples para 1000 e a opção Repeat para Yes. Esse bloco gera uma

fonte de informação aleatória para análise, com 1000 amostras. Observe a figura abaixo.

14. Agora configure o bloco PSK Mod, responsável por realizar a modulação da mensagem em

Byte. Edite o campo Number of Constellation para arity, selecione Gray Code para No,

Differential Encoding para No e Samples/Symbol para sps. Inicialmente, atribua no campo

Excess BW o valor de 0.35 (depois será simulado por valores de 0.1 e 0.7), este parâmetro

Page 65: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

64

representa o fator de roll-off do sistema. Por fim, selecione Off tanto no campo Verbose quanto

Log. Neste caso, a modulação utilizada será a QPSK, transmitindo 4 bits/símbolo. Veja como

deve ficar a configuração do bloco na figura a seguir.

15. Configure o bloco Multiply Const, alterando o campo IO Type para Complex, Constant para

.5+.5j e Vec Length igual a 1. Este bloco funciona como um amplificador, em que o parâmetro

Constant é multiplicado pela amplitude do sinal de entrada.

16. Por fim, edite os parâmetros dos blocos QT GUI Frequency Sink, QT GUI Time Sink, QT GUI

Constellation Sink conforme às figuras abaixo.

17. Feito isso, execute o flowgraph e observe como deve ficar os gráficos iniciais do experimento.

Page 66: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

65

18. Agora deve ser adicionado o canal no sistema, com o intuito de simular uma situação de

transmissão real. Para isso, adicione mais um bloco Variable, um bloco Channel Model e três

blocos QT GUI Range ao flowgraph. Interligue os blocos de maneira semelhante à figura abaixo.

19. Configure o novo bloco Variable de maneira similar à figura a seguir. Este bloco é responsável

por adicionar as características de multipercurso do canal, nos quais os parâmetros configurados

no campo Value representam os taps do canal, funcionando como um filtro atenuador.

Page 67: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

66

20. Em seguida, configure os três blocos QT GUI Range de acordo com as figuras ilustradas a

seguir. Os blocos serão configurados para controlar e adicionar a intensidade do ruído, offset de

frequência e offset de tempo, respectivamente, do canal.

21. Depois de executar os itens 19 e 20, configure o bloco Channel Model de forma que os

parâmetros iniciais do mesmo sejam preenchidos pelos ID’s atribuídos nos blocos QT GUI

Range e Variable. Assim, o campo Noise Voltage será preenchido pelo parâmetro noise_volt,

Frequency Offset pelo freq_offset, Epsilon pelo time_offset e Taps por taps. Atribua 0 para o

campo Seed e selecione No para Block Tag Propagation.

22. Depois de configurar todos os blocos descritos, gere o gráfico e execute-o. Os gráficos devem

se comportar conforme é ilustrado na figura a seguir. Observe os efeitos do canal no sinal

recebido tanto na constelação, como no domínio do tempo e da frequência. A constelação do

demodulador encontra-se espelhadas entre as regiões de decisão, apresentando características

de problemas ocasionados pelo processo de formatação de pulso do modulador, provocando ISI

e falta de sincronismo de tempo.

Page 68: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

67

23. A partir de agora serão utilizados métodos para recuperar o tempo de bit e corrigir as distorções

de fase do sinal, assim como melhorar seu ganho. Para iniciar esse processo de recuperação do

sinal, adicione os seguintes blocos na sua área de trabalho: dois blocos Variable, um bloco QT

GUI Range, um bloco Poliyphase Clock Sync e um bloco QT GUI Constellation Sink (com

isso, desabilite ou remova os blocos QT GUI Frequency Sink e QT GUI Time Sink). Mantenha

a interligação dos blocos semelhante à figura abaixo.

24. Agora configure os blocos Variable de acordo com a ilustração das figuras a seguir. Ambos são

configurados para trabalhar em conjunto com o bloco Poliyphase Clock Sync, sendo o primeiro

bloco responsável por determinar o número de filtros derivadores e o segundo responsável por

realizar a operação do filtro casado.

Page 69: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

68

25. Depois disso, configure o bloco QT GUI Range de acordo com a figura abaixo. Esta

configuração é feita para realizar o controle da largura de banda do sistema.

26. Agora configure o bloco Poliyphase Clock Sync com os parâmetros iguais aos editados na

figura abaixo. Este bloco resolve o problema do sincronismo de tempo, implementando o PFB

(Banco de Filtros Polifásicos) e a operação do filtro casado.

27. Para finalizar, configure os dois blocos QT GUI Constellation Sink. As figuras a seguir ilustram

a configuração do bloco antes e depois do bloco Poliyphase Clock Sync, respectivamente.

Page 70: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

69

28. Feito isso, gere o flowgraph e execute-o. O resultado gerado deve ser similar ao da figura

abaixo. O gráfico à esquerda mostra a constelação antes do bloco Poliyphase Clock Sync e a

constelação à direita é o sinal tratado após o uso do mesmo.

29. Observe na figura seguinte, que mesmo aumentando o parâmetro do offset de tempo (Timing

Offset) para o valor máximo, consegue-se obter a recuperação do sinal.

Page 71: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

70

30. Agora serão mostrados dois cenários nos quais o bloco Poliyphase Clock Sync não consegue

recuperar a constelação corretamente. No primeiro cenário, é a ocorrência do offset de

frequência. Veja na figura abaixo, que com um offset (deslocamento) de 1x10-5

na frequência do

sinal, a constelação entra em rotação e perde o sincronismo de fase.

31. No outro cenário, deve ser alterado o fator de roll-off que foi configurado no bloco PSK Mod.

Para isso, altere o valor do parâmetro Excess BW de 0.35 para 0.1. Esta mudança causa o efeito

de ISI no sistema. Veja abaixo como deve ficar as configurações do bloco.

Page 72: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

71

32. Feito isso, gere e execute o flowgraph. Observe na figura a seguir que, com a ocorrência da ISI,

a constelação encontra-se espalhadas na região de decisão, dificultando extremamente a

recuperação dos bits transmitidos.

33. Mantendo as mesmas configurações do flowgraph atual, acrescente o bloco CMA Equalizer e

mais um bloco QT GUI Range. Com isso, desconecte o bloco QT GUI Constellation Sink que

estar na saída do bloco Channel Model e conecte-o na saída do Poliyphase Clock Sync. E o

outro bloco QT GUI Constellation Sink deve ser conectado na saída do bloco CMA Equalizer.

Interligue os blocos de maneira que sua área de trabalho fique igual à figura abaixo.

Page 73: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

72

34. Antes de configurar os novos blocos adicionados, clique no bloco Variable cujo ID é taps e

altere o campo Value para os mesmos valores que foram editados no item 19. Veja como deve

ficar os valores digitados na figura abaixo.

35. Feito isso, configure o novo bloco QT GUI Range com os mesmos parâmetros ilustrados na

figura a seguir. Este bloco vai ser responsável pelo controle do ganho do Equalizador, podendo

ser alterado durante o tempo de execução.

36. Para finalizar, configure o bloco CMA Equalizer atribuindo Num. Taps igual a 11 (esse valor é

estabelecido pelo autor, com base nas características do canal), Modulus igual 1, Gain para

eq_gain (parâmetro configurado no bloco QT GUI Range para o controle do ganho) e Samples

per Symbol igual a 2. Este bloco serve para combater o problema de ISI, ocasionado no

experimento anterior. O bloco deve estar configurado conforme a figura a seguir.

Page 74: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

73

37. Gere e execute o Flowgraph. Observe que mesmo com fator de roll-off (Excess Band)

configurado para 0.1, o equalizador consegue evitar a ISI.

38. Portanto, um dos cenários propostos foi resolvido adicionando um Equalizador na cadeia de

recepção. Agora, no mesmo gráfico em execução, gere um offset de 1x10-5

na frequência e

observe como a constelação perde totalmente o sincronismo da fase.

Page 75: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

74

39. Para resolver este problema de sincronismo de fase gerado pelo offset de frequência, usaremos

um dos métodos mais eficazes para realizar sincronismo de fase e frequência, que é o algoritmo

Costas Loop. Assim, adicione na sua área de trabalho o bloco Costas Loop e mais um bloco QT

GUI Range. Interligue os blocos de maneira que o flowgraph fique semelhante à figura abaixo.

40. Antes de configurar os novos blocos, faça uma alteração novamente no bloco Variable cujo ID é

taps, substituindo os parâmetros de multipercurso para 1. Verifique como deve ficar o bloco.

41. Agora, configure o bloco QT GUI Range, conforme é ilustrado na figura abaixo. Este bloco

atribui os parâmetros de fase do sistema, que será controlado pelo bloco Costas Loop.

Page 76: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

75

42. Para finalizar, configure o bloco Costas Loop, atribuindo o ID do bloco QT GUI Range

configurado no item anterior no campo Loop Bandwidth, no campo Order digite a variável arity

(configurada anteriormente em um dos blocos Variable, que representa o número 4, ou seja, o

bloco Costas Loop terá ordem 4, devido ser QPSK) e selecione No para o campo Use SNR.

Este bloco serve para estimar a fase e frequência no receptor, assim como apresenta robustez

na presença de ruído. Veja como deve ficar a configuração deste bloco na figura abaixo.

43. Gere e execute o flowgraph. A constelação à esquerda da figura abaixo representa a saída do

sinal depois do equalizador, e a constelação à direita é depois do uso do algoritmo Costas Loop.

Page 77: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

76

44. Agora, com o gráfico em execução, atribua um offset de frequência de 0.01 e veja que o Costas

Loop ainda consegue estimar a fase. Já a constelação na saída do CMA Equalizer entra em

rotação, perdendo totalmente o sincronismo.

45. Como já mencionado no item 42, além de conseguir trabalhar com offset de frequência, o

Costas Loop também é robusto a ruído. Para comprovar a teoria, com o gráfico em execução,

selecione novamente o range Frequency Offset para 0 e aumente o range de Noise Voltage para

uma amplitude de 0.24. Observe que com um tempo de simulação, a constelação à esquerda

entra em rotação e a constelação do Costas Loop permanece travada.

46. Vale salientar, que existem outros equalizadores que conseguiria suportar a amplitude de ruído

selecionada no item anterior. O CMA Equalizer é um equalizador “cego”, que não tem um

parâmetro de referência (piloto) para comparar com o valor esperado. Assim, se o canal estiver

severo, o equalizador obterá um mau desempenho.

Page 78: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

77

ANEXO B – TRANSMISSÃO REAL DE TEXTO USANDO O GNU RADIO

Page 79: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

78

Hands-on

Transmissão/Recepção Digital DPSK usando

USRP N210 – Vencendo o Canal sem Fio

Page 80: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

79

Exercício

OBJETIVO: Realizar uma transmissão/recepção real de um arquivo .txt entre duas máquinas remotas,

através de uma USRP N210, usando o esquema de modulação DPSK.

1. Caso ainda não esteja aberto, inicialize o GNU Radio Companion.

a. Abra um terminal digitando CRTL+ALT+t

b. Digite: gnuradio-companion e pressione ENTER

Alternativa:

c. Clique em Dash Home

d. Digite gnuradio e clique no ícone correspondente ao GRC

2. Com o GNU RADIO COMPANION aberto, crie um novo projeto

3. Clique duas vezes no Bloco Options. Esse bloco configura alguns parâmetros gerais do

flowgraph. Mantenha o ID como top_block. Digite um título para o projeto e um autor. Selecione

Generate Options como QT GUI, Run para Autostart e Realtime Scheduling para Off. Então,

feche a janela de propriedades.

Page 81: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

80

4. Antes de começar a construção da cadeia de transmissão, crie um novo documento em branco

(no formato txt) na área de trabalho da sua máquina e renomeie este arquivo.

5. Feito isso, digite uma frase ou um texto que você queira transmitir e salve-o. Veja na figura a

seguir como deve ficar a interface do documento txt.

6. Com isso, construa a cadeia de transmissão utilizando os seguintes blocos: um bloco Variable,

três blocos QT GUI Range, um bloco File Source, um bloco Packet Encoder, um bloco PSK

Mod, um bloco Multiply Const, um bloco UHD: USRP Sink e um bloco QT GUI Frequency

Sink. Interligue os blocos de maneira que sua área de trabalho fique semelhante à figura abaixo.

Page 82: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

81

7. Comece a configuração pelo bloco Variable, atribuindo-o um sample rate de 1 MHz. Veja na

figura abaixo como deve ficar a configuração do bloco.

8. Agora configure os três blocos QT GUI Range de forma que os parâmetros fiquem semelhantes

aos configurados nas figuras abaixo. Esses blocos são responsáveis por controlar a frequência

(num range de 900 a 950 MHz), o ganho (de 0 a 20 dBi) e a amplitude (0 a 1 Volts) do sinal,

respectivamente, durante a transmissão da mensagem.

9. Na sequência, configure o bloco File Source. No campo File, clique no ícone com os “três

pontos” e localize o arquivo que você salvou na área de trabalho. Depois selecione Output Type

para Byte, Repeat para Yes (esta opção permite que a mensagem seja repetida várias vezes

durante a transmissão) e atribua Vec Length igual a 1. Este bloco ler valores de dados brutos no

formato binário, a partir do arquivo especificado. As configurações do bloco devem estar

semelhantes à figura abaixo.

Page 83: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

82

10. Configure o bloco Packet Encoder para obter o Input Type em Byte, selecione o campo

Samples/Symbol igual a 1, Bits/Symbol também igual a 1, selecione Yes no campo Pad for

USRP e Payload Length para 4000. Este bloco serve como um formatador de pulso,

empacotando os dados em bits a serem transmitidos. Seu bloco deve estar com os parâmetros

iguais à figura a seguir.

11. Agora configure o bloco PSK Mod, responsável por realizar a modulação em fase da mensagem

(neste caso, a modulação DPSK). Edite o campo Number of Constellation para 4, selecione Gray

Code e Differential Encoding para Yes e Samples/Symbol para 4. Atribua no campo Excess BW

o valor de 0.35, este parâmetro representa o fator de roll-off do sistema. Por fim, selecione Off

tanto no campo Verbose quanto Log. Veja como deve ficar a configuração do bloco na figura a

seguir.

12. No bloco Multiply Const, selecione o campo IO Type para Complex, Constant para ampl (ID de

um dos blocos QT GUI Range, responsável por controlar o ganho do sinal) e Vec Length igual a

1. Este bloco funciona como um amplificador, em que o parâmetro Constant é multiplicado pelo o

sinal de entrada.

Page 84: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

83

13. No bloco QT GUI Frequency Sink, configure Type para Complex, Name para Espectro, FFT

Size igual 1024 e Window Type para Blackman-harris. No campo Center Frequency atribua o ID

do bloco QT GUI Range responsável pelo controle da frequência (tun_freq) e Bandwidth para

samp_rate. Configure os outros parâmetros do bloco de acordo com a ilustração da figura

abaixo.

14. Por fim, configure o bloco UHD: USRP Sink de acordo com os parâmetros ilustrados na figura a

seguir. Este bloco é responsável por enviar a mensagem para USRP.

Page 85: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

84

15. Feito isso, conecte sua máquina a USRP e abra um terminal. Para verificar se a USRP está em

pleno funcionamento, execute o comando: uhd_usrp_probe. Verifique se o computador

identificou a USRP. Se sim, execute o flowgraph. O espectro deve estar semelhante à figura

abaixo, com a mensagem sendo transmitida numa frequência central de 910 MHz.

16. Agora, abra um novo projeto em outra máquina e construa a cadeia de recepção. Mantenha as

mesmas configurações do flowgraph anterior para o bloco Variable e os três blocos QT GUI

Range. Adicione um bloco UHD: USRP Source, um bloco PSK Demod, um bloco Packet

Decoder e um bloco File Sink. No final, sua área de trabalho deve estar igual a da figura abaixo.

Page 86: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

85

17. Comece configurando o bloco UHD: USRP Sink de acordo com os parâmetros ilustrados na

figura a seguir. Este bloco é responsável por receber a mensagem da USRP.

18. No bloco PSK Demod, configure os seguintes parâmetros: para o campo Number of

Constellation atribua o valor 4, selecione Differential Encoding para Yes, Samples/Symbol igual a

4 e Excess BW igual a 0.35. Nos campos Frequency BW, Timing BW e Phase BW atribua o valor

6.28/100 (que corresponde a 2π/100), selecione Gray Code para Yes e Off tanto no campo

Verbose quanto Log. O bloco deve estar configurado conforme à figura a seguir.

Page 87: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

86

19. Configure o bloco Packet Decoder atribuindo Output Type para Byte e Threshold para -1. Veja

como deve ficar a configuração na figura abaixo.

20. Para finalizar a cadeia de recepção, configure o bloco File Sink. No parâmetro File, indique o

local onde o arquivo deve ser salvo, atribuindo um nome para o arquivo que será recebido e o

seu formato (neste caso, <nome>.txt). Selecione Input Type para Byte, Vec Length para 1,

Unbuffered para Off e Append file para Overwrite. A configuração deste bloco deve ficar de

maneira semelhante à figura abaixo.

21. Feito isso, conecte a máquina a USRP e realize o teste de conectividade descrito no item 15. Se

tudo der certo, gere e execute o flowgraph. O resultado gerado deve ser igual o ilustrado na

figura a seguir.

Page 88: RECEPTOR COSTAS UTILIZANDO PLATAFORMA DE RÁDIO …

87

22. Neste momento, a mensagem estar sendo recebida repedidas vezes e criando o arquivo no

local que foi indicado no bloco File Sink. Feche a janela de simulação e verifique o arquivo

recebido.

23. Note que a mensagem é recebida repetidas vezes, conforme mencionado e configurado.