• Nenhum resultado encontrado

Modelagem dos efeitos da não-linearidade em transmissões DMT sobre POF

N/A
N/A
Protected

Academic year: 2021

Share "Modelagem dos efeitos da não-linearidade em transmissões DMT sobre POF"

Copied!
64
0
0

Texto

(1)

Universidade Federal Fluminense

Escola de Engenharia

Curso de Gradua¸

ao em Engenharia de

Telecomunica¸

oes

Pedro Santos Abreu

Modelagem dos efeitos da n˜

ao-linearidade em

transmiss˜

oes DMT sobre POF

Niter´

oi – RJ

2019

(2)

Modelagem dos efeitos da n˜ao-linearidade em transmiss˜oes DMT sobre POF

Trabalho de Conclus˜ao de Curso apresentado ao Curso de Gradua¸c˜ao em Engenharia de Teleco-munica¸c˜oes da Universidade Federal Fluminense, como requisito parcial para obten¸c˜ao do Grau de Engenheiro de Telecomunica¸c˜oes.

Orientador: Prof. Dr. Vinicius Nunes Henrique Silva Coorientador: Prof. Dr. Tadeu Nagashima Ferreira

Niter´oi – RJ 2019

(3)

ii .

(4)

Pedro Santos Abreu

Modelagem dos efeitos da n˜ao-linearidade em transmiss˜oes DMT sobre POF

Trabalho de Conclus˜ao de Curso apresentado ao Curso de Gradua¸c˜ao em Engenharia de Teleco-munica¸c˜oes da Universidade Federal Fluminense, como requisito parcial para obten¸c˜ao do Grau de Engenheiro de Telecomunica¸c˜oes.

Aprovada em 15 de Julho de 2019.

BANCA EXAMINADORA

Prof. Dr. Vinicius Nunes Henrique Silva - Orientador Universidade Federal Fluminese - UFF

Prof. Dr. Tadeu Nagashima Ferreira - Coorientador Universidade Federal Fluminese - UFF

Prof. Dr. Pedro Vladimir Gonzalez Castellanos Universidade Federal Fluminese - UFF

Niter´oi – RJ 2019

(5)

iv

Resumo

Neste trabalho foram discutido os efeitos da n˜ao-linearidade do LED e do clipping em sinais DMT transmitidos em fibras ´oticas pl´asticas. Foram realizadas medi¸c˜oes da rela¸c˜ao sinal-ru´ıdo em sinais DMT devido `a n˜ao-linearidade do LED em fun¸c˜ao da ampli-tude do sinal e polariza¸c˜ao do LED para diferentes comprimentos de POF. A partir dessas medi¸c˜oes foram obtidos modelos que estimam a rela¸c˜ao sinal-ru´ıdo para as distˆancias me-didas, atrav´es de diferentes meios de modelagem matem´atica. Foi obtido um modelo de complexidade relativamente baixa capaz de estimar a SNR devida `a n˜ao linearidade do LED com relativa precis˜ao, em rela¸c˜ao as medi¸c˜oes, em fun¸c˜ao da polariza¸c˜ao do LED e da amplitude do sinal DMT.

(6)

Abstract

In this paper, the effects of LED clipping and nonlinearity on DMT signals trans-mitted on plastic optical fiber were discussed. Signal-to-noise ratio due to the non-linearity of the LED measurements were performed on DMT signals as a function of the signal am-plitude and bias current of the LED for different POF lengths. From these measurements models were obtained that estimate the signal-to-noise ratio for the measured distances, through different means of mathematical modeling. A relatively low complexity model was obtained, capable of estimating the SNR due to the nonlinearity of the LED with relative accuracy, in comparison to the measurement data, as a function of the LED bias current and amplitude of the DMT signal.

(7)

vi

(8)

Agradecimentos

Aos meus pais, Evaldo e Tania, por terem me incentivado a me dedicar aos estudos. Aos professores Vinicius e Tadeu, por possibilitarem a realiza¸c˜ao deste trabalho.

(9)

Lista de Figuras

2.1 Diagramas de blocos do: (a) Transmissor DMT (b) Receptor DMT [11] . . 4

2.2 Estimativa de rela¸c˜ao sinal-crosstalk para (a) primeira subportadora e (b) subportadora central. . . 6

2.3 (a) Ganho em bits devido ao clipping (∆) em fun¸c˜ao de µ, para diferentes quantidades de bits de quantiza¸c˜ao (R1) para N = 256 e 8 QAM. (b) µ otimizado para se obter m´aximo ganho de SNR em fun¸c˜ao do n´umero de bits do quantizador. [7]. . . 7

2.4 Penalidade na rela¸c˜ao sinal-ru´ıdo para que se obtenha BER igual a 10−3 em fun¸c˜ao de ζ [9]. . . 8

2.5 Rela¸c˜ao sinal-ru´ıdo por subportadora para diferentes n´umeros de subporta-doras e ´ındices de modula¸c˜ao(γ). (a) 3 subportadoras (b) 7 subportadoras (c) 255 subportadoras [9]. . . 9

2.6 Rela¸c˜ao sinal-ruido por subportadoras na transmiss˜ao utilizando DMT para v´arios n´ıveis de atenua¸c˜ao [5]. . . 10

2.7 BER para v´arias t´ecnicas de modula¸c˜ao em fun¸c˜ao da atenua¸c˜ao para (a) 300Mb/s e (b) 450 Mb/s[5]. . . 11

3.1 Gr´afico de potˆencia ´otica da FFOS por corrente de polariza¸c˜ao obtido atra-v´es de medi¸c˜oes est´aticas (sem utilizar sinal modulado) [10]. . . 13

3.2 Diagrama da configura¸c˜ao experimental [10]. . . 14

3.3 Resultados das medi¸c˜oes atrav´es de POF de 2 cm. . . 15

3.4 Resultados das medi¸c˜oes atrav´es de POF de 20 m. . . 16

4.1 Melhor modelo para 2 cm. . . 22

4.2 Melhor modelo para 20 m. . . 22

4.3 Representa¸c˜ao em ´arvore de opera¸c˜oes. . . 24

(10)

4.4 Gr´afico da evolu¸c˜ao do erro em rela¸c˜ao `as gera¸c˜oes . . . 27 4.5 Modelo encontrado por regress˜ao simb´olica para 2 cm. (a) mostra a

in-terpola¸c˜ao das previs˜oes da equa¸c˜ao 5.2 apenas nos pontos j´a conhecidos atrav´es das medi¸c˜oes. (b) mostra a equa¸c˜ao 5.2 plotada de forma cont´ınua. 29 4.6 Modelo encontrado por regress˜ao simb´olica para 20 m. (a) mostra a

in-terpola¸c˜ao das previs˜oes da equa¸c˜ao 5.3 apenas nos pontos j´a conhecidos atrav´es das medi¸c˜oes. (b) mostra a equa¸c˜ao 5.2 plotada de forma cont´ınua. 30

(11)

x

Lista de Tabelas

4.1 Tabela dos modelos obtidos para as medi¸c˜oes utilizando POF de 2 cm. . . 20 4.2 Tabela dos modelos obtidos para as medi¸c˜oes utilizando POF de 20 m. . . 21

(12)
(13)

xii

Lista de Abreviaturas e Siglas

AD Anal´ogico-digital

ADC Analog-to-digital converter AFG Arbritary Function Generator BER Bit Error Rate

CAP Carrier-less amplitude–phase CP Cyclic prefix

DA Digital-anal´ogico

DAC Digital to analog converter DC Direct Current

DMT Discrete Multitone

EMI Electromagnetic interference EVM Error vector magnitude

FFOS Fast Fluorescent Optical Source FFT Fast Fourier transform

IFFT Inverse fast Fourier transform ISI Intersymbol interference LED Light-emitting Diode MSE Mean Square Error OB2B Optical back-to-back

OFDM Orthogonal frequency-division multiplexing PAM Pulse amplitude modulation

PAPR Peak to Average Power Ratio PMMA Polimetil-metacrilato

POF Plastic Optical Fiber

(14)

P/S Parallel-to-serial converter

QAM Quadrature amplitude modulation SI Step-index

SNR Signal-to-noise ratio S/P Serial-to-parallel converter SSQABS Sum of Square Errors Absolute VLC Visible light communication

(15)

Sum´

ario

Resumo iv Abstract v Agradecimentos vii Lista de Figuras ix Lista de Tabelas x

Lista de Abreviaturas e Siglas xii

1 Introdu¸c˜ao 1

1.1 Motiva¸c˜ao . . . 1 1.2 Organiza¸c˜ao do Trabalho . . . 2

2 Clipping e n˜ao-linearidade 3

2.1 Princ´ıpio de funcionamento do DMT . . . 3 2.2 Impacto da n˜ao-linearidade do LED em sinais DMT . . . 4 2.3 Impacto do clipping em sinais DMT . . . 6 2.4 Impacto do clipping combinada com a n˜ao-linearidade em sinais DMT . . . 7 2.5 Compara¸c˜ao de t´ecnicas de modula¸c˜ao em um canal n˜ao linear . . . 9

3 Descri¸c˜ao do Experimento 12

3.1 Configura¸c˜ao Experimental . . . 14 3.2 Resultados . . . 15

4 Modelagem Matem´atica 17

4.1 Ajuste de Superf´ıcies . . . 17

(16)

4.1.1 M´etodo dos m´ınimos quadrados . . . 17

4.1.2 M´etodo de Nelder–Mead . . . 18

4.1.3 Resultados . . . 19

4.2 Programa¸c˜ao gen´etica . . . 22

4.3 Regress˜ao simb´olica . . . 23

4.3.1 Representa¸c˜ao . . . 23 4.3.2 M´etrica . . . 24 4.3.3 Resiliˆencia . . . 25 4.3.4 Inicializa¸c˜ao . . . 25 4.3.5 Sele¸c˜ao . . . 25 4.3.6 Evolu¸c˜ao . . . 25 4.3.7 Resultados . . . 26

4.4 Compara¸c˜ao entre os modelos . . . 30

5 Conclus˜ao 31 5.1 Sugest˜oes para trabalhos futuros . . . 31

Referˆencias Bibliogr´aficas 33

Apˆendice A surface fit.py 36

Apˆendice B run.bat 42

(17)

Cap´ıtulo 1

Introdu¸

ao

1.1

Motiva¸

ao

Com o aumento da utiliza¸c˜ao de aplica¸c˜oes que exigem taxas de transferˆencia de dados cada vez maiores, como streaming de v´ıdeo em alta defini¸c˜ao e servi¸cos em nuvem, cresce a necessidade de aumento das taxas de transmiss˜ao dos enlaces da rede de dados [1]. O uso de fibras ´oticas monomodo de vidro cumprem essa demanda pois possuem baixa atenua¸c˜ao, banda larga, por´em s˜ao adequadas apenas para enlaces de longa distˆancia devido ao alto custo de implementa¸c˜ao em redes de curta distˆancia [1] [2].

Os principais meios de enlaces f´ısicos com fio para redes de curta distˆancia utiliza-dos atualmente s˜ao cabos coaxiais e cabos de par tran¸cado. Esses meios possuem grandes desvantagem quando considerada a utiliza¸c˜ao em redes de alta capacidade. O par tran-¸cado s˜ao suscept´ıveis `a interferˆencia eletromagn´etica (EMI). Os cabos coaxiais s˜ao menos afetados por EMI e possuem banda mais larga, por´em devido `a espessura dos cabos, a instala¸c˜ao ´e mais complicada. Al´em disso a realiza¸c˜ao de emendas e conex˜oes em cabos coaxiais n˜ao ´e simples [2]. As fibras ´oticas de vidro multimodo a princ´ıpio parecem uma boa op¸c˜ao para redes de curta distˆancia de alta capacidade devido a facilidade de realizar conex˜oes, emendas e acoplamentos em rela¸c˜ao `as fibras monomodo. Por´em as fibras de vidro multimodo possuem grandes desvantagens devido `a grande interferˆencia intermodal e instabilidade de largura de banda [1]. As fibras ´oticas pl´asticas (POF) possuem maior estabilidade de largura de banda e menor interferˆencia intermodal em rela¸c˜ao `as fibras multimodo de vidro [1], e podem atingir taxas de transmiss˜ao superiores ´a 1 Gb/s [4], competindo diretamente com os cabos de par tran¸cado do padr˜ao Ethernet CAT 6. Al´em

