implementa˘c~ao de m etodos de sincronismo em fpga para ... sousa correa.pdf · radas melhores, o...

79
UNIVERSIDADE FEDERAL DO PAR ´ A INSTITUTO DE TECNOLOGIA PROGRAMA DE P ´ OS-GRADUAC ¸ ˜ AO EM ENGENHARIA EL ´ ETRICA T ´ ITULO DO TRABALHO Implementa¸ ao de M´ etodos de Sincronismo em FPGA para DSL de Quarta Gera¸ ao NOME DO AUTOR Ilan Sousa Correa DM: 04/2015 UFPA / ITEC / PPGEE Campus Universit´ ario do Guam´ a Bel´ em-Par´ a-Brasil 2015

Upload: tranthien

Post on 02-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

UNIVERSIDADE FEDERAL DO PARA

INSTITUTO DE TECNOLOGIA

PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA

TITULO DO TRABALHO

Implementacao de Metodos de Sincronismo em

FPGA para DSL de Quarta Geracao

NOME DO AUTOR

Ilan Sousa Correa

DM: 04/2015

UFPA / ITEC / PPGEE

Campus Universitario do Guama

Belem-Para-Brasil

2015

Page 2: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC
Page 3: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

UNIVERSIDADE FEDERAL DO PARA

INSTITUTO DE TECNOLOGIA

PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA

NOME DO AUTOR

Ilan Sousa Correa

TITULO DO TRABALHO

Implementacao de Metodos de Sincronismo em

FPGA para DSL de Quarta Geracao

DM: 04/2015

UFPA / ITEC / PPGEE

Campus Universitario do Guama

Belem-Para-Brasil

2015

Page 4: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

UNIVERSIDADE FEDERAL DO PARA

INSTITUTO DE TECNOLOGIA

PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA

NOME DO AUTOR

Ilan Sousa Correa

TITULO DO TRABALHO

Implementacao de Metodos de Sincronismo em

FPGA para DSL de Quarta Geracao

Dissertacao submetida a Banca Exami-

nadora do Programa de Pos-graduacao

em Engenharia Eletrica da UFPA para

a obtencao do Grau de Mestre em En-

genharia Eletrica, enfase em Telecomu-

nicacoes.

UFPA / ITEC / PPGEE

Campus Universitario do Guama

Belem-Para-Brasil

2015

Page 5: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Correa, Ilan Sousa, 1990- Implementação de métodos de sincronismo em fpga paradsl de quarta geração / Ilan Sousa Correa. - 2015.

Orientador: Aldebaro barreto da Rocha Klautau Júnior. Dissertação (Mestrado) - UniversidadeFederal do Pará, Instituto de Tecnologia,Programa de Pós-Graduação em EngenhariaElétrica, Belém, 2015.

1. Modem. 2. Linhas digitais de assinantes.3. Arranjos de lógica programável em campo. 4.Sistemas de comunicação em banda larga. I.Título.

CDD 22. ed. 621.39814

Dados Internacionais de Catalogação-na-Publicação (CIP)Sistema de Bibliotecas da UFPA

Page 6: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

UNIVERSIDADE FEDERAL DO PARA

INSTITUTO DE TECNOLOGIA

PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA

Implementacao de Metodos de Sincronismo em FPGA para DSL de QuartaGeracao

AUTOR: Ilan Sousa Correa

DISSERTACAO DE MESTRADO SUBMETIDA A AVALIACAO DA BANCA EXAMINADORA

APROVADA PELO COLEGIADO DO PROGRAMA DE POS-GRADUACAO EM ENGENHA-

RIA ELETRICA DA UNIVERSIDADE FEDERAL DO PARA E JULGADA ADEQUADA

PARA OBTENCAO DO GRAU DE MESTRE EM ENGENHARIA ELETRICA NA AREA DE

TELECOMUNICACOES.

APROVADA EM 13/02/2015

BANCA EXAMINADORA:

.................................................................................................

Prof. Dr. Aldebaro Barreto da Rocha Klautau Junior (ORIENTADOR - UFPA)

.................................................................................................

Prof. Dr. Adalbery Rodrigues Castro (MEMBRO - UFPA)

.................................................................................................

Dr. Diogo Acatauassu Nunes (MEMBRO - UFPA)

.................................................................................................

Prof. Dr. Evaldo Goncalves Pelaes (MEMBRO - UFPA)

.................................................................................................

Prof. Dr. Francisco Carlos Bentes Frey Muller (MEMBRO - UFPA)

.................................................................................................

Prof. Dr. Marco Jose de Sousa (MEMBRO - UFPA)

VISTO:

Page 7: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

.................................................................................................

Prof. Dr. Evaldo Goncalves Pelaes

COORDENADOR DO PPGEE/ITEC/UFPA

Page 8: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Agradecimentos

Agradeco a Deus por me dar a sabedoria necessaria para eu conseguir chegar ate

aqui.

Agradeco aos meus familiares, em especial a minha avo Zenaide, por sempre me da-

rem o suporte necessario para a minha formacao profissional e, principalmente, a formacao

pessoal e moral, sempre com palavras de carinho e encorajamento; a minha amada Ca-

mila, pelo seu carinho e apoio, tornando mais leve minha caminhada ate aqui. Agradeco

a todos os meus outros familiares, que apesar da distancia e do tempo, nunca me deixam

esquecer da grande famılia que faco parte. Aos meus amigos e colegas, os quais foram

fundamentais para chegar ate aqui, principalmente os amigos da UFPA, do LAPS e do

LASSE, os quais me ajudaram nao somente como pessoa, mas tambem como engenheiro.

Agradeco a equipe montada para o desenvolvimento do projeto que desencadeou

nessa dissertacao: meu orientador Aldebaro Klautau, Igor Almeida, Leonardo Ramalho

e Joary Wanzeler, que trabalharam diretamente comigo no tempo que durou o projeto, e

me cederam alguns resultados de seus trabalhos mostrados nessa dissertacao; e tambem

a todos os outros que tambem fazem parte da equipe.

Gostaria de agradecer a Ericsson, pelo financiamento da pesquisa e desenvolvi-

mento do prototipo que resultou nessa dissertacao.

Ilan Sousa Correa

Page 9: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Resumo

Tecnologias Digital Subscriber Line (DSL) sao muito populares devido a relativa facilidade

de implantacao, pois utilizam cabos telefonicos, que sao encontrados em, virtualmente,

todas as cidades. Ha tecnologias consideradas melhores que o DSL, como as fibras oticas,

entretanto, sua implantacao e mais cara, o que faz a utilizacao de DSL para prover acesso

as residencias ainda seja mais viavel. Devido a existencia dessas tecnologias conside-

radas melhores, o fim do uso dos cabos telefonicos (de cobre) ja foi previsto algumas

vezes, entretanto, devido ao seu baixo custo, essa tecnologia ainda e utilizada. Com base

nisso, a tecnologia DSL sofreu varias evolucoes ao longo dos anos, sendo que a ultima de

suas evolucoes e considerada como sendo a quarta geracao do DSL, e e conhecida como

G.fast. A quarta geracao do DSL encontra-se em processo de padronizacao, sendo que

sua primeira versao foi lancada recentemente. Este trabalho apresenta tecnicas de sin-

cronismo e correcao de diferencas de clock que podem ser utilizadas em modems DSL

de quarta geracao. Essas tecnicas foram criadas para lidar com as especificidades desta

ultima versao, e sao avaliadas em um prototipo que utiliza placas de avaliacao de DSP

e FPGA para acelerar o processo de implementacao. Serao apresentadas as tecnicas de

sincronismo criadas, seus desempenhos e utilizacao de recursos para sua implementacao,

e tambem formas de paralelizacao no FPGA para facilitar a implementacao das tecnicas.

PALAVRAS-CHAVES: DSL; Sincronismo; FPGA; DSP; Radio definido por software;

TDD.

Page 10: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Abstract

Digital Subscriber Line (DSL) technologies are very popular, mainly due its relative ease

deployment, because it uses telephone cables which are found in, virtually, every city.

There are technologies which are considered better than DSL, for instance optical fibers,

however, DSL’s implantation is much cheaper, and thus it is use for providing home access

network is still more suitable. Because of the existence of those better technologies the

ending of the use of telephone cables for access networks has been predicted some time,

but, again, due to its low cost it is still used. Based on this, DSL technology has suffered

some evolutions during the years, and the last one is considered fourth generation and

is known as G.fast. This generation is in process of standardization, and its first version

has been released recently. This work presents synchronism and clock frequency offset

techniques for fourth generation DSL. These techniques have been created for dealing

with particularities of this last generation and have been evaluated in a hardware pro-

totype that uses DSP and FPGA boards, which allow speeding up implementation. It

is presented in details the techniques created, their performance and resources used for

their implementation.

KEYWORDS: DSL; Synchronism; FPGA; DSP; Software-defined radio; TDD.

Page 11: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Sumario

Lista de Figuras iii

Lista de Tabelas v

Glossario vi

1 Introducao 1

1.1 Visao geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Sobre este trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Situando o Trabalho na Area de Telecomunicacoes 5

2.1 Sincronismo em telecomunicacoes . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Sincronismo de portadora . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.2 Sincronizacao de sımbolo . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.3 Outros tipos de sincronismos em telecomunicacoes . . . . . . . . . . 8

2.2 Modulacoes digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.1 QAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.2 DMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Metricas de desempenho de modulacoes digitais . . . . . . . . . . . . . . . 13

2.3.1 Error Vector Magnitude . . . . . . . . . . . . . . . . . . . . . . . . 15

2.4 Field Programmable Gate Arrays - FPGAs . . . . . . . . . . . . . . . . . . 15

2.5 Tecnicas de sincronismo para comunicacoes digitais . . . . . . . . . . . . . 16

3 Hardware e Software do Prototipo 18

3.1 Software-defined UFPa transceiver (SOUT) . . . . . . . . . . . . . . . . . 18

3.1.1 AFE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

i

Page 12: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

3.1.2 DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1.3 FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1.4 Conexao fısica e logica entre as placas . . . . . . . . . . . . . . . . 23

3.2 A aplicacao modem-prototype . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2.1 Implementacao da duplexacao no domınio do tempo (TDD) . . . . 25

3.2.2 Comunicacao com os conversores . . . . . . . . . . . . . . . . . . . 26

3.2.3 Cadeia de transmissao . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2.4 Cadeia de recepcao . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2.5 Detectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2.5.1 Detector Schmidl & Cox . . . . . . . . . . . . . . . . . . . 31

3.2.5.2 Detector xCorr . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2.6 Correcao de diferencas de clock . . . . . . . . . . . . . . . . . . . . 37

3.2.6.1 Definicao de cursor . . . . . . . . . . . . . . . . . . . . . . 38

3.2.6.2 Arquitetura para sincronizacao e equalizacao. . . . . . . . 40

3.2.6.3 Estimacao de cursor . . . . . . . . . . . . . . . . . . . . . 42

4 Desempenho e Comparacao das Tecnicas de Sincronismo 44

4.1 Desempenho dos detectores . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.2 Consumo de hardware dos detectores . . . . . . . . . . . . . . . . . . . . . 46

4.3 Desempenho da correcao de CFO . . . . . . . . . . . . . . . . . . . . . . . 50

4.4 Taxas alcancadas pelo prototipo . . . . . . . . . . . . . . . . . . . . . . . . 53

5 Conclusao 56

5.1 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Bibliografia 61

ii

Page 13: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Lista de Figuras

2.1 Sinal gerado com PAM, usando pulso retangular (em azul) e pulso de Ny-

quist (em verde), e os pontos em vermelho sao as proximidades do ponto

de decisao dos sımbolos para o pulso de Nyquist. . . . . . . . . . . . . . . . 9

2.2 Exemplo de uma constelacao 16 QAM e um possıvel mapeamento de bits. . 10

2.3 Modulacao 64 QAM, com pontos originais em vermelho e possibilidade de

ocorrencia dos pontos recebidos devido a uma RSR de 25 dB. . . . . . . . 14

2.4 Constelacao da Figura 2.3 sofrendo com CFO de 800 ppm . . . . . . . . . 14

2.5 Constelacao recebida com os tons pilotos nos pontos mais afastados . . . . 17

3.1 Visao geral da SOUT e suas conexoes. . . . . . . . . . . . . . . . . . . . . 20

3.2 As duas SOUTs da UFPa conectadas por um cabo CAT5 de 50 metros. . . 20

3.3 Diagrama de blocos simplificado do AFE. . . . . . . . . . . . . . . . . . . . 21

3.4 Visao geral das conversoes de dados. . . . . . . . . . . . . . . . . . . . . . 24

3.5 Um slot TDD usado na SOUT. . . . . . . . . . . . . . . . . . . . . . . . . 26

3.6 Transferencia de dados usando DDR. O sinal DCLK(P/N) e o clock o sinal

D[15:0](P/N) e o barramento de dados sendo transferido nas duas bordas

de DCLK. Figura retirada do manual do DAC5681z. . . . . . . . . . . . . 27

3.7 Esquema usado no FPGA para fazer a conversao de 200 para 100 MHz. . . 28

3.8 Ilustracao em diagrama de blocos da cadeia de transmissao. . . . . . . . . 28

3.9 Exemplo da metrica de temporizacao para o S&C quando a RSR e infinita. 33

3.10 Implementacao do detector S&C no FPGA. . . . . . . . . . . . . . . . . . 33

3.11 Implementacao do detector xCorr no FPGA. . . . . . . . . . . . . . . . . . 35

3.12 Sinal SINC transmitido para o detector xCorr. . . . . . . . . . . . . . . . . 36

3.13 Sinal SINC recebido pela interface dos conversores com o FPGA. . . . . . . 36

iii

Page 14: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

3.14 Ilustracao de como as amostras do sinal recebido sao repassadas aos xCorrs.

Nesse exemplo, as amostras do sinal ref(i) sempre estao na segunda posicao

do grupo de quatro amostras. . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.15 Exemplo de resultados dos xCorrs quando o sinal ref(i) esta na segunda

posicao do grupo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.16 Exemplo onde alem da diferenca de fase, os clocks possuem frequencias

diferentes. Assim, os ∆ sempre mudam. . . . . . . . . . . . . . . . . . . . . 38

3.17 Definicao de cursor n0 e ilustracao de como ele acontece. . . . . . . . . . . 39

3.18 Estimacao de n0 para varios sımbolos DMT recebidos em sequencia. . . . . 40

3.19 Fases de treinamento do modem-prototype. . . . . . . . . . . . . . . . . . . 41

3.20 Fases de showtime do modem-prototype. . . . . . . . . . . . . . . . . . . . . 42

3.21 Estimacao de β e ∆θ a partir dos tons pilotos. . . . . . . . . . . . . . . . . 43

4.1 Resultados da metrica de temporizacao de duas realizacoes do mesmo

sımbolo S&C, mostrando duas curvas atingindo um limiar de 0.75 em tem-

pos diferentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.2 Resultados da metrica de temporizacao de duas realizacoes do mesmo

sımbolo S&C, onde a curva em azul nao sofre atenuacao e a curva em

verde sofre e depois e amplificada. . . . . . . . . . . . . . . . . . . . . . . . 47

4.3 Exemplo de uma constelacao de 256 QAM recebida e corrigida, onde e

possıvel perceber uma pequena rotacao nos pontos mais distantes da origem. 52

4.4 Bitloading tıpico estimado usando o Levin-Campello. . . . . . . . . . . . . 53

4.5 RSR tıpicas calculadas para cabos CAT5 de 50 m (esquerda) e 100 m (direita). 54

iv

Page 15: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Lista de Tabelas

3.1 Comparacao entre precos da EVM e do CI para o FPGA e DSP. . . . . . . 19

4.1 Uso de recursos logicos pelos detectores. . . . . . . . . . . . . . . . . . . . 48

4.2 Uso de recursos do FPGA pelos detectores. . . . . . . . . . . . . . . . . . . 50

4.3 Requerimentos de EVM pela tecnologia LTE (Lont Term Evolution) . . . . 51

v

Page 16: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Glossario

AD Analogico-digital

AFE Analog front-end

AM Amplitude modulation

ASIC Application-specific integrated circuit

ASK Amplitude-shift keying

CI Circuito integrado

CP Cyclic prefix

CFO Clock frequency offset

CPE Customer premise equipment

DA Digital-analogico

DDR Double data rate

DMT Discrete multitone

DSL Digital subscriber line

DSLAM DSL access multiplexer

DSP Digital signal processor

DTU Data transfer unit

EVM Evaluation module

vi

Page 17: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

EVM Error Vector Magnitude

FEQ Frequency equalization

FFT Fast Fourier transform

FFTC FFT coprocessor

FPGA Field programmable gate array

IDFT Inverse Discrete Fourier Transform

IFFT Inverse FFT

IP Intellectual property

IP Internet protocol

ITU International Telecommunication Union

LVDS Low-voltage Differential Signaling

LTE Long Term Evolution

NETCP Network coprocessor

OFDM Orthogonal frequency-division multiplexing

PAM Pulse amplitude modulation

PCI Placa de circuito impresso

PLL Phase locked loop

ppm Parte por milhao

QAM Quadrature amplitude modulation

QPSK Quadrature phase-shift keying

RAM Random access memory

RDS Radio definido por software

vii

Page 18: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

SPI Serial peripheral interface

SRIO Serial RapidIO

RISC Reduced instruction set computing

RS Reed-Solomon

RSR Relacao sinal-ruıdo

RTOS Real-time operating system

SDR Single data rate

SoC System-on-chip

SOUT Software-defined UFPa transceiver

S&C Schmidl and Cox

TDD Time-domain duplex

TDM Time-division multiplexing

viii

Page 19: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Capıtulo 1

Introducao

1.1 Visao geral

A tecnologia de redes de acesso via cabos trancados telefonicos e muito utilizada,

pois possui infraestrutura com alto potencial de penetracao, ou seja, a operadora consegue

prover conectividade ao usuario com mais facilidade do que outras tecnologias, como as

fibras. Isso e possıvel, pois as redes telefonicas sao empregadas a mais de cem anos, o

que faz com que haja muita infraestrutura instalada, alem da instalacao de novos cabos