(18)

disso, as POF possuem alta tolerˆancia a vibra¸c˜ao, choques mecˆanicos e dobras [1] [2]. Os transceptores que utilizam POFs possuem gasto energ´etico menor em compara¸c˜ao aos que utilizam fios de cobre [2]. Em especial, as fibras ´oticas de polimetil-metacrilato de ´ındice degrau (SI PMMA POF) possuem n´ucleo com diˆametro de 1mm comparado a 8 -100µm de fibras ´oticas de vidro, o que torna seu manuseio simplificado [2]. A facilidade de se realizar emendas e o baixo custo dos componentes e equipamentos de teste tornam as POFs uma op¸c˜ao adequada para redes de curta distˆancia de alta capacidade [1] [2]. A principal desvantagem das POFs ´e a grande atenua¸c˜ao. Isso faz com que os enlaces sejam limitados a no m´aximo 100 m. Al´em disso, a largura de banda n˜ao ´e t˜ao grande quanto a das fibras de vidro monomodo [2]. Devido `a limita¸c˜ao de largura de banda, ´e necess´aria a utiliza¸c˜ao de t´ecnicas de modula¸c˜ao de alta eficiˆencia espectral. A utiliza¸c˜ao de esquemas de modula¸c˜ao multiportadora como DMT combinado com Quadrature am-plitude modulation (QAM) resulta em uma eficiˆencia espectral superior em compara¸c˜ao a outras t´ecnicas [2] [3].

Para instala¸c˜oes de POF de baixo custo, o diodo emissor de luz (LED) ´e a fonte ´

otica mais adequada [3]. Por´em, o LED possui um alto grau de n˜ao-linearidade [3], o que pode inviabilizar a utiliza¸c˜ao de transmiss˜oes de sinais DMT em compara¸c˜ao a outras t´ecnicas de modula¸c˜ao como PAM [5]. Por isso ´e necess´ario investigar os efeitos da n˜ ao-linearidade em sinais DMT para que o impacto possa ser reduzido atrav´es de otimiza¸c˜oes.

1.2

Organiza¸

ao do Trabalho

O objetivo deste trabalho ´e obter um modelo para o impacto da n˜ao-linearidade do LED em transmiss˜oes DMT em POF em fun¸c˜ao da amplitude do sinal e polariza¸c˜ao do LED. O restante do trabalho ´e organizado da seguinte forma.

No Cap´ıtulo 2 ´e explicado o princ´ıpio de funcionamento do DMT e ´e realizada uma revis˜ao bibliogr´afica sobre os efeitos do clipping e da n˜ao-linearidade em transmiss˜oes DMT. O Cap´ıtulo 3 descreve o experimento realizado para se obter as medi¸c˜oes e s˜ao mostradas os dados obtidos. O Cap´ıtulo 4 explica as t´ecnicas utilizadas para obter um modelos matem´aticos a partir dos dados e os modelos obtidos atrav´es delas. Por fim, no Cap´ıtulo 6 o autor exp˜oes suas conclus˜oes.

(19)

Cap´ıtulo 2

Clipping e n˜

ao-linearidade

O estudo da distor¸c˜ao n˜ao linear em sinais DMT pode ser dividido em duas ´areas principais pertinentes a este trabalho: a realiza¸c˜ao de clipping em um emissor com fun¸c˜ao de transferˆencia linear, o que pode ser feito com o intuito de limitar a rela¸c˜ao entre a potˆencia de pico e a potˆencia m´edia (PAPR), e a distor¸c˜ao causada pela n˜ao-linearidade da fun¸c˜ao de transferˆencia da fonte [9]. Neste trabalho ´e chamada de clipping a pr´atica de imposi¸c˜ao de um limite sim´etrico de amplitude para o sinal, tamb´em conhecido como hard clipping. Neste cap´ıtulo ´e explicado o princ´ıpio de funcionamento do DMT e realizada uma revis˜ao bibliogr´afica de trabalhos nos quais s˜ao estudado os efeitos efeitos do clipping e da n˜ao-linearidade separadamente e em conjunto.

2.1

Princ´ıpio de funcionamento do DMT

DMT ´e uma implementa¸c˜ao em banda base da Orthogonal frequency-division mul-tiplexing (OFDM) que possui como sa´ıda valores reais e n˜ao requer modula¸c˜ao coerente em fase e quadratura na portadora RF [9]. Em transmiss˜oes DMT atrav´es de LEDs, o sinal ´e unipolar, j´a que o LED ´e polarizado ( bias). O esquemas b´asicos de um transmissor e receptor DMT est˜ao mostrados na Figura 2.1.

No transmissor sequˆencia de bits de entrado, nos esquemas mostrados ´e uma sequˆencia pseudo-aleat´oria de bits (PRBS), ´e dividida em N fluxos paralelos (S/P) de bits que posteriormente s˜ao mapeadas para s´ımbolos QAM M-´arios, formando um vetor de valores complexo de tamanho N para cada s´ımbolo DMT. Para que sejam obtidos va-lores reais ap´os a transformada inversa de Fourier (IFFT), ´e aplicada simetria hermitiana,

(20)

o que significa que o vetor ser´a espelhado e a fase de cada novo elemento acrescentado ao vetor ser´a invertida, formando um vetor complexo de tamanho 2N. Depois, o sinal passa pela IFFT gerando um s´ımbolo no dom´ınio do tempo, que ´e um vetor real de tamanho 2N, e opcionalmente, ´e acrescentado ao vetor um prefixo c´ıclico (CP) para aumentar a robustez contra interferˆencia entre s´ımbolos (ISI) e facilitar a caracteriza¸c˜ao do canal, equaliza¸c˜ao e sincroniza¸c˜ao. O sinal ent˜ao ´e serializado e convertido para anal´ogico e transmitido pelo meio f´ısico, no caso um LED e uma SI-POF [11].

No receptor, o sinal ´otico ´e detectado por um fotodiodo e digitalizado por um conversor anal´ogico-digital (ADC). O sinal digital ´e sincronizado e convertido de serial para paralelo (S/P) e ent˜ao ´e realizada a transformada direta de Fourier (FFT). Depois, ´e removido o CP e a simetria hermitiana. ´E realizada a equaliza¸c˜ao e o sinal ´e convertido de paralelo para serial (P/S) gerando um vetor de valores complexos de tamanho N por ´

ultimo ´e realizado a convers˜ao de s´ımbolos QAM para um sequencia de bits, nessa etapa tamb´em ´e medida a magnitude do vetor de erro (EVM) e a rela¸c˜ao rela¸c˜ao sinal-ru´ıdo para cada subportadora utilizando sequencias de bits conhecidas [5] [11].

Figura 2.1: Diagramas de blocos do: (a) Transmissor DMT (b) Receptor DMT [11] .

2.2

Impacto da n˜

ao-linearidade do LED em sinais

DMT

Neokosmidis et al (2009) [6], atrav´es de deriva¸c˜oes de modelos matem´aticos, analisa os efeitos da n˜ao-linearidade da fun¸c˜ao de transferˆencia do LED na transmiss˜ao de um sinal QAM-DMT em um sistema sem clipping. Os c´alculos foram realizados utilizando medi¸c˜oes da fun¸c˜ao de transferˆencia de um LED branco, que foi aproximada atrav´es de

(21)

5 um polinˆomio de segundo grau. O trabalho prop˜oe um modelo para o c´alculo de potˆencia de crosstalk entre as subportadoras, que ´e o principal efeito da n˜ao-linearidade em sinais DMT, e demonstra que essa interferˆencia equivale a um ru´ıdo aditivo gaussiano.

Uma das conclus˜oes obtidas atrav´es do modelo foi que quanto maior ´e o n´umero de subportadoras, maior ´e raz˜ao sinal-crosstalk. Esse efeito pode ser explicado pelo fato que com o aumento do n´umero de subportadoras, a PAPR aumenta, o que faz com que os picos tenham amplitude maior por´em se tornem menos frequentes e mais estreitos. Isso faz com que quando n˜ao haja picos, a potˆencia do sinal seja menor e como s´o os picos ser˜ao afetados pela n˜ao-linearidade de forma significativa e no resto do sinal a potˆencia ser´a minimizada, o efeito da n˜ao-linearidade diminui. Esse efeito ´e vis´ıvel na Figura 2.2, onde a raz˜ao sinal-crosstalk est´a plotada em fun¸c˜ao do n´umero total de subportadoras.

Na pr´atica, n˜ao ´e vantajoso aumentar ilimitadamente o n´umero de subportadoras, porque a potˆencia m´axima dos picos tenderia ao infinito, j´a que existe a possibilidade de haver interferˆencia construtiva entre todas as subportadoras em algum momento. Esse fato torna imposs´ıvel do sinal ser transmitido utilizando um equipamento f´ısico, j´a que possuem faixa dinˆamica limitada. Portando, sempre haver´a algum clipping no sinal, o que imp˜oe um limite para o SNR, como ser´a visto posteriormente neste cap´ıtulo.

Outra conclus˜ao obtida nesse trabalho foi que com o aumento da quantidade de s´ımbolos (M) na constela¸c˜ao QAM, a raz˜ao sinal-crosstalk ´e reduzida, o que ´e observ´avel na Figura 2.2. O autor justifica esse fenˆomeno como devido ao fato que como a potˆencia foi mantida contante, a distˆancia entre os s´ımbolos ´e reduzida para M maiores, o que torna o sinal mais suscept´ıvel a ru´ıdo devido ao crosstalk.

(22)

Figura 2.2: Estimativa de rela¸c˜ao sinal-crosstalk para (a) primeira subportadora e (b) subportadora central.

O modelo obtido para o crosstalk considera o ´ındice de modula¸c˜ao do sinal como sendo igual a 1 (γ = 1), ou seja, a amplitude ´e igual ao n´ıvel de polariza¸c˜ao do sinal. Isso torna o modelo relativamente limitado, dado que n˜ao permite alterar a corrente de polariza¸c˜ao do LED e a amplitude do sinal de forma independente. Ambos s˜ao fatores importantes para estimar os efeitos da n˜ao-linearidade, sendo que alteram a regi˜ao de opera¸c˜ao na fun¸c˜ao de transferˆencia. Por isso, neste trabalho ser´a apresentado um modelo para a rela¸c˜ao sinal-ru´ıdo (SNR) em sinais DMT em fun¸c˜ao da amplitude e da corrente de bias, podendo assumir valores distintos.

2.3

Impacto do clipping em sinais DMT

Mestdagh et al (1994) [7] modelou matematicamente o impacto do clipping em sinais DMT com n´umero grande de subportadoras (N > 10), visto que nesses casos a distribui¸c˜ao da amplitude do sinal se aproxima de uma distribui¸c˜ao gaussiana. O autor concluiu que ´e poss´ıvel obter ganho na rela¸c˜ao sinal-ru´ıdo utilizando clipping no sinal. Isso acontece porque h´a ganho de faixa dinˆamica do sinal, por´em ocorre introdu¸c˜ao de ru´ıdo devido `a perda da informa¸c˜ao carregada pela parte ceifada do sinal. Ent˜ao, h´a um ponto ´

otimo de clipping, j´a que com o aumento da faixa dinˆamica do sinal a rela¸c˜ao sinal-ru´ıdo devida ao ru´ıdo dos conversores AD/DA aumenta, como ser´a mostrado a seguir.

O parˆametro µ representa raz˜ao entre a amplitude m´axima imposta pelo clipping e o desvio padr˜ao do sinal DMT. A Figura 2.3 (a) mostra que existe um valor ´otimo de µ

(23)

7 para cada quantidade de bits de quantiza¸c˜ao que maximize o ganho da rela¸c˜ao sinal-ru´ıdo devido `a quantiza¸c˜ao. Esse ganho pode ser expresso em bits, e ´e no m´ınimo 2 bits como ´e mostrado na Figura 2.3 (a), equivale a um ganho de aproximadamente 12dB [8] `a rela¸c˜ao sinal-ru´ıdo devida a erros de quantiza¸c˜ao. A Figura 2.3 (b) mostra o valor de µ ´otimo para maximizar o ganho de SNR em fun¸c˜ao do n´umero de bits do quantizador.

Figura 2.3: (a) Ganho em bits devido ao clipping (∆) em fun¸c˜ao de µ, para diferentes quantidades de bits de quantiza¸c˜ao (R1) para N = 256 e 8 QAM. (b) µ otimizado para se obter m´aximo ganho de SNR em fun¸c˜ao do n´umero de bits do quantizador. [7].

Portanto, se utilizado de forma correta, a introdu¸c˜ao de clipping pode trazer me-lhorias na rela¸c˜ao sinal-ru´ıdo em transmiss˜oes DMT.

2.4

Impacto do clipping combinada com a n˜

ao-linearidade

em sinais DMT

Inan et al (2009) [9], atrav´es de simula¸c˜oes num´ericas, analisou o impacto da n˜ ao-linearidade da fun¸c˜ao transferˆencia do LED em um sistema ´otico DMT. Um polinˆomio quadr´atico foi usado para modelar a fun¸c˜ao de transferˆencia. Nas simula¸c˜oes ocorre clipping quando a potˆencia instantˆanea desvia mais que 10 dB em rela¸c˜ao `a m´edia.

Tamb´em foi investigado o efeito da concavidade da fun¸c˜ao de transferˆencia na rela-¸c˜ao sinal-ru´ıdo do sinal atrav´es do parˆametro ζ, quando ζ = 0.5 a fun¸c˜ao de transferˆencia ´e linear, quando ζ > 0.5 a fun¸c˜ao ´e concava, que ´e o caso das fun¸c˜oes de transferˆencias de LEDs e para ζ < 0.5 a fun¸c˜ao ´e convexa. Depois foi calculado a penalidade na rela¸c˜ao

(24)

sinal-ru´ıdo que cada valor ζ causaria para taxa de erro de bit (BER) alvo igual a 10−3, que ´e mostrada na Figura 2.2. Quanto maior ´e o m´odulo de ζ maior ´e a penalidade na rela¸c˜ao sinal-ru´ıdo devido `a n˜ao-linearidade.

Figura 2.4: Penalidade na rela¸c˜ao sinal-ru´ıdo para que se obtenha BER igual a 10−3 em fun¸c˜ao de ζ [9].

Foi realizada uma s´erie de simula¸c˜oes variando o n´umero de subportadoras e o ´ındice de modula¸c˜ao para se obter a rela¸c˜ao sinal-ru´ıdo por subportadora. A partir desses resultados o autor concluiu que com o aumento do n´umero de subportadoras a perfor-mance do sistema piora, como mostrado na Figura 2.5 o que, aparentemente, contradiz Neokosmidis et al (2009) [6].

Essa diferen¸ca nos resultados ocorre porque para ´ındices de modula¸c˜ao pequenos (γ = 0.1) a distor¸c˜ao causada pela n˜ao-linearidade ´e pequena, j´a que a regi˜ao de opera¸c˜ao ´e quase linear e a distor¸c˜ao causada pelo clipping ´e predominante. Para n´umeros pequenos de subportadoras (M < 10) o clipping ocorre raramente ent˜ao o ru´ıdo causado por ele ´e pequeno. Para n´umeros maiores de subportadoras a ocorrˆencia de clipping se torna mais frequente e a potˆencia do ru´ıdo causado por ele tamb´em aumenta. Portanto, quando h´a clipping a rela¸c˜ao sinal-ru´ıdo piora com o aumento do n´umero de subportadoras.

(25)

9

Figura 2.5: Rela¸c˜ao sinal-ru´ıdo por subportadora para diferentes n´umeros de subpor-tadoras e ´ındices de modula¸c˜ao(γ). (a) 3 subportadoras (b) 7 subportadoras (c) 255 subportadoras [9].

2.5

Compara¸

ao de t´

ecnicas de modula¸

ao em um

canal n˜

ao linear

Stepniak et al (2015) [5] analisa os efeitos da n˜ao-linearidade em uma transmiss˜ao utilizando luz vis´ıvel em espa¸co livre (VLC), utilizando as modula¸c˜oes PAM, CAP e DMT. Para as transmiss˜oes, foi utilizado um LED azul com uma camada fosforescente que gera um componente amarelo, que resulta em uma luz branca. A corrente de bias no LED ´e igual a 500 mA, e as transmiss˜oes foram realizadas em visada direta a 30 cm do receptor, que possui um filtro azul. Foi utilizado clipping de 11 dB em torno da potˆencia m´edia nos sinais DMT.

(26)

O experimento mostrou que para sinais DMT de alta potˆencia (menor atenua¸c˜ao) a n˜ao-linearidade tem um grande impacto na piora da SNR, por´em se a potˆencia for baixa demais a rela¸c˜ao sinal-ru´ıdo tamb´em ´e baixa devido ao ru´ıdo do receptor. Esse efeito ´e vis´ıvel na Figura 2.6.

Figura 2.6: Rela¸c˜ao sinal-ruido por subportadoras na transmiss˜ao utilizando DMT para v´arios n´ıveis de atenua¸c˜ao [5].