telefonicos ser barato em relacao a fibra. O conjunto de tecnologias que prove acesso

via cabos telefonicos sao denominados de DSL (Digital subscriber line, em ingles) e vem

evoluindo gradativamente ao longo dos anos [1], conseguindo prover maiores taxas de

dados aos usuarios.

Tem-se verificado que a cada dez anos ha uma evolucao significativa nas tecno-

logias de redes de acesso via cabos telefonicos, ou pares trancados, sendo que desde o

inıcio de sua utilizacao ja ocorreram quatro dessas mudancas. As mudancas no DSL que

proporcionaram tal melhoria nas taxas foram, entre outros fatores, devido a diminuicao

do comprimento dos cabos, ou das distancias entre os usuarios e os pontos de distribuicao.

Isso ocorre devido a utilizacao de redes hıbridas de fibra e cobre, assim, uma rede de fibra

de alta velocidade e instalada ate as proximidades do usuario (ponto de distribuicao), e

entao o usuario e conectado a essa rede atraves de cabos de cobre, que sao mais baratos.

Por exemplo, no DSL de segunda geracao o usuario esta a uma distancia do ponto de dis-

tribuicao na ordem de quilometros, na terceira essa distancia e menor que um quilometro

e na quarta de 50 a 250 metros.

O atual estagio de desenvolvimento dessas tecnologias e denominado de DSL de

1

Page 20: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

2

quarta geracao [2]. A versao do DSL que e classificada como sendo de quarta geracao teve

sua primeira versao criada recentemente pela Uniao Internacional de Telecomunicacoes

(ITU - International Telecommunication Union, em ingles) secao T, ou ITU-T, e refe-

renciada pela norma G.9701 [3] e conhecida como tecnologia G.fast. As caracterısticas

dessa tecnologia sao alta largura de banda na ordem de 200 MHz, sendo chamada de ultra

banda larga em alguns casos [1], e deve prover taxas de dados na ordem de 1 Gigabit por

segundo.

Tal largura de banda requer alta capacidade de processamento, pois segundo o

teorema da amostragem de Nyquist-Shannon, as taxas de amostragem do G.fast devem ser

maiores que 400 MHz, e isso gera uma alta taxa de dados, que devem ser processados em

tempo real. Diferentemente das geracoes anteriores, o G.fast foi padronizado para utilizar

duplexacao 1 no domınio do tempo no lugar da duplexacao no domınio da frequencia das

versoes anteriores [4] [5]. Essa mudanca faz com que boa parte das implementacoes das

geracoes anteriores nao possam ser reaproveitas na quarta geracao.

A mudanca para o TDD e devido ser um padrao lancado recentemente e a conti-

nuar um desenvolvimento, nao ha muitos produtos no mercado que obedecam ao padrao

G.fast. Assim, universidades ou institutos de pesquisas que nao estao associados as em-

presas que participam do processo de padronizacao, dificilmente tem oportunidade de

contribuir na padronizacao, ou tem mais impedimentos para realizar pesquisas praticas

na area de G.fast. A forma com que essas instituicoes podem participar e comprar circui-

tos integrados (CI) que implementem o G.fast como [6]. Entretanto, tais produtos, por

serem comerciais, normalmente nao proporcionam configurabilidade para fazer pesquisa

o usando, e tambem, eles normalmente sao vendidos somente em milhares e em parceria

com fabricantes, o que inviabiliza o seu uso para pesquisa.

Outra dificuldade das instituicoes de pesquisa e o acesso aos algoritmos implemen-

tados, por exemplo, o G.fast especifica que tipos de sımbolos serao transmitidos para

sincronizacao. Entretanto, mesmo especificando os sımbolos, as tecnicas a serem utiliza-

das sao deixadas a cargo do fabricante, que por sua vez escolhe a que obteve melhores

resultados em seus hardwares e prototipos, e elas sao mantidas em segredo.

1Duplexacao e o processo no qual dois dispositivos em uma comunicacao ponto-a-ponto transmitem

informacao sem haver colisao. Ha dois modos, no domınio do tempo, onde cada dispositivo tem seu

tempo de transmitir; e no domınio da frequencia onde cada um tem sua banda de frequencia especıfica.

Page 21: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

3

1.2 Sobre este trabalho

Com o objetivo de permitir pesquisa na area de G.fast, o Laboratorio de Pro-

cessamento de Sinais na UFPa iniciou a criacao de um prototipo de modem G.fast. A

implementacao do prototipo corresponde a uma infraestrutura de comunicacao completa

e culminou nos algoritmos e resultados mostrado nessa dissertacao e em outros trabalhos,

como [7].

Mais especificamente, essa dissertacao trata sobre a questao do sincronismo im-

plementado para esse prototipo. O sincronismo usado nessa tecnologia possui muitas

peculiaridades, que sao usadas para obter sincronismo, em [8] e dada uma visao geral

das formas de sincronismo que podem ser utilizam em DSL e em sistemas que utilizam

modulacoes DMT (Discrete multitone, em ingles) e OFDM (Orthogonal frequency division

multiplexing, em ingles). Partindo das tecnicas mostradas nesses trabalhos relacionados,

nessa dissertacao e proposta a utilizacao do algoritmo Schmidl & Cox [9] para sincro-

nizacao da duplexacao TDD que utiliza poucos recursos de hardware. E tambem criado

outro algoritmo para prover sincronismo mais preciso do que o primeiro, que e baseado em

uma correlacao cruzada modificada e e denominado xCorr. O xCorr, entretanto, utiliza

mais recursos de hardware, como e mostrado nesse trabalho.

A plataforma de hardware utilizada consiste de tres modulos separados, desses,

o modulo de interface analogica nao prove recursos para que seja feita sincronizacao de

clocks exatamente como definido no padrao. Assim, nao e possıvel implementar exata-

mente como especificado, e foi necessario a criacao de outro algoritmo para correcao, em

domınio digital, das diferencas de clock. Dessa forma, foi iniciada pesquisa para avaliar

algoritmos de correcao de diferencas de clock, entretanto verificou-se que os algoritmos

disponıveis, como [10] e [11], nao atendem aos requerimentos da aplicacao. Logo, foi

criado um algoritmo para correcao, que tomou como base essas referencias, e que utiliza

regressao linear para obter melhores resultados na aplicacao do prototipo. Assim, este

trabalho tambem apresenta a implementacao e resultados desse algoritmo que e aplicado

no domınio da frequencia, juntamente com os algoritmos de equalizacao.

O conteudo desse trabalho e apresentado da seguinte forma. No Capıtulo 2, sao

mostrados os conceitos basicos utilizados, com o objetivo de situar melhor o conteudo de-

senvolvido dentro da area de telecomunicacoes. No Capıtulo 3 sao mostrados o hardware

utilizado, como os algoritmos foram implementados e a divisao de processamento entre as

unidades de que compoem a plataforma utilizada. No Capıtulo 4 sao mostrados os resul-

tados obtidos e feitas comparacoes dos algoritmos utilizados. E, por fim, no Capıtulo 5 e

Page 22: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

4

feita a conclusao do trabalho e mostradas propostas de trabalhos futuros.

Page 23: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Capıtulo 2

Situando o Trabalho na Area de

Telecomunicacoes

Este capıtulo tem como objetivo apresentar os conceitos basicos necessarios para o

bom entendimento das tecnicas apresentadas no Capıtulo 3 e dos resultados apresentados

no Capıtulo 4, e tambem situar o conteudo apresentado dentro da area de telecomu-

nicacoes. Sao tambem apresentados metodos de classificacao das tecnicas utilizadas.

2.1 Sincronismo em telecomunicacoes

O objetivo desta secao e introduzir os conceitos de sincronizacao para sistemas

de telecomunicacoes, entretanto, como “telecomunicacoes” e “sincronismo” sao termos

bem gerais, nesta secao tambem e dado um direcionamento para que tipos de “telecomu-

nicacoes” e “sincronismo” sao tratados nesse trabalho.

Em telecomunicacoes, o termo sincronismo pode ser tratado em varias areas dife-

rentes, onde, para simplificar, uma visao em camadas pode ser usada para classificacao

os tipos de sincronismos [12].

2.1.1 Sincronismo de portadora

Esse e o tipo de sincronizacao requerida em sistemas de modulacao (digitais e

analogicos), onde os sinais de clock ou senoidais de um sistema composto por um trans-

missor e um receptor, necessitam possuir a mesma frequencia e, em alguns casos, a mesma

5

Page 24: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

6

fase para que o receptor do sistema possa recuperar com sucesso a informacao transmi-

tida. O processo de recuperacao da portadora do transmissor e largamente discutido na

literatura [12] [13], e no receptor, a recuperacao da portadora para fazer a demodulacao

e chamada de demodulacao sıncrona ou coerente.

Um exemplo, de um sistema que necessita de recuperacao de portadora, e o sis-

tema de radio AM (Amplitude modulation, em ingles) sıncrono, onde a informacao s(t) e

transmitida na amplitude da portadora cos(2πf0t), de acordo com a Equacao (2.1).

xt(t) = s(t) cos(2πf0t) (2.1)

Nesses sistemas a informacao e transladada para uma frequencia mais alta (f0),

por um processo chamado de upconversion, assim, a informacao e transmitida na cha-

mada banda passante (banda de frequencia diferente de sua banda original). No receptor

a informacao que esta em sendo carregada por uma alta frequencia deve sofrer o pro-

cessamento inverso e filtragem para ser recuperada (downconversion). Dessa forma, e

possıvel perceber que, caso a frequencia do receptor seja diferente (f1), havera distorcao

da informacao, como mostrado nas Equacoes (2.2) e (2.3).

xr(t) = xt(t) cos(2πf1t) (2.2)

xr(t) =1

2[cos(2πt(f0 − f1))s(t) + cos(2πt(f0 + f1))s(t)] (2.3)

Nesses sistemas, o sinal recebido tambem e proporcional a diferenca de fase dos

dois sinais, pois caso tenham a mesma frequencia e fases distintas (θ1 e θ2) o sinal recebido

se torna como mostrado na Equacao (2.4) (alguns termos foram omitidos).

xr(t) = cos(θ1 − θ2)s(t) (2.4)

Por exemplo, de acordo com a Equacao (2.4), caso θ1 − θ2 = π/2, a informacao

nao podera ser recuperada, pois cos(π/2) = 0.

Esse tipo de sistema, e outros que recuperam a portadora do transmissor de alguma

forma para realizar a recuperacao do sinal, sao chamados de sistemas de demodulacao

coerente ou sıncrona.

O sistema de radio AM e analogico, logo nao precisa ser amostrado, toda a trans-

missao e recepcao podem ser feitas em domınio analogico. No caso de sistemas de mo-

dulacao digital, ha o processo de conversao digital-analogico (DA) no transmissor e con-

Page 25: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

7

versao analogico-digital (AD) no receptor, sendo que alguns tipos de modulacoes que

transmitem informacao na fase da portadora requerem que os clocks usados nos proces-

sos de conversao tambem estejam sincronizados em fase e em frequencia, caso contrario

pode haver efeitos deleterios tal como a rotacao do sinal no domınio da frequencia. Dessa

forma, sistemas digitais que transmitem informacao em banda passante devem lidar com

problemas de sincronizacao de portadora e sincronizacao de clock de amostragem. Exem-

plos de sistemas digitais que utilizam banda passante podem ser os que usam modulacao

quadrature amplitude modulation (QAM) e OFDM [14]. Esses dois tipo de modulacao sao

muito usados em tecnologias como Wifi e tecnologias de comunicacoes moveis.

Diferentemente de sistemas em banda passante, ha os sistemas em banda base, onde

a informacao ou sinal gerado pelo processo de modulacao e transmitido na mesma banda

de frequencia em que foi gerado. Dessa forma, um sistema digital que e transmitido em

banda base, somente precisara lidar com sincronizacao de clock de amostragem. Exemplo

desse tipo de sistemas sao os que usam DMT, que e o equivalente do OFDM em banda

base. O DMT e usado nos sistemas DSL, que utilizam a infraestrutura telefonica para

prover conectividade aos usuarios. Maiores informacoes os conceitos apresentados nesta

secao podem ser vistas em [15].

O conteudo principal deste trabalho apresenta uma implementacao de um sistema

baseado em G.fast [3], que e o novo padrao de tecnologias DSL que esta sendo desenvolvido

pelo ITU-T, que ambiciona atingir 1 Gbps em um par trancado telefonico em distancias de

50 m e taxas menores a medida que o comprimento do cabo aumenta, ate um maximo de

250 m. A modulacao utilizada nesse trabalho e o DMT, que pode ser classificado como um

sistema de transmissao em banda base que utiliza demodulacao coerente, pois ele precisa

recuperar o clock de amostragem do transmissor. Dessa forma, nao ha a necessidade

de sincronizacao de portadora. Mais detalhes sobre essas implementacoes sao dados no

Capıtulo 3 e no Capıtulo 4.

2.1.2 Sincronizacao de sımbolo

“Sincronizacao de sımbolo” e o processo realizado no receptor, onde o sinal

analogico sera “selecionado” de forma que somente a parte do sinal analogico que contem

informacao seja processada. Esse tipo de sincronismo e mais comum em sistemas digitais,

onde o transmissor envia informacoes somente em determinados perıodos. Os sistemas

analogicos normalmente transmitem informacao continuamente e, dessa forma, nao ha

distincao de sımbolos no sinal analogico.

Page 26: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

8

Em alguns tipos de modulacao, a informacao transmitida deve ser extraıda de uma

unica amostra, obtida na saıda de um filtro casado, por exemplo. O receptor deve se-

lecionar a amostra correta, ou amostrar periodicamente de forma que sejam capturadas

as partes do sinal analogico que contem informacao. Devido a sincronizacao de sımbolo

tambem estar relacionada com a amostragem do sinal, ela e tambem chamada de sincro-

nizacao de clock de amostragem [16], o que pode gerar confusao com a secao anterior.

Entretanto, nesse trabalho, somente sera tratado como sincronizacao de sımbolo, pois o

sinal pode ser amostrado em uma taxa maior que do que a taxa de sımbolo, e a amostra

que contem o sımbolo pode ser selecionada no domınio digital.

Um exemplo desse tipo de sistema, sao os que usam pulse amplitude modulation

(PAM), onde a informacao e transmitida em pulsos, e cada nıvel de tensao desse pulso no

instante de tempo correto representa um conjunto de bits, ou um unico bit, se houverem

dois nıveis. Para maiores informacoes sobre essa tecnica de modulacao, o leitor pode

utilizar o capıtulo 6 de [14]. A Figura 2.1 mostra um exemplo de um sinal PAM gerado

usando dois tipos de pulsos, o pulso retangular em azul e o pulso de Nyquist em verde, onde

os pontos em vermelho sao os pontos exatos onde os sımbolos no sinal gerado com Nyquist

pode ser recuperados. No sinal gerado com o pulso retangular o sımbolo transmitido pode

ser recuperado em uma janela de tempo bem maior do que o sinal gerado com pulso de

Nyquist, enquanto que o sinal que usa o pulso de Nyquist fica mais restrito as proximidades

do ponto em vermelho, entretanto ha consideracoes sobre o uso dos dois pulsos, que nao

sao tratadas nesse trabalho.

O exemplo anterior mostra um sistema de modulacao que transmite a informacao

em uma unica amostra (ou em um intervalo de tempo bem determinado) do sinal. Entre-

tanto ha sistemas como o DMT e OFDM que utilizam varias amostras para representar um

sımbolo (ou um intervalo de tempo maior). Nesse tipo de sistema o processo sincronizacao

de sımbolo no receptor consiste em capturar esses intervalos para que a demodulacao possa

ser feita. O sistema apresentado nesse trabalho utiliza sımbolos DMT, dessa forma, um

sımbolo consiste de varias amostras, que sao recebidas e processadas pelo receptor.

2.1.3 Outros tipos de sincronismos em telecomunicacoes

Os dois tipos de sincronizacao mostrados conseguem classificar as implementacoes

mostradas neste trabalho, entretanto, e importante mencionar que existem outros tipos,

sendo que os dois anteriores que serao tratados nessa dissertacao dizem respeito a ca-

mada fısica de sistemas de comunicacao. Existem outros conceitos de sincronizacao em

telecomunicacoes que sao tratados em camadas superiores, com por exemplo:

Page 27: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

9

0 20 40 60 80 100−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

Segundos

Sin

al a

naló

gico

(V

olts

)

Pulso retangularPulso de NyquistSímbolo

Figura 2.1: Sinal gerado com PAM, usando pulso retangular (em azul) e pulso de Nyquist

(em verde), e os pontos em vermelho sao as proximidades do ponto de decisao dos sımbolos

para o pulso de Nyquist.

• Sincronizacao de quadro: este tipo de sincronismo e realizado quando os bits sao

recuperados do sinal analogico, onde, entao, e feito o processo de agrupa-los em

palavras, ou palavras-codigo ou ainda outro tipo de nomenclatura, dependendo do

sistema utilizado. No caso de um sistema Time-division multiplexing (TDM), e

nesse estagio que os bits sao direcionados para o usuario destino.

• Sincronizacao pacote: nesse tipo de sincronismo a informacao, na sua fonte, e divida

em pacote, e esses pacotes sao recebidos no destino, onde serao reagrupados em

sequencia para que a informacao seja recuperada.

• Sincronizacao de mıdia: esse conceito de sincronizacao trata informacoes diferentes

que possuem alta relacao temporal, como o caso do audio e do vıdeo.

2.2 Modulacoes digitais

Esta dissertacao trata de um sistema de comunicacoes que foi implementado usando

uma plataforma desenvolvida na UFPa, onde sao implementadas tecnicas de modulacao

digital para transmitir as informacoes do usuario. Nesta secao sao apresentados e expli-

cados com mais detalhes as tecnicas de modulacao que sao utilizadas neste trabalho.

Page 28: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

10

2.2.1 QAM

QAM e uma tecnica de modulacao que pode ser vista como um mapeamento da

informacao a ser transmitida em um conjunto finito de pontos. Esses pontos na tecnica

QAM formam um conjunto bidimensional que serao multiplicados por um funcao base