Nas medi¸c˜oes, a modula¸c˜ao DMT obt´em pior performance que as alternativas, como mostrado na Figura 2.7. A explica¸c˜ao apresentada ´e que a PAM e a CAP possuem fun¸c˜oes densidade de probabilidade mais compactas, ou seja a PAPR ´e menor, causando menos distor¸c˜ao devido `a n˜ao-linearidade.

(27)

11

Figura 2.7: BER para v´arias t´ecnicas de modula¸c˜ao em fun¸c˜ao da atenua¸c˜ao para (a) 300Mb/s e (b) 450 Mb/s[5].

(28)

Cap´ıtulo 3

Descri¸

ao do Experimento

O objetivo do experimento ´e mensurar a rela¸c˜ao entre os efeitos da n˜ao-linearidade do LED na rela¸c˜ao sinal-ru´ıdo, a amplitude do sinal e a corrente de bias em uma transmis-s˜ao DMT em uma fibra ´otica de polimetil-metacrilato de ´ındice degrau (SI PMMA POF). Tamb´em ser´a estudado se o aumento do comprimento da fibra altera os efeitos da n˜ao linearidade. O efeito da varia¸c˜ao da corrente de bias n˜ao foi estudado individualmente em nenhum dos trabalhos mencionados no cap´ıtulo anterior.

As medi¸c˜oes s˜ao realizadas variando a corrente de polariza¸c˜ao do LED (Ibias) e a amplitude do sinal DMT, para que posteriormente possam ser encontrado os parˆametros ´

otimos de opera¸c˜ao, uma vez que o LED apresenta um alto grau de n˜ao-linearidade como mostra a Figura 3.1. As medi¸c˜oes foram realizadas de acordo com o experimento descrito por Sampaio et al (2018) [10][11].

(29)

13

Figura 3.1: Gr´afico de potˆencia ´otica da FFOS por corrente de polariza¸c˜ao obtido atrav´es de medi¸c˜oes est´aticas (sem utilizar sinal modulado) [10].

A m´etrica utilizada para quantificar a rela¸c˜ao sinal-ru´ıdo no experimento ´e a re-la¸c˜ao sinal-ru´ıdo multiportadora (SN RM C). A SN RM C caracteriza todo o conjunto de subportadoras atrav´es de uma rela¸c˜ao sinal-ru´ıdo equivalente em um sistema monoporta-dora em um canal com ru´ıdo branco gaussiano aditivo (AWGN) capaz de atingir a mesma taxa de transmiss˜ao de bits [12]. ´E definida como:

SN RM C = Γ      ND Y k=1  1 + SN Rk Γ ! 1 Γ − 1      (3.1)

onde ND ´e o n´umero de subportadoras do sinal DMT, SN Rk ´e a SNR em cada subportadora k e Γ ´e a diferen¸ca entre o SNR e a capacidade do canal. Neste experimento Γ ´e empiricamente medido e igual a 5 dB.

Defining Ptarget, que ´e a potˆencia do sinal a ser transmitido, ´e poss´ıvel contro-lar a amplitude do sinal DMT antes da convers˜ao digital-anal´ogica utilizado o fator de escalonamento (SF) utilizando a f´ormula:

Ptarget =  1 2 V ppmax SF  (3.2)

onde V ppmax ´e a tens˜ao de pico a pico m´axima do conversor digital-anal´ogico (DAC) [12] .

(30)

O sinal, ent˜ao, ´e escalonado, gerando srescaled(t) [12] que ser´a convertido pelo DAC: srescaled(t) = s PDM T Ptarget (3.3)

3.1

Configura¸

ao Experimental

O sinal ´e gerado utilizando um computador e a convers˜ao digital-anal´ogica (DAC) ´e realizada utilizando um gerador de onda arbitr´ario (AFG) e depois capturado utilizando um oscilosc´opio digital, por ´ultimo, ´e transferido de volta para o computador, onde ´e demodulado. Nas medi¸c˜oes do experimento o n´umero de portadoras ´e fixo, sendo igual a 494 e a ordem do QAM ´e 4.

A fonte ´otica utilizada ´e composta por um LED verde de comprimento de onda de 520nm que bombardeia uma POF fluorescente gerando um comprimento de onda de 560nm, esse conjunto ´e referido como fonte ´otica fluorescente r´apida (FFOS). Esse com-primento de onda foi escolhido devido `a existˆencia de uma janela de baixa atenua¸c˜ao na PMMA POF em 560nm [10].

Inicialmente, s˜ao realizadas as transmiss˜oes em back-to-back ´otico (OB2B), onde uma POF de 2 cm de comprimento foi utilizada. Nesse caso os efeitos de dispers˜ao e atenua¸c˜ao da fibra ´otica s˜ao desprez´ıveis. A Figura 3.2 mostra a configura¸c˜ao experimental b´asica.

Posteriormente, s˜ao repetidas as medi¸c˜oes substituindo POF de 2 cm por uma de 20 m.

(31)

15

3.2

Resultados

A partir do experimento descrito foram obtidos os valores da SN RM C em fun¸c˜ao da corrente de polariza¸c˜ao (Bias) e do Scaling Factor. Os resultados das medi¸c˜oes s˜ao mostrados nas Figuras 3.3 e 3.4.

´

E poss´ıvel observar que quanto menor o Scaling Factor, e consequentemente a amplitude, maior a rela¸c˜ao sinal ru´ıdo. N˜ao foi observado o mesmo efeito do que Stepniak et al (2015) [5], no qual para amplitudes pequenas, a SNR diminui, isso pode ser explicado porque a transmiss˜ao foi realizada em um meio guiado, o que faz com que o n´ıvel de ru´ıdo seja menor do que em VLC. Nesse caso, o efeito da n˜ao-linearidade ´e dominante em rela¸c˜ao ao efeito do ru´ıdo est´atico. Tamb´em ´e observ´avel que quanto maior ´e a corrente de bias maior ´e a SNR, isso pode ser explicado pelo aumento da potˆencia do sinal.

Comparando os resultados das transmiss˜oes em 2 cm e 20 m, observa-se que com o aumento do comprimento da POF, o efeito da n˜ao linearidade n˜ao-aumenta visivelmente, por´em ocorre uma redu¸c˜ao da SNR em toda a regi˜ao estudada.

(32)
(33)

Cap´ıtulo 4

Modelagem Matem´

atica

A partir dos dados obtidos atrav´es das medi¸c˜oes ser˜ao utilizados dois m´etodos para encontrar equa¸c˜oes que podem descrevˆe-los: ajuste de superf´ıcies e regress˜ao simb´olica, que ´e um tipo de algoritmo de programa¸c˜ao gen´etica.

4.1

Ajuste de Superf´ıcies

Para esta t´ecnica ser´a utilizada a biblioteca de ajuste de curvas pyeq3 [13] para Python, que possui uma cole¸c˜ao de pouco mais de cinco mil equa¸c˜oes provenientes de diferentes ´areas da ciˆencia. Para realizar o ajuste de parˆametros das equa¸c˜oes a biblioteca utiliza principalmente dois m´etodos. No caso em que a equa¸c˜ao pode ser escrita na forma

z = k−1 X n=0

anfn(x, y) (4.1)

onde an s˜ao os coeficientes da equa¸c˜ao, o m´etodos dos m´ınimos quadrado ´e utili-zado. Para a maioria dos outros modelos ´e utilizado o m´etodo de Nelder–Mead combinado com um algoritmo evolutivo diferencial para calcular os coeficientes iniciais [13].

4.1.1

etodo dos m´ınimos quadrados

A partir do vetor de valores conhecidos Z = hz0 z1 ... zm−1 iT

que pode ser representado como: zi = k−1 X n=0 anfn(xi, yi) + i (4.2) i = 0, 1, 2...m − 1

(34)

onde m ´e a quantidade de pontos conhecidos, k ´e a quantidade de parˆametros da equa¸c˜ao e i ´e o erro entre o valor de z medido e o fornecido pelo modelo.

Definindo: X =         f0(x0, y0) f1(x0, y0) ... fk−1(x0, y0) f0(x1, y1) f1(x1, y1) ... fk−1(x1, y1) ... ... ... ... f0(xm−1, ym−1) f1(xm−1, ym−1) ... fk−1(xm−1, ym−1)         , A =ha0 a1 ... ak−1 iT  =h0 1 ... m−1 iT

Ent˜ao podemos reescrever a equa¸c˜ao (4.2) na forma matricial como

Z = XA + 

E a soma dos erros quadrados pode ser definida como

m−1 X i=0

2i = T = (Z − XA)T(Z − XA) (4.3)

´

E poss´ıvel provar que (4.3) [14] ´e m´ınimo se

A = (XTX)−1XTZ

Na biblioteca pyeq3 este m´etodo ´e realizado utilizando a implementa¸c˜ao contida no pacote numpy [13] [15].

4.1.2

etodo de Nelder–Mead

O m´etodo de Nelder–Mead ´e um algoritmo iterativo que tem o objetivo de encontrar o m´ınimo de uma fun¸c˜ao[16].

Para encontrar o ponto m´ınimo ´e utilizado uma aproxima¸c˜ao do gradiente que n˜ao depende de derivadas, apenas de valores da fun¸c˜ao. Por este m´etodo utilizar uma aproxima¸c˜ao do gradiente, existe a possibilidade de convergir para um m´ınimo local [16]. Por isso a biblioteca pyeq3 utiliza um algoritmo evolutivo diferencial para estimar os parˆametros iniciais. A implementa¸c˜ao deste m´etodo utilizada pela pyeq3 ´e a do pacote scipy [17].

(35)

19 Este m´etodo pode ser utilizado para encontrar os parˆametros que minimizem o erro quadrado de um modelo mesmo nos casos em que o modelo n˜ao seja da forma (4.1), ou seja o modelo n˜ao precisa ser uma combina¸c˜ao linear de fun¸c˜oes cujos os coeficientes sejam os parˆametros que se deseja otimizar.

4.1.3

Resultados

Utilizando como entrada os valores de SN RM C em escala linear, foi executado um algoritmo que realiza o ajuste de todas os modelos contidos na biblioteca pyeq3 e retorna o modelo com menor soma de erros ao quadrado (SSQABS) para uma dada quantidade de parˆametros.