para formar o sinal analogico. Para mapear a informacao recebida, os seus bits sao usados

de acordo com o tamanho do conjunto de pontos, normalmente, seguindo potencias de 2.

Assim, n bits da informacao sao mapeados para um dos 2n pontos. A Figura 2.2 mostra

um possıvel mapeamento de quatro bits da informacao.

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3 0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Fase (i)

Qua

drat

ura

(q)

Figura 2.2: Exemplo de uma constelacao 16 QAM e um possıvel mapeamento de bits.

Uma forma de representar o sinal resultante do mapeamento, que e a forma usada

neste trabalho, e atraves de numeros complexos. Por exemplo, a sequencia binaria 1001

da Figura 2.2 pode ser representada por 1 + j. Assim, uma vez que o mapeamento e feito

os pontos resultantes podem ser convoluıdos com um pulso para transmissao pelo canal.

O resultado da convolucao dos pontos complexos com o pulso e complexo, e como

nao existe um canal que possa transmitir informacao complexa (a menos que as partes real

e imaginaria sejam transmitidas em canais separados), os sinais QAM sao transmitidos

usando banda passante atraves da relacao da Equacao 2.5.

TXqam(t) = xi(t) cos(2πfct) + xq(t)sen(2πfct) (2.5)

Na Equacao 2.5, xi(t) e a parte real e xq(t) e a parte imaginaria do resultado da

convolucao, e fc e a frequencia da portadora. Esse processo translada o sinal QAM para a

Page 29: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

11

frequencia fc, e gera um resultado real, que pode ser transmitido pelo canal. Na recepcao

e feito o processo de downconversion, assim o sinal volta a ter partes real e imaginaria,

e entao e amostrado e pode ser processado. Como o processo de demodulacao utiliza

downconversion e amostragem, os sistemas QAM podem ser classificados como coerentes,

e devem utilizar os conceitos de sincronizacao de portadora e de amostragem discutidos

nas secoes anteriores.

O sinal QAM ocupa uma largura de banda que e proporcional a taxa de sımbolos

transmitidos por segundo, assim, quanto maior a taxa de transmissao de dados requerida,

maior e a largura de banda do sinal gerado.

2.2.2 DMT

Diferentemente dos sistemas que utilizam uma unica portadora, como o PAM e

QAM mostrados anteriormente, a tecnica de modulacao DMT divide a banda disponıvel

do canal em varias subbandas, onde varias subportadoras carregam informacao utilizando

tecnicas de modulacao que podem ser diferentes para cada subbanda. A ideia do DMT e

utilizar as varias subportadoras transmitindo em uma taxa menor, mas a taxa resultante

do uso de todas, tende a ser maior do que um sistema que utiliza uma unica portadora. Ha

muita discussao sobre as vantagens e desvantagens de sistemas multiportadora em relacao

aos outros, mas uma das maiores vantagens e o fato da equalizacao ser mais simples, pois

os subcanais possuem um largura de banda pequena em relacao a banda total do canal,

logo o subcanal pode ser visto como um canal “flat”, o que acarreta em uma equalizacao

(no receptor) sendo aplicada como um ganho.

Outra caracterıstica dos sistemas DMT e que o espacamento das subportadoras e

pequeno, o que favorece a melhor utilizacao do canal. As subportadoras sao separadas

em frequencia por um valor preciso que faz com que as subportadoras sejam ortogonais,

assim, nao ha interferencia entre elas. O modo de geracao do sinal DMT para que as

subportadoras sejam ortogonais, utiliza a transformada discreta inversa de Fourier (IDFT

- Inverse Discrete Fourier Transform, em ingles), ou sua versao otimizada a transformada

rapida de Fourier inversa (IFFT - Inverse Fast Fourier Transform em ingles). A IFFT

considera que o sinal de entrada esta no domınio da frequencia e o sinal e um vetor de

numeros complexos e cada posicao do vetor corresponde a uma subportadora. Dessa

forma, cada subportadora pode receber um tipo de modulacao diferente (que pode ser

QAM, PAM, QPSK1, ASK2, etc), e a notacao de constelacao apresentada para a tecnica

1Quadrature phase-shift keying2Amplitude-shift keying

Page 30: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

12

QAM tambem pode ser usada. Na aplicacao mostrada nessa dissertacao, as subportadoras

do sinal DMT utilizam QAM.

O sinal DMT, apos passar pela IFFT, e transformado para o domınio do tempo,

que corresponde a soma de todas as subportadoras, como mostrado na Equacao (2.6).

Onde Ak e θk sao obtidos a partir da amplitude e fase do ponto da constelacao para o

tom k.

Tx[n] =∑

Ak cos(2πkf0n+ θk) (2.6)

Como o sinal DMT e transmitido em banda base, a sua versao no domınio do

tempo tem a restricao de ser real. Para isso, e usada uma propriedade da IFFT, onde o

sinal no domınio da frequencia apresenta a simetria mostrada na Equacao 2.7, onde k e o

ındice da subportadora, e N e a matade do tamanho da IFFT realizada.

ak = a∗N−k+1 (2.7)

A Equacao (2.7) impoe que o valor das frequencias positivas sejam o complexo

conjugado das frequencias negativas, exceto as frequencias referentes ao DC e Nyquist,

que nao sao usadas. A tecnica DMT e muito similar ao OFDM, que e muito utilizado em

tecnologias de wireless. A diferenca e que o OFDM nao possui restricao de ser real no

domınio do tempo, dessa forma, no domınio da frequencia, o OFDM nao esta restrito a

Equacao 2.7 e, portanto, pode utilizar o dobro de portadoras em relacao ao DMT. Alem

do mais, o DMT e transmitido em banda base, enquanto que o OFDM e transmitido

usando o processo de upconversion descrito para a modulacao QAM.

Tanto OFDM quanto DMT utilizam o chamado prefixo cıclico (CP - cyclic prefix

em ingles) para tornar o sımbolo mais robusto a interferencia intersimbolica causada pelo

canal. O CP consiste em repetir a ultimas amostras do sinal domınio do tempo no inıcio

do sımbolo. Isso e possıvel, pois a IFFT considera que o sinal de saıda corresponde a um

perıodo de um sinal periodico, assim a repeticao faz com que seja usado parte do perıodo

anterior do mesmo sinal. O uso do CP protege o sımbolo, sofrendo a interferencia do

sımbolo anterior, para isso o tamanho do CP deve ser maior do que a dispersao do canal

(resposta ao impulso do canal).

O CP alem de proteger contra interferencia intersimbolica, ainda oferece uma janela

maior para o receptor capturar o sımbolo, pois como se trata de uma repeticao do sımbolo,

caso o receptor capture parte do CP, os tons apenas sofrem rotacao, que e mais facil de

ser corrigido que outros tipos de distorcao. Essa caracterıstica e usada pelos detectores

Page 31: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

13

implementados nessa dissertacao, e sao mostrados nos Capıtulo 3 e 4.

Uma ultima caracterıstica dos sistemas multiportadora, como o OFDM e o DMT,

e a possibilidade de se estimar a relacao sinal-ruıdo (RSR) para cada subbanda e usar uma

modulacao que atinja um desempenho especıfico em cada tom, ou o mesmo desempenho

para todos os tons. Apesar de ser possıvel usar diferentes tipos de modulacao, nesse

trabalho sao usadas modulacoes QAM em varios nıveis, ou 2n QAM (onde n sao numeros

pares de 2 a 12), de acordo com a RSR da subbanda. O processo de calcular a melhor

constelacao QAM a ser usada em cada tom e chamado de bitloading, e nesse trabalho, e

utilizado o algoritmo Levin-Campello [17].

2.3 Metricas de desempenho de modulacoes digitais

Idealmente a informacao recebida deve ser recuperada, e deve ser exatamente igual

a que foi transmitida, entretanto, devido as nao idealidades do canal de comunicacao, a

informacao recebida e uma versao distorcida da original. Algumas vezes, devido a alta

distorcao, nao e possıvel recuperar a informacao. No caso de modulacoes digitais e que

usam constelacoes para representar os sinais transmitidos e recebidos, o grau de distorcao

pode ser medido usando a distancia em que o sinal recebido encontra-se do ponto original.

Dependendo do tipo de modulacao digital, a medida deve ser feita de uma forma

especıfica. No caso da modulacao QAM, o receptor pode definir regioes usando retas

entre os pontos da constelacao para indicar um erro. A Figura 2.3 mostra um exemplo de

constelacao de 64 QAM, onde os pontos em vermelho sao os pontos originais transmitidos,

e os cırculos em azul sao os possıveis pontos onde o sinal recebido pode aparecer, devido

a uma RSR de 25 dB. Nessa figura, nao ha erro, pois a regiao possıvel onde o sinal pode

ser recebido nao ultrapassa as regioes de decisao, que sao mostradas na figura como linhas

pretas tracejadas.

No exemplo da Figura 2.3, somente o ruıdo influencia no sinal recebido, entretanto

em sistema de comunicacoes digitais ainda ha o problema de diferencas de clock, ou clock

frequency offset (CFO) em ingles. O CFO faz a constelacao toda rotacionar, aumentando

a probabilidade de erro e, consequentemente, diminuindo as metricas de desempenho no

receptor. A Figura 2.4 mostra o exemplo da Figura 2.3 sofrendo distorcao de CFO. A

intensidade do CFO e medido em parte por milhao (ppm) e esse exemplo utiliza 800 ppm,

o que significa que se o transmissor usa um clock de 400 MHz, o receptor possui uma

diferenca de frequencia de 2 Hz em relacao ao transmissor, o que causa o desvio mostrado

na figura, e que dessa vez faz com que ocorra erro na deteccao em alguns casos, como e

Page 32: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

14

−8 −6 −4 −2 0 2 4 6 8−8

−6

−4

−2

0

2

4

6

8

Fase (I)

Qua

drat

ura

(Q)

Figura 2.3: Modulacao 64 QAM, com pontos originais em vermelho e possibilidade de

ocorrencia dos pontos recebidos devido a uma RSR de 25 dB.

possıvel perceber pelos cırculos que ultrapassam a regiao de decisao.

−8 −6 −4 −2 0 2 4 6 8

−8

−6

−4

−2

0

2

4

6

8

Fase (I)

Qua

drat

ura

(Q)

Figura 2.4: Constelacao da Figura 2.3 sofrendo com CFO de 800 ppm

Dessa forma, ha a necessidade de corrigir o CFO antes de ser feita a demodulacao,

o Capıtulo 3 mostra o algoritmo criado para correcao do CFO. Uma vez que os sinal

recebido esta corrigido, somente o ruıdo pode causar erros na demodulacao, nesse estagio

e possıvel calcular a sua intensidade e classificar o canal de acordo com ela. A tecnica

Error Vector Magnitude (EVM) pode ser usada para quantificar a qualidade do sinal

tanto no receptor quanto no transmissor.

Page 33: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

15

2.3.1 Error Vector Magnitude

O EVM e uma medida da diferenca entre os pontos da constelacao ideais e os

sımbolos medidos depois da equalizacao. A EVM e definida como a raiz quadrada da

razao entre a potencia do vector de erro e a potencia do sinal original [18]. Esse valor e

dado em porcentagem ou em dB, como mostrado nas Equacoes 2.8 e 2.9, respectivamente.

Nas equacoes, Perro e Preferencia sao as potencias da diferenca entre o sinal recebido e o

ponto original e a potencia do ponto original. Como os pontos da constelacao do sinal

original podem possuir amplitudes diferentes, pode-se usar o ponto mais distante para o

calculo de Preferencia.

EVM(%) =

√Perro

Preferencia∗ 100% (2.8)

EVM(dB) = 10 log10

PerroPreferencia

(2.9)

2.4 Field Programmable Gate Arrays - FPGAs

Esta dissertacao utiliza CIs FPGAs para implementar parte do sincronismo mos-

trado nesse trabalho. Quando comparados com CIs de DSPs (Digital signal processor, em

ingles) ou processadores convencionais, os FPGAs tem a vantagem de poder implementar

qualquer algoritmo diretamente em logica digital. Assim, pode-se implementar algorit-

mos em FPGA fazendo um caminho de dados, onde em cada estagio os dados sofrem um

ou mais processamentos, enquanto os proximos estagios e anteriores estao tambem tra-

balhando paralelamente. As duas tecnicas de deteccao implementadas nessa dissertacao

utilizam caminhos de dados para processar as amostras de entrada, e esse caminho e cha-

mado de datapath. E ainda e possıvel utilizar varios datapaths em paralelo para melhorar

o desempenho.

Alem das vantagens ja citadas, os FPGAs sao indicados para interfaceamento com

dispositivos de alta velocidade como ADs e DAs [19] [20]. Nessa dissertacao, o FPGA

Virtex 6 e utilizado, onde os dados do conversor AD e empacotado e enviado para o DSP

via RapidIO, e vice-versa para enviar dados ao conversor DA.

Os FPGAs podem ser utilizados para realizar funcoes de hardware especıficas, por

isso ele sao normalmente comparados com um tipo de CI chamado de circuito integrado

de aplicacao especıfica, ou application-specific integrated circuit (ASIC) em ingles. Am-

Page 34: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

16

bos implementam funcoes especıficas em hardware customizado, entretanto o FPGA e

um dispositivo reprogramavel enquanto que o ASIC possui funcionalidade fixa. A re-

programabilidade tambem influencia em outros dois fatores, o desempenho e a o custo.

Como o FPGA e reprogramavel, ele atinge frequencias de operacao muito menores do

que os ASICs, por exemplo, enquanto o FPGA trabalha em frequencias na faixa de 100

a 200 MHz, o ASIC trabalha na faixa de 1 a 2 GHz. Entretanto, os ASICs possuem ciclo

de projeto muito mais caro que os FPGAs, pois envolve fabricacao de um CI customizado

e leva mais tempo, enquanto os FPGAs sao CIs comerciais e podem ser programados em

segundos.

Os FPGAs alem da componentes que implementam qualquer funcao logica ainda

possuem varios outros elementos embarcados no mesmo CI, como, por exemplo, memorias

RAM (Random access memory), PLLs (Phase locked loops), clocks, controladores Ether-

net, e varios outros. Dentre esses componentes, foram usados nessa dissertacao as

memorias RAM internas, para criacao de filas e armazenamento temporario das in-

formacoes, os PLLs para gerenciamento de clocks e propria logica programavel para a

implementacao dos algoritmos e controle.

2.5 Tecnicas de sincronismo para comunicacoes digitais

Esta secao trata do sincronismo na camada fısica que e um dos requerimentos

necessarios para a recuperacao com sucesso da informacao transmitida. Basicamente

existem dois tipos de sincronismo, e chamado data-aided e o non data-aided. O primeiro

significa que sinal de sincronismo e transmitido junto com a informacao para que o receptor

possa recuperar a temporizacao e a informacao transmitida, no segundo nao e transmitido

sinal auxiliar, somente a informacao, de onde o receptor recupera a temporizacao e os

dados transmitidos.

Para o caso do DMT, varias formas de sincronismo podem ser utilizadas. No caso

de um sincronismo non data-aided, e possıvel utilizar a informacao redundante contida

nos prefixos cıclicos para realizar a deteccao do sımbolo transmitido, para isso o receptor

pode realizar um correlacao cruzada nos prefixos cıclicos para detectar. Esse tipo de

sincronismo nao foi utilizado nesse trabalho, pois apresentou pouca robustez na deteccao.

Nesse trabalho, e utilizada a sincronizacao data-aided, ou seja, sinais de sincronismo

sao transmitidos junto com a informacao para auxiliar o receptor. Como nesse trabalho

e usada a modulacao DMT, alguns dos tons transmitem sinais de sincronismo ao inves

de bits, esses tons sao chamados de tons pilotos. A Figura 2.5 mostra um exemplo

Page 35: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

17

de constelacao recebida, onde os pilotos sao os pontos com maior amplitude (os pontos

afastados). Alem de utilizar os tons pilotos, nesse trabalho ainda e utilizado um sımbolo

DMT especial para realizar a primeira parte do sincronismo, que corresponde ao TDD.

A segunda parte do sincronismo utiliza a fase dos tons pilotos no domınio da frequencia

para estimar a diferenca de clock entre o transmissor e o receptor, que, entao, e usada

para gera um vetor que e multiplicado pelo sımbolo recebido. As implementacoes feitas

sao mostradas no Capıtulo 3 e resultados das tecnicas sao mostrados no Capıtulo 4.

−30 −20 −10 0 10 20 30−30

−20

−10

0

10

20

30

Fase (I)

Qua

drat

ura

(Q)

Pontos das constelações de 50 símbolos recebidos

Figura 2.5: Constelacao recebida com os tons pilotos nos pontos mais afastados

Page 36: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Capıtulo 3

Hardware e Software do Prototipo

Esse capıtulo tem como objetivo apresentar o hardware e os algoritmos implemen-

tados que correspondem ao processo de sincronismo. Na Secao 3.1 sao apresentados em

detalhes os componentes da plataforma criada na UFPa para aplicacoes em RDS que e

denominada Software-defined UFPa transceiver (SOUT). Sao tambem mostrados os com-

ponentes (placas) e a forma de comunicacao entre elas. Na Secao 3.2 sao apresentados

detalhes de uma aplicacao desenvolvida para a SOUT chamada modem-prototype, que

tem como objetivo implementar o padrao G.fast para comunicacao sobre par trancado te-

lefonico. Essa secao tem como foco principal as tecnicas de sincronismo, mas tambem sao

apresentados detalhes da implementacao de outros algoritmos usados no modem-prototype,

com o objetivo de mostrar a aplicacao como um todo.

3.1 Software-defined UFPa transceiver (SOUT)

O hardware utilizado nesse trabalho e composto de tres diferentes placas, onde

uma placa foi desenvolvida na UFPa, em conjunto com a Ericsson Research em Kista na

Suecia, e e chamada de Analog front-end (AFE). As outras duas placas sao as chamadas

placas de avaliacao, placas de desenvolvimento ou ainda modulos de avaliacao (EVM -

Evaluation Module em ingles), esse tipo de placa e produzida por fabricantes de CIs para

servir como referencia para projetistas que utilizarao os CI e tambem para mostrar suas