O programa foi executado para encontrar o melhor modelo com quantidades de parˆametros entre 3 a 10. Al´em disso, os dados de cada medi¸c˜ao tamb´em foram ajustados `

a equa¸c˜ao quadr´atica completa. Os resultados est˜ao contidos nas Tabelas 4.1 e 4.2, onde as vari´aveis x, y e z representam respectivamente o Scaling Factor, Bias e o SN RM C. O c´odigo fonte do programa ´e mostrado no Apˆendice A e o c´odigo que abre m´ultiplas instˆancias do programa em paralelo ´e mostrado no Apˆendice B.

O modelo com menor erro encontrado pelo m´etodo de ajuste de superf´ıcies para o SN RM C para ambos os comprimentos da POF foi o Full Cubic. O modelo ´e mostrado nas Figuras 4.1 e 4.2, onde est´a ajustado para os dados das transmiss˜oes em 2 cm e 20 m respectivamente. Nessas figuras os pontos s˜ao os dados obtidos atrav´es das medi¸c˜oes e a superf´ıcie representa a previs˜ao obtida pelo modelo.

(36)

Vars Modelo F´ormula SSQABS

3 Simple Equation 31 z = a*exp(b/y+c*x) 64259.1

4 Simple Equation 31 With Offset

z = a*exp(b/y+c*x) +Offset 60379.0

5 Rational K z = ay / (b(1 + x/c) +y(1 + x/d)) + Offset 43185.0 6 Taylor Series E z = a + b/x + cy +d/x2 + fy2 + gy/x 18728.4

7 Rational O z = (a + b*ln(x) + c*ln(y) + d*ln(x)ln(y))/ (1 + fx + gy + hxy) 17048.6 8 Rational O With Offset z = (a + bx + cy +dxy)/(1 + f*ln(x) + g*ln(y) + h*ln(x)*ln(y)) + Offset 13690.9 9 Transform Simplified Quadratic Logarithmic z = a + b*ln(g*x+h) + c*ln(i*y+j) + d*ln(g*x+h)2 + f*ln(i*y+j)2 122281.4 10 Full Cubic z= a + bx + cy + dx2 + fy2 + gx3 + hy3 + ixy + jx2y + kxy2 6651.1

6 Full Quadratic z = a + bx + cy + dx2 + fy2 + gxy 24101.6

Algoritimo gen´etico Equa¸c˜ao 1 4882.2

(37)

21

Vars Modelo F´ormula SSQABS

3 Simple Equation 31 z = a*exp(b/y+c*x) 38634.6

4 Simple Equation 31 With Offset z = a*exp(b/y+c*x) + Offset 36692.4 5 Mixed Inhibition B With Offset z = ay / (b(1 + x/c) + y(1 + x/d)) + Offset 18425.9

6 Taylor Series G z = a + b/x + c*ln(y)

+ d/x2 + f*ln(y)2 + g*ln(y)/x 10188.3

7 Rational O z = (a + b*ln(x) +

c*ln(y) + d*ln(x)ln(y))/(1 + fx + gy + hxy)

8318.1 8 Rational O With Offset z = (a + b*ln(x) +c*ln(y) + d*ln(x)ln(y)) /(1 + fx + gy + hxy) + Offset 7126.1

9 Transform Sag For Asphere 2 With Offset

s2= (ax+b)2 + (cy+d)2

z = (s2/r) /(1+(1-(k+1)(s/r)2)1/2) + A4*s4 + A6*s6 + Offset

38425.4 10 Full Cubic z = a + bx + cy + dx 2 + fy2 + gx3 + hy3+ ixy + jx2y + kxy2 3656.8 6 Full Quadratic z = a + bx + cy + dx2 + fy2 + gxy 19960.8

Algoritimo gen´etico Equa¸c˜ao 2 4413.0

(38)

Figura 4.1: Melhor modelo para 2 cm.

Figura 4.2: Melhor modelo para 20 m.

4.2

Programa¸

ao gen´

etica

Programa¸c˜ao gen´etica (GP) ´e um tipo de algor´ıtimo evolutivo usado para descobrir solu¸c˜oes para problemas que humanos n˜ao sabem como resolver diretamente. Algoritmos

(39)

23 GP s˜ao baseados na evolu¸c˜ao biol´ogica e seus mecanismos, como muta¸c˜ao aleat´oria, cru-zamento, uma fun¸c˜ao de aptid˜ao (fitness) e m´ultiplas gera¸c˜oes com melhora gradativa na solu¸c˜ao do problema [19].

A programa¸c˜ao gen´etica pode ser considerada um processo estoc´astico, sempre que a popula¸c˜ao inicial ´e gerada e com cada sele¸c˜ao e evolu¸c˜ao do processo, indiv´ıduos aleat´orios da gera¸c˜ao atual passam por mudan¸cas aleat´orias para passar para a pr´oxima [18].

4.3

Regress˜

ao simb´

olica

A regress˜ao simb´olica ´e uma t´ecnica de aprendizado de m´aquina, baseada em pro-grama¸c˜ao gen´etica, que tem como objetivo identificar uma express˜ao matem´atica que melhor descreve uma rela¸c˜ao entre vari´aveis. O algor´ıtimo come¸ca com uma popula¸c˜ao de f´ormulas aleat´orias que representam a rela¸c˜ao entre vari´aveis independentes e uma vari´avel dependente. A cada gera¸c˜ao ´e gerada uma nova popula¸c˜ao de f´ormulas baseadas nas que obtiveram as melhores pontua¸c˜oes na gera¸c˜ao anterior que passam por opera-¸c˜oes gen´eticas. Neste trabalho ser´a utilizada a implementa¸c˜ao da biblioteca gplearn, para Python. [18]

4.3.1

Representa¸

ao

Considerando uma express˜ao arbitr´aria:

y = X02− 3 × X1+ 0.5

tamb´em pode ser escrita como

y = X0× X0 − 3 × X1+ 0.5

Ou em linguagem de programa¸c˜ao como:

y = add(sub(mult(X0, X0), mult(3.0, X1)), 0.5)

Em todas essas representa¸c˜oes h´a um arranjo de vari´aveis, constantes e fun¸c˜oes. Nesse caso, as fun¸c˜oes s˜ao adi¸c˜ao, subtra¸c˜ao e multiplica¸c˜ao. Tamb´em h´a as vari´aveis X0 e X1 e as constantes 3,0 e 0,5. O conjunto de todas a vari´aveis, constantes e fun¸c˜oes dispon´ıveis ´e chamado de conjunto primitivo. [18]

(40)

A f´ormula tamb´em pode ser representada atrav´es de uma ´arvore de opera¸c˜oes, como mostrado na Figura 4.3, onde os n´os internos da ´arvore s˜ao as fun¸c˜oes e as folhas s˜ao as constantes e vari´aveis. Essa representa¸c˜ao mostra que a express˜ao pode ser tratada de forma recursiva. [18]

Figura 4.3: Representa¸c˜ao em ´arvore de opera¸c˜oes.

Do ponto de vista do algoritmo de regress˜ao simb´olica cada sub-´arvore, por exemplo X0× X0, pode ser substitu´ıda por outra sub-´arvore que represente uma express˜ao v´alida gerando assim uma ´arvore tamb´em v´alida. [18]

4.3.2

etrica

Para quantificar o qu˜ao adequada ´e cada f´ormula, ´e necess´ario determinar uma m´etrica de fitness. O fitness, por padr˜ao, ´e baseada na m´edia dos erros quadrados (MSE) entre os valores medidos e os valores previstos pela f´ormula. O algoritmo gen´etico busca maximizar o valor de fitness. [18]

No c´alculo de fitness tamb´em h´a uma parcela para penalizar equa¸c˜oes mais com-plexas, que pode ser ajustado pelo parˆametro parsimony. Se o valor desse parˆametro for muito alto equa¸c˜oes grandes ter˜ao fitness menores mesmo que o MSE seja menor que de equa¸c˜oes menores. E se o parsimony for muito baixo o algoritmo beneficiar´a equa¸c˜oes muito grandes mesmo que a melhora do MSE seja pequena. [18]

f itness = −M SE − Lf ormula× parsimony

onde Lf ormula ´e o comprimento da f´ormula que ´e definido como o n´umero de elementos que ´e igual ao n´umero de n´os da ´arvore.

(41)

25

4.3.3

Resiliˆ

encia

Para que o programa possa ser devidamente executado, as fun¸c˜oes utilizadas nas f´ormulas n˜ao podem retornar erros, por isso s˜ao utilizadas vers˜oes protegidas das fun¸c˜oes matem´atica convencionais, como: a fun¸c˜ao de divis˜ao retorna 1 para valores de denomi-nador muito pr´oximos a zero, a fun¸c˜ao raiz quadrada retorna a raiz quadrada do m´odulo, a fun¸c˜ao log retorna o logaritmo do m´odulo. Dessa forma se garante que a execu¸c˜ao do programa n˜ao ser´a interrompida por erros num´ericos.[18]

4.3.4

Inicializa¸

ao

Ao iniciar a execu¸c˜ao do algor´ıtimo ´e gerado um primeiro conjunto de f´ormulas aleat´orias que comp˜oe a primeira gera¸c˜ao. ´E poss´ıvel configurar uma faixa de alturas da ´

arvore, controlando indiretamente a complexidade das f´ormulas geradas inicialmente. [18] As alturas iniciais das ´arvores idealmente n˜ao devem ser muito grandes, pois isso resultaria em f´ormulas mais complexas logo no in´ıcio e que mesmo assim n˜ao representaria bem os dados, visto que inicialmente n˜ao ´e utilizada a fun¸c˜ao fitness. [18]

Tamb´em ´e poss´ıvel determinar o tamanho da popula¸c˜ao, ou seja quantas f´ormulas ser˜ao geradas a cada gera¸c˜ao. [18]

4.3.5

Sele¸

ao

A partir da popula¸c˜ao gerada em uma gera¸c˜ao ´e sorteado um subconjunto aleat´orio, chamado de torneio. O indiv´ıduo do torneio com melhor fitness ´e o que passar´a para a pr´oxima gera¸c˜ao. [18]

´

E poss´ıvel controlar o tamanho do torneio. Torneios maiores far˜ao com que o programa convirja para a solu¸c˜ao mais rapidamente, por´em um torneio menor far´a com que as popula¸c˜oes sejam mais diversificadas. [18]

4.3.6

Evolu¸

ao

O indiv´ıduo selecionado no torneio passa para a pr´oxima gera¸c˜ao depois de passar por opera¸c˜oes gen´eticas que podem ser cruzamento, muta¸c˜ao de sub-´arvore, remo¸c˜ao de sub-´arvore, muta¸c˜ao de n´o, reprodu¸c˜ao. E poss´ıvel configurar a probabilidade de´ ocorrˆencia de cada uma dessas opera¸c˜oes. [18]

(42)

Cruzamento ´e a opera¸c˜ao na qual uma sub-arvore aleat´oria do vencedor do torneio anterior ´e substitu´ıda pela sub-´arvore de outro individuo que ´e selecionado realizando se um novo torneio. [18]

Muta¸c˜ao de sub-´arvore ´e quando uma sub-´arvore ´e selecionada aleatoriamente para ser substitu´ıda por uma nova sub-arvore, gerada de forma aleat´oria.[18]

Remo¸c˜ao de sub-´arvore sorteia uma sub-´arvore aleat´oria para ser substitu´ıda por uma de suas folhas, tem o efeito de reduzir a complexidade das f´ormulas. [18]

Muta¸c˜ao de n´o ´e a opera¸c˜ao que substitui n´os selecionados por novos n´os gerados aleatoriamente, fun¸c˜oes s˜ao substitu´ıdas por fun¸c˜oes e folhas s˜ao substitu´ıdas por novas folhas.[18]

4.3.7

Resultados

Tamb´em foi realizada a modelagem dos dados de SN RM C obtidos no cap´ıtulo anterior utilizando regress˜ao simb´olica atrav´es de algoritmo gen´etico. o c´odigo fonte do programa utilizado ´e mostrado no Apˆendice C.

O parˆametro parsimony inicialmente foi configurado para 5 e foi decrescido gradu-almente at´e 0,1. Isso foi feito para for¸car o algoritmo a apenas aumentar a complexidade dos modelos caso n˜ao se encontrem modelos mais simples com menor erro. Ou seja, sempre que o erro do melhor modelo encontrado estagnasse ao passar das gera¸c˜oes, o parsimony era decrescido manualmente. O gr´afico do erro em fun¸c˜ao da gera¸c˜ao para a execu¸c˜ao do algoritmo para as medi¸c˜oes de 20 m ´e mostrado na Figura 4.4.

(43)

27

Figura 4.4: Gr´afico da evolu¸c˜ao do erro em rela¸c˜ao `as gera¸c˜oes