funcionalidades. As EVMs sao comercializadas por precos muito baixos, quando compa-

rado ao custo de se comprar o CI e os componentes para produzir uma placa contendo

aquele CI, dessa forma, elas sao muito usadas em projetos, principalmente para prototi-

pagem. As EVMs utilizadas nesse trabalho sao uma EVM do DSP TMS320C6670 [21]

18

Page 37: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

19

Tabela 3.1: Comparacao entre precos da EVM e do CI para o FPGA e DSP.

CI (US$) EVM (US$)

TMDXEVM6670 270 400

ML605 1600 1800

da Texas Instruments que realiza a maior parte do processamento de sinais, a outra e a

ML605 [22] que e uma EVM para o FPGA Virtex 6 da Xilinx, que prove ao DSP uma

conexao com o AFE, uma vez que o DSP nao pode ser conectado diretamente ao AFE,

pois os conversores do AFE utilizam o padrao Low-Voltage differential signaling (LVDS),

que nao e suportado pelo DSP. Assim, o FPGA foi incluıdo na plataforma para converter

de LVDS para pacotes RapidIO e vice-versa.

As duas EVMs usadas nesse trabalho sao bons exemplos da vantagem de utiliza-las

para prototipagem, pois os CIs principais (DSP e FPGA) possuem praticamente o mesmo

preco da EVM, que, para o caso da EVM do FPGA, sao aproximadamente US$ 1800 e

US$ 1600 para a EVM e para o CI, respectivamente. O mesmo acontece com a EVM do

DSP, dessa forma, em aplicacoes onde nao ha restricoes de consumo de energia e tamanho,

as EVMs podem ser facilmente usadas. A Tabela 3.1 mostra os precos medio do CI e da

EVM para o DSP e para o FPGA, onde TMDXEVM6670 e ML605 sao os modelos das

EVMs do DSP e do FPGA, respectivamente.

Juntos, o AFE e as duas EVMs, formam uma plataforma de desenvolvimento

e pesquisa criada na UFPa, que e chamada de SOUT, que foi desenvolvida em cola-

boracao com a Ericsson research, com o objetivo de ser um plataforma de desenvolvi-

mento de prototipos e pesquisa em telecomunicacoes. Mais especificamente, a SOUT e

um radio definido por software (RDS), pois seus componentes digitais (DSP e FGPA)

podem ser programados para realizar varias aplicacoes em telecomunicacoes dentro da

faixa de frequencia que o AFE permite. A SOUT esta sendo programada para ser um

modem de tecnologia DSL, baseado no seu ultimo padrao que esta em desenvolvimento,

sendo que sua primeira versao foi finalizada. O padrao ambiciona alcancar taxas maiores

que 1 Gbps usando um unico par trancado de linha telefonica [3], os resultados mostrados

nesse trabalho sao frutos das implementacoes feitas para esse modem.

A aplicacao para fazer a SOUT ser um modem G.fast consiste em software e

firmware correspondendo a aproximadamente 35000 linhas de codigo para DSP e 25000

linhas de codigo para FPGA. A Figura 3.1 mostra o diagrama de blocos dos dois modems

feitos com duas SOUT comunicando-se atraves de um cabo de categoria 5, ou CAT5,

onde a funcao dos modems e prover conexao entre duas redes distintas, e na Figura 3.2

Page 38: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

20

e mostrado o prototipo montado para testes com um cabo de 50 m usando o modem.

As EVMs do DSP e do FPGA usadas na SOUT nao podem ser conectadas diretamente

devido a incompatibilidades dos conectores em empregados, dessa forma, foi desenvolvida

uma pequena placa chamada Breadboard, que faz a simples conversao de conectores para

que os pinos de comunicacao do DSP e do FPGA possam ser conectados. Na Figura 3.1,

a Breadboard e mostrada como o block “BB”.

Figura 3.1: Visao geral da SOUT e suas conexoes.

Figura 3.2: As duas SOUTs da UFPa conectadas por um cabo CAT5 de 50 metros.

3.1.1 AFE

O AFE e responsavel por prover interface entre as outras duas placas, que sao

digitais, com o canal analogico, que nesse caso e um cabo de cobre que pode ter de 50 a

250 metros. O AFE possui um conversor AD que e utilizado na recepcao e um conversor

DA que e utilizado na transmissao, bem como toda a circuitaria analogica necessaria

Page 39: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

21

(amplificadores, filtros analogicos, hıbrida, e clocks para os conversores) para condicionar

o sinal recebido e transmitido. Na Figura 3.3 e mostrado o diagrama de blocos do AFE

da SOUT, que possui duas cadeias de componentes: a cadeia de transmissao e a cadeia

de recepcao. Nessa figura, sao mostradas as conexoes dos componentes do AFE com o

FPGA, onde o FPGA envia e recebe dados dos conversores, controla o gerador de clock

de referencia do AFE, e envia e monitora sinais para outros componentes nao mostrados

nesse diagrama (como fontes de alimentacao).

A cadeia de transmissao e iniciada no DA (DAC5681z [20]), passando por um filtro

anti-imagem para eliminar as imagens do sinal digital geradas no processo de conversao,

o sinal entao e amplificado (OPA2695 [23]) e, por ultimo, o sinal e injetado na linha

atraves da hıbrida. A cadeia de recepcao inicia na hıbrida, passa por um amplificador

de baixo ruıdo de ganho fixo (THS4509 [24]), um filtro anti-aliasing, um amplificador de

ganho programavel (PGA870 [25]) e, finalmente, termina no conversor analogico digital

(ADS5474 [19]).

Figura 3.3: Diagrama de blocos simplificado do AFE.

A hıbrida [14] na Figura 3.3 e responsavel por atenuar o maximo possıvel o sinal

que e passado da cadeia de transmissao para a de recepcao de um mesmo AFE, e fazendo

com que o sinal que chega pela linha telefonica seja entregue o mais fielmente possıvel para

a cadeia de recepcao. A hıbrida e necessaria, pois ha um unico meio de transmissao, que

nesse caso e a linha telefonica, e ha dois sinais trafegando por esse meio, assim a hıbrida

direciona o sinal para a saıda adequada e atenua ao maximo possıvel o sinal na outra

saıda. Ela foi projetada para apresentar a linha telefonica uma impedancia de 130 Ω, pois

de acordo com as especificacoes do padrao G.fast, os valores de impedancia esperados da

linha telefonica devem estar na faixa de 90 a 180 Ω, assim a hıbrida foi projetada para

apresentar impedancia no centro da faixa de valores esperados, para diminuir a perda por

Page 40: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

22

descasamento de impedancias.

O G.fast especifica uma largura de banda de 200 MHz, dessa forma, os conversores

devem trabalhar com frequencias de amostragem adequadas para tal largura de banda.

Na SOUT, devido a limitacao do conversor DA, do filtro anti-imagem do AFE e do con-

versor AD (frequencia de amostragem maxima de 400 MHz), a banda util e de 160 MHz.

Essa taxa de amostragem gera um fluxo de dados de 6400 Mbps do FPGA para o AFE

(conversor DA) e de 5600 Mbps do AFE para o FPGA (conversor AD), caso os conver-

sores estivessem trabalhando em todo momento. Mas como o FPGA implementa uma

arbitragem TDD, enquanto um conversor trabalha o outro fica em espera. Para diminuir

os requerimentos de processamento no DSP e tambem de taxa de dados no RapidIO, o

FPGA faz o processamento de classificacao de amostras recebidas, de modo a somente

enviar ao DSP amostras que contem informacao.

3.1.2 DSP

A EVM do DSP e composta pelo sistema em um chip (SoC - System-on-chip em

ingles) TMS320C6670 da Texas Instruments. Esse SoC possui quatro nucleos de proces-

samento, perifericos e coprocessadores usados para auxiliar os processadores principais

em tarefas que exigem alto poder computacional, onde perifericos sao componentes den-

tro do chip que se conectam com o mundo exterior, como perifericos de comunicacao

serial e Serial peripheral interface (SPI). Os coprocessadores auxiliam os processadores

executando rotinas em hardware, no lugar do processador, onde sao exemplos os copro-

cessadores de FFT, e o network coprocessor (NETCP), que acelera o processamento de

pacotes recebidos pelo periferico de comunicacao ethernet.

Um sistema operacional de tempo real (RTOS - Real-time operating system em

ingles) e usado em um dos processadores, e e configurado para tratar rotinas de tratamento

de interrupcao, e tarefas de menor prioridade como submeter e receber comandos e dados

dos perifericos e coprocessadores.

3.1.3 FPGA

A EVM do FPGA e a ML605 da Xilinx, que possui um CI de FPGA XC6VLX240T.

A principal funcao do FPGA na SOUT e conectar o DSP com os conversores do AFE,

entretanto devido a sua capacidade computacional, alguns algoritmos foram passados do

DSP para o FPGA. Dessa forma, a divisao de processamento entre o DSP e o FPGA ficou

Page 41: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

23

de modo que o DSP faz o processamento no domınio da frequencia e o FPGA faz o pro-

cessamento no domınio do tempo. O codigo do FPGA e composto de codigo desenvolvido

exclusivamente para a SOUT e de propriedades intelectuais (IP - Intellectual property em

ingles) da Xilinx, que sao distribuıdas junto com as ferramentas de desenvolvimento para

os FPGAs.

Os codigos para FPGA desenvolvidos na UFPa realizam duplexacao no domınio do

tempo (TDD - Time-domain duplex, em ingles), que sera explicado mais detalhadamente

na Secao 3.2.1, e sincronizacao de sımbolos, que e o tema deste trabalho. Os IPs da Xilinx

usados, correspondem a memorias internas ao CI FPGA e o IP de RapidIO [26] que e usado

na comunicacao entre DSP e FPGA. Outro IP da Xilinx utilizado e o Microblaze [27],

que e uma implementacao de um processador RISC (Reduced instruction set computing)

dentro do FPGA, e e programado para prover ao usuario da aplicacao do prototipo do

modem uma interface de comando para que as configuracoes do FPGA e do AFE sejam

feitas.

Alem do mais, a EVM do FPGA ainda possui varios perifericos que sao externos ao

FPGA, dentre os quais, sao usados nesse trabalho a memoria DDR3 SODIMM, o conetor

FMC HPC, o conector PCIe 8x, a porta USB JTAG e a porta USB UART. Dentre os

perifericos da ML605 usados, o conector FMC HPC e usado para conectar a ML605 ao

AFE, e o conector PCIe e usado para conectar a ML605 ao DSP.

3.1.4 Conexao fısica e logica entre as placas

A SOUT foi desenvolvida para ser uma plataforma de RDS e a aplicacao modem-

prototype e uma implementacao de um modem G.fast construıda sobre a SOUT. Dessa

forma, a principal funcao da aplicacao modem-prototype e prover uma conexao entre

duas redes distintas, como mostrado na Figura 3.1, em outras palavras a SOUT recebe

pacotes IP atraves da interface ethernet do DSP, e este e processado na cadeia composta

pela SOUT e transmitido atraves de um cabo telefonico para outra SOUT, que faz o

processamento contrario para recuperar a informacao transmitida e repassa-la para a

outra rede.

Ainda na Figura 3.1 e possıvel perceber que o AFE conecta-se ao FPGA, e este ao

DSP. O AFE foi projetado de forma a conectar-se ao FPGA, que recebe amostras dos con-

versores, e controla os componentes do AFE atraves de sinais de controle e duas interfaces

SPI. A conexao entre o DSP e o FPGA e feita utilizando o protocolo RapidIO [28] [26],

que e capaz de atingir taxas de ate 20 Gbps, suficiente para o transporte de controle do

Page 42: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

24

DSP para o FPGA e vice-versa, e principalmente as amostras dos conversores.

Do ponto de vista logico o FPGA age como um conversor de protocolos, ou um

conversor de padroes de tensao. O protocolo escolhido para a interface entre o FPGA e

DSP foi o RapidIO, pois e o protocolo suportado por ambos que possui a maior taxas de

dados. Dessa forma, na cadeia de recepcao, as amostras recebidas do AD sao encapsuladas

em um pacote RapidIO e enviadas ao DSP. Enquanto que na cadeia de transmissao as

amostras sao geradas pelo DSP a partir de pacotes IP que chegam pela interface de rede,

entao as amostras geradas sao encapsuladas em pacotes RapidIO, e enviadas ao FPGA,

que as envia ao DA. Para gerar as amostras a partir de pacotes IP, o DSP usa a tecnica

DMT, que e discutida em mais detalhes nas secoes seguintes.

Figura 3.4: Visao geral das conversoes de dados.

3.2 A aplicacao modem-prototype

Esta secao trata mais detalhes sobre os codigos desenvolvidos para programar o

DSP e o FPGA. Entretanto, como se trata de uma implementacao completa de um modem,

ha muitos algoritmos usados para que o modem seja robusto as dificuldades imposta pelo

canal, como codificacao de canal e bitloading para o DMT. Dessa forma, esta secao detalha

os blocos que compoem a implementacao do modem, mas para que seja mantido o foco do

trabalho, somente os algoritmos que estao diretamente relacionados a parte de sincronismo

serao detalhados a fundo nas proximas secoes.

A aplicacao modem-prototype e composta de duas cadeias, a cadeia de transmissao

e a cadeia de recepcao, e isso implica que a mesma divisao do AFE e tambem feita no

software e firmware do DSP e FPGA. As proximas secoes dao uma descricao detalhada

das duas cadeias, sem dividir o que esta no DSP e no FPGA.

Page 43: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

25

3.2.1 Implementacao da duplexacao no domınio do tempo

(TDD)

Antes de falar sobre as cadeias com compoem a aplicacao, e importante enten-

der como e feita a duplexacao entre dois modems, pois do ponto do vista do codigo que

programa o DSP e o FPGA, as duas cadeias sao separadas, e a arbitragem TDD im-

plementada no FPGA e onde as cadeias se unificam, pois e o codigo TDD que gerencia

quando cada cadeia esta ativa ou nao.

O padrao G.fast define TDD como o modo de duplexacao entre dois modems,

dessa forma, a implementacao do modem-prototype tambem implementa esse mesmo tipo

de duplexacao, entretanto, devido a limitacoes no AFE e no FPGA nao foi possıvel seguir

completamente as recomendacoes do G.fast. Os impedimentos em seguir o G.fast sao

limitacoes fısicas, como por exemplo, o AFE nao possui mecanismo de sincronizar os

clocks dos dois modems, assim nao foi possıvel implementar a duplexacao exata descrita.

Assim, foi feita uma implementacao de TDD o mais proxima possıvel da recomendacao.

Na recomendacao e definido o chamado quadro TDD, que e composto pelos slots

de upstream e downstream. No slot de upstream o modem que faz o papel do equipamento

do usuario (CPE - customer premise equipment) transmite um conjunto de sımbolos para

o DSLAM (DSL access multiplexer), depois o CPE deve esperar que o DSLAM transmita

na oportunidade de downstream. A Figura 3.5 mostra a organizacao do quadro TDD

descrita.

Na Figura 3.5 os slots de downstream e upstream possuem o tamanho de 6.5

sımbolos no domınio do tempo com CP. Onde, 4 sımbolos podem transportar informacao

(INFO), 1 e usado para sincronizacao (SINC), 1 e usado para estimacao de canal (ES-

TIM), 0.5 sımbolo e usado como tempo de guarda entre os dois slots e caso nao haja

sımbolos para transmitir ate 5 sımbolos podem ser usados como IDLE. Os sımbolos IDLE

sao necessarios, pois, para que a implementacao TDD mantenha o sincronismo, todos os

sımbolos do slot devem estar presentes, o sımbolo IDLE sera detectado e descartado pelo

FPGA.

Toda a arbitragem do TDD e organizacao dos sımbolos nos quadros sao feitas no

FPGA. Assim, na cadeia de transmissao, o FPGA recebe sımbolos do DSP, que ficam ar-

mazenados no FPGA ate a oportunidade de transmissao. Antes de transmitir os sımbolos

INFO, o FPGA transmite um sımbolo SINC para sinalizar o inıcio da transmissao, que

ativara o receptor do outro modem. O segundo sımbolo enviado e o ESTIM, que e usado

no DSP para fazer a estimacao do canal e corrigir os sımbolos INFO na recepcao. Os

Page 44: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

26

Figura 3.5: Um slot TDD usado na SOUT.

sımbolos de numeros 3, 4, 5 e 6 podem ser INFO ou IDLE, sendo que o segundo so e

transmitido caso nao haja sımbolos INFO, com o objetivo de manter o sincronismo. No

receptor, o IDLE sera detectado e descartado. Se nao houver nenhum sımbolo INFO

para transmitir, entao somente sımbolos IDLE sao transmitidos, quando isso acontece o

slot fica composto de um SINC seguido de cinco IDLEs, e o receptor descartara todos os

sımbolos daquele slot.

Apos transmitir o quadro, o modem entra no estado de deteccao, onde ele espera

pelo sımbolo SINC do outro modem. Apos SINC ser detectado, o modem verifica se o

sımbolo atual e IDLE, que e descartado, caso contrario o sımbolo e salvo e enviado ao

DSP. Os sımbolos IDLE e SINC sao o mesmo sımbolo, sendo diferenciados pela posicao

em que ocorrem no quadro, se ocorrer na primeira posicao e chamado de SINC, senao, e

chamado de IDLE. Usar o mesmo sımbolo permite usar o mesmo detector para detectar

os dois sımbolos, assim simplifica a implementacao do receptor.

Os detectores sao descritos em detalhes na Secao 3.2.5.1 e na Secao 3.2.5.2

3.2.2 Comunicacao com os conversores

Na SOUT os conversores presentes no AFE operam em altas velocidades, ou, mais

especificamente, 400 MHz. Assim, para simplificar a interface com esses conversores,

eles foram projetados para operar usando a tecnica Double data rate (DDR) [19] [20].

Normalmente os sistemas digitais operam sıncronos com borda de subida ou a borda de

descida do sinal de clock, nos sistemas que usam DDR, os dados sao transferidos em ambas

as bordas. Assim, usando DDR, e possıvel diminuir pela metade a frequencia de operacao