O crit´erio de parada do algoritmo foi que o erro SSQABS fosse pr´oximo aos encon-trados pelos m´etodos de ajuste de curvas. Os erros obtidos na modelagem dos dados de 0.02 m e 20 m est˜ao mostrados nas Tabelas 4.1 e 4.2.

As equa¸c˜oes (5.2) e (5.3) mostram as equa¸c˜oes obtidas atrav´es de regress˜ao sim-b´olica e as Figuras 4.5 e 4.6 mostram os gr´aficos dos modelos. Devido ao alto grau de complexidade das equa¸c˜oes obtidas por este m´etodo, as equa¸c˜oes foram representadas em texto plano ao inv´es da nota¸c˜ao padr˜ao.

(44)

(5.2) - Modelo do SN RM C para 0.02 m

z = -8.621*x^(-1.0)*(y +((-1.0*x - 0.732)*(0.097*y -0.097*(x -1.0*(x*e xp(x))^0.125)^0.5)^(-1.0)*(-0.17*x - 1.0*(y + 1.058*(y^2.0*log(log(exp (x*(log(y) + log(log(log(log(x*log(log(-1.0*exp((x^1.5*y)^0.5) + 0.503 )))))^0.5)))))*log(log(log(log(log(log(log(log(x^0.5 - 1.0*exp(x*y*log (log(log(log(log(log(x^0.5 - 1.265*I))^0.5))))*log(log(log(log(log(log (log(log(exp(y)) - 0.146)^0.5))))))) - 1.0*log(log((-0.677 + I*pi)^0.5 ))^0.5))^0.5)))))))^0.5)*log(0.253*log(-1.0*exp((exp(x*(log(y) + log(l og(log(0.697*(y^(-1.0))^0.5))))) - 1.0*log(0.253*log(-1.0*exp((-1.0*x^ 1.5*y + y)^0.5) + log(log(log(exp(x*(log(y)+ log(log(log(log(log(log(l og(-1.0*exp(y) + 0.675))^0.5))))^0.5)))))^0.5))) + log(log(exp(y)))^0. 5)^0.5) + log(-1.451*x)^0.5))^(-1.0) + log(exp(x*(-1.0*exp((-1.0*x^1.5 *y + y)^0.5) + log(y) + log(log(log(log(log(log(log(exp(y)))^0.5))) -0.068)^0.5)))))*log(log(log(log(log(log(x^0.5 - 1.0*exp(0.253*x*log(-1 .0*exp(y) + 1.401)) - 1.0*log(x)))^0.5)))))^0.5)*(exp(exp((-1.0*x^1.5* y + y + exp(x*log(x + 2.0*y - 0.253)))^0.5)) + log(log(log(log(x^0.125 )))))*log(x - 1.0*(y*log(log(x^0.5 - 1.0*log(log(log(log(log(log(y)^0. 5)))))^0.5)))^0.5 + log(-0.257*log(-1.0*exp((exp(x*(log(exp(x*log(log( y^(-0.5)*log(y))))) + log(log(exp(y))))) + log(1.119*y)^0.5 - 1.0*log( 0.253*log(0.436*exp(x) - 1.0*exp((x^1.5*y)^0.5))))^0.5) + log(1.481*x) ^0.5)) -1.964)

(45)

29 (5.3) - Modelo do SN RM C para 20 m z = 5903.078*x**(-1.0)*y**0.25*(x -0.996)**(-1.0)+x**(-1.0)*y*(x- 0.29 7)**(-1.0)*(x*log(x*log(log((x - 0.297)**0.5) - 0.506))**(-1. 0) + x*log(log((x - 0.297)**0.5) - 0.506)**(-1.0) + log(exp(11.952*X1 **0.5))) + x*(exp(x + y) - 0.506)**(-1.0) + x*log(x**(-1.0)*y**0.5 + e xp(y))**(-1.0) + 0.345*x + 11.952*y**0.5 + (x + y**0.5*(x- 0.996)**(-2 .0)*(11.952*x + 23.905*log(exp(x + y))) + (-1.0*x 1.0*x**2.0*log(exp(-1.0*x + 2.0*y))**(-1.0) + y)**0.5)*log(log(log(log(x*(x*log(log((x - 0 .297)**0.5) 0.506)**(1.0) + x**4.0*y**(1.0)*(y + log(log(x**0.5) 0.506)*log(exp(x + y + (x + y)*log(log(x*log(log(x**0.5) 0.506)) -0.582))))**(-1.0)*log(log((-1.0*X0 + log(1.147*(x**2.0*y**(-1.0))**0.5 ))**0.5) - 0.506)**(-1.0)*log(exp(x + y))**(-1.0) + 1.147*(x*log(log(l og(exp(y)) + 0.345))**(-1.0))**0.5)**(-1.0)))))**(-1.0)

Figura 4.5: Modelo encontrado por regress˜ao simb´olica para 2 cm. (a) mostra a interpo-la¸c˜ao das previs˜oes da equa¸c˜ao 5.2 apenas nos pontos j´a conhecidos atrav´es das medi¸c˜oes. (b) mostra a equa¸c˜ao 5.2 plotada de forma cont´ınua.

(46)

Figura 4.6: Modelo encontrado por regress˜ao simb´olica para 20 m. (a) mostra a interpo-la¸c˜ao das previs˜oes da equa¸c˜ao 5.3 apenas nos pontos j´a conhecidos atrav´es das medi¸c˜oes. (b) mostra a equa¸c˜ao 5.2 plotada de forma cont´ınua.

4.4

Compara¸

ao entre os modelos

Apesar dos modelos gerados pela regress˜ao simb´olica representarem bem os dados j´a conhecidos, por isso possuem erro SSQABS pequenos, os modelos se comportam mal ao prever pontos desconhecidos. Isso ocorre devido ao problema de sobre-ajuste (overfit-ting) [20], o que era esperado devido `a grande complexidade das equa¸c˜oes obtidas pelo algoritmo. O princ´ıpio da Navalha de Occam, o qual diz que modelos mais simples tˆem maior probabilidade de explicar um fenˆomeno do que modelos mais complexos, justifica esse fato [21].

Portanto, ´e poss´ıvel afirmar que o modelo Full Cubic representa bem os dados e tem complexidade relativamente baixa. Esse modelo pode ser utilizado para estimar o SN RM C para as transmiss˜oes em POF de 0.02 m e 20 m. O modelo pode ser melhorado se mais dados em uma regi˜ao mais abrangente forem obtidos.

(47)

Cap´ıtulo 5

Conclus˜

ao

No trabalho foi feito um estudo sobre os efeitos da n˜ao n˜ao-linearidade causada por LEDs e clipping em sinais DMT sob PMMA SI-POF em rela¸c˜ao `a amplitude do sinal e polariza¸c˜ao do LED em diferentes distˆancias, visando aplica¸c˜oes de altas taxas de transmiss˜ao em enlaces de curto alcance de baixo custo. O efeito da corrente de polariza¸c˜ao do LED n˜ao havia sido modelado por nenhum dos trabalhos estudados, j´a que ou utilizam a polariza¸c˜ao fixada ou estava atrelada a amplitude do sinal.

A partir de medi¸c˜oes realizadas em POF, foram realizas modelagem matem´atica dos dados utilizado o m´etodo de ajuste de curvas, que ´e mais tradicional e um m´etodo de regress˜ao simb´olica baseado em algoritmo gen´etico. A partir da regress˜ao simb´olica foi encontrado um modelo muito complexo para aplica¸c˜oes pr´aticas e com alto grau de sobre-ajuste.O melhor modelo foi encontrado atrav´es de ajuste de curvas.

Foi demonstrado que ´e poss´ıvel representar a rela¸c˜ao sinal-ru´ıdo em transmiss˜oes QAM-DMT em fun¸c˜ao da polariza¸c˜ao e amplitude do sinal com um modelo relativamente simples, uma equa¸c˜ao c´ubica.

Com o modelo obtido ´e poss´ıvel obter estimativas de parˆametros de transmiss˜ao ´

otimos que minimizem os efeitos da n˜ao-linearidade.

5.1

Sugest˜

oes para trabalhos futuros

Futuramente, o modelo obtido podem ser aprimorados com a obten¸c˜ao de mais dados, j´a que o ponto de maior de maior rela¸c˜ao sinal-ru´ıdo est´a localizado fora da regi˜ao onde se obtiveram as medi¸c˜oes.

(48)

Outra possibilidade ´e criar um algor´ıtimo que combine a regress˜ao linear com o ajuste de curvas para que a cada equa¸c˜ao gerada as constantes sejam ajustadas aos dados ao inv´es de serem geradas aleatoriamente. Dessa forma, pode ser poss´ıvel gerar modelos mais abrangentes e que se ajustem melhor aos dados sem que a sua complexidade seja muito alta.

(49)

33

Referˆ

encias Bibliogr´

aficas

[1] KOIKE, Y. Fundamentals of Plastic Optical Fibers, Wiley, 2014

[2] MOHAMED, A; ZIMMERMANN,H. Optical communication over plastic optical fi-bers: integrated optical receiver technology. Berlin: Springer, 2013.

[3] SHI, Yan et al. Plastic-optical-fiber-based in-home optical networks. Ieee Commu-nications Magazine, [s.l.], v. 52, n. 6, p.186-193, jun. 2014. Institute of Electrical and Electronics Engineers (IEEE).

[4] OKONKWO, C. M. et al. Recent Results From the EU POF-PLUS Project: Multi-Gigabit Transmission Over 1 mm Core Diameter Plastic Optical Fibers. Journal Of Lightwave Technology, [s.l.], v. 29, n. 2, p.186-193, jan. 2011. Institute of Electrical and Electronics Engineers (IEEE).

[5] STEPNIAK, G.; MAKSYMIUK, L.; SIUZDAK, J.. Experimental Comparison of PAM, CAP, and DMT Modulations in Phosphorescent White LED Transmission Link. Ieee Photonics Journal, [s.l.], v. 7, n. 3, p.1-8, jun. 2015. Institute of Elec-trical and Electronics Engineers (IEEE).

[6] NEOKOSMIDIS, I. et al. Impact of Nonlinear LED Transfer Function on Discrete Multitone Modulation: Analytical Approach. Journal Of Lightwave Technology, [s.l.], v. 27, n. 22, p.4970-4978, nov. 2009. Institute of Electrical and Electronics Engineers (IEEE)

[7] MESTDAGH, D. J. G. et al. ”Analysis of clipping effect in DMT-based ADSL sys-tems,”Proceedings of ICC/SUPERCOMM’94 - 1994 International Conference on Communications, New Orleans, LA, USA, 1994, pp. 293-300 vol.1.

(50)

[8] Quantization Signal to Noise Ratio. Dispon´ıvel em: https://www.tu-ilmenau. de/fileadmin/public/mt_ams/ADSPb/WS_2016_17/Lectures/02_16-10-18DSP2_ IntroQuantSNR.pdf. Acesso em: 18 de Junho de 2019.

[9] INAN, Beril et al. Impact of LED Nonlinearity on Discrete Multitone Modulation. Journal Of Optical Communications And Networking, [s.l.], v. 1, n. 5, p.439-451, 18 set. 2009. The Optical Society.

[10] SAMPAIO, Flavio A. N. et al. Analysis of 560-nm LED Linearity on DMT Trans-mission over Step-Index PMMA Optical Fibre. 2018 Ieee British And Irish Con-ference On Optics And Photonics (BICOP), [s.l.], p.1-4, dez. 2018. IEEE.

[11] SAMPAIO, F. A., Silva, V., Neto, L., Ferreira, T., Barbero, A. P., Ribeiro, R. (2018). Highly Spectrally Efficient Discrete Multi-Tone Transmission over Step Index PMMA optical fibre for Short-Range Optical Communication. Journal of Communication and Information Systems, 33(1).