do clock, e isso simplifica e a parte do projeto da placa de circuito impresso (PCI), pois

as frequencias sao diminuıdas pela metade. Dessa forma, os conversores do AFE, que

operam a 400 MHz, transferem dados nas duas bordas de um sinal de clock de 200 MHz.

A Figura 3.6, mostra a transferencia de dados usando DDR, onde o sinal DCLK e o clock

e D e o barramento de dados sendo transferido nas duas bordas de DCLK.

Page 45: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

27

Figura 3.6: Transferencia de dados usando DDR. O sinal DCLK(P/N) e o clock o sinal

D[15:0](P/N) e o barramento de dados sendo transferido nas duas bordas de DCLK.

Figura retirada do manual do DAC5681z.

O FPGA, como a maioria dos sistema digitais, trabalha em Single data rate (SDR),

que e a tecnica complementar a DDR, onde o dispositivo opera somente em uma borda do

sinal de clock. Entretanto, o FPGA possui circuitos especiais dedicados para interfacear

com dispositivos DDR [29], onde os dados transmitidos em DDR sao lidos por esses

circuitos e entregue a logica interna do FPGA de forma que os dados da subida e da

descida do clock sao entregues juntos, em um unico barramento com o dobro do tamanho

original. Assim, a aplicacao modem-prototype deve trabalhar com duas amostras por vez

para interfacear com os conversores, logo o FPGA deve operar (na parte de interface com

os conversores) a 200 MHz. Mas para diminuir a frequencia de clock interna do FPGA, um

esquema e usado para que o FPGA converta para um barramento de 4 amostras, e assim

consiga usar 100 MHz de frequencia interna, isso faz com que diminua os requerimentos

do FPGA e facilita a implementacao. A Figura 3.7 mostra esse esquema, onde ODDR e

IDDR sao os circuitos especiais do FPGA que fazem a interface com os dispositivos DDR.

Na recepcao, a saıda do IDDR e injetada na entrada de dois registradores em

cadeia operando no clock de 200 MHz, a saıda desses dois registradores e paralelizada e

injetada em um registrador com o dobro do tamanho operando no clock de 100 MHz, que

entao repassa a logica do interna do FPGA. Na transmissao, as quatro amostras vindas

da logica do FPGA sao divididas em dois barramentos contendo duas amostras cada, e

o clock de 200 MHz e usado para chavear entre os dois barramentos. Um registrador de

duas amostras e usado para sincronizacao, entao o circuito do FPGA ODDR gera o sinal

DDR e envia ao DA.

E importante explicitar que diminuir o clock para 100 MHz e trabalhar com qua-

tro amostras, foi uma decisao de projeto da aplicacao modem-prototype, assim o esquema

apresentado na Figura 3.7 e especıfico dessa aplicacao, e e explicado para melhor en-

tendimento dos algoritmos que sao executados pelo FPGA. Outras aplicacoes que usem

a SOUT nao precisam fazer essa conversao, entretanto, toda aplicacao usando a SOUT

deve usar o ODDR e IDDR para interfacear com os conversores. Os circuitos ODDR e

Page 46: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

28

Figura 3.7: Esquema usado no FPGA para fazer a conversao de 200 para 100 MHz.

IDDR sao especıficos dos FPGAs da famılia Virtex da Xilinx, logo, para FPGAs de outras

famılias ou famılias mais avancadas esses nomes podem mudar.

3.2.3 Cadeia de transmissao

A Figura 3.8 mostra a sequencia de algoritmos aplicados aos pacotes recebidos

da rede IP para que estes gerem sımbolos DMT que serao transmitidos pela linha. Os

proximos paragrafos descrevem com mais detalhes as funcoes dos blocos da Figura 3.8.

Figura 3.8: Ilustracao em diagrama de blocos da cadeia de transmissao.

Descricao dos blocos da cadeia de transmissao:

• Codificador Reed-Solomon (RS) [30]: este bloco adiciona bytes de paridade

a informacao para permiter a deteccao e correcao de erros no receptor. A imple-

mentacao atual adiciona 16 bytes de paridade e agrupa os pacotes IP em palavras-

codigo com tamanhos de 170 a 255 bytes, dependendo do numero de bytes que um

sımbolo DMT pode carregar.

Page 47: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

29

• Slicer de quadros: o padrao G.fast define um Data frame como um conjunto de

Data transfer units (DTU) que serao modulados em um sımbolo DMT. O Slicer de

quadros e capaz de retirar os bytes de um Data frame para gerar o sımbolo QAM

que e transmitido em cada tom.

• Mapeamento: esse bloco vai gerar os sımbolos QAM a partir dos bits gerados pelo

Slicer de quadros.

• IFFT: ate este ponto o sımbolo DMT e tratado no domınio da frequencia, este

bloco realiza o algoritmo IFFT, para converter os sımbolos DMT para o domınio do

tempo. Neste ponto os sımbolos DMT sao enviados para o FPGA.

• Adicao de prefixo cıclico: o CP e adicionado ao sımbolo DMT para deixa-lo mais

robusto a interferencia intersımbolica, e como isso e feito simplesmente repetindo as

amostras do final do sımbolo no inıcio, essa operacao e feita no FPGA para evitar

o uso da interface RapidIO entre o DSP e o FPGA para transmitir informacao

redundante. Dessa forma, ao receber um sımbolo do DPS, o FPGA o direciona

para o DA, mas primeiro as amostras do final do sımbolo sao transmitidas e entao

o sımbolo.

3.2.4 Cadeia de recepcao

Neste trabalho o foco e dado a cadeia de recepcao, pois e onde os algoritmos de

sincronismo sao aplicados para que, em conjunto com outros algoritmos como equalizacao

de canal, o sımbolo recebido esteja o mais proximo possıvel do sımbolo transmitido. Esta

secao mostra e explica o diagrama de blocos da cadeia de recepcao, entretanto, os algo-

ritmos de sincronismo sao tratados com mais detalhes na Secao 3.2.1, na Secao 3.2.5.1 e

na Secao 3.2.5.2.

A Figura 3.8 mostra os algoritmos que compoem a cadeia de recepcao na sequencia

em que eles sao aplicados ao sinal recebido, onde o primeiro e o Slot detection e continua

da direita para a esquerda.

E importante notar que os blocos RS, Deslicer de quadros, Desmapeamento, IFFT

e Remocao de prefixo cıclico fazem exatamente a operacao contraria dos blocos com nomes

similares na Figura 3.8, dessa forma nao serao explicados aqui.

Os blocos restantes sao tratados em mais detalhes nos proximos paragrafos, e os

que realizam os algoritmos que sao focos desse trabalho, sao descritos na Secao 3.2.1, na

Secao 3.2.5.1 e na Secao 3.2.5.2 com nıvel de detalhes aprofundado.

Page 48: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

30

• Deteccao de slot: esse bloco encontra-se no FPGA, e e responsavel por detectar o

sımbolo SINC, uma vez que este e detectado, esse bloco procura por sımbolos IDLE

usando o mesmo detector. Caso o sımbolo que acabou de chegar nao seja detectado

como IDLE, este sımbolo e salvo na memoria do FPGA e, posteriormente, enviado

ao DSP. Este bloco e em parte da responsavel pela implementacao do TDD, e

ele corresponde ao tempo do TDD em que o modem recebe dados da linha. Um

exemplo, em um modem que faz papel de CPE, a Deteccao de slot esta esperando

pela oportunidade de transmissao de downstream.

• FEQ: e o bloco responsavel pela equalizacao dos sımbolos recebidos, essa operacao

e chamada de equalizacao [14] [16] em frequencia (FEQ - frequency equalization

em ingles), cada slot recebido que contem pelo menos um sımbolo INFO tambem

possui um sımbolo de estimacao de canal (ESTIM), ou seja, de um slot no mınimo

sao repassados ao DSP dois sımbolos. O sımbolo ESTIM e usado pelo DSP para

atualizar a estimacao do canal para que o sımbolos INFO recebidos possam ser

corrigidos.

• RSR est: faz a estimacao de RSR na chamada fase de treinamento do modem,

nessa fase nenhuma informacao e transmitida, somente sımbolos ESTIM, e e feita a

estimacao de RSR que seja feito o calculo de bitloading dos tons.

3.2.5 Detectores

Como descrito na Secao 3.2.1, o FPGA e responsavel pela deteccao de sımbolos

que chegam pela linha. Esta secao prove mais detalhes sobre o processamento de sinal

realizado para fazer a deteccao. Os detectores usados na SOUT sao o Schmidl & Cox

(S&C) e o xCorr, e foram adaptados para trabalhar com quatro amostras por ciclo de

clock, devido aos requerimentos do FPGA descritos na Secao 3.2.2.

Quando comparadas as implementacoes dos dois detectores no FPGA, e possıvel

perceber que o detector S&C usa menos recursos do FPGA que o xCorr, assim ele e mais

facilmente incorporado no FPGA com o restante do codigo. Mas em relacao a deteccao

de sinais o xCorr e bem mais robusto e consegue detectar sinais numa faixa de potencia

muito maior, sem falsos positivos ou negativos. Mais detalhes sao dados nas proximas

secoes.

Page 49: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

31

3.2.5.1 Detector Schmidl & Cox

Este detector, publicado pela primeira vez em [9], e baseado em uma correlacao

cruzada modificada, onde o algoritmo consegue detectar um sımbolo DMT com tamanho

especıfico, que nesse caso e o tamanho do sımbolo DMT usado no modem-prototype,

sendo que esse sımbolo deve ser composto de duas metades iguais no domınio do tempo.

A geracao desse sımbolo pode ser feita simplesmente gerando uma sequencia aleatoria

com metade do tamanho do sımbolo DMT e transmitindo duas vezes essa sequencia no

lugar de um sımbolo DMT (como explicado na Secao 3.2.1).

Tambem e possıvel gerar esse sımbolo de uma maneira mais formal, usando a cadeia

DMT onde o sımbolo e criado usando somente os tons pares ou ımpares do sımbolo DMT.

Caso sejam usados os tons pares, o sımbolo e gerado no domınio do tempo com duas

metades exatamente iguais, e no caso de se usar os tons ımpares, o sımbolo e gerado com

duas metades iguais mas com sinais opostos. Do ponto de vista do detector, as duas

formas de gerar sao equivalente, pois o algoritmo eleva ao quadrado o sinal de entrada.

As Equacoes (3.1) e (3.2), obtidas a partir da equacao da transformada discreta inversa de

Fourier, mostram como gerar sımbolos no domınio do tempo simetricos e anti-simetricos,

respectivamente, onde Xk pode ser qualquer numero complexo mas e possıvel utilizar

o modulador QAM para gerar-los de forma a reaproveitar a estrutura de modulacao ja

existente [9].

xn =1

N

N/2−1∑k=0

Xkej2π(2k)n/N (3.1)

xn =1

N

N/2∑k=1

Xkej2π(2k−1)n/N (3.2)

O detector S&C consegue detectar o sinal aplicando uma sequencia de operacoes no

sinal recebido, para entao obter uma metrica de temporizacao. Quando a metrica de tem-

porizacao atinge ou passa de um limiar, o detector acusa a deteccao. As Equacoes (3.3)

e (3.4), retiradas de [9], mostram a sequencia de operacoes realizadas no sinal de en-

trada r, para entao obter a metrica de temporizacao descrita pela Equacao (3.5). As

Equacoes (3.3), (3.4) e (3.5) foram ligeiramente modificadas de sua versao original, pois

em [9] elas sao descritas para sımbolos OFDM que podem ser complexos no domınio do

tempo, e nesse trabalho os sımbolos sao DMT, que sempre sao reais no domınio do tempo.

Nas Equacoes (3.3), (3.4) e (3.5) a variavel L e igual a metade do tamanho do sımbolo

DMT, e os ındices d, d+L e d+2L, representam a amostra que sai do detector, a amostrada

Page 50: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

32

do meio do sımbolo e a amostra que entra no detector. Assim, as equacoes comparam a

primeira metade do sımbolo com a segunda metade atraves da divisao da Equacao (3.5),

e quando o detector estiver processando o sımbolo definido nas Equacoes (3.1) e (3.2), P

e R serao iguais, logo, o valor de M sera igual a 1.

P (d+ 1) = P (d) + (rd+Lrd+2L)− (rdrd+L) (3.3)

R(d+ 1) = R(d) + r2d+2L − r2

d+L (3.4)

M(d) =P 2(d)

R2(d)(3.5)

A Figura 3.9 mostra curvas tıpicas da metrica de temporizacao quando o S&C e

usado, nessa figura o sımbolo processado alem de ter as duas metades iguais no domınio

do tempo, ainda possui seu final repetido no inıcio a criacao prefixo cıclico, e isso cria o

plato mostrado na figura em torno da abscissa zero. Isso significa que as Equacoes (3.3)

e (3.4) estao processando o prefixo cıclico do sımbolo. Outra interpretacao para o plato,

ou para o valor maximo de M(d), e referente a RSR do sinal, pois esse valor maximo pode

ser usado para encontrar o nıvel de ruıdo que o sımbolo sofreu ate chegar no receptor.

Dessa forma, tambem foi definido em [9] uma forma de calcular a RSR a partir desse

valor maximo, que tambem pode ser usada para definir o limiar para acusar a deteccao

do sımbolo. E importante destacar que, uma vez que ruıdo e adicionado ao sinal, o valor

maximo de M(d) passa a sofrer variacao. Um valor maximo tıpico de M(d) e 0.8 quando

a RSR e 10 dB.

No modem-prototype, como foi explicado na Secao 3.2.2, o FPGA deve trabalhar

com quatro amostras por ciclo de clock, logo as Equacoes (3.3) e (3.4) foram modificados

para atualizar os valores de P e R com quatro amostras por vez. Dessa forma, a restricao

de trabalhar com quatro amostras resultou nas Equacoes (3.3) e (3.4) ficando modifica-

dos, onde os termos +(rd+Lrd+2L) e −(rdrd+L) foram atualizados para incluir as quatro

amostras. Outras modificacao feita na implementacao do FPGA ao algoritmo original,

foi eliminar os quadrados na obtencao de M(d) na Equacao (3.5), essa decisao foi feita

para economizar recursos do FPGA, assim, a Equacao (3.6) que resulta da modificacao,

somente utiliza modulos ao inves de multiplicacoes. Essa modificacao altera o calculo de

M(d), logo nao e mais possıvel usar o metodo descrito em [9] para estimar a RSR atraves

do valor maximo dessa funcao. Dessa forma, no modem-prototype o limiar foi definido

atraves de simulacoes.

Page 51: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

33

−1.5 −1 −0.5 0 0.5 1 1.50

0.2

0.4

0.6

0.8

1

Símbolo

M(d

)

RSR infinitaRSR=10dB

Figura 3.9: Exemplo da metrica de temporizacao para o S&C quando a RSR e infinita.

M(d) =|P (d)||R(d)|

(3.6)

A Figura 3.10 mostra a implementacao do algoritmo no FPGA, onde toda a estru-

tura e quadruplicada devido a restricao de ter que processar quatro amostras. Alem dos

blocos incluıdos na figura, ainda ha outro que nao aparece na mesma, que faz a comparacao

do valor de M(d) com o limiar e acusa a deteccao. A memoria mostrada na Figura 3.10

armazena exatamente um sımbolo DMT, e os enderecos END D e END DL possuem di-

ferenca de 2048 (metade do tamanho do sımbolo DMT usado no modem-prototype), dessa

forma e possıvel, junto com o registrador, armazenar as amostras e usa-las de acordo com

as Equacoes (3.3) e (3.4).

Figura 3.10: Implementacao do detector S&C no FPGA.

Page 52: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

34

3.2.5.2 Detector xCorr

Este detector foi projetado como uma alternativa ao S&C, principalmente devido

a alguns problemas apresentados por ele. No xCorr a correlacao cruzada e implementada

diretamente, entretanto, o valor maximo da correlacao tambem varia de acordo com a

energia do sinal recebido. Assim, a correlacao e normalizada de forma que o resultado

da correlacao fica entre 0 e 1. O fato de usar correlacao cruzada e o limiar ser sempre

proximo de um (e nao variar), faz com que o xCorr apresente desempenho muito melhor

do que o S&C, mesmo para sinais atenuados e distorcidos pelo ruıdo, e tambem nao ha

necessidade de definir limiar. Entretanto, o xCorr usa muito mais recursos do FPGA,

como explicado no Capıtulo 4.

O xCorr, diferentemente do S&C, precisa de um sinal de referencia, ou seja, o

receptor precisa armazenar o sinal transmitido para comparacao. A Equacao (3.7) mostra

as operacoes realizadas para obter a metrica de temporizacao M no algoritmo xCorr,

onde x(i) e o sinal recebido e ref(i) e o sinal de referencia que fica salvo no receptor.

O numerador da Equacao (3.7) corresponde ao calculo de uma correlacao cruzada, que e

elevada ao quadrado. O denominador corresponde ao calculo das energias dos sinais x(i)

e ref(i) [31].

M =

(∑Ni=1 x(i)ref(i)

)2

∑Ni=1 x

2(i)∑N

i=1 ref2(i)

(3.7)

Como o sinal ref(i) e um sinal conhecido, e possıvel pre-calcular sua energia e a

Equacao (3.7) pode ser simplificada resultando na Equacao (3.8), que foi implementada

no FPGA. Na Equacao (3.8), o operador >> corresponde a um deslocamento de bits para

a direita, onde o numero que aparece a direita desse operador indica o numero de bits

que devem ser deslocados. A simplificacao consiste em gerar o sinal ref(i), que e salvo

no transmissor e no receptor, de modo que∑N

i=1 ref2(i) = 232.

M =

(∑Ni=1 x(i)ref(i)

)2

>> 32∑Ni=1 x

2(i)(3.8)

Como a correlacao cruzada e uma operacao custosa tanto em hardware quanto

em software, no modem-prototype, ao inves do xCorr ser aplicado em um sımbolo DMT

inteiro, somente uma sequencia de 64 amostras e usada. Essa sequencia e suficiente para

gerar uma boa diferenca entre o pico da correlacao e o ruıdo, e foi obtida atraves de

simulacoes feitas com o algoritmo antes de ser implementada no FPGA. Assim, o sımbolo

Page 53: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

35

transmitido consiste em uma sequencia de 64 amostras seguida de zeros para completar

o sımbolo DMT.

O xCorr tambem precisa trabalhar com quatro amostras por vez, devido ao que

foi descrito na Secao 3.2.2, assim 4 implementacoes de xCorr de 64 amostras foram in-

corporadas no FPGA. A Figura 3.11, mostra a implementacao do xCorr no FPGA. Na

Figura 3.11 ha uma bloco chamado delay, que e necessario, pois o calculo da energia do

sinal e feito em menos ciclos de clock do que o calculo da correlacao cruzada, assim eles

precisam ser alinhados para que a divisao produza resultados corretos.

Figura 3.11: Implementacao do detector xCorr no FPGA.

Como foi explicado na Secao 3.2.2 a interface com o AD entrega a logica do FPGA

um bloco de quatro amostras por ciclo de clock, que serao processadas pelos detectores, e

cada amostra vai para um xCorr. Um problema que ocorreu durante o projeto do xCorr,

foi que a primeira amostra da sequencia ref(i) pode estar em qualquer uma das quatro

posicoes do bloco, assim, se a primeira amostra nao for direcionada para algum xCorr o

detector falhara. Para solucionar esse problema, os quatro xCorrs sao implementados no

FPGA para detectar o mesmo sinal ref(i), sendo que esse sinal e composto das amostras

multiplas de quatro de um sinal de tamanho igual a 256. A Figura 3.12 mostra o sinal

transmitido e quais amostras dele sao usadas para compor o sinal ref(i).

Como o FPGA faz a conversao para trabalhar com quatro amostras por vez, a

amostra A1 do sinal da Figura 3.12 pode ser colocada em qualquer uma das quatro

posicoes do grupo de quatro amostras, como mostrado da Figura 3.13, onde e mostrado

um exemplo que as amostras do sinal ref(i) estao sempre na segunda posicao do grupo.

Assim, como ha no FPGA quatro implementacoes do xCorr, cada uma recebe uma posicao

do grupo de amostras, e, dessa forma, quando todas as amostras do sinal ref(i) passarem

Page 54: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

36

Figura 3.12: Sinal SINC transmitido para o detector xCorr.

pelo detector, somente um xCorr ira acusar a deteccao. Uma vez que um xCorr detecta,

e possıvel encontrar a primeira amostra do sımbolo DMT a partir de qual detector fez a

deteccao.

Figura 3.13: Sinal SINC recebido pela interface dos conversores com o FPGA.

A Figura 3.14 ilustra como as amostras recebidas dos conversores sao repassadas

aos xCorrs. Nesse exemplo, as amostras do sinal ref(i) estao sempre na segunda posicao

do grupo de quatro amostras, dessa forma, o unico detector que ira detectar o sinal e o

segundo. A Figura 3.15 mostra um conjunto de curvas tıpico que e entregue pelos xCorrs,

para o caso da Figura 3.13.

Figura 3.14: Ilustracao de como as amostras do sinal recebido sao repassadas aos xCorrs.

Nesse exemplo, as amostras do sinal ref(i) sempre estao na segunda posicao do grupo de

quatro amostras.

Page 55: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

37

−30 −20 −10 0 10 20 30

−0.2

0

0.2

0.4

0.6

0.8

1

xCorr 1xCorr 2xCorr 3xCorr 4

Figura 3.15: Exemplo de resultados dos xCorrs quando o sinal ref(i) esta na segunda

posicao do grupo.

3.2.6 Correcao de diferencas de clock

Um problema pertinente em qualquer sistema de comunicacao e a questao da di-

ferenca dos clocks do transmissor e do receptor, conhecido como Clock frequency offset

(CFO), que basicamente e causado pela diferenca dos clocks do transmissor e do receptor,

assim, esquemas de modulacao que utilizam temporizacao precisa (e.g. QAM) podem ter

seu desempenho diminuıdo, ou mesmo a recuperacao do sinal impossibilitada. Tempo-

rizacao apropriada e um fator chave para a demodulacao com sucesso do sımbolo recebido,

para o caso de um esquema de modulacao coerente. Na aplicacao modem-prototype e usada

a modulacao DMT, sendo que seu processo de demodulacao e coerente, o que significa

que a portadora do sinal transmitido precisa ser recuperada tanto em frequencia quanto

em fase.

A modulacao DMT e normalmente transmitida em banda base, o que significa

que nao ha necessidade de recuperacao ou sincronizacao da portadora, somente sendo

necessaria a recuperacao do clock de amostragem. No modem-prototype o sincronismo

e feito em duas etapas, a primeira corresponde a deteccao dos sımbolos, descrita na

Secao 3.2.5, onde os sımbolos contendo informacao sao salvos e enviados ao DSP. A

segunda etapa corresponde a estimar a diferenca dos clocks a partir de tons piloto no

proprio sımbolo recebido, e essa estimacao e usada para corrigir os sımbolos recebidos.

Mesmo sem a necessidade de manter o sincronismo das portadoras, manter o clocks

de amostragem do transmissor e do receptor nao e uma tarefa simples. Os osciladores

Page 56: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

38

que geram os clocks de amostragem sao configurados para os mesmo valores nominais1,

entretanto, devido as imperfeicoes nos circuitos, componentes e variacoes no processo de

fabricacao e da temperatura os clocks sao ligeiramente diferentes. A precisao dos oscilado-

res sao especificados em parte por milhao (ppm), mas mesmo quando os dispositivos sao

muito precisos ainda ha necessidade se manter, atraves de processamento, os dispositivos

alinhados.

A Figura 3.16 mostra que, devido a pequena diferenca nas frequencias dos clocks, a

diferenca de fase deles e incrementada periodicamente, e essa fase variavel e prejudicial a

demodulacao dos sımbolos. No modem-prototype a correcao e feita toda em domınio digi-

tal, e e iniciada no processo de deteccao. No processo de deteccao o sımbolo e amostrado

e somente os sımbolos contendo informacao sao salvos, acontece que os dois detectores

usados nesse trabalho erram, ou seja, em cada ocorrencia de um novo slot os sımbolos

possuem um numero diferentes de amostras do prefixo cıclico, mais detalhes sobre o de-

sempenho dos detectores sao dados no Capıtulo 4 e na proxima secao.

Figura 3.16: Exemplo onde alem da diferenca de fase, os clocks possuem frequencias

diferentes. Assim, os ∆ sempre mudam.

3.2.6.1 Definicao de cursor

No modem-prototype sao usados detectores para receber os sımbolos transmitidos,

onde os sımbolos possuem CP, que tem como principal objetivo aumentar a robustez

do sımbolo as distorcoes causadas pelo canal [14]. A Figura 3.17 mostra o sımbolo DMT

composto de N = 4096 amostras e o CP, que corresponde a repeticao de algumas amostras

do final do sımbolo no seu inıcio, no modem-prototype o tamanho do prefixo cıclico e de

128 amostras. O CP torna o sımbolo robusto as distorcoes do canal, pois ele e adicionado

na parte do sımbolo que sofre mais distorcao causada por interferencia intersimbolica,

dessa forma, ele e distorcido no lugar do sımbolo. Para que o CP surta efeito, ele precisa

1E normalmente usam o mesmo modelo de dispositivo.

Page 57: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

39

ter pelo menos a mesma duracao da dispersao do canal, e esse valor pode ser obtido a

partir da estimacao do canal, no modem-prototype esse valor e fixo e grande o suficiente

para os canais usados (cabos de 50 m e 100 m).

Figura 3.17: Definicao de cursor n0 e ilustracao de como ele acontece.

Os detectores podem errar, e e esperado que todo slot possua um numero diferente

de amostras do CP em relacao ao anterior, ou seja, como ha variacao, no modem-prototype

e assumido o pior caso. O numero de amostras do CP e chamado de cursor do sımbolo

ou n0, e como o processamento do DMT considera que os sımbolos sao periodicos e como

se fosse salvo parte de um perıodo anterior e parte do perıodo atual do sımbolo DMT.

No modem-prototype convencionou-se que um n0 positivo e menor que o tamanho do CP

corresponde salvar o sımbolo e parte do seu CP, isso nao distorce o sımbolo, somente

rotaciona a constelacao. Enquanto que n0 negativo corresponde a salvar o sımbolo e

parte do CP do proximo sımbolo, quando isso acontece os sımbolos salvos sao distorcidos

e podem ficar irrecuperaveis. A recuperacao de um sımbolo DMT que sofre n0 negativo

nao e simples, mas e possıvel com algumas tecnicas como [32].

Como se sabe que os detectores erram, no FPGA o n0 e forcado a ser ligeiramente

maior que a media desses erros, dessa forma, e garantido que o sımbolo sempre sera salvo

com seu proprio CP e nao o do proximo sımbolo. No detector S&C isso e feito aumentando

ou diminuindo o limiar, enquanto que no xCorr uma cadeia de atraso e colocada na sua

saıda.

Quando n0 > 0, o sımbolo QAM no tom k do sımbolo DMT (de N pontos) sao

rotacionados por uma fase definida por −∆θ[k], onde

∆θ[k] =2πn0k

N= βk (3.9)

com

β =2πn0

N(3.10)

como discutido em [8] [11].

Page 58: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

40

Entretanto, devido ao CFO, o n0 nao e um numero inteiro, ele possui tambem

uma parte fracionaria que e incrementada a cada ciclo de clock. Diferentemente da parte

inteira, que e a mesma para um slot inteiro a parte fracionaria e incrementada. Para

simplificar no modem-prototype e assumido que cada sımbolo do slot possui um n0 fixo, e

o proximo sımbolo possui um n0 incrementado pelo total da fase acumulada do sımbolo

anterior inteiro. A Figura 3.18 mostra o incremento tıpico que acontece em um sımbolo

em relacao ao sımbolo anterior, onde a parte inteira e o numero de amostras do CP e a

parte fracionaria corresponde ao CFO. E possıvel ainda perceber que ha um incremento

medio de 5% de amostra de um sımbolo para outro.

0 5 10 15 20 25 3020.54

20.56

20.58

20.6

20.62

20.64

20.66

20.68

20.7

20.72

Símbolo DMT

n 0

n0

Figura 3.18: Estimacao de n0 para varios sımbolos DMT recebidos em sequencia.

3.2.6.2 Arquitetura para sincronizacao e equalizacao.

O modem-prototype tem duas fases que sao mostradas nas Figuras 3.19 e 3.20, de-

nominadas fases de treinamento e de showtime. Na fase de treinamento somente sımbolos

ESTIM sao transmitido e o receptor os usa para fazer a estimacao mais precisa possıvel

do canal, fazendo a media de varias realizacoes sımbolos ESTIM de diferentes slots.

A fase de treinamento consiste em processar o sımbolo ESTIM recebido de modo que

seja feita a estimacao de canal para aquela realizacao do ESTIM atraves da operacao

SFEQ1 = TX/RX. O mesmo sımbolo tambem e processado para que a informacao

Page 59: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

41

da fase do sımbolo seja estimada (FEQ2 da Figura 3.20), dessa forma, com essas duas

informacoes e possıvel gerar o vetor FEQ1, que corresponde a um vetor para correcao de

sımbolos nao rotacionados (i.e. com n0 = 0) nao rotacionado, e este, entao, e incluıdo na

media historica de todas as realizacoes de FEQ1.

Na fase de showtime a sincronizacao e equalizacao sao feitas na seguinte ordem.

• Deteccao de slot : como e explicado em outras secoes, sao usados algoritmos baseados

em correlacao cruzada para estimar o inıcio dos slots, e entao salvar os sımbolos

INFO. Nas Figuras 3.19 e 3.20 e mostrado como Recebe 1 sımbolo DMT.

• Equalizacao: e usada para mitigar os efeitos do canal e tambem do cursor

• Estimacao e correcao de cursor.

Figura 3.19: Fases de treinamento do modem-prototype.

Na fase de showtime caso o sımbolo sendo processado seja o ESTIM, entao ele e

usado para atualizar a estimacao de FEQ1 feita na fase de treinamento. Essa atualizacao

nao altera a estimacao feita durante a fase de treinamento, somente a atualiza para aquele

slot. O sımbolo ESTIM e processado primeiramente sendo equalizado por FEQ1, e entao

e calculado o n0 de ESTIM (i.e. aproximadamente o mesmo para o slot inteiro), e essa fase

e usada para atualizar FEQ1 que gerara o vetor FEQ que equalizara os outros sımbolos

Page 60: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

42

Figura 3.20: Fases de showtime do modem-prototype.

do slot. Os sımbolos INFO recebidos sao multiplicados por FEQ no domınio da frequencia

e equalizados. Apos a multiplicacao por FEQ, os sımbolos equalizados sao repassados a

cadeia de processamento DMT mostrada na Figura 3.8 e descrita na Secao 3.2.4.

3.2.6.3 Estimacao de cursor

Para corrigir o n0 dos sımbolos QAM, um bloco de correcao de cursor e res-

ponsavel por multiplicar os sımbolos recebidos RX[k] por FEQ2[K], onde RX[k] e a

representacao de um sımbolo DMT recebido no domınio da frequencia e FEQ2[k] e dado

pela Equacao (3.11). FEQ2 somente altera a fase do sımbolo recebido, e isso inclui

correcao de distorcoes causadas por n0 6= 0 e de CFO.

FEQ2 = ej(∆θ[k]) = ej2πn0kN = ejβk (3.11)

A Equacao (3.10) mostra a relacao entre n0 e β, dessa forma, encontrar β e equiva-

lente a estimar n0. Assim, assumindo o lado direito da Equacao (3.9), e possıvel usar tons

pilotos2 para estimar β atraves de regressao linear, como explicado a seguir. Dado K tons

pilotos, β pode ser calculado a partir da regressao linear da Equacao (3.12). A parte a

direita da Equacao (3.12) foi arrumada de forma a ser computacionalmente eficiente, pois

2Tons pilotos sao tons do sımbolo DMT que nao carregam informacao, eles possuem amplitude e fase

conhecidas pela receptor, e esse informacao e usada para estimar n0.

Page 61: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

43

somente as partes∑k∆θ[k] e

∑∆θ[k] precisam ser calculados, enquanto que as outras

podem ser pre-calculadas e armazenadas na memoria.

β =k∆θ − k ∆θ

k2 − k2 =

∑k∆θ − k

∑∆θ∑

k2 − k∑k

(3.12)

A Figura 3.21 mostra um exemplo de estimacao de ∆θ[k] usando 17 tons piloto

entre os tons 100 a 900. Uma vez que β e encontrado, FEQ2[k] pode ser calculado com a

Equacao (3.11). Nessa figura, o termo unwrapped indica que para obter reta reconstruıda

(cruzes em azul) e necessario realizar uma operacao nas fases estimadas dos tons pilotos

(cırculos verdes) [33], isso e necessario, pois sua fase varia de 0 a 2π, assim, um tom que

rotacionou mais que uma volta completa apresentara fase diferente do que originalmente

sofre, e a operacao unwrap elimina a ambiguidade.

0 200 400 600 800 10000

5

10

15

20

25

30

Tom (k)

Fas

e (∆

Θ)

em r

ad

Estimação de β a partir dos tons piloto

∠ (TX/RX) unwrappedβk∠ (TX/RX)

Figura 3.21: Estimacao de β e ∆θ a partir dos tons pilotos.

Page 62: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Capıtulo 4

Desempenho e Comparacao das

Tecnicas de Sincronismo

Como e mostrado no Capıtulo 3 o processo de recuperacao da temporizacao do

sımbolo e feito em duas etapas, onde inicialmente o sımbolo e salvo do sinal analogico

usando os detectores (etapa no FPGA). Posteriormente, devido a imprecisoes que os

detectores apresentam, e tambem do CFO descrito no Capıtulo 2, e necessaria mais uma

fase de correcoes, que e feita no DSP. O objetivo deste capıtulo e discutir o desempenho

dos algoritmos descritos no Capıtulo 3, onde sao mostrados o desempenho dos detectores e

explicado o porque da ocorrencia do cursor n0. E tambem feita uma estimativa do uso de

recursos do FPGA pelos detectores. E tambem sao discutidos os resultados dos algoritmos

de correcao de CFO, e mostrados testes realizados para tentar evitar a ocorrencia do n0

a partir do FPGA.

4.1 Desempenho dos detectores

Os detectores discutidos no Capitulo 3 apresentam variacao no n0 dos sımbolos

de diferentes slots, onde o detector S&C varia em uma faixa maxima de vinte amostras,

e o xCorr varia uma amostra, esses valores foram obtidos a partir de medias realizadas

no DSP e simulacoes. Do ponto de vista do demodulador, os dois detectores erram de

maneira equivalente, pois o n0 no sımbolo DMT causa rotacao nas constelacoes do sımbolo

e impede a demodulacao direta.

O fato do detector S&C rotacionar em torno de vinte amostras, resulta em uma

precisao de 20Ts, onde Ts e o perıodo da amostra, que no caso na SOUT e de 2.5 ns.

44

Page 63: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

45

Ou seja, pode-se dizer que a precisao do S&C e de aproximadamente 50 ns. O mesmo

raciocınio pode ser usado para estimar a precisao do detector xCorr, o que resulta em um

resultado de aproximadamente 2.5 ns. Outra visao do desempenho dos detectores e em

relacao ao tamanho total do sımbolo, onde um sımbolo completo com prefixo cıclico possui

10.56 µs, dessa forma, comparando com o tempo total do sımbolo e possıvel concluir que

o S&C erra 0.47% e o xCorr erra 0.0236% de um sımbolo.

A explicacao para esse erro dos detectores e distinta para cada um. Primeiramente,

o S&C, como explicado no Capıtulo 3 faz a deteccao baseada em um limiar, assim, a

diferenca de n0 para slots diferentes pode ser explicada pelo fato que o sımbolo SINC de

um slot consegue alcancar o limiar mais rapidamente que outro. O ruıdo adicionado ao

sımbolo pelo canal e a causa dessa variacao, pois atraves de simulacoes percebeu-se que

a metrica de temporizacao varia mesmo com a RSR mantida constante. A Figura 4.1