[12] Neto, Luiz Anet, ´Etude des Pontentialit´es des Techniques de Modulation Multipor-teuse pour les Futurs R´eseaux D’Acc`es Optique WDM et TDM PON, Doctorate Thesis, Universit´e de Limoges, France, 2012

[13] zunzuncode / pyeq3 - Bitbucket. Dispon´ıvel em: https://bitbucket.org/ zunzuncode/pyeq3/src/master/. Acesso em: 18 de Junho de 2019.

[14] Multiple Linear Regression. Dispon´ıvel em: http://mezeylab.cb.bscb. cornell.edu/labmembers/documents/supplement%205%20-%20multiple%

20regression.pdf. Acesso em: 18 de Junho de 2019.

[15] numpy.linalg.lstsq - NumPy v1.15 Manual. Dispon´ıvel em: https: //docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.linalg. lstsq.html. Acesso em: 18 de Junho de 2019.

[16] Lecture 2. Dispon´ıvel em: http://www.robots.ox.ac.uk/~az/lectures/opt/ 2011/lect2.pdf. Acesso em: 18 de Junho de 2019.

[17] scipy.optimize.fmin - SciPy v1.3.0 Reference Guide. Dispon´ıvel em: https:// docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.fmin.html. Acesso em: 18 de Junho de 2019.

(51)

35 [18] Genetic Programming (An Evolutionary Algorithm for Machine Learning). Dis-pon´ıvel em: http://geneticprogramming.com/. Acesso em: 18 de Junho de 2019.

[19] Introduction to GP (gplearn 0.4.1 documentation). Dispon´ıvel em: https: //gplearn.readthedocs.io/en/stable/intro.html. Acesso em: 18 de Junho de 2019.

[20] Overfitting. Dispon´ıvel em: https://web.ma.utexas.edu/users/mks/ statmistakes/ovefitting.html. Acesso em: 18 de Junho de 2019.

[21] Occam’s Razor. Dispon´ıvel em: http://pespmc1.vub.ac.be/OCCAMRAZ.html. Acesso em: 18 de Junho de 2019.

(52)

Apˆ

endice A

surface fit.py

import os, sys, inspect, copy

import pyeq3

def UniqueCombinations(items, n): # utility function

if n==0:

yield []

else:

for i in range(len(items)):

for cc in UniqueCombinations(items[i+1:],n-1):

yield [items[i]]+cc

def SetParametersAndFit(inEquation, resultList, inPrintStatus): # utility function

try:

# check for number of coefficients > number of data points to be fitted

if len(inEquation.GetCoefficientDesignators()) >

len(inEquation.dataCache.allDataCacheDictionary['DependentData']):

return

# check for functions requiring non-zero nor non-negative data such as 1/x, etc.

if inEquation.ShouldDataBeRejected(inEquation):

return

if inPrintStatus:

(53)

37

print(smoothnessControl,'Fitting', inEquation.__module__, "'" + inEquation.GetDisplayName() + "'")

inEquation.Solve() target =

inEquation.CalculateAllDataFittingTarget(inEquation.solvedCoefficients)

if target > 1.0E290: # error too large

return except:

print("Exception in " + inEquation.__class__.__name__ + '\n' +

str(sys.exc_info()[0]) + '\n' + str(sys.exc_info()[1]) + '\n') return t0 = copy.deepcopy(inEquation.__module__) t1 = copy.deepcopy(inEquation.__class__.__name__) t2 = copy.deepcopy(inEquation.extendedVersionHandler.__class__.__name__.split('_')[1]) t3 = copy.deepcopy(target) t4 = copy.deepcopy(inEquation.solvedCoefficients) t5 = copy.deepcopy(inEquation.polyfunctional3DFlags) t6 = copy.deepcopy(inEquation.xPolynomialOrder) t7 = copy.deepcopy(inEquation.yPolynomialOrder) resultList.append([t0,t1,t2,t3,t4,t5,t6,t7]) rawData_o = open('data20.txt','r').read() rawData=''

for line in rawData_o.split('\n'): #print(repr(line))

if line.strip(): vals=line.split(' ') #print(vals)

rawData+= ' '.join(vals[:2]+[str(10**(float(vals[2])/10))])+'\n'

with open('datalin20.txt','w') as f: f.write(rawData.replace(' ',',' ))

(54)

resultList = [] fittingTargetText = 'SSQABS' externalCache = pyeq3.dataCache() reducedDataCache = {} smoothnessControl = 7 import sys if len(sys.argv)>1:

smoothnessControl=int( sys.argv[1])

for submodule in inspect.getmembers(pyeq3.Models_3D):

if inspect.ismodule(submodule[1]):

for equationClass in inspect.getmembers(submodule[1]):

if inspect.isclass(equationClass[1]): # special classes if equationClass[1].splineFlag or \ equationClass[1].userSelectablePolynomialFlag or \ equationClass[1].userCustomizablePolynomialFlag or \ equationClass[1].userSelectablePolyfunctionalFlag or \ equationClass[1].userSelectableRationalFlag or \ equationClass[1].userDefinedFunctionFlag: pass

for extendedVersion in ['Default','Offset']:

if (extendedVersion == 'Offset') and (equationClass[1].autoGenerateOffsetForm == False): continue equationInstance = equationClass[1](fittingTargetText, extendedVersion) try: if len(equationInstance.GetCoefficientDesignators()) != smoothnessControl: continue except:continue

(55)

39 cache if equationInstance.dataCache.allDataCacheDictionary == {}: pyeq3.dataConvertorService().ConvertAndSortColumnarASCII(rawData, equationInstance, False) equationInstance.dataCache.CalculateNumberOfReducedDataPoints(equationInstance) if equationInstance.numberOfReducedDataPoints in reducedDataCache: equationInstance.dataCache.reducedDataCacheDictionary = reducedDataCache[equationInstance.numberOfReducedDataPoints] else: equationInstance.dataCache.reducedDataCacheDictionary = {} SetParametersAndFit(equationInstance, resultList, True)

if equationInstance.numberOfReducedDataPoints not in reducedDataCache:

reducedDataCache[equationInstance.numberOfReducedDataPoints] = equationInstance.dataCache.reducedDataCacheDictionary

resultList.sort(key=lambda item: item[3]) # currently requires the 4th result element to be fitting target

bestResult = resultList[0]

print()

print()

print('While \"Best Fit\" may be the lowest fitting target value,')

print('it requires further evaluation to determine if it is the best')

print('for your needs. For example, it may interpolate badly.')

print()

print('"Smoothness Control" allowed a maximum of ' + str(smoothnessControl) + ' parameters')

moduleName = bestResult[0] className = bestResult[1]

(56)

fittingTarget = bestResult[3] solvedCoefficients = bestResult[4] polyfunctional3DFlags = bestResult[5] polynomialOrderX = bestResult[6] polynomialOrderY = bestResult[7] if polyfunctional3DFlags:

equation = eval(moduleName + "." + className + "('" + fittingTargetText +

"','" + extendedVersionHandlerName + "', " + str(polyfunctional3DFlags) + ")")

elif polynomialOrderX != None:

equation = eval(moduleName + "." + className + "('" + fittingTargetText + "','"+ extendedVersionHandlerName + "', " + str(polynomialOrderX) + ", " +

str(polynomialOrderY) + ")")

else:

equation = eval(moduleName + "." + className + "('" + fittingTargetText + "','" + extendedVersionHandlerName + "')") pyeq3.dataConvertorService().ConvertAndSortColumnarASCII(rawData, equation, False) equation.fittingTarget = fittingTargetText equation.solvedCoefficients = solvedCoefficients equation.dataCache.FindOrCreateAllDataCache(equation) equation.CalculateModelErrors(equation.solvedCoefficients, equation.dataCache.allDataCacheDictionary) print()

print('\"Best fit\" was', moduleName + "." + className)

print('Fitting target value', equation.fittingTarget + ":",

equation.CalculateAllDataFittingTarget(equation.solvedCoefficients))

if polyfunctional3DFlags:

print()

print('Polyfunctional flags:', polyfunctional3DFlags)

print()

if polynomialOrderX != None:

(57)

41

print('Polynomial order:', polynomialOrderX) print()

for i in range(len(equation.solvedCoefficients)):

print("Coefficient " + equation.GetCoefficientDesignators()[i] + ": " +

str(equation.solvedCoefficients[i]))

print()

(58)

Apˆ

endice B

run.bat

start cmd.exe /c python surface_fit.py 3 start cmd.exe /c python surface_fit.py 4 start cmd.exe /c python surface_fit.py 5 start cmd.exe /c python surface_fit.py 6 start cmd.exe /c python surface_fit.py 7 start cmd.exe /c python surface_fit.py 8 start cmd.exe /c python surface_fit.py 9 start cmd.exe /c python surface_fit.py 10

(59)

Apˆ

endice C

sym regress.py

import pickle

from mpl_toolkits.mplot3d import axes3d, Axes3D

from gplearn.genetic import SymbolicRegressor

from gplearn.functions import make_function

from sklearn.ensemble import RandomForestRegressor

from sklearn.tree import DecisionTreeRegressor

from sklearn.utils.random import check_random_state

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np

from expeval import expeval

from math import *

from sympy import *

import sys import traceback import os import time sys.setrecursionlimit(1500) X0 = Symbol('X0') X1 = Symbol('X1') filename = r'G:\gp_model.pkl' filename2 = r'G:\gp_model.pkl' 43

(60)

def clear_programs(ob):

try:

print('lenant', len(ob._programs))

ob._programs = (len(ob._programs))*ob._programs[-1:]

print('lenadps', len(ob._programs))

except Exception as e:

print(e)

def _exp(x1):

with np.errstate(over='ignore'):

return np.where(np.abs(x1) < 100, np.exp(x1), 0.) exp = make_function(function=_exp,

name='exp', arity=1)

def add(a, b): return a+b

def sub(a, b): return a-b

def div(a, b): return a/b

def mul(a, b): return a*b

def neg(a): return (-1)*a

def inv(a):

if a == 0: return 1 return 1/a def load_data(f): lines = f.readlines() #print((lines[0].split(' ')))

vals = [line.strip().split(' ') for line in lines] matrix = np.matrix(vals).astype(np.float)

return np.array(matrix)

if __name__ == '__main__':

scaling_factor = load_data(open("./Data/Scaling_Factor.csv", "r")) bias = load_data(open("./Data/Bias.csv", "r"))

(61)

45

snrmc = 10**(snrmc / 10)

x0, x1, y_truth = scaling_factor, bias, snrmc

x0_f, x1_f, y_truth_f = x0.flatten(), x1.flatten(), y_truth.flatten()

print(x0_f.shape)

matrix = np.column_stack((x0_f, x1_f, y_truth_f)) np.random.seed(0) rng = check_random_state(1) X_submatrix = matrix[:, 0:2] Y_submatrix = matrix[:, 2] # Training samples X_train = X_submatrix[:, 0:2] y_train = Y_submatrix[:] # Testing samples X_test = X_submatrix[80:, :] y_test = Y_submatrix[80:]

print('X_train', X_train.shape, 'y_train', y_train.shape,

'X_test', X_test.shape, 'y_test', y_test.shape)

function_set = ('add', 'sub', 'mul', 'div', 'sqrt', 'log', exp) d_params = dict(population_size=5000,

stopping_criteria=0.01,

p_crossover=0.5, p_subtree_mutation=0.1, p_hoist_mutation=0.3, p_point_mutation=0.1, max_samples=0.9, verbose=1,

parsimony_coefficient=.1, n_jobs=5, random_state=0, metric='mse',

function_set=function_set,

init_depth=(2, 6), warm_start=True)

try:

with open(filename2, 'rb') as f: est_gp = pickle.load(f) clear_programs(est_gp) est_gp.set_params(**d_params)

(62)

except Exception as e:

print(e)

est_gp = SymbolicRegressor(**d_params)

print(est_gp.get_params())

def lin2db(a): return 10*np.log10(a)

def plot_model(): fig = plt.figure()

for i, (y, score, title) in enumerate(

[(y_truth, None, "Ground Truth"), (y_gp, score_gp, "SymbolicRegressor "+

str(score_gp)+"\n"+(str(est_gp._program)))]): ax = fig.add_subplot(2, 1, i+1, projection='3d')

surf = ax.plot_surface(x0, x1, y, rstride=1,

cstride=1, cmap='jet', alpha=0.5) points = ax.scatter(X_train[:, 0], X_train[:, 1], y_train)

if score is not None:

score = ax.text(-.7, 1, .2, "$R^2 =\/ %.6f$" % score, 'x', fontsize=14) plt.title(title) plt.savefig("./imgs/tight_bbox_test" + str(params['generations'])+".jpg",) plt.close(fig) try: while 1: params = est_gp.get_params() est_gp.set_params(generations=params['generations']+100) try: strexpr = expeval(est_gp._program) print() print(strexpr) print()

(63)

47 print() y_gp = est_gp.predict( np.c_[x0.ravel(), x1.ravel()]).reshape(x0.shape) sse = np.sum((y_gp.ravel()-y_truth.ravel())**2) score_gp = sse

print('generation: ', params['generations'])

print((str(est_gp._program)))

print('score=', score_gp, '\n')

except Exception as e:

print(e)

traceback.print_exc() est_gp.fit(X_train, y_train)

while 1:

with open(filename2+'aux', 'wb') as f: clear_programs(est_gp)

pickle.dump(est_gp, f)

try:

with open(filename2+'aux', 'rb') as f: pickle.load(f)._program

try:

os.remove(filename2)

except:

pass

os.rename(filename2+'aux', filename2)

print('salvo ok')

break

except Exception as e:

print('erro ao salvar', e) time.sleep(1)

with open("./imgs/erros", "a") as f:

f.write('%d,%.3f\n' % (params['generations'], score_gp)) plot_model()

(64)

finally:

with open(filename2+'back', 'wb') as f: clear_programs(est_gp)

Referências

Documentos relacionados

› Comemoração do Natal em Alhos Vedros com iluminação do Coreto e da Praça da Republica, › Visita ao Presépio da Paróquia de Alhos Vedros, com o acompanhamento do Srº

3 O presente artigo tem como objetivo expor as melhorias nas praticas e ferramentas de recrutamento e seleção, visando explorar o capital intelectual para

A teoria das filas de espera agrega o c,onjunto de modelos nntc;máti- cos estocásticos construídos para o estudo dos fenómenos de espera que surgem correntemente na

grandiflora por estaquia, foram avaliados dois ambientes (viveiro e ambiente / condições de ocorrência natural), assim como o efeito do hormônio de enraizamento, o ácido

A correlação significativa entre a presença de zona afótica na caverna e de riqueza total e de troglóbios (Tabela 1) pode se dever meramente ao fato de cavernas

F I G U R E 1   Schematic representation of the experiment undertaken to test different routes of oestradiol benzoate administration for cervical dilation prior to

e) Quais são os elementos de ligação entre a política pública construída como fomento no município de Campinas e aquelas discutidas em suas intencionalidades pelo

A eficiência biológica no sistema de consorciação foi avaliada mediante o uso das índices a saber: Uso Eficiente de Terra (UET), Razão Equivalente de Área no Tempo