mostra o exemplo de metrica de temporizacao mostrado anteriormente, agora com duas

realizacoes do sımbolo SINC contaminado com ruıdo, sendo que a mesma RSR e usada

nas duas realizacoes. Na Figura 4.1 e possıvel perceber que a realizacao em vermelho e

ligeiramente mais ingreme do que a realizacao em verde, assim, a deteccao para a primeira

possui um n0 maior do que a segunda.

−1.5 −1 −0.5 0 0.5 1 1.50

0.2

0.4

0.6

0.8

1

Símbolo

M(d

)

RSR infinitaRSR=10dBRSR=10dB

Figura 4.1: Resultados da metrica de temporizacao de duas realizacoes do mesmo sımbolo

S&C, mostrando duas curvas atingindo um limiar de 0.75 em tempos diferentes.

O processo de deteccao do S&C pode ser visto como uma comparacao das duas

metades do sımbolo SINC, assim, caso o ruıdo corrompa as “amostras irmas” de um

sımbolo da mesma forma, a metrica de temporizacao possuira uma taxa de subida maior.

A curva em azul da Figura 4.1 e mesma mostrada no Capıtulo 3 e foi mantida para

referencia, nessa curva a metrica sempre possui o mesmo formato, diferentemente dos

resultados com ruıdo.

Page 64: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

46

No caso do xCorr nao ha uma subida, pois quando ha a deteccao a metrica de tem-

porizacao possui um unico pico, que e tıpico de funcoes de correlacao. Logo, o xCorr nao

deveria errar, entretanto o CFO faz com que haja uma incerteza no processo de deteccao.

Essa incerteza acontece, pois a versao recebida do sımbolo SINC pode estar defasada em

relacao a referencia, e essa defasagem e visualizada atraves da parte fracionaria de n0.

Quando a parte fracionaria de n0 e menor que 0.5 o detector xCorr faz a deteccao na

amostra atual caso contrario a deteccao e feita na proxima amostra e isso causa variacao

no n0 do sımbolo recebido.

Testes foram realizados para avaliar a robustez dos algoritmos S&C e xCorr, prin-

cipalmente com a potencia recebida sendo variada, o que representa uma mudanca nas

caracterısticas do canal como, por exemplo, uma mudanca de cabo. Entretanto, ou-

tros fatore alem da atenuacao tambem influenciam no desempenho dos detectores, como

bridge-taps e crosstalk. O S&C faz sua deteccao baseada em limiar que e configurado

manualmente, dessa forma, uma mudanca brusca das caracterısticas do canal faz com que

o detector passe a nao funcionar adequadamente, podendo ocorrer falsos positivos e ate

mesmo perda total de sincronia.

Uma solucao estudada para este problema foi o uso de um controle automatico de

ganho, para que o sinal recebido sempre esteja com a mesma potencia. No entanto, um

sinal mais atenuado sofre mais com o ruıdo, logo ao ser amplificado o ruıdo tambem e, e

dessa forma a curva da metrica de temporizacao pode nao atingir o limiar de deteccao. A

Figura 4.2 mostra um resultado obtido atraves de simulacoes onde o sımbolo que gerou

a curva em verde foi atenuado e corrompido pelo ruıdo e em seguida amplificado, nessa

figura e possıvel perceber que metrica de temporizacao e completamente comprometida.

Nesse exemplo, os sinais que geraram as curvas em verde e em azul foram corrompidos

com ruıdos de mesma potencia. Esse problema nao acontece com detector xCorr, pois a

normalizacao feita no algoritmo faz com que a metrica de temporizacao sempre possua os

mesmos valores, que nesse caso esta entre zero e um (mais proximo de um). Os mesmo

testes foram realizados com o detector xCorr, que apresentou deteccao correta de slots

mesmo em condicoes severas de atenuacao.

4.2 Consumo de hardware dos detectores

As Figuras 3.10 e 3.11 mostram as implementacoes em diagramas de blocos dos

detectores S&C e xCorr, respectivamente. Basicamente, essas implementacoes correspon-

dem a um caminho de dados (ou datapath) por onde as amostras obtidas pelo conversor

Page 65: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

47

−1.5 −1 −0.5 0 0.5 1 1.50

0.2

0.4

0.6

0.8

1

Símbolo

M(d

)

Figura 4.2: Resultados da metrica de temporizacao de duas realizacoes do mesmo sımbolo

S&C, onde a curva em azul nao sofre atenuacao e a curva em verde sofre e depois e

amplificada.

AD passam. No detector S&C as amostras de entrada sao direcionadas para a memoria

MEM e para o registrador REG da Figura 3.10. MEM e uma memoria de duas portas

(uma entrada e duas saıdas) que esta presente em FPGAs da Xilinx [34], e e enderecada

pelos sinais END D e END DL, que possuem valores com uma diferenca de 2048 (metade

do sımbolo DMT), as amostras de entrada sao salvas no endereco END D e o endereco

END DL e somente lido. As saıdas da memoria e do registrador sao usadas para realizar

o processamento.

Na Figura 3.10 e possıvel contar as estruturas digitais usadas e inferir os recursos

usados por esse detector. Os registradores, apesar de haver somente um bloco nomeado

diretamente como registrador (REG), estao presentes nos blocos CNT (um para cada

endereco), REG, no AC (um para cada) e nas operacoes de aritmeticas, assim, ha treze

registradores. O bloco MEM e uma memoria de 8192 bytes, e ha ainda quatro multi-

plicadores e dois somadores, e mais dois somadores no bloco CNT para incrementar os

enderecos e mais dois nos blocos AC, logo ha 6 somadores no total. Como toda a estrutura

e quadruplicada para trabalhar com quatro amostras, entao os numero sao quadruplica-

dos, exceto os somadores de endereco e a memoria. A Tabela 4.1 mostra o resultado do

raciocınio apresentado.

Da mesma forma que foi feito para o S&C, tambem e possıvel inferir o uso

de recursos logicos do detector xCorr, usando a Figura 3.11 que mostra uma imple-

mentacao de tamanho generico do xCorr, que tambem implementa um datapath, similar

ao S&C. O modem-prototype implementa quatro xCorrs de tamanho 64, como explicado

Page 66: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

48

Tabela 4.1: Uso de recursos logicos pelos detectores.

Detector Registradores Multiplicadores Somadores Memoria

xCorr 1072 268 256 0

S&C 52 16 10 1 (8192 bytes)

na Secao 3.2.5.2, assim, e possıvel inferir o uso de recursos para uma unica estrutura e

entao obter o uso de recursos total. A partir da Figura 3.11 e possıvel contar os recursos,

este raciocınio e apresentado na listagem abaixo para melhor entendimento do leitor, e

importante salientar que cada operacao aritmetica utiliza tambem um registrador. A es-

timacao de uso dos recursos utilizados pelo xCorr ainda e multiplicada por quatro para

obter o uso total de recursos, que e apresentado na Tabela 4.1.

• Ha uma cadeia de atrasos nas amostras de entrada, representada por Z−1, que e

implementada com 64 registradores;

• As amostras do sinal de referencia sao armazenadas em registradores ao inves de

uma memoria para melhor desempenho, o que usa 64 registradores;

• Cada elemento da cadeia de atraso e multiplicado em paralelo com seu correspon-

dente do sinal de referencia, usando 64 multiplicadores de duas entradas, que

tambem usam mais 64 registradores

• Todas as multiplicacoes da cadeia de atraso deve ser somadas para formar um unico

valor (i.e. produto interno), essas operacoes utilizam 63 somadores de duas en-

tradas e mais 63 registradores

• Ha tres operacoes de elevar ao quadrado, que sao implementados com multiplicado-

res de duas entradas. Logo utilizam 3 multiplicadores e 3 registradores.

• Ha um acumulador, que utiliza 1 somador e 1 registrador.

• E, por fim, ha o atraso para alinhar os resultados das partes de cima de baixo

da figura. O atraso tem tamanho de Log2(tamanho) + 1 = 9, e isso usa mais 9

registradores.

Dessa contagem de elementos logicos dos detectores foi omitido o uso de recursos

pelos divisores, pois ambos usam a mesma implementacao de divisao em hardware, que e

baseada no algoritmo non-restoring division [35]. Esse algoritmo realiza divisoes inteiras,

e possui como saıda o quociente e o resto. Para realizar a divisao com parte fracionaria

Page 67: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

49

utilizada nos dois detectores, as amostras (de 32 bits) que entram no bloco de divisao sao

expandidas com 16 zeros a direita, logo a partir da esquerda para a direita ha 32 bits

de parte inteira seguidos de 16 bits de parte fracionaria. Dessa forma, o bloco divisor

foi implementado como um bloco que trabalha com numeros inteiros de 48 bits, assim

o resultado possui tambem 48 bits, mas somente a parte fracionaria e o primeiro bit da

parte inteira sao usados pelos detectores, pois devido ao ruıdo observou-se nas simulacoes

resultados ligeiramente maiores do que 1. Assim os detectores visualizam o resultado

como um numero inteiro de 17 bits. Detalhes sobre a estrutura interna do divisor nao

serao tratados neste trabalho, para fins de manter o foco em deteccao.

E importante salientar que a variacao apresentada pelo detector xCorr e um pro-

blema pendente a ser resolvido, uma vez que for corrigido, a mudanca do S&C para o

xCorr representara a relacao custo-benefıcio entre ter uma deteccao que erra (S&C) para

uma deteccao fixa. A correcao do xCorr para nao errar envolve incluir mais inteligencia

na sua deteccao e assim tambem detectar o n0 e manter sempre a mesma amostra, uma

vez que isso aconteca, nao serao necessarios alguns passos de correcoes no DSP, o que

implica em mais sımbolos sendo processados por segundo e, consequentemente, em uma

maior taxa de dados global. Como o detector xCorr apresenta erro, que precisa ser cor-

rigido da mesma forma no DSP, e tambem um custo alto, o detector usado atualmente

no modem-prototype e o S&C, entretanto, pretende-se melhorar o xCorr para obter os

benefıcios mencionados.

A partir dos resultados da Tabela 4.1 e possıvel perceber a grande diferenca de uso

de recursos entre os dois detectores. Essa diferenca representa o custo a ser pago para

uma maior precisao no sistema sincronizacao de um sistema de comunicacao. Quando

os codigos do xCorr e do S&C sao compilados para programar um FPGA, os recursos

utilizados serao todos mapeados para a logica programavel do FPGA. Por exemplo, da

Tabela 4.1, os multiplicadores e somadores, quando compilados, utilizarao a logica pro-

gramavel do FPGA. No caso de FPGAs Virtex 6 da Xilinx, os recursos utilizados do

FPGA serao os chamados Slices [36], assim, todos os multiplicadores e somadores sao

inicialmente implementados usando Slices, no entanto, apos uma fase de otimizacao no

processo de compilacao, alguns deles podem ser mapeados para estruturas especializa-

das para processamento de sinais digitais e operacoes matematicas dentro do FPGA [37],

chamadas DSP48E1, com o objetivo de aproveitar melhor o recursos do FPGA.

Apos o processo de compilacao, a ferramenta usada gera varios relatorios indi-

cando, entre outras coisas, o uso desses recursos. Ha muitos recursos dentro do FPGA,

mas nesse trabalho, para fins de comparacao das tecnicas, somente serao mostrados o

uso dos recursos Slices, DSP48E1 e RAM36E1, que sao a logica programavel, estrutu-

Page 68: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

50

Tabela 4.2: Uso de recursos do FPGA pelos detectores.

xCorr S&C

Slices 25% 3%

DSP48E1 36% 1%

RAM36E1 0% 1%

ras de processamento matematico e memorias, respectivamente. A Tabela 4.2 mostra o

uso desses recursos, que foram obtidos apos o processo de compilacao, que incluiu em

ambos os divisores, que nao foram considerados anteriormente. A partir da tabela, e

possıvel perceber a grande diferenca de uso de recursos pelo detector xCorr. O detector

foi codificado de forma nao otimizada, ou seja, ele nao utiliza diretamente os DSP48E1

do FPGA, entretanto, a ferramenta mapeou algumas operacoes matematicas para esses

recursos, com o provavel objetivo de economizar os Slices. Como era esperado, o processo

de compilacao utilizou um recurso de memoria para o S&C, enquanto que para o xCorr

nao. Da Tabela 4.1, a diferenca no numero de registradores e refletida na utilizacao dos

Slices da Tabela 4.2.

4.3 Desempenho da correcao de CFO

Como e mostrado no Capıtulo 3 a correcao de CFO esta diretamente ligada aos

algoritmos de equalizacao, dessa forma, esta secao tratara dos resultados tanto de equa-

lizacao quanto de correcao de CFO juntos. Como e mostrado na Figura 3.20, a fase de

showtime da operacao do modem-prototype somente atualiza a estimacao do FEQ feita na

fase de treinamento. Essa atualizacao consiste em compensar a fase do slot atual a partir

do sımbolo ESTIM do slot, que e reconhecido pelo DSP a partir de uma marcacao feita

no FPGA, na primeira amostra do sımbolo. O algoritmo da Figura 3.20 reconhece essa

marcacao e atualiza o FEQ, caso contrario, o sımbolo e simplesmente corrigido a partir

do FEQ atual.

No modem-prototype foi mostrado que o sımbolo ESTIM e um sımbolo especial

que nao carrega nenhuma informacao, por isso, no FPGA e possıvel desabilitar o envio

desse sımbolo e enviar sımbolo INFO no lugar, logo, o slot passa a ter suporte para ate

cinco sımbolos INFO. Quando o modem-prototype esta configurado para nao transmitir

ESTIM na segunda posicao do slot, os sımbolos do DSP devem ser transmitido com alguns

tons pilotos que nao carregam informacao, que sao usado para sincronizacao. A fase de

Page 69: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

51

showtime da Figura 3.20 esta preparada para os dois tipos de sımbolos, mas e necessario

que o DSP seja configurado para usar os tons piloto ao inves do sımbolo ESTIM, para

isso, o DSP precisa ser reprogramado. Do ponto de vista do FPGA o slot passa a ter

mais um sımbolo para transmitir informacao, porem do DSP nao ha nenhuma alteracao

(somente a informacao contida nos tons pilotos usados). Quando essa configuracao e

usada, o DSP deve processar o primeiro sımbolo INFO do slot para atualizar o FEQ, e

depois esse mesmo sımbolo e processado para recuperar a informacao. Essa configuracao

descrita foi implementada tanto no DSP quanto no FPGA, mas nao e utilizada, pois foram

realizados testes para verificar se o DSP consegue transmitir sımbolos a tempo suficiente

para ocupar todas a posicoes INFO do slot, e percebeu-se que o DSP nao processa a

tempo, como descrito em [7].

Como foi explicado, o primeiro sımbolo e usado para atualizar o FEQ para com-

pensar a rotacao do slot atual, e tambem foi mostrado na Figura 3.18 que sımbolos con-

secutivos de um mesmo slot tambem sofrem rotacao de aproximadamente 5% de amostra

em relacao ao sımbolo anterior. Para simplificar o processamento, o algoritmo no DSP

considera que nao ha rotacao dentro de um mesmo slot, dessa forma e feita somente uma

atualizacao de FEQ, como ja foi explicado. Na realidade ha uma pequena rotacao que

causa um desvio nos pontos da constelacao recebida, que pode ser avaliada aplicando

metricas como EVM. A Figura 4.3 mostra varios sımbolos recebidos que carregam cons-

telacoes de 256 QAM em todos os seus tons. Para quantificar a qualidade da constelacao

recebida pode-se usar a tecnica EVM, onde a constelacao apresenta um valor de 1.28%.

Para fins de comparacao, A Tabela 4.3 apresenta os requerimentos de EVM pela tecnologia

LTE, onde e possıvel perceber que a constelacao recebida possui desempenho comparavel

aos nıveis dessa tecnologia. A valor de EVM dessa constelacao ainda esta corrompido

por alguns pontos que nao transmitem informacao, os pontos em zero na constelacao da

Figura 4.3, o que significa que serao tratados como erros pelo algoritmo.

Tabela 4.3: Requerimentos de EVM pela tecnologia LTE (Lont Term Evolution)

Esquema de modulacao EVM requerida

QPSK 17.5 %

16 QAM 12.5 %

64 QAM 8 %

E possıvel obter melhor desempenho modificando a estrutura da Figura 3.20 de

modo que a estimacao de n0 seja feita para todos os sımbolos do slot, assim, e possıvel

atingir maiores bitloading, pois a rotacao mostrada sera minimizada. Entretanto, isso

Page 70: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

52

−15 −10 −5 0 5 10 15

−15

−10

−5

0

5

10

15

Fase (I)

Qua

drat

ura

(Q)

Pontos das constelações de 50 símbolos recebidos

Figura 4.3: Exemplo de uma constelacao de 256 QAM recebida e corrigida, onde e possıvel

perceber uma pequena rotacao nos pontos mais distantes da origem.

representa uma maior carga de processamento no DSP, o que pode acabar por diminuir

a capacidade de geracao de sımbolos do DSP, o que diminui a taxa global de sımbolos. O

projetista de um sistema como esse deve escolher a melhor relacao custo-benefıcio, pois,

ao fazer correcao em todos os sımbolos, por um lado os sımbolos conseguem carregar

mais informacao, mas por outro, menos sımbolos sao produzidos por segundo, gerando

um relacao custo-benefıcio que deve ser analisada. No caso implementado no modem-

prototype, nao foi feita essa analise, simplesmente foi escolhido fazer uma unica estimacao

por slot e assim produzir mais sımbolos por segundo, mesmo que eles carreguem menos

informacao, essa escolha e baseado na pequena variacao que ha do primeiro para o quinto

sımbolo.

Como foi explicado no Capıtulo 3, a aplicacao modem-prototype foi criada para

seguir as especificacoes do G.fast [3] e por algumas limitacoes da plataforma SOUT,

algumas especificacoes nao puderam ser seguidas a risca. Mas pretende-se melhorar a

implementacao de modo a corrigir essas limitacoes e fazer o modem-prototype ficar mais

proximo do G.fast. Uma mudanca que deve ser feita e alterar a configuracao de slots

para que eles possuam 36 sımbolos como especificado no G.fast, quando isso for feito,

uma unica estimacao de n0 por slot pode nao ser suficiente. Assim, deve-se analisar ate

quantos sımbolos consecutivos podem ser corrigidos por uma mesma estimacao. Como

alternativa, a estimacao e atualizacao de n0 pode ser feita a cada cinco sımbolos (ou dez),

essas questoes devem ser melhor analisadas.

O exemplo discutido anteriormente e mostrado na Figura 4.3 utiliza um bitloading

Page 71: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

53

estatico, onde todos os tons carregam 8 bits (i.e. constelacoes de 256 QAM). Ao se

aplicar um algoritmo como o Levin-Campello [17], que calcula o bitloading para cada tom

separadamente, e possıvel alcancar constelacoes que podem ser demoduladas com sucesso

de ate 1024 QAM, mesmo com a rotacao que esta sendo “ignorada” pelo algoritmo. A

Figura 4.4 mostra o numero bits tıpicos que podem ser transportados em cada tom, que

foi obtido usando o Levin-Campello, onde ha tons que podem carregar ate 10 bits.

Sobre o algoritmo de bitloading e importante salientar que ele nao se encontra

implementado no DSP, assim, ou o DSP usa bitloading estatico como o da Figura 4.3, ou

durante a fase de treinamento o vetor de RSR e extraıdo do DSP e o bitloading e calculado

offline, e depois o vetor de bitloading e atualizado manualmente. A extracao e atualizacao

de informacoes da memoria do DSP sao feitas usando os recursos de depuracao do DSP.

0 50 100 150 200f (Mhz)

0

2

4

6

8

10

bits

Figura 4.4: Bitloading tıpico estimado usando o Levin-Campello.

Com fins de complementar as informacoes de calculo de bitloading apresentadas,

a Figura 4.5 mostra RSRs calculadas na fase de treinamento, que sao usadas pelo Levin-

Campello. O bitloading da Figura 4.4 foi calculado para a estimacao de RSR para o cabo

de 50 m da Figura 4.5.

4.4 Taxas alcancadas pelo prototipo

Apesar de nao ser o foco desse trabalho, como foi apresentada a plataforma SOUT

como um todo em outros capıtulos, esta secao apresenta alguns resultados obtidos em

relacao a aplicacao principal da SOUT, que e prover conectividade entre duas redes. O

Page 72: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

54

(a)

b

0 50 100 150 200f (Mhz)

0

10

20

30

40

50SNR (dB)

(b)

b

0 50 100 150 200f (Mhz)

0

10

20

30

40

50

SNR (dB)

Figura 4.5: RSR tıpicas calculadas para cabos CAT5 de 50 m (esquerda) e 100 m (direita).

resultados e explicacoes detalhadas sao mostrados em [7]. Na SOUT, uma metrica de

desempenho e o fluxo de sımbolos no DSP, ou a taxa em que sımbolos sao criados e

transmitidos, ou a taxa em que sao recebidos e processados. Os sımbolos produzidos pelo

DSP sao enviados ao FPGA, e sao chamados de SINC, e sao transmitidos em posicoes

especıficas dos slots. Quando nao ha SINC para transmitir, o FPGA envia IDLE. Dessa

forma, as medicoes de fluxo podem tambem serem vistas como o numero de sımbolos

diferente de IDLE que sao transmitidos pela linha.

Medicoes foram realizadas na SOUT, o que mostrou resultado de aproximadamente

28000 sımbolos por segundo. E essa medicao remete a um taxa de dados de 365 Mbps,

quando um bitloading fixo de 8 bits em 1937 portadoras e usado em um cabo de 50 m. A

configuracao do experimento para medir a taxa de dados que o modem consegue alcancar

consistiu de uma transmissao unidirecional, sendo que o modem receptor somente conta-

bilizou nessa taxa os sımbolos recebidos sem erro ou com erros recuperaveis pelo RS. O

teste foi unidirecional, pois ha um problema de concorrencia por recursos no DSP entre as

cadeias de transmissao e recepcao que impossibilita a realizacao do teste bidirecional, esse

problema esta sendo resolvido, como descrito em [7], e espera-se dobrar a taxa de dados

quando o problema de concorrencia for solucionado. O bitloading utiliza 8 bits em 1900

portadores e e o mesmo mostrado na Figura 4.3. Outra metrica extraıda do DSP, mais

especificamente do algoritmo RS, e a taxa de erro de bit, que ficou em torno de 10−7,

entretanto, como discutido em [7] essa medicao pode estar comprometida pelo que foi

chamado de erros de rajada, que acontecem devido a um problema de perda de sımbolo

no meio da cadeia de processamento. Esse problema esta com solucao pendente.

E importante salientar que as medidas de fluxo mostradas referem-se a producao

Page 73: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

55

e consumo do DSP, sendo que o DSP esta em fase de otimizacao de codigo. O que acon-

tece e que, atualmente, o DSP nao e capaz de produzir sımbolos ESTIM para preencher

todas as oportunidades de transmissao do slot, o que resulta na atual taxa. Caso o DSP

consiga preencher todas as oportunidades de transmissao dos slots, um fluxo de sımbolos

de aproximadamente 72k seria obtido, o que resulta em uma taxa agregada de 1.1 Gbps.

Page 74: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Capıtulo 5

Conclusao

Nesta dissertacao foi abordado o projeto e implementacao de algoritmos de sincro-

nizacao para a plataforma Software-defined UFPa transceiver (SOUT), que foi desenvol-

vida na UFPa em parceria com pesquisadores da Ericsson Research em Kista, na Suecia.

Os algoritmos mostrados nesse trabalho fazem parte de uma aplicacao que implementa o

padrao G.fast [3], e como a aplicacao desenvolvida e um modem completo, outros algorit-

mos sao empregados para solucao de problemas distintos de sincronizacao. Dessa forma,

esse trabalho apresenta em detalhes somente os algoritmos relacionados diretamente com

a sincronizacao, sendo que alguns outros sao tratados para melhor entendimento do sin-

cronismo.

Os algoritmos apresentados correspondem a principal forma de se manter o sin-

cronismo da implementacao TDD e ao algoritmo de correcao do problema de CFO, que

existem em sistemas de comunicacoes. Na implementacao TDD foram implementados

dois algoritmos, o primeiro, e principal a ser utilizado, foi o algoritmo S&C, descrito

em [9] e adaptado para as especificidades desse trabalho. O segundo algoritmo empre-

gado para o TDD, chamado de xCorr, foi criado para preencher uma lacuna apresentada

pelo S&C. Ambos os algoritmos sao baseados em correlacao cruzada, mas o S&C utiliza

uma forma de realizar menos operacoes matematicas para fazer a deteccao, o que faz com

que ele perca precisao. Ja o xCorr, realiza correlacao cruzada diretamente, e para evitar

a variacao no valor de pico, o sinal de entrada e normalizado, produzindo resultados entre

zero e um, o que elimina a necessidade de definicao de limiar que ha no S&C e o faz apre-

sentar melhor precisao. No entanto, ao realizar correlacao cruzada diretamente, o xCorr

utiliza muitos recursos, que, no caso desse trabalho, sao recursos do FPGA. E mostrado

no trabalho que S&C e xCorr possuem erro de 0.47% e 0.0236% de sımbolo, ou seja, o

xCorr possui precisao na faixa de uma ordem de magnitude melhor do que o outro. Essa

56

Page 75: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

57

melhor precisao representa o custo benefıcio entre o maior consumo de recursos e uma

deteccao mais precisa.

O algoritmo de correcao de CFO empregado nesse trabalho, tambem foi criado

para esse trabalho, pois testes com outros nao apresentaram desempenho satisfatorio.

Assim, esse algoritmo, foi criado como uma alternativa aos disponıveis. Esse algoritmo

utiliza varios tons pilotos, e faz uma regressao linear para obter uma estimacao de CFO

mais precisa, pois outros metodos nao apresentaram desempenho suficiente (i.e. a media

dos valores dos varios pilotos). Uma das principais contribuicoes desse algoritmo, alem

dele proprio, e a integracao do mesmo com o processamento de equalizacao de canal, que,

nesse trabalho e proposto e mostrado seu resultado com implementacao em hardware,

sendo realizado em duas fases, as fases de treinamento e showtime. Apos a aplicacao dos

algoritmos de correcao, e mostrado no trabalho, que a constelacao resultante apresenta

desempenho comparavel a tecnologias comerciais como LTE.

Ainda e apresentada nesse trabalho a forma como os algoritmos de deteccao foram

paralelizados para a implementacao no FPGA. O objetivo dessa paralelizacao e diminuir

a frequencia de operacao do FPGA e, assim, facilitar a codificacao. A paralelizacao e

iniciada nas interfaces com os conversores, que trabalham em DDR (i.e. duas amostras

por ciclo de clock), alem dessa paralelizacao, no FPGA ainda e feita outra, assim, o nıvel

de paralelizacao final e de quatro, logo, a frequencia de operacao tambem e escalonada

pelo mesmo valor. Nesse trabalho e mostrada a segunda paralelizacao feita no FPGA, e

a adaptacao dos algoritmos de deteccao para ela, realizados no FPGA .

Os resultados deste trabalho contribuem como material para referencia e estudo

nas areas de telecomunicacoes, processamento de sinais, projeto de hardware analogico

e digital. Alem de servir como referencia, este trabalho compartilha e documenta a ex-

periencia obtida durante o processo de desenvolvimento. Sao apresentadas e explicadas

questoes relacionadas a questoes que normalmente engenheiros enfrentam ao participar

de um projeto de qualquer tamanho, como a avaliacao de custo-benefıcio, onde o trabalho

busca nao posicionar-se a favor de um algoritmo ou tecnica, este trabalho buscou apre-

sentar as vantagens, desvantagens e custo das tecnicas apresentadas. Um exemplo para

ilustracao, e a questao do desempenho dos detectores, onde o S&C apresentou consumo

de recursos do FPGA em torno de 15 vezes menor do que o xCorr, em contrapartida, o

xCorr apresenta precisao melhor em uma ordem de magnitude, em relacao ao S&C.

Page 76: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

58

5.1 Trabalhos futuros

Este trabalho e uma implementacao do padrao G.fast na plataforma SOUT, sendo

que muitas das especificacoes ainda nao puderam ser seguidas, devido a limitacoes do

hardware, de tempo ou mesmo da falta mao-de-obra. O objetivo desta secao e expor

algumas das questoes que ainda continuam abertas no projeto da SOUT, que sao listadas

a seguir para melhor organizacao.

• Espacamento dos tons igual ao do G.fast: Quando o AFE foi projetado, nao

havia definicao no padrao G.fast sobre a amostragem a ser usada. Dessa forma,

o AFE foi projetado com clocks de referencia de 100 MHz, e algum tempo depois

foi especificado no padrao. Assim uma alteracao a ser feita no e alterar esse clock

de referencia de modo que possa ser gerado o clock do G.fast, assim os conversores

operarao na frequencia de amostragem correta e os sımbolos DMT no domınio da

frequencia estarao espacados de acordo com o G.fast.

• Implentacao de TDD e slots : Foi discutido no Capıtulo 3 que a implementacao

de TDD do FPGA nao segue o padrao G.fast, devido a limitacoes. Um sugestao

de trabalho futuro e melhorar essa implementacao de TDD para que siga o padrao.

Para isso a questao levantada no Capıtulo 4 sobre a correcao de CFO deve ser

considerada.

• Mover toda a parte de sincronizacao para o FPGA: A eliminacao desse pro-

cessamento do DSP liberaria tempo de processamento para processar mais sımbolos,

e aumentar a taxa global. Para isso o FPGA deve entregar sımbolos sempre com o

mesmo n0, e isso pode ser feito usando um PLL. Ou poderia ser usada uma correcao

atraves de filtragem digital no FPGA, esse filtro seria atualizado com o n0 do sımbolo

atual para corrigir o proximo sımbolo, por exemplo.

Page 77: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

Referencias Bibliograficas

[1] J. Maes and C.J. Nuzman, “The past, present, and future of copper access,” Bell

Labs Technical Journal, vol. 20, pp. 1–10, 2015.

[2] P. Odling, T. Magesacher, S. Host, P.O. Borjesson, M. Berg, and E. Areizaga, “The

fourth generation broadband concept,” Communications Magazine, IEEE, vol. 47,

no. 1, pp. 62–69, January 2009.

[3] ITU-T, “Recommendation G.9701 - Fast Access to Subscriber Terminals (G.fast),”

2014.

[4] ITU-T, “Recommendation G.992.1 - SERIES G: TRANSMISSION SYSTEMS AND

MEDIA, DIGITAL SYSTEMS AND NETWORK,” 2004.

[5] ITU-T, “Recommendation G.993.2 : Very high speed digital subscriber line trans-

ceivers 2 (VDSL2),” 2006.

[6] Skipio, “CP1000 G.FAST CPE CHIPSET - The Perfect G.fast CPE Chipset,” 2015,

http://www.sckipio.com/cp1000-g-fast-cpe-chipset/.

[7] Joary Paulo Wanzeler Fortuna, “Transceptor Definido por Software para Pesquisas

em Transmissao via Cabos de Cobre,” 2015, TCC; FCT - Universidade Federal do

Para.

[8] Thierry Pollet and M. Peeters, “Synchronization with DMT modulation,” Commu-

nications Magazine, IEEE, vol. 37, no. 4, pp. 80–86, Apr 1999.

[9] T.M. Schmidl and D.C. Cox, “Robust frequency and timing synchronization for

ofdm,” Communications, IEEE Transactions on, vol. 45, no. 12, pp. 1613–1621, Dec

1997.

[10] M. Sliskovic and B. Jeren, “Clock frequency synchronisation in ofdm system for power

line communications,” in Image and Signal Processing and Analysis, 2000. IWISPA

2000. Proceedings of the First International Workshop on, 2000, pp. 241–246.

59

Page 78: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

60

[11] M. Sliskovic, “Sampling frequency offset estimation and correction in OFDM sys-

tems,” in Electronics, Circuits and Systems, 2001. ICECS 2001. The 8th IEEE

International Conference on, 2001, vol. 1, pp. 437–440 vol.1.

[12] Stefano Bregni, Synchronization of Digital Telecommunications Networks, John

Willey and Sons, LTD, 1 edition, 2002.

[13] M. Luise and R. Reggiannini, “Carrier frequency recovery in all-digital modems for

burst-mode transmissions,” Communications, IEEE Transactions on, vol. 43, no.

2/3/4, pp. 1169–1178, Feb 1995.

[14] Philip Golden, Herve Dedieu, and Krista Jacobsen, Fundamentals of DSL technology,

Boca Raton, FL Auerbach Publications, 1 edition, 2006.

[15] Umberto Mengali and Aldo N. D’Andrea, Synchronization techniques for digital

receivers, Plenum Press, 1 edition, 1997.

[16] John Proakis and Masoud Salehi, Digital Communications, MacGraw-Hill, 5 edition,

2008.

[17] Jorge Campello, “Practical bit loading for dmt,” IEEE ICC’99 Proceedings, pp.

801–805, 1999.

[18] ITU-T, “ETSI TS 136 104 V12.6.0 (2015-02) - LTE; Evolved Universal Terrestrial

Radio Access (E-UTRA); Base Station (BS) radio transmission and reception (3GPP

TS 36.104 version 12.6.0 Release 12) ,” 2015.

[19] Texas Instruments, “ADS5474: 14-bit, 400 MSPS Analog-to-Digital Converter with

Buffered Input,” 2014.

[20] Texas instruments, “DAC5681Z: 16-Bit, 1.0 GSPS 2x-4x Interpolating Digital-To-

Analog Converter (DAC),” 2014.

[21] Texas Intruments, “TMX320C6670 Evaluation Module,” 2015.

[22] Xilinx, “ML605 Hardware User Guide,” 2012.

[23] Texas Instruments, “OPA2695: Ultra-Wideband, Current-Feedback Operational

Amplifier with Disable,” 2014.

[24] Texas Instruments, “THS4509: Wideband, Low-Noise, Low-Distortion, Fully-

Differential Amplifier,” 2014.

Page 79: Implementa˘c~ao de M etodos de Sincronismo em FPGA para ... Sousa Correa.pdf · radas melhores, o m do uso dos cabos telef^onicos ... 2.2 Modula˘c~oes digitais ... 3.13 Sinal SINC

61

[25] Texas Instruments, “PGA870: High-Speed Fully Differential Programmable Gain

Amplifier,” 2014.

[26] Xilinx, “Serial RapidIO Gen2 Endpoit v1.6 - LogiCORE IP Product Guide,” 2014.

[27] Xilinx, “Microblaze Soft Processor Core,” 2015.

[28] RapidIO Trade Associations, “RapidIO Specification Revision 2.2, Complete Speci-

fication Stack,” 2011.

[29] Xilinx, “Virtex-6 FPGA SelectIO Resources - User Guide,” 2014.

[30] Irving Reed and Golomb Solomon, “Polynomial codes over certain finite fields,”

Journal of the Society of Industrial and Applied Mathematics, vol. 8, no. 2, pp.

300–304, 06/1960 1960.

[31] Alan V. Oppenheim, Alan Willsky, S. Hamid, Signals and Systems, Pearson, 2

edition, 1996.

[32] I. Freire, Chenguang Lu, P.-E. Eriksson, and A. Klautau, “Low complexity precoder

and equalizer for dmt systems with insufficient cyclic prefix,” in Global Communica-

tions Conference (GLOBECOM), 2014 IEEE, Dec 2014, pp. 3243–3248.

[33] MathWorks, “unwrap - Corret phase angles to produce smoother phase plots,” 2015,

http://www.mathworks.com/help/matlab/ref/unwrap.html?refresh=true.

[34] Xilinx, “Virtex-6 FPGA Memory Resources - User Guide,” 2014.

[35] Behrooz Parhami, Computer Arithmetic Algorithms and Hardware Designs, Oxford

Press, 1 edition, 2000.

[36] Xilinx, “Virtex-6 FPGA Configurable Logic Block - User Guide,” 2012.

[37] Xilinx, “Virtex-6 FPGA DSP48E1 Slice - User Guide,” 2011.