UNIVERSIDADE ESTADUAL PAULISTA "JÚLIO DE MESQUITA FILHO" CAMPUS DE SÃO JOÃO DA BOA VISTA OTÁVIO JOSÉ DE MENDONÇA Mitigação de não linearidades em sistemas de comunicações ópticas coerentes digitais utilizando árvores de decisão São João da Boa Vista 2023 Otávio José de Mendonça Mitigação de não linearidades em sistemas de comunicações ópticas coerentes digitais utilizando árvores de decisão Trabalho de Graduação apresentado ao Conselho de Curso de Graduação em Engenharia Eletrônica e de Telecomunicações do Campus de São João da Boa Vista, Universidade Estatual Paulista, como parte dos requisitos para obtenção do diploma de Graduação em Engenharia Eletrônica e de Teleco- municações . Orientador: Profº Dr. Ivan Aritz Aldaya Garde São João da Boa Vista 2023 M539m Mendonça, Otávio José de Mitigação de não linearidades em sistemas de comunicações ópticas coerentes digitais utilizando árvores de decisão / Otávio José de Mendonça. -- São João da Boa Vista, 2023 49 p. Trabalho de conclusão de curso (Bacharelado - Engenharia de Telecomunicações) - Universidade Estadual Paulista (Unesp), Faculdade de Engenharia, São João da Boa Vista Orientador: Ivan Aritz Aldaya Garde 1. Comunicações digitais. 2. Aprendizado do computador. 3. Kerr, Efeito de. 4. Telecomunicações. I. Título. Sistema de geração automática de fichas catalográficas da Unesp. Biblioteca da Faculdade de Engenharia, São João da Boa Vista. Dados fornecidos pelo autor(a). Essa ficha não pode ser modificada. UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO” FACULDADE DE ENGENHARIA - CÂMPUS DE SÃO JOÃO DA BOA VISTA GRADUAÇÃO EM ENGENHARIA ELETRÔNICA E DE TELECOMUNICAÇÕES TRABALHO DE CONCLUSÃO DE CURSO MITIGAÇÃO DE EFEITOS NÃO LINEARES EM SISTEMAS DE COMUNICAÇÕES ÓPTICAS COERENTES DIGITAIS UTILIZANDO CLASSIFICAÇÃO BASEADA EM ÁRVORES DE DECISÃO Aluno: Otávio José de Mendonça Orientador: Prof. Dr. Ivan Aritz Aldaya Garde Banca Examinadora: - Ivan Aritz Aldaya Garde (Orientador) - Marcelo Luís Francisco Abbade (Examinador) - Marlon Rodrigues Garcia (Examinador) A ata da defesa com as respectivas assinaturas dos membros encontra-se no prontuário do aluno (Processo nº 29/2023) São João da Boa Vista, 15 de dezembro de 2023 AGRADECIMENTOS Primeiramente, expresso minha gratidão a Deus por conceder-me saúde e determinação ao longo dessa jornada. À minha família, meus pais Orlando e Andrea, e meus irmãos Leonardo, Vinícius e Lucas, dedico um agradecimento especial por seu constante apoio e incentivo durante toda a minha trajetória acadêmica. À competente equipe docente e aos dedicados funcionários da UNESP Campus São João da Boa Vista, meu reconhecimento pelo valioso conhecimento transmitido. Em particular, expresso minha sincera gratidão ao meu orientador, Ivan Aritz Aldaya Garde, pela confiança depositada em mim ao longo do percurso acadêmico. Por fim, estendo meus agradecimentos a todos que compartilharam comigo os momentos dessa graduação e ofereceram auxílio nos momentos em que precisei. A contribuição de cada pessoa tornou essa jornada acadêmica ainda mais significativa. Este trabalho contou com o apoio da seguinte entidade: CNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico RESUMO Neste trabalho de conclusão de curso em Engenharia Eletrônica e de Telecomunicações, abordamos a mitigação de não linearidades em sistemas de comunicações ópticas coerentes digitais, focando na aplicação da classificação por árvores de decisão. As comunicações ópticas coerentes digitais, cruciais para a eficiência espectral em redes ópticas, enfrentam limitações devido à combinação de ruído e distorção não linear. Ao aplicar a inteligência artificial, especificamente a classificação por árvores de decisão, investigamos sua eficácia em um sistema de comunicação óptica coerente de longo alcance com modulação 16-QAM. Os resultados demonstram uma melhoria significativa na tolerância à distorção não linear. Para o método de máxima verossimilhança, com potência óptica de 7 dBm, alcançamos uma taxa de erro de bit (BER) de cerca de 1.4982× 10−3. Em contraste, o método de classificação por árvores de decisão, processando cada polarização independentemente com hiperparâmetros em configuração padrão e potência óptica de 8 dBm, resultou em uma BER de aproximadamente 9.3460× 10−4. Otimizando os hiperparâmetros, essa taxa melhorou para 6.7075× 10−4. Processando as duas polarizações conjuntamente, os hiperparâmetros em configuração padrão resultaram em uma BER de 5.9127× 10−4, e com hiperparâmetros otimizados, em 5.6743× 10−4, considerando o melhor caso para ambas as configurações. Este estudo destaca a eficácia da classificação por árvores de decisão na otimização de sistemas ópticos digitais coerentes, particularmente em ambientes de longo alcance com modulação avançada, representando uma contribuição valiosa para o desenvolvimento de tecnologias de comunicação óptica mais eficientes e confiáveis. PALAVRAS-CHAVE: árvores de decisão; inteligência artificial; compensação não linear; comunica- ção óptica; redes de fibra óptica. ABSTRACT In this undergraduate thesis in Electronic and Telecommunications Engineering, we address the mitigation of nonlinearities in digital coherent optical communication systems, focusing on the application of decision tree classification. Digital coherent optical communications, crucial for spectral efficiency in optical networks, face limitations due to the combination of noise and nonlinear distortion. By applying artificial intelligence, specifically decision tree classification, we investigated its effectiveness in a long-range coherent optical communication system with 16-QAM modulation. The results demonstrate a significant improvement in tolerance to nonlinear distortion. For the maximum likelihood method, with an optical power of 7 dBm, we achieved a bit error rate (BER) of about 1.4982× 10−3. In contrast, the decision tree classification method, processing each polarization independently with standard hyperparameters and optical power of 8 dBm, resulted in a BER of approximately 9.3460 × 10−4. Optimizing the hyperparameters, this rate improved to 6.7075 × 10−4. Processing both polarizations together, the standard hyperparameters resulted in a BER of 5.9127 × 10−4, and with optimized hyperparameters, in 5.6743× 10−4, considering the best case for both configurations. This study highlights the efficacy of decision tree classification in optimizing digital coherent optical systems, particularly in long-range environments with advanced modulation, representing a valuable contribution to the development of more efficient and reliable optical communication technologies. KEYWORDS: decision trees; artificial intelligence; nonlinear compensation; optical communication; fiber optic networks. LISTA DE ILUSTRAÇÕES Figura 1 Estrutura base de uma árvore de decisão. . . . . . . . . . . . . . . . . . . . . . 18 Figura 2 Seção de uma árvore de decisão com 17 ramos. . . . . . . . . . . . . . . . . . 19 Figura 3 Árvore de decisão com 8 folhas. . . . . . . . . . . . . . . . . . . . . . . . . . 20 Figura 4 Estrutura do modelo de uma árvore de decisão. . . . . . . . . . . . . . . . . . 22 Figura 5 Distorção da constelação de acordo com a variação da potência óptica lançada, que varia de 1 dBm (a) a 12 dBm (l). . . . . . . . . . . . . . . . . . . . . . . . 24 Figura 6 Diagrama de blocos do classificador não linear baseado em Árvores de Decisão para sistema de dupla polarização. . . . . . . . . . . . . . . . . . . . . . . . . 25 Figura 7 Diagrama de limite de decisão para 16QAM com modelo de árvore de decisão, com potência óptica lançada de 7 dBm. . . . . . . . . . . . . . . . . . . . . . . 26 Figura 8 Curvas de BER em termos da potência óptica lançada, otimizando o número mínimo de folhas na amostra. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Figura 9 Curvas de BER em termos da potência óptica lançada, otimizando o número mínimo de ramos na amostra. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Figura 10 Curvas de BER em termos da potência óptica lançada, otimizando o número mínimo de folhas na amostra, utilizando polarização dupla simultaneamente. . . 28 Figura 11 Curvas de BER em termos da potência óptica lançada, otimizando o número mínimo de ramos na amostra, utilizando polarização dupla simultaneamente. . . 28 Figura 12 Curvas de BER em termos da potência óptica lançada, comparando o método de máxima verossimilhança (ML) com o método de classificação por Árvores de decisão (DT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Figura 13 Comparação entre o método ML, classificação de árvores de decisão com hi- perparâmetros padrão e o método de classificação de árvores de decisão com hiperparâmetros otimizados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Figura 14 Comparação de desempenho entre o método de máxima verossimilhança, o método de classificação com árvores de decisão utilizando polarização única e o método de classificação com árvores de decisão utilizando polarização dupla simultaneamente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Figura 15 Comparação de desempenho do sistema, entre os métodos ML, classificação de árvores de decisão com polarização única em configuração padrão, classificação de árvores de decisão com polarização única com hiperparâmetros otimizados, método de classificação de árvores de decisão com polarização dupla em configu- ração padrão e o método de classificação de árvores de decisão com polarização dupla e com hiperparâmetros otimizados. . . . . . . . . . . . . . . . . . . . . 31 LISTA DE ABREVIATURAS BER Razão de erro de bit - Bit error rate DP Polarização dupla - Dual polarization FWM Mistura de quatro ondas - Four wave mixing Gbps Gigabit por segundo LOP Potência óptica lançada - Launched optical power ML Detecção por máxima verossimilhança - Maximum likelihood QAM Modulação de amplitude em quadratura - Quadrature amplitude modulation SBS Espalhamento estimulado de Brilloiun - Stimulated Brilloiun Scattering SoP Estado de polarização - State of polarization SP Polarização única - Single polarization SPM Automodulação de fase - Single phase modulation SRS Espalhamento estimulado de Raman - Stimulated Raman Scattering WDM Multiplexação por divisão de comprimento de onda - Wavelength division multi- plexing XPM Modulação de fase cruzada - Cross-phase modulation LISTA DE SÍMBOLOS Aeff Área modal efetiva da fibra n̄2 Índice de refração não linear β Constante de propagação ou parâmetro de inclinação β2 Parâmetro de dispersão de velocidade de grupo γ Coeficiente de não linearidade L Comprimento do enlace Leff Comprimento efetivo da fibra λ Comprimento de onda ω0 Frequência angular central do sinal Pin Potência óptica instantânea na entrada da fibra Φ Fase não linear E⃗t Fasor vetorial associado ao sinal óptico x̂ Vetor de norma unitária na direção da polarização X ŷ Vetor de norma unitária na direção da polarização Y Ax Amplitude complexa da polarização X Ay Amplitude complexa da polarização Y SUMÁRIO 1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 Justificativa do problema e solução proposta . . . . . . . . . . . . . . . . . . . . 11 1.3 Objetivo do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Organização do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2 ÁRVORES DE DECISÃO PARA MITIGAÇÃO DO EFEITO DAS NÃO LINE- ARIDADES EM SISTEMAS DE COMUNICAÇÕES ÓPTICAS COERENTES DIGITAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1 Sistemas de comunicações ópticas coerentes digitais . . . . . . . . . . . . . . . . 13 2.1.1 Efeitos não lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.1.1 Automodulação de fase (SPM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.1.2 Modulação de fase cruzada (XPM) . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.1.3 Mistura de quatro ondas (FWM) . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Multiplicidade de Polarizações em Fibras Ópticas . . . . . . . . . . . . . . . . . 16 3 ÁRVORE DE DECISÃO (DT) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1 Elementos de Árvore de Decisão . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.1 Nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.2 Ramos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.3 Folhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 PRINCÍPIOS DE OPERAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3 Modelo de treinamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4 Modelo de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1 Configuração do Sistema e da Simulação . . . . . . . . . . . . . . . . . . . . . . 23 4.1.1 Verificação dos efeitos não lineares . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1.2 Arquitetura de Árvore de decisão adotada . . . . . . . . . . . . . . . . . . . . 24 5 RESULTADOS E DISCUSSÕES . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.1 Otimização dos Hiperparâmetros do Classificador . . . . . . . . . . . . . . . . . 26 5.1.1 Processamento de Cada Polarização Independentemente . . . . . . . . . . . . 27 5.1.2 Processamento das Duas Polarizações Conjuntamente . . . . . . . . . . . . . 28 5.2 Análise de desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.3 Análise de complexidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 APÊNDICE A – CÓDIGOS GERADOS EM PYTHON . . . . . . . . . . . . 35 A.1 Compensação de efeitos não lineares empregando classificação baseada em Árvores de Decisão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 11 1 INTRODUÇÃO 1.1 MOTIVAÇÃO A transmissão de comunicação de informação por meio de redes de fibra óptica tem sido ampla- mente adotada para atender às crescentes demandas por sistemas de maior capacidade (AGRAWAL, 2000). Em resposta, houve um desenvolvimento contínuo nas tecnologias de comunicação óptica, evo- luindo das abordagens iniciais baseadas em modulação de intensidade e detecção direta para sistemas de modulação digital coerente mais avançados (WINZER; ESSIAMBRE, 2006). Consequentemente, os métodos tradicionais que confiavam unicamente na variação da intensidade da luz para a transmissão de dados estão sendo progressivamente substituídos por técnicas que também incorporam variações na fase e polarização da luz, resultando em uma melhoria substancial na eficiência espectral dos sistemas ópticos (KIKUCHI, Kazuro, 2011). A evolução dos sistemas de comunicação coerente digitais ao longo das últimas décadas tem sido marcada por avanços notáveis que impulsionaram a eficiência espectral e a capacidade de transmissão em redes ópticas. Inovações como a modulação coerente em quadratura de alta ordem, técnicas avançadas de codificação, recepção coerente e lasers mais precisos desempenharam papéis cruciais para atender à crescente demanda por largura de banda. Além disso, a melhoria contínua nas técnicas de processamento digital de sinais, como equalização adaptativa e compensação de não-linearidades, contribuiu significativamente para aprimorar a qualidade do sinal em longas distâncias (FERREIRA, 2012). Apesar desses avanços, a persistência de não-linearidades em fibras ópticas representa um desafio contínuo, demandando esforços incessantes de pesquisa para mitigar tais efeitos e garantir a confiabi- lidade desses sistemas inovadores (SILVA et al., 2017). A introdução de técnicas como modulação coerente em polarização e sistemas MIMO também desempenhou um papel crucial na otimização dos recursos espectrais e na melhoria da robustez do sistema. Em meio a esses avanços, é imperativo reconhecer a importância contínua do desenvolvimento de técnicas de processamento digital de sinais para lidar efetivamente com os desafios em constante evolução e consolidar a posição desses sistemas como elementos fundamentais nas comunicações de alta capacidade (OLIVEIRA, 2010). Neste estudo, o foco está sendo direcionado para o modo de operação em um comprimento de onda em que o ruído aditivo é causado pelos fotodetectores do receptor, enquanto o efeito Kerr resulta em automodulação de fase (Single Phase Modulation, SPM), modulação de fase cruzada (Cross-Phase Modulation, XPM) e a geração de mistura de quatro ondas (Four Wave Mixing, FWM). 1.2 JUSTIFICATIVA DO PROBLEMA E SOLUÇÃO PROPOSTA Os efeitos não lineares presentes nas fibras ópticas comerciais resultam em distorções de sinal, limitando o desempenho desses sistemas. Embora várias técnicas tenham sido propostas para mitigar esses efeitos, sua complexidade e implementação prática têm sido obstáculos (AGRAWAL, 2000). Este estudo concentra-se na investigação dos benefícios da utilização de técnicas de Inteligência Artificial 12 (IA), em particular as árvores de decisão, para mitigar os efeitos não lineares em sistemas sistemas de comunicações ópticas coerentes digitais. A validade do modelo proposto é examinada em um sistema de comunicação óptica coerente de longo alcance, onde é aplicada a técnica de modulação de amplitude de quadratura de 16 níveis (16-QAM), buscando otimizar a relação entre desempenho e custo computacional. Serão realizadas análises tanto em sistemas de polarização única quanto dupla, com o objetivo de investigar a eficácia do tratamento integrado dessas polarizações. 1.3 OBJETIVO DO TRABALHO O objetivo central deste trabalho é o desenvolvimento de um algoritmo baseado em árvores de decisão, projetado para atenuar os efeitos das não linearidades em sistemas de comunicação óptica coerentes digitais de longo alcance com modulação 16-QAM. Os objetivos específicos que orientam este trabalho incluem: 1. Aprofundamento do conhecimento dos efeitos não lineares na transmissão em sistemas de comunicação óptica coerentes digitais. das árvores decisão. 2. Avaliação comparativa da eficácia do sistema quando as polarizações são processadas de maneira isolada em contraste com um processamento concomitante. 3. Otimização dos principais hiperparâmetros 4. Avaliação do impacto no desempenho computacional inerente a cada abordagem sugerida. 1.4 ORGANIZAÇÃO DO DOCUMENTO Esta monografia está compreendida da seguinte maneira: No Capítulo 1, introduzimos o contexto do trabalho, destacando a motivação que impulsionou a pesquisa, a justificativa do problema abordado e a solução proposta. Além disso, apresentamos os objetivos do estudo e a organização do documento. O Capítulo 2 aborda o cenário dos sistemas de comunicações ópticas coerentes digitais, com foco especial nos efeitos não lineares, como a automodulação de fase (SPM), modulação de fase cruzada (XPM) e mistura de quatro ondas (FWM). Exploramos também a multiplicidade de polarizações em fibras ópticas. No Capítulo 3, detalhamos os elementos da Árvore de Decisão (DT), incluindo nós, ramos e folhas. Apresentamos os princípios de operação da DT, seu modelo de treinamento e teste. O Capítulo 4 expõe a metodologia adotada, descrevendo a configuração do sistema e da simulação, a verificação dos efeitos não lineares e a arquitetura da Árvore de Decisão implementada. Os resultados e discussões são abordados no Capítulo 5, destacando a otimização dos hiperparâme- tros do classificador, o processamento independente e conjunto das polarizações, além da análise de desempenho e complexidade. Finalmente, no Capítulo 6, apresentamos as conclusões do estudo, resumindo os principais achados e discutindo possíveis direções para pesquisas futuras. 13 2 ÁRVORES DE DECISÃO PARA MITIGAÇÃO DO EFEITO DAS NÃO LINEARIDADES EM SISTEMAS DE COMUNICAÇÕES ÓPTICAS COERENTES DIGITAIS 2.1 SISTEMAS DE COMUNICAÇÕES ÓPTICAS COERENTES DIGITAIS A transmissão de sinais em sistemas de comunicações ópticas coerentes digitais baseia-se na modulação de luz para representar informações. Ao empregar fibras ópticas como meio de transmissão, os sinais são propagados na forma de pulsos de luz modulados, transmitindo dados a altas taxas de bits por segundo. Entretanto, durante esse percurso, os efeitos lineares, como a atenuação da intensidade luminosa ao longo da fibra e a dispersão cromática, que resulta na propagação diferencial das diferentes frequências do sinal, impactam a integridade do sinal (AGRAWAL, 2000). No espectro dos efeitos não lineares, destaca-se o efeito Kerr como uma consideração crítica. Esse fenômeno surge quando a intensidade luminosa atinge níveis significativos, causando uma variação no índice de refração do material óptico proporcional à intensidade do sinal. Tal alteração induz distorções não lineares, incluindo a geração de novas frequências harmônicas, afetando a qualidade do sinal transmitido (FERREIRA, 2012). A coerência e a digitalização dos sistemas desempenham papéis cruciais na mitigação desses desafios. A coerência, possibilitada por técnicas como homodinagem e heterodinagem, permite a recuperação eficaz do sinal, enquanto a digitalização da informação, geralmente realizada por meio de modulação de amplitude em quadratura (QAM), facilita a detecção de erros e a correção de dados. No entanto, a presença de não linearidades, especialmente o efeito Kerr, contribui para a interferência intersimbólica, um fenômeno no qual símbolos adjacentes interagem, gerando distorções temporais que podem levar a erros na interpretação dos dados (AGRAWAL, 2000). 2.1.1 Efeitos não lineares Os efeitos não lineares em sistemas de comunicações coerentes digitais são fenômenos intrínsecos à propagação de sinais em fibras ópticas, sendo originados da interação intensa da luz com o material do meio de transmissão (AGRAWAL, 2012). Dentre esses efeitos, destacam-se os espalhamentos esti- mulados, que ocorrem quando a intensidade do sinal atinge níveis que promovem a emissão estimulada de novos fótons, resultando na geração de componentes espectrais adicionais. Nas fibras ópticas, este fenômeno se manifesta de duas formas principais: o espalhamento estimulado de Brillouin (Stimulated Brillouin Scattering, SBS) e espalhamento estimulado de Raman (Stimulated Raman Scattering, SRS) (AGRAWAL, 2012).Contudo, é o efeito Kerr que assume um papel proeminente nesse cenário . O efeito Kerr, proveniente da não linearidade óptica do material, introduz três principais distorções no sinal óptico: a automodulação de fase (Self-Phase Modulation, SPM), a modulação de fase cruzada (Cross-Phase Modulation, XPM) e a mistura de quatro ondas (Four-Wave Mixing, FWM). A SPM refere-se à variação da fase do sinal devido à auto-interação não linear, enquanto a XPM envolve a influência de um sinal sobre a fase de outro. Já a FWM ocorre quando quatro sinais ópticos interagem, resultando na geração de novas frequências ópticas. 14 o efeito Kerr pode ser descrita pela equação não linear de Schrödinger, considerando a variação do índice de refração com a intensidade do campo elétrico. A equação é dada por: ∂A ∂z = −jβ2 ∂2A ∂t2 + jγ|A|2A (1) Cada componente da equação desempenha um papel fundamental na modelagem do comportamento do sinal óptico afetado pelo efeito Kerr. Vamos explorar mais detalhadamente: - A: Representa o campo elétrico complexo do sinal óptico. Sua natureza complexa indica que estamos lidando com uma onda eletromagnética que pode ser descrita por uma componente real e uma imaginária. A amplitude e a fase do campo elétrico são cruciais para a caracterização do sinal transmitido. - z: Refere-se à coordenada axial ao longo da fibra. Esta variável é essencial para expressar como as propriedades do sinal óptico evoluem ao longo do comprimento da fibra óptica. A mudança em z está diretamente associada à propagação do sinal ao longo da fibra. - β2: É o coeficiente de dispersão de grupo, um parâmetro que descreve como diferentes com- ponentes espectrais de uma onda óptica se propagam em velocidades distintas na fibra óptica. Este coeficiente é crucial para entender como a largura de pulso do sinal evolui durante a transmissão. - t: Representa a variável tempo. O termo ∂2A ∂t2 está associado à aceleração temporal do campo elétrico complexo. Em termos simples, indica como a curvatura do sinal em relação ao tempo influencia a propagação do sinal na fibra. - γ: É a constante de não linearidade associada ao efeito Kerr. Este parâmetro quantifica a força da não linearidade introduzida pelo efeito Kerr na fibra óptica. Um valor mais alto de γ indica uma maior susceptibilidade do meio à não linearidade. Que pode ser descrita pelo equação: γ = 2πn̄2 λAeff . (2) O termo |A|2A destaca a contribuição específica do efeito Kerr à equação. Esse termo não linear, dependente do quadrado da amplitude do campo elétrico, descreve como a intensidade do sinal afeta diretamente a dinâmica temporal do campo elétrico, sendo central para compreender as distorções introduzidas pelo efeito Kerr, como a automodulação de fase (SPM), modulação de fase cruzada (XPM) e mistura de quatro ondas (FWM). Este conjunto de componentes detalha a complexidade da dinâmica temporal do sinal óptico sujeito aos efeitos não lineares em sistemas de comunicações coerentes digitais. 2.1.1.1 Automodulação de fase (SPM) A automodulação de fase (Self-Phase Modulation, SPM) é um fenômeno não linear intrínseco a sistemas de comunicações ópticas coerentes digitais. Este fenômeno resulta da interação intensa da luz com o meio de transmissão, especialmente quando sujeito ao efeito Kerr em fibras ópticas. A automodulação de fase ocorre quando a intensidade luminosa do sinal óptico é suficientemente elevada, desencadeando alterações na constante de fase do próprio sinal devido à auto-interação não linear. 15 Os efeitos da automodulação de fase incluem a distorção espectral do sinal, resultando em um alargamento do espectro. Essa distorção é mais acentuada para pulsos ópticos curtos, pois a não linearidade afeta diferentes componentes espectrais de maneira desigual durante a propagação. A compreensão e gestão da automodulação de fase são essenciais em sistemas de comunicações coerentes digitais, uma vez que ela pode limitar a capacidade de transmissão de dados, especialmente em ambientes de alta intensidade luminosa. (AGRAWAL, 2000). 2.1.1.2 Modulação de fase cruzada (XPM) A Modulação de Fase Cruzada (Cross-Phase Modulation, XPM) é um fenômeno não linear crucial em sistemas de comunicações ópticas coerentes digitais, cuja origem reside na interação não linear entre diferentes sinais ópticos propagando-se simultaneamente em uma fibra óptica. Este fenômeno é particularmente pronunciado quando os sinais estão sujeitos ao efeito Kerr, que descreve a variação do índice de refração do meio óptico em resposta à intensidade luminosa elevada. Matematicamente, a descrição da Modulação de Fase Cruzada pode ser incorporada à equação não linear de Schrödinger modificada, representando a propagação de campos elétricos complexos Ei de diferentes sinais ópticos na fibra óptica: ∂Ei ∂z = −jβ2 ∂2Ei ∂t2 + jγ|Ei|2Ei + j ∑ j ̸=i γij|Ej|2Ei (3) Nesta equação, Ei representa o campo elétrico complexo associado ao i-ésimo sinal, z é a coor- denada axial ao longo da fibra, β2 é o coeficiente de dispersão de grupo, t é o tempo, γ é a constante de não linearidade devido ao efeito Kerr, e γij é a constante de não linearidade cruzada associada à interação entre os sinais Ei e Ej . Os efeitos da Modulação de Fase Cruzada se manifestam em alterações nas características temporais e espectrais dos sinais ópticos. A interação não linear entre os sinais resulta em mudanças nas fases relativas, desencadeando deslocamentos espectrais e variações na velocidade de propagação dos pulsos ópticos (AGRAWAL, 2000). 2.1.1.3 Mistura de quatro ondas (FWM) A Mistura de Quatro Ondas (Four-Wave Mixing, FWM) é um fenômeno não linear relevante em sistemas de comunicações ópticas coerentes digitais. Este fenômeno é resultado da interação não linear simultânea entre quatro sinais ópticos, geralmente referidos como sinais sinal (Es), ida (Ei), e duas frequências de bomba (Ep1 e Ep2), em uma fibra óptica, sob condições específicas de fase e amplitude (AGRAWAL, 2000). A descrição matemática da Mistura de Quatro Ondas pode ser incorporada à equação não linear de Schrödinger modificada, considerando a interação simultânea entre os quatro campos elétricos complexos: ∂Es ∂z = −jβ2 ∂2Es ∂t2 + jγ|Es|2Es + jγs−i|Ei|2Es + jγs−p1|Ep1|2Es + jγs−p2|Ep2|2Es (4) 16 Essa equação reflete a propagação não linear de ondas em uma fibra óptica, onde β2 é o coeficiente de dispersão de grupo, t é o tempo, γ é a constante de não linearidade devido ao efeito Kerr, γs−i é a constante de não linearidade cruzada entre os sinais sinal e ida, γs−p1 e γs−p2 são as constantes de não linearidade cruzada entre o sinal sinal e as frequências de bomba Ep1 e Ep2, respectivamente. Os efeitos da Mistura de Quatro Ondas incluem a geração de novas frequências ópticas resultantes da interação não linear entre os quatro sinais. Isso pode causar deslocamentos espectrais, alterações nas características temporais dos pulsos ópticos, e até mesmo a criação de novas componentes espectrais que podem interferir com os sinais originais (AGRAWAL, 2000). 2.2 MULTIPLICIDADE DE POLARIZAÇÕES EM FIBRAS ÓPTICAS A Multiplicidade de Polarizações em fibras ópticas desempenha um papel fundamental no avanço da capacidade de transmissão de dados em sistemas de comunicações ópticas coerentes digitais. A polarização, que representa a orientação do campo elétrico de uma onda eletromagnética, pode ser explorada em várias frentes para otimizar a eficiência da transmissão (AGRAWAL, 2000). Transmitir sinais simultaneamente em polarizações ortogonais oferece vantagens substanciais em termos de capacidade e densidade de dados. Ao explorar as propriedades ortogonais das polarizações, torna-se possível transmitir sinais independentes de forma eficaz na mesma fibra óptica, multiplicando a capacidade de transmissão total. Isso é particularmente valioso em sistemas coerentes, onde a natureza interferométrica do receptor permite a distinção clara entre diferentes polarizações, possibilitando uma recuperação eficiente dos sinais. Matematicamente, a polarização é frequentemente representada por um vetor complexo E(t), onde a amplitude e a fase indicam a magnitude e a orientação da polarização, respectivamente. A transmissão simultânea de duas polarizações ortogonais pode ser expressa por: E(t) = Ex(t)̂i+ Ey(t)ĵ (5) Onde Ex(t) e Ey(t) são as componentes da polarização ao longo dos eixos x e y, e î e ĵ são os vetores unitários. A interferometria desempenha um papel crucial na recepção, permitindo distinguir eficientemente entre as polarizações ortogonais. A técnica de Multiplexação por Divisão de Comprimento de Onda (Wavelength Division Multiplexing, WDM) é frequentemente empregada, utilizando diferentes com- primentos de onda para codificar as polarizações e aumentar a eficiência espectral, permitindo uma transmissão simultânea de diversos sinais (ALDAYA, Ivan et al., 2020). No entanto, a flutuação no Estado de Polarização (State of Polarization, SoP) do sinal óptico durante a propagação na fibra óptica é uma consideração crítica. Efeitos como birrefringência e variações na temperatura podem introduzir flutuações indesejadas que precisam ser gerenciadas com precisão. A inclusão de equações que descrevem a evolução da polarização ao longo da fibra óptica no sistema é essencial para uma modelagem detalhada e uma compreensão completa do comportamento do sinal em múltiplas (AGRAWAL, 2000). Para lidar com flutuações no SoP, estratégias avançadas de controle e compensação são implementa- 17 das, incluindo dispositivos controladores de polarização. Essas abordagens garantem uma transmissão robusta e eficiente em sistemas de comunições ópticas que exploram a multiplicidade de polarizações (ALDAYA, Ivan et al., 2020). 18 3 ÁRVORE DE DECISÃO (DT) As árvores de decisão são uma técnica computacional fundamentada em uma estrutura de modelo matemático, que organiza a tomada de decisão de forma hierárquica. Elas são eficientes para inferir conhecimento a partir de dados e experiências acumuladas(Alpaydın, Ethem, 2011). O foco principal deste trabalho é aprimorar os parâmetros de um equalizador baseado em árvores de decisão. Esses al- goritmos pertencem a uma classe específica de métodos de aprendizado de máquina e serão explorados com mais detalhes nas seções seguintes. 3.1 ELEMENTOS DE ÁRVORE DE DECISÃO Árvores de decisão são estruturas algorítmicas essenciais em diversas áreas, incluindo inteligência artificial, análise de dados e tomada de decisões. Elas são compostas por três componentes principais: nós, ramos e folhas, e cada um desempenha funções cruciais no processo de tomada de decisão. Conforme ilustrado na Figura 1. Figura 1 – Estrutura base de uma árvore de decisão. Raiz Nó Nó Folha Folha Folha Folha Fonte: Autoria própria. 3.1.1 Nós Existem três tipos fundamentais de nós: o nó raiz, que inicia a árvore, os nós intermediários, que desempenham funções de processamento ao longo da árvore, e os nós de decisão, que concluem o processo. Cada um destes tipos de nós será examinado detalhadamente a seguir. 19 O nó raiz é o ponto de partida e estabelece as condições iniciais para a análise subsequente. Pode-se representar o nó raiz por uma função de condição inicial C0(D), onde D são os dados de entrada. A escolha dessa condição inicial é estratégica e pode ser baseada em critérios estatísticos. Os nós de decisão são pontos fundamentais onde decisões críticas são tomadas. Em cada nó, uma condição ou atributo é avaliado, geralmente expresso como uma função matemática ou um critério lógico. Por exemplo, um nó pode avaliar uma condição C em um conjunto de dados D, onde C(D) retorna um valor booleano (verdadeiro ou falso). A decisão tomada em cada nó de decisão influencia diretamente o caminho percorrido na árvore. Os nós intermediários, situados entre o nó raiz e as folhas, representam etapas de decisão adicionais, onde condições mais específicas são avaliadas. Estes nós podem ser representados por funções Ci(D), onde i indica o nível do nó na árvore. Eles aprofundam a análise, permitindo que a árvore de decisão segmente os dados de maneira mais refinada. 3.1.2 Ramos Os ramos são representações das decisões tomadas em cada nó. Em uma árvore binária, cada nó leva a dois ramos, geralmente representados por “sim” ou “não” ou, em termos matemáticos, 1 ou 0. Se um nó de decisão Ci resulta em verdadeiro, o fluxo de dados segue um ramo, enquanto um resultado falso leva a outro. Esses ramos podem ser expressos como funções de mapeamento B(Ci), indicando a direção do fluxo de dados com base na decisão. A Figura 2 exemplifica uma árvore de decisão com 17 ramos. Figura 2 – Seção de uma árvore de decisão com 17 ramos. Raiz Nó Nó Nó Nó Nó Folha Folha Nó Folha FolhaNó Folha 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Fonte: Autoria própria. 20 3.1.3 Folhas As folhas, ou nós terminais, são os resultados finais da árvore de decisão, onde não são necessárias mais decisões. Cada folha pode ser associada a uma classificação ou ação específica, expressa como Li, onde i representa a folha específica. Em termos matemáticos, as folhas representam os resultados finais ou as categorias de classificação para os dados de entrada, após passarem por todas as avaliações nos nós. A Figura 3 exemplifica uma árvore de decisão com 8 folhas. Figura 3 – Árvore de decisão com 8 folhas. Fonte: Autoria própria. Árvores de decisão são especialmente valorizadas por sua eficiência na representação de decisões complexas de maneira visual e estruturada. A natureza hierárquica e sequencial das árvores facilita não apenas a compreensão do processo de decisão, mas também permite a identificação de padrões e a realização de análises detalhadas. Em campos como aprendizado de máquina e análise de dados, árvores de decisão são usadas para construir modelos preditivos, onde cada caminho da árvore representa uma série de decisões que levam a um resultado específico. 3.2 PRINCÍPIOS DE OPERAÇÃO As árvores de decisão são algoritmos de aprendizado de máquina que podem ser usados tanto para classificação quanto para regressão. Elas são um tipo de modelo preditivo que divide o espaço de entrada em regiões retangulares e atribui uma classe ou valor a cada região. A estrutura de uma árvore de decisão é composta por nós internos e folhas. Os nós internos representam testes nos atributos do conjunto de dados, enquanto as folhas representam as classes ou valores de saída (ZHAN et al., 2022). O processo de construção de uma árvore de decisão envolve a divisão recursiva do conjunto de dados com base nos atributos que melhor separam as classes ou valores de saída. Existem diferentes critérios para medir a qualidade da divisão, como o índice de Gini, entropia ou ganho de informação. 21 Uma vez que a árvore de decisão é construída, ela pode ser usada para fazer previsões em novos dados. Isso é feito percorrendo a árvore a partir da raiz até chegar a uma folha, seguindo os testes nos atributos de acordo com os valores dos dados de entrada. O valor da folha alcançada é então atribuído como a classe ou valor de saída previsto. Embora as árvores de decisão sejam amplamente utilizadas, elas apresentam algumas limitações. Elas podem ser suscetíveis ao overfitting, ou seja, ao se ajustarem excessivamente aos dados de treinamento e terem um desempenho inferior em dados não vistos. No entanto, as árvores de decisão são atrativas devido à sua implementação computacionalmente eficiente e à sua interpretabilidade (YU et al., 2011). As árvores de decisão são eficazes para a mitigação de efeitos não lineares em sistemas de comunicação óptica, pois permitem uma análise detalhada e uma modelagem precisa de condições complexas. Elas oferecem clareza na visualização das rotas de decisão e são particularmente úteis para desdobrar processos de decisão complexos em passos mais simples e gerenciáveis (YU et al., 2011). 3.3 MODELO DE TREINAMENTO Após a realização das etapas prévias, como por exemplo a compensação da dispersão cromática, podemos avançar para a mitigação das não linearidades da fibra óptica utilizando árvores de decisão. Nesse contexto, as amostras complexas originais são registradas como um conjunto de dados represen- tado por X = {x1, x2, . . . , xn}, onde cada elemento de X é marcada com sua classe correspondente, resultando em um conjunto de rótulos representado por Y = {y1, y2, . . . , yn} (AGRAWAL, 2000). A preparação dos conjuntos de treinamento envolve a utilização do método de Bootstrap. Esse método consiste em criar subconjuntos de treinamento a partir do conjunto de dados original, selecio- nando aleatoriamente amostras com reposição. Cada subconjunto é utilizado para treinar uma árvore de decisão individual. Durante a construção das árvores de decisão, é necessário selecionar um conjunto ótimo de atributos como entrada para cada árvore. Isso pode ser feito por meio da seleção aleatória de um determinado número de atributos a partir do conjunto total de atributos disponíveis. Essa seleção aleatória garante diversidade e independência entre as árvores de decisão. 3.4 MODELO DE TESTE Uma vez que todos os subconjuntos de treinamento são preparados e os atributos são selecionados, é possível gerar o modelo de árvore de decisão combinando todas as árvores individuais. Cada árvore é construída utilizando um critério de divisão, como o índice de Gini ou a entropia, para determinar a melhor separação dos dados. O modelo de árvore de decisão resultante é utilizado para fazer previsões em dados de teste. Durante esse processo, os dados de teste são percorridos na árvore de decisão seguindo os testes nos atributos correspondentes aos valores dos dados. A árvore guia a classificação ou a atribuição de um valor específico com base nas folhas alcançadas. Esse processo pode ser resumido conforme ilustrado na Figura 4. 22 Figura 4 – Estrutura do modelo de uma árvore de decisão. Fonte: Autoria própria. 23 4 METODOLOGIA 4.1 CONFIGURAÇÃO DO SISTEMA E DA SIMULAÇÃO Neste trabalho, a metodologia empregada para simular os efeitos de não linearidades em sistemas de comunicações ópticas coerentes digitais foi meticulosamente desenvolvida. Utilizou-se o VPI Transmission Maker, uma ferramenta de simulação de sistemas de comunicação óptica coerente digital reconhecida no setor por sua capacidade de gerar dados realistas para análise e validação de algoritmos. O foco do estudo está na modulação 16-QAM com dupla polarização em um único span de transmissão. O sistema simulado compreende uma rede óptica passiva de 100 Gbps, operando com modulação em amplitude em quadratura 16-ária (16-QAM) e dupla polarização simultânea. As simulações foram conduzidas para uma gama de potências ópticas de transmissão variando de 1 dBm a 12 dBm e para comprimentos de link que vão de 100 km a 175 km. Para a geração de dados para treinamento e validação do modelo de classificação baseado em árvores de decisão, o VPI Transmission Maker foi utilizado de maneira extensiva. Esse simulador permitiu a criação de um conjunto de dados realístico, incorporando as variáveis essenciais ao estudo, como potência de transmissão e comprimento do link. Os algoritmos foram implementados e otimizados usando a biblioteca scikit-learn do Python, uma ferramenta robusta para aprendizado de máquina e mineração de dados. Esta biblioteca fornece recursos avançados para pré-processamento de dados, seleção de características, modelagem e avaliação de desempenho. A métrica principal de avaliação do desempenho foi a probabilidade de erro de bit (BER - bit error rate). Esta métrica, fundamental em sistemas de comunicação digital, foi utilizada para estimar a qualidade do sinal. A avaliação concentrou-se na melhoria da BER através do método de árvores de decisão, comparando-a com a BER resultante da detecção por máxima verossimilhança. Este estudo abordou de forma abrangente a mitigação de não linearidades em sistemas de comuni- cação óptica coerente digital, explorando o uso de árvores de decisão como uma técnica inovadora e eficaz. A metodologia adotada proporcionou um entendimento aprofundado do impacto das não linearidades nesses sistemas e a eficácia das árvores de decisão na sua mitigação. 4.1.1 Verificação dos efeitos não lineares A análise dos efeitos não lineares em sistemas ópticos de comunicação foi meticulosamente conduzida através de simulações, com resultados ilustrativos apresentados na Figura 3. Foi constatado que os efeitos não lineares começam a se tornar significativos a partir de uma potência de transmissão de cerca de 7 dBm. Este fenômeno é evidenciado pelas alterações observadas nas constelações após o processamento digital. Um aspecto crítico observado nas simulações foi o impacto do efeito Kerr, um fenômeno não linear intrínseco a meios de transmissão ópticos como as fibras. O efeito Kerr leva a variações no índice de refração da fibra óptica em função da intensidade do campo elétrico do sinal óptico. Essa variação 24 resulta em auto-modulação de fase (SPM) quando um único canal óptico está presente, e em modulação cruzada de fase (XPM) em sistemas com múltiplos canais ópticos. Estes efeitos são particularmente acentuados em potências de transmissão mais elevadas, como observado nas simulações acima de 7 dBm. Nas constelações obtidas após o processamento digital, as distorções causadas pelo efeito Kerr e pelos fenômenos associados de SPM e XPM tornam-se aparentes. Em potências mais altas, a interação entre os diferentes canais ópticos através do efeito XPM e a auto-interferência causada pela SPM alteram significativamente as constelações ópticas. Estas mudanças são indicativos da degradação do sinal devido aos efeitos não lineares. Assim, a simulação revelou que, à medida que a potência de transmissão aumenta, os efeitos não lineares se intensificam, afetando diretamente a qualidade do sinal transmitido. Esta observação é fundamental para o desenvolvimento de estratégias efetivas de mitigação desses efeitos em sistemas de comunicações ópticas coerentes digitais. Figura 5 – Distorção da constelação de acordo com a variação da potência óptica lançada, que varia de 1 dBm (a) a 12 dBm (l). Fonte: Autoria própria. 4.1.2 Arquitetura de Árvore de decisão adotada Neste estudo, as árvores de decisão são aplicadas em um contexto de classificação supervisi- onada, empregando a linguagem de programação Python. Especificamente, é utilizado o modelo 25 DecisionTreeClassifier da biblioteca SKlearn. As árvores de decisão são treinadas utilizando as componentes em fase e quadratura da constelação ideal transmitida e as constelações distorcidas recebidas, que variam de 1 a 12 dBm. Duas abordagens foram adotadas: processamento separado de cada polarização (SP) e processamento conjunto, conside- rando as componentes em fase e quadratura das polarizações X e Y (DP), como mostrado na Figura Figura 6. Para ambos os cenários, as entradas e saídas foram normalizadas para garantir média zero e variância unitária. Inicialmente, as árvores de decisão foram simuladas com os hiperparâmetros de configuração padrão. Posteriormente, foi realizada uma comparação de desempenho após o ajuste dos hiperparâmetros, como o número mínimo de folhas e o número mínimo de ramos em cada amostra, visando otimizar o modelo. No caso do processamento separado (SP), a árvore de decisão foi configurada para lidar individual- mente com cada componente do sinal (fase ou quadratura). Para o processamento conjunto (DP), a árvore foi ajustada para processar simultaneamente ambas as polarizações, exigindo uma abordagem mais complexa na otimização dos hiperparâmetros. Este ajuste é essencial para assegurar a eficácia do modelo na classificação precisa das constelações ópticas, especialmente em cenários com maior complexidade de sinal. Figura 6 – Diagrama de blocos do classificador não linear baseado em Árvores de Decisão para sistema de dupla polarização. Fonte: Autoria própria. 26 5 RESULTADOS E DISCUSSÕES Nesta seção, exploram-se os aspectos cruciais e as descobertas do estudo. Inicialmente, a atenção volta-se para a "Otimização dos Hiperparâmetros do Classificador", etapa chave para garantir tanto a eficácia do modelo em alcançar resultados precisos, quanto a sua eficiência no uso de recursos computacionais. Esta otimização é examinada sob duas perspectivas distintas: o "Processamento de Cada Polarização Independentemente", e o "Processamento das Duas Polarizações Conjuntamente". Posteriormente, na "Análise de Desempenho", discutem-se os resultados obtidos nas simulações, avaliando a eficácia do modelo. Por fim, conclui-se com a "Análise da Complexidade", onde se examina o custo computacional associado ao uso das árvores de decisão em sistemas de comunicações ópticas. 5.1 OTIMIZAÇÃO DOS HIPERPARÂMETROS DO CLASSIFICADOR A otimização dos hiperparâmetros do classificador constitui uma etapa crucial no estudo de sistemas de comunicações ópticas coerentes digitais. A análise inicial concentrou-se na potência óptica transmitida na faixa crítica de 6 a 8 dBm, período no qual as não linearidades começam a ser significativamente excitadas. Este fenômeno, observado na Figura 7, onde a constelação manifestou- se como uma rotação característica, evidenciando o impacto das não linearidades. Este ponto de partida estabelece o cenário para uma investigação detalhada sobre como diferentes configurações dos hiperparâmetros podem influenciar o desempenho do classificador em cenários de polarização única e dupla. Figura 7 – Diagrama de limite de decisão para 16QAM com modelo de árvore de decisão, com potência óptica lançada de 7 dBm. Fonte: Autoria própria. 27 5.1.1 Processamento de Cada Polarização Independentemente A otimização dos hiperparâmetros - especificamente o número de folhas e ramos mínimos na amostra - foi um foco primário no estudo do processamento de cada polarização independentemente. Uma série de simulações foi conduzida para avaliar diferentes valores dos hiperparâmetros, resultando em comparações detalhadas. Como exemplificado na Figura 8, o impacto do número de folhas foi analisado, enquanto na Figura 9, o foco foi no número de ramos, a escolha criteriosa desses hiperparâmetros provou ser crucial para a eficácia do modelo. Observou-se que uma configuração com um mínimo de 150 ramos e 30 folhas na amostra proporcionou resultados otimizados, refletindo-se em uma melhoria substancial na BER. Figura 8 – Curvas de BER em termos da potência óptica lançada, otimizando o número mínimo de folhas na amostra. Fonte: Autoria própria. Figura 9 – Curvas de BER em termos da potência óptica lançada, otimizando o número mínimo de ramos na amostra. Fonte: Autoria própria. 28 5.1.2 Processamento das Duas Polarizações Conjuntamente A análise do estudo foi expandida para incluir a configuração de dupla polarização simultânea, destacando as diferenças cruciais em comparação com o processamento de polarização única. Para a dupla polarização, foram realizadas simulações específicas e comparações detalhadas para otimizar os hiperparâmetros. Como ilustrado nas Figuras Figura 10 e Figura 11, para o número de folhas e ramos, respectivamente, a configuração ideal identificada incluiu um mínimo de 150 ramos e 150 folhas na amostra. Esta configuração resultou em uma redução ainda mais significativa na BER, sublinhando a eficácia da abordagem de dupla polarização. Figura 10 – Curvas de BER em termos da potência óptica lançada, otimizando o número mínimo de folhas na amostra, utilizando polarização dupla simultaneamente. Fonte: Autoria própria. Figura 11 – Curvas de BER em termos da potência óptica lançada, otimizando o número mínimo de ramos na amostra, utilizando polarização dupla simultaneamente. Fonte: Autoria própria. 29 Além disso, a análise destacou a importância de ajustar esses parâmetros para cada cenário. A influência de diferentes configurações de ramos e folhas na amostra foi minuciosamente examinada, revelando que mesmo variações sutis nos hiperparâmetros podem ter um impacto significativo no desempenho do sistema. 5.2 ANÁLISE DE DESEMPENHO Os resultados obtidos indicaram que as árvores de decisão são eficazes na mitigação dos efeitos não lineares em sistemas de comunicações ópticas coerentes digitais. Em comparação com o método tradicional de máxima verossimilhança, o método de árvores de decisão demonstrou ser mais eficiente na mitigação das não linearidades presentes no sistema, conforme ilustrado na Figura 12. Figura 12 – Curvas de BER em termos da potência óptica lançada, comparando o método de máxima verossimilhança (ML) com o método de classificação por Árvores de decisão (DT). Fonte: Autoria própria. Ao analisar o melhora caso de potência óptica lançada, 7 dBm para o método ML e 8 dBm para o método DT, processando cada polarização de forma independente, a aplicação do método de máxima verossimilhança resultou em uma BER de aproximadamente 1.4982× 10−3. No entanto, ao aplicar o método de árvores de decisão, a BER foi reduzida para aproximadamente 9.3460× 10−4, indicando uma melhora na qualidade do sinal após a aplicação do método. Continuando com a abordagem proposta, os hiperparâmetros do classificador da árvore de decisão foram otimizados. Simulações e comparações foram realizadas para diferentes valores de hiperparâ- metros, como ilustrado na Figura 8, para o número de folhas e na Figura 9, para o número de ramos. Após análise dos resultados obtidos, verificou-se que a melhor configuração dos hiperparâmetros era de no mínimo 150 ramos na amostra e de no mínimo 30 folhas na amostra. Após a otimização dos hiperparâmetros, foi realizada uma comparação de desempenho do sistema, conforme ilustrado na Figura 13. Nessa comparação, foram incluídos o método ML, o método de classificação de árvores de decisão com hiperparâmetros com configuração padrão e o método de classificação de árvores de decisão com hiperparâmetros otimizados. Como resultado, obteve-se uma 30 BER de 6.7075× 10−4, considerando o melhor caso para potência óptica lançada, demonstrando uma melhora no desempenho do sistema. Figura 13 – Comparação entre o método ML, classificação de árvores de decisão com hiperparâmetros padrão e o método de classificação de árvores de decisão com hiperparâmetros otimizados. Fonte: Autoria própria. Em seguida, os mesmos procedimentos foram realizados para o processamento das duas polariza- ções de forma simultânea. A Figura 14 ilustra a comparação de desempenho entre o método de máxima verossimilhança, o método de classificação com árvores de decisão utilizando polarização única e o método de classificação com árvores de decisão utilizando polarização dupla simultaneamente. Com a configuração de polarização dupla, obteve-se uma BER de 5.9127× 10−4, considerando o melhor caso para potência óptica lançada, mostrando uma melhora significativa no desempenho do sistema. Figura 14 – Comparação de desempenho entre o método de máxima verossimilhança, o método de classificação com árvores de decisão utilizando polarização única e o método de classificação com árvores de decisão utilizando polarização dupla simultaneamente. Fonte: Autoria própria. 31 Assim como para o processamento de cada polarização de forma independente, foram realizadas simulações e comparações para otimizar os hiperparâmetros do método de classificação de árvores de decisão para a polarização dupla simultânea, conforme ilustrado nas Figura 10 e na Figura 11 para o número de folhas e ramos, respectivamente. Após a análise dos resultados, foi identificado que a melhor configuração dos hiperparâmetros era de no mínimo 150 ramos na amostra e de no mínimo 150 folhas na amostra. Após a otimização dos hiperparâmetros, foi realizada novamente uma comparação de desempenho do sistema, incluindo todos os métodos mencionados anteriormente, mas agora com o método de clas- sificação de árvores de decisão com hiperparâmetros otimizados para a dupla polarização simultânea, conforme ilustrado na Figura 15. Como resultado, obteve-se uma BER de 5.6743×10−4, considerando o melhor caso para potência óptica lançada, representando uma pequena melhora no desempenho do sistema. No entanto, fica claro que para melhorar ainda mais o desempenho do sistema, é necessário explorar a otimização de outros hiperparâmetros, considerando que as simulações até o momento se limitaram aos principais hiperparâmetros das árvores de decisão, como o número mínimo de ramos e folhas na amostra. Figura 15 – Comparação de desempenho do sistema, entre os métodos ML, classificação de árvores de decisão com polarização única em configuração padrão, classificação de árvores de decisão com polarização única com hiperparâmetros otimizados, método de classificação de árvores de decisão com polarização dupla em configuração padrão e o método de classi- ficação de árvores de decisão com polarização dupla e com hiperparâmetros otimizados. Fonte: Autoria própria. 32 5.3 ANÁLISE DE COMPLEXIDADE A análise de complexidade dos métodos de árvores de decisão e máxima verossimilhança em siste- mas de comunicações ópticas coerentes digitais revela diferenças significativas em termos de recursos computacionais necessários. O método ML, tradicionalmente adotado nesses sistemas, tende a ter uma complexidade computacional elevada. Isso se deve ao fato de o ML precisar considerar múltiplos estados e realizar cálculos extensivos para cada amostra, intensificando a demanda computacional à medida que o tamanho do conjunto de dados aumenta. Por outro lado, as árvores de decisão apresentam uma abordagem fundamentalmente diferente. Sua análise é baseada em decisões binárias – uma estrutura que naturalmente reduz a complexidade computacional. Em vez de avaliar uma ampla gama de possibilidades, as árvores de decisão simplificam o processo de tomada de decisão, dividindo os dados em segmentos menores e mais gerenciáveis. Este aspecto é particularmente relevante no contexto das não linearidades em sistemas de comunicação óptica, onde as decisões rápidas e eficientes são cruciais. A princípio, as árvores de decisão não requerem operações aritméticas complexas, focando-se em comparações binárias simples. Este fator contribui significativamente para a redução da complexidade computacional. No entanto, uma análise mais aprofundada das operações binárias e da estrutura da árvore é necessária para entender completamente como essas decisões simplificadas podem impactar o desempenho geral do sistema. A vantagem das árvores de decisão se torna ainda mais evidente quando consideramos a otimização de hiperparâmetros. Embora essa otimização exija um esforço inicial para configurar os parâmetros ideais, como o número de ramos e folhas mínimos na amostra, uma vez estabelecidos, eles permitem que o modelo opere com maior eficiência. Esta eficiência é refletida tanto na capacidade de processar grandes volumes de dados quanto na rapidez com que as decisões são tomadas, tornando o método DT particularmente adequado para sistemas em tempo real, onde os recursos computacionais são um fator crítico. Além disso, os resultados obtidos nas simulações indicam que a utilização das árvores de decisão não apenas reduz a complexidade computacional, mas também melhora o desempenho do sistema. A combinação desses fatores – menor complexidade e maior eficiência – torna as árvores de decisão uma escolha promissora para a mitigação de não linearidades em sistemas de comunicações ópticas coerentes digitais. A análise de complexidade baseada em seus dados sugere que as árvores de decisão oferecem uma alternativa mais viável em termos de recursos computacionais quando comparadas ao método de máxima verossimilhança. A natureza binária das análises das árvores de decisão contribui significati- vamente para esta eficiência, tornando-as uma opção atraente para aplicações práticas em sistemas de comunicação óptica. 33 6 CONCLUSÕES Neste estudo, abordamos de forma profunda os desafios impostos pelas não linearidades nos sistemas ópticos digitais coerentes, com um enfoque particular no emprego da classificação por árvores de decisão como ferramenta de mitigação. A pesquisa revelou que a aplicação da classificação por árvores de decisão em sistemas de comunicação óptica com dupla polarização simultânea não é apenas viável, mas também resulta em melhorias significativas no desempenho desses sistemas. Importante destacar que, em todos os métodos analisados, incluindo o de máxima verossimilhança e as árvores de decisão com processamento das polarizações de forma independente e simultânea, os resultados obtidos foram baseados no melhor caso de potência óptica lançada. Especificamente, a classificação por árvores de decisão reduziu a taxa de erro de bit para aproximadamente 9.3460× 10−4 com hiperparâmetros em configuração padrão e 6.7075 × 10−4 com hiperparâmetros otimizados, em comparação a uma BER de cerca de 1.4982× 10−3 pelo método de máxima verossimilhança. Ao contrário da abordagem padrão de máxima verossimilhança, a classificação por árvores de decisão provou ser eficaz, mitigando parcialmente o efeito das não linearidades nestes sistemas complexos. O uso desses algoritmos em cenários com dupla polarização ressaltou o potencial destas ferramentas em lidar com as complexidades adicionais, sendo um ponto crucial deste estudo. A integração da dupla polarização simultânea nos sistemas estudados apresentou um desafio adicional: a tendência ao overfitting durante o treinamento do modelo de árvore de decisão. No entanto, esta barreira foi habilmente superada através de uma otimização cuidadosa dos hiperparâmetros do modelo, permitindo que o sistema alcançasse um desempenho notável na mitigação das não linearidades. Processando as duas polarizações conjuntamente, os hiperparâmetros em configuração padrão resultaram em uma BER de 5.9127× 10−4, e com hiperparâmetros otimizados, em 5.6743× 10−4. Os resultados alcançados neste trabalho não apenas mostram a capacidade classificação por árvores de decisão na redução dos impactos das não linearidades em sistemas ópticos digitais coerentes, mas também demonstram o potencial desses algoritmos em configurações mais complexas de dupla polarização. 34 REFERÊNCIAS AGRAWAL, G. P. Nonlinear fiber optics. In: Nonlinear science at the dawn of the 21st century. Berlin, Heidelberg: Springer Berlin Heidelberg, 2000. p. 195–211. AGRAWAL, G. P. Fiber-optic communication systems. [S.l.]: John Wiley & Sons, 2012. ALDAYA, Ivan et al. Fiber-induced nonlinear limitation in 400-Gbps single-channel coherent optical interconnects. In: Brazilian Symposium of Signal Processing and Telecommunications. [S.l.: s.n.], 2020. p. 1–4. Alpaydın, Ethem. Introduction to machine learning second edition. 2011. FERREIRA, R. M. da S. Processamento Digital de Sinal em Sistemas de Deteção Coerente. Tese (Doutorado) — Universidade de Aveiro (Portugal), 2012. KIKUCHI, Kazuro. Digital coherent optical communication systems: Fundamentals and future prospects. IEICE Electronics Express, The Institute of Electronics, Information and Communication Engineers, v. 8, n. 20, p. 1642–1662, 2011. OLIVEIRA, P. R. M. Sistemas de antenas MIMO. Tese (Doutorado), 2010. SILVA, I. A. C. et al. Compensação de efeitos lineares em sistemas ópticos coerentes. Universidade Federal de Campina Grande, 2017. WINZER, P. J.; ESSIAMBRE, R.-J. Proceedings of the IEEE, v. 94, n. 5, p. 952–985, 2006. DOI: 10.1109/JPROC.2006.872337. YU, J. et al. Generation, transmission and coherent detection of 11.2 Tb/s (112× 100Gb/s) single source optical OFDM superchannel. In: IEEE. Optical Fiber Communication Conference and Exposition (OFC/NFOEC). [S.l.], 2011. p. 1–3. ZHAN, G. et al. Fiber nonlinearity mitigation for mQAM coherent optical communication system utilizing random forest algorithm. In: IEEE. 2022 Asia Communications and Photonics Conference (ACP). [S.l.], 2022. p. 677–681. 35 APÊNDICE A – CÓDIGOS GERADOS EM PYTHON A.1 COMPENSAÇÃO DE EFEITOS NÃO LINEARES EMPREGANDO CLASSIFICAÇÃO BA- SEADA EM ÁRVORES DE DECISÃO 1 %reset 2 3 # Import libraries 4 import numpy as np 5 import matplotlib.pyplot as plt 6 import pandas as pd 7 8 # Configure the environment 9 #%matplotlib qt 10 11 def MLdetection_16QAM(X,lev_sep=1): 12 # Building the decision region limits 13 lims = (np.arange(4)-1.5)*lev_sep 14 m, n = np.shape(X) 15 int_label = np.zeros(m) 16 for aux1 in range(n): 17 for aux2 in range(m): 18 int_label[aux2] = int(int_label[aux2]+np.round((X[aux2,aux1]-lims [0]))*4**aux1) 19 return int_label 20 21 def plot_by_label(X,labels,M=16): 22 plt.figure() 23 for aux in range(M): 24 ind = np.where(labels==aux) 25 plt.plot(X[ind[0],0],X[ind[0],1],’.’) 26 plt.legend([’0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’10’,’11’,’12’,’13’,’14’ ,’15’], bbox_to_anchor=(1, 1)) 27 plt.axis(’square’) 28 29 def constellation_hist(X): 30 plt.figure() 31 plt.hist2d(X[:,0],X[:,1]) 32 33 def sort_clusters(labels_clusters,labels_ideal,M=16): 34 #print(labels_clusters[:100]) 35 #print(labels_ideal[:100]) 36 37 labels_new = np.zeros(len(labels_clusters),dtype=int) 38 for aux in range(M): 39 # Finding the value of label for aux 40 ind = np.where(labels_ideal==aux) 36 41 lab = labels_clusters[ind] 42 new_label = int(np.round(np.mean(lab))) 43 ind_1 = np.where(labels_clusters==new_label) 44 labels_new[ind_1] = aux 45 return labels_new 46 47 def compare_labels(labels_dist,labels_ideal): 48 error_counter = 0 49 for aux in range(len(labels_dist)): 50 if labels_dist[aux] != labels_ideal[aux]: 51 error_counter += 1 52 return error_counter 53 54 # Load ideal data 55 folder_name = ’Dados_140km_14e9Bd’ 56 file_name = ’DP_IdealConstellationDiagram_0dbm_140km_14e9Bd.csv’ 57 complete_name = folder_name+’/’+file_name 58 print(’Loading (ideal data):’,complete_name) 59 dataframe = pd.read_csv(complete_name,sep=’,’, header=5) 60 data_ideal = dataframe.to_numpy() 61 m,n = np.shape(data_ideal) 62 63 # Convert to integer labels (considering each polarization independently) 64 labels_X = MLdetection_16QAM(data_ideal[:,0:2]) 65 66 # Load distorted data 67 folder_name = ’Dados_140km_14e9Bd’ 68 file_name_list = [#’DP_RealConstellationDiagram_0dbm_100km_14e9Bd.csv’, 69 ’DP_RealConstellationDiagram_1dbm_140km_14e9Bd.csv’, 70 ’DP_RealConstellationDiagram_2dbm_140km_14e9Bd.csv’, 71 ’DP_RealConstellationDiagram_3dbm_140km_14e9Bd.csv’, 72 ’DP_RealConstellationDiagram_4dbm_140km_14e9Bd.csv’, 73 ’DP_RealConstellationDiagram_5dbm_140km_14e9Bd.csv’, 74 ’DP_RealConstellationDiagram_6dbm_140km_14e9Bd.csv’, 75 ’DP_RealConstellationDiagram_7dbm_140km_14e9Bd.csv’, 76 ’DP_RealConstellationDiagram_8dbm_140km_14e9Bd.csv’, 77 ’DP_RealConstellationDiagram_9dbm_140km_14e9Bd.csv’, 78 ’DP_RealConstellationDiagram_10dbm_140km_14e9Bd.csv’, 79 ’DP_RealConstellationDiagram_11dbm_140km_14e9Bd.csv’, 80 ’DP_RealConstellationDiagram_12dbm_140km_14e9Bd.csv’] 81 # Generation of the storing tensor 82 k = len(file_name_list) 83 data = np.zeros((k,m,n)) 84 # Iterate over the elements of the list 85 for counter, file_name in enumerate(file_name_list): 86 complete_name = folder_name+’/’+file_name 87 print(’Loading (distoted data):’,complete_name) 88 dataframe = pd.read_csv(complete_name,sep=’,’, header=5) 89 data[counter,:,:] = dataframe.to_numpy() 37 90 91 # Plot ideal data 92 plt.figure() 93 plt.plot(data_ideal[:,0],data_ideal[:,1],’.’,alpha=0.1) 94 plt.axis(’square’) 95 plt.set_cmap(’Oranges’) 96 plt.xlabel(’In-phase’) 97 plt.ylabel(’Quadrature’) 98 99 # Plot distorted data 100 points_to_plot = 50000 101 #plt.figure(figsize=(30,80)) 102 for ind in range(12): 103 plt.subplot(3,4,ind+1) 104 plt.plot(data[ind,:points_to_plot,0],data[ind,:points_to_plot,1],’.’,alpha =0.1) 105 plt.axis(’square’) 106 #plt.set_cmap(’Oranges’) 107 #plt.xlabel(’In-phase’) 108 #plt.ylabel(’Quadrature’) 109 110 # Plot distorted data (histogram) 111 112 #plt.figure(figsize=(30,80)) 113 #for ind in range(12): 114 # plt.subplot(3,4,ind+1) 115 # Nbins = 100 116 # Lim = 4.25 117 # bins = np.linspace(-Lim,Lim,Nbins) 118 # plt.hist2d(data[ind,:,0],data[ind,:,1],bins=bins) 119 # plt.axis(’square’) 120 # plt.set_cmap(’Greys’) 121 #plt.xlabel(’In-phase’) 122 #plt.ylabel(’Quadrature’) 123 124 BER_array = np.zeros(k) 125 126 for ind in range(k): 127 print(’Processing’,ind,’of’,k-1) 128 data_dist = data[ind,:,:] 129 labels_X_dist = MLdetection_16QAM(data_dist[:,0:2]/2) 130 131 BER_X = sum(labels_X!=labels_X_dist)/len(labels_X)/4 132 133 BER_array[ind] = BER_X 134 print(’\tBER is:’,BER_X) 135 136 print(np.shape(data)) 137 # We select a mid-high power level 38 138 aux = 8 139 data_aux = data[aux,:,:] 140 print(np.shape(data_aux)) 141 # We select the X polarization 142 data_X = data_aux[:,:2] 143 print(np.shape(data_X)) 144 X = data_X 145 y = labels_X 146 147 # Represent the constellation with labels 148 # plot_by_label(X,y,M=16) 149 150 from sklearn.model_selection import train_test_split 151 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 152 153 #plt.figure() 154 #plt.stem(y[:100]) 155 #kaixo 156 157 from sklearn.tree import DecisionTreeClassifier 158 clf = DecisionTreeClassifier() 159 clf = clf.fit(X_train, y_train) 160 161 y_hat_test = clf.predict(X_test) 162 #plt.figure() 163 #plt.plot(y_hat_test[:100],’ok’) 164 #plt.plot(y_test[:100],’.r’) 165 166 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/4 167 print(’Error test average:’,error_test_average) 168 169 plot_by_label(X_test,y_test,M=16) 170 plot_by_label(X_test,y_hat_test,M=16) 171 172 #plt.figure() 173 #plt.stem(y_test != y_hat_test) 174 175 N = 100 176 x_aux = np.linspace(-5,5,N) 177 y_aux = np.linspace(-5,5,N) 178 XX_aux, YY_aux = np.meshgrid(x_aux,y_aux) 179 XXX_aux = np.reshape(XX_aux,[N*N,1]) 180 YYY_aux = np.reshape(YY_aux,[N*N,1]) 181 X_aux = np.concatenate((XXX_aux,YYY_aux),axis=1) 182 183 y_hat_aux = clf.predict(X_aux) 184 yy_aux = np.reshape(y_hat_aux,[N,N]) 185 186 plt.figure() 39 187 plt.contourf(XX_aux, YY_aux,yy_aux, levels = 100, alpha=.5, cmap="viridis") 188 plt.plot(X[:,0],X[:,1],’.k’,alpha=0.01) 189 plt.axis(’square’) 190 191 BER_array_DT = np.zeros(k) 192 clf = DecisionTreeClassifier() 193 for ind in range(k): 194 print(’Processing’,ind,’of’,k-1) 195 data_aux = data[ind,:,:] 196 # We select the X polarization 197 data_X = data_aux[:,:2] 198 X = data_X 199 y = labels_X 200 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 201 clf = clf.fit(X_train, y_train) 202 y_hat_test = clf.predict(X_test) 203 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/4 204 BER_array_DT[ind]=error_test_average 205 print(’\tBER is:’,error_test_average) 206 207 #Graphical representation: 208 209 plt.figure() 210 P_array = np.arange(1,k+1) 211 plt.semilogy(P_array,BER_array,’-o’,markeredgecolor=’k’,label=’ML’) 212 plt.semilogy(P_array,BER_array_DT,’-s’,markeredgecolor=’k’,label=’DT’) 213 plt.xlabel(’Potência óptica de lançamento [dBm]’) 214 plt.ylabel(’BER’) 215 plt.grid(’on’) 216 #plt.figtext(0.84, 0.13, ’a)’, fontsize=18, ha=’center’, color=’k’) 217 plt.legend() 218 plt.savefig(’ML vs DT.png’) 219 220 #hyperparameter optimization 221 222 plt.figure() 223 #plt.title(’Relationship between number of leaves and BER’) 224 plt.semilogy(P_array,BER_array,’-o’,markeredgecolor=’k’,label=’ML’) 225 w = [1, 15, 20, 25, 30, 50] 226 for M in w: 227 clf = DecisionTreeClassifier(min_samples_split= 2, min_samples_leaf= M) 228 clf = clf.fit(X_train, y_train) 229 230 y_hat_test = clf.predict(X_test) 231 232 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/4 233 234 BER_array_DT = np.zeros(k) 235 clf = DecisionTreeClassifier(min_samples_split= 2, min_samples_leaf= M) 40 236 for ind in range(k): 237 #print(’Processing’,ind,’of’,k-1) 238 data_aux = data[ind,:,:] 239 # We select the X polarization 240 data_X = data_aux[:,:2] 241 X = data_X 242 y = labels_X 243 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 244 clf = clf.fit(X_train, y_train) 245 y_hat_test = clf.predict(X_test) 246 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/4 247 BER_array_DT[ind]=error_test_average 248 249 250 P_array = np.arange(1,k+1) 251 plt.semilogy(P_array,BER_array_DT,’-s’,markeredgecolor=’k’, label= str(M) + ’ Folhas’) 252 253 plt.xlabel(’Potência óptica de lançamento [dBm]’) 254 plt.ylabel(’BER’) 255 plt.grid(’on’) 256 #plt.legend() 257 plt.legend(loc=’lower left’) 258 plt.savefig(’folhas.png’) 259 260 plt.figure() 261 #plt.title(’Relationship between number of splits and BER’) 262 plt.semilogy(P_array,BER_array,’-o’,markeredgecolor=’k’,label=’ML’) 263 w = [2, 20, 50, 75, 100, 125, 150] 264 for M in w: 265 clf = DecisionTreeClassifier(min_samples_split= M, min_samples_leaf= 1) 266 clf = clf.fit(X_train, y_train) 267 268 y_hat_test = clf.predict(X_test) 269 270 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/4 271 #print(’Error test average for’ , M, ’min_samples_split:’, error_test_average) 272 273 BER_array_DT = np.zeros(k) 274 clf = DecisionTreeClassifier(min_samples_split= M, min_samples_leaf= 1) 275 for ind in range(k): 276 #print(’Processing’,ind,’of’,k-1) 277 data_aux = data[ind,:,:] 278 # We select the X polarization 279 data_X = data_aux[:,:2] 280 X = data_X 281 y = labels_X 282 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 41 283 clf = clf.fit(X_train, y_train) 284 y_hat_test = clf.predict(X_test) 285 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/4 286 BER_array_DT[ind]=error_test_average 287 288 P_array = np.arange(1,k+1) 289 plt.semilogy(P_array,BER_array_DT,’-s’,markeredgecolor=’k’, label= str(M) + ’ Ramos’) 290 291 plt.xlabel(’Potência óptica de lançamento [dBm]’) 292 plt.ylabel(’BER’) 293 plt.grid(’on’) 294 plt.legend(loc=’lower left’, fontsize=’small’) 295 plt.savefig(’ramos.png’) 296 297 #Comparison Max Likelihood vs. DecisionTreeClassifier 298 299 plt.figure() 300 301 #plt.title(’Max Likelihood vs. DecisionTreeClassifier’) 302 303 plt.semilogy(P_array,BER_array,’-o’,markeredgecolor=’k’,label=’ML’) 304 305 BER_array_DT_Df = np.zeros(k) 306 clf = DecisionTreeClassifier(min_samples_split= 2, min_samples_leaf= 1) 307 for ind in range(k): 308 data_aux = data[ind,:,:] 309 data_X = data_aux[:,:2] 310 X = data_X 311 y = labels_X 312 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 313 clf = clf.fit(X_train, y_train) 314 y_hat_test = clf.predict(X_test) 315 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/4 316 BER_array_DT[ind]=error_test_average 317 318 P_array = np.arange(1,k+1) 319 plt.semilogy(P_array,BER_array_DT,’-s’,markeredgecolor=’k’, label= ’DT’) 320 321 plt.xlabel(’Potência óptica de lançamento [dBm]’) 322 plt.ylabel(’BER’) 323 plt.grid(’on’) 324 plt.legend() 325 #plt.savefig(’ML vs DT.png’) 326 327 #Loading and preparing for dual polarization 328 329 #Convert to integer labels (considering each polarization independently) 330 42 331 # Load ideal data 332 folder_name = ’Dados_140km_14e9Bd’ 333 file_name = ’DP_IdealConstellationDiagram_0dbm_140km_14e9Bd.csv’ 334 complete_name = folder_name+’/’+file_name 335 print(’Loading (ideal data):’,complete_name) 336 dataframe = pd.read_csv(complete_name,sep=’,’, header=5) 337 data_ideal = dataframe.to_numpy() 338 m,n = np.shape(data_ideal) 339 340 # Convert to integer labels (considering each polarization independently) 341 labels_X = MLdetection_16QAM(data_ideal[:,0:2]) 342 labels_Y = MLdetection_16QAM(data_ideal[:,2:4]) 343 labels_XY = MLdetection_16QAM(data_ideal[:,:]) 344 345 BER_array = np.zeros(k) 346 347 for ind in range(k): 348 print(’Processing’,ind,’of’,k-1) 349 data_dist = data[ind,:,:] 350 labels_X_dist = MLdetection_16QAM(data_dist[:,0:2]/2) 351 labels_Y_dist = MLdetection_16QAM(data_dist[:,2:4]/2) 352 labels_XY_dist = MLdetection_16QAM(data_dist[:,:]/2) 353 354 BER_X = sum(labels_X!=labels_X_dist)/len(labels_XY)/4 355 BER_Y = sum(labels_Y!=labels_Y_dist)/len(labels_XY)/4 356 BER_XY = sum(labels_XY!=labels_XY_dist)/len(labels_XY)/8 357 358 BER_array[ind] = (BER_X+BER_Y)/2 359 print(’\tBER is:’,BER_XY) 360 361 BER_array_DT_DP = np.zeros(k) 362 clf = DecisionTreeClassifier() 363 for ind in range(k): 364 #print(’Processing’,ind,’of’,k-1) 365 data_dist = data[ind,:,:] 366 # Data and labels for that LOP level 367 DataXY = data[ind,:,:] # We select X polarization 368 LabelsXY = labels_XY[:] # We select labels of X polarization 369 # Rename to the meet the variables names of sklearn 370 X = DataXY # Input values 371 y = LabelsXY # Class value (labels) 372 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 373 clf = clf.fit(X_train, y_train) 374 y_hat_test = clf.predict(X_test) 375 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/8 376 BER_array_DT_DP[ind]=error_test_average 377 #print(’\tBER is:’,error_test_average) 378 379 #Comparison ML vs. Single pol. DT vs. Dual pol. DT 43 380 381 plt.figure() 382 #plt.title(’ML vs. Single pol. DT vs. Dual pol. DT’) 383 P_array = np.arange(1,k+1) 384 plt.semilogy(P_array,BER_array,’-o’,markeredgecolor=’k’,label=’ML’) 385 plt.semilogy(P_array,BER_array_DT,’-s’,markeredgecolor=’k’,label=’pol.única’) 386 plt.semilogy(P_array,BER_array_DT_DP,’-^’,markeredgecolor=’k’,label=’pol. dupla’ ) 387 #plt.xlim([1,12]) 388 plt.xlabel(’Potência óptica de lançamento [dBm]’) 389 plt.ylabel(’BER’) 390 plt.grid(’on’) 391 plt.legend() 392 plt.savefig(’ML vs SP vs DP.png’) 393 394 #hyperparameter optimization 395 plt.figure() 396 #plt.title(’Relationship between number of splits and BER’) 397 plt.semilogy(P_array,BER_array,’-o’,markeredgecolor=’k’,label=’ML’) 398 w = [20, 50, 75, 100, 125, 150] 399 for M in w: 400 clf = DecisionTreeClassifier(min_samples_split= M, min_samples_leaf= 1) 401 402 BER_array_DT_DP = np.zeros(k) 403 clf = DecisionTreeClassifier() 404 for ind in range(k): 405 #print(’Processing’,ind,’of’,k-1) 406 data_dist = data[ind,:,:] 407 # Data and labels for that LOP level 408 DataXY = data[ind,:,:] # We select X polarization 409 LabelsXY = labels_XY[:] # We select labels of X polarization 410 # Rename to the meet the variables names of sklearn 411 X = DataXY # Input values 412 y = LabelsXY # Class value (labels) 413 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 414 clf = clf.fit(X_train, y_train) 415 y_hat_test = clf.predict(X_test) 416 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/8 417 BER_array_DT_DP[ind]=error_test_average 418 419 P_array = np.arange(1,k+1) 420 plt.semilogy(P_array,BER_array_DT_DP,’-s’,markeredgecolor=’k’, label= str(M) + ’ Ramos’) 421 #print(’Error test average for’ , M, ’min_samples_split:’, error_test_average) 422 423 plt.xlabel(’Potência óptica de lançamento [dBm]’) 424 plt.ylabel(’BER’) 425 plt.grid(’on’) 44 426 plt.legend(loc=’lower left’, fontsize=’small’) 427 plt.savefig(’ramosDP.png’) 428 429 plt.figure() 430 #plt.title(’Relationship between number of leaves and BER’) 431 plt.semilogy(P_array,BER_array,’-o’,markeredgecolor=’k’,label=’ML’) 432 w = [15, 20, 50, 75, 100, 125, 150, 200] 433 for M in w: 434 clf = DecisionTreeClassifier(min_samples_split= 2, min_samples_leaf= M) 435 436 BER_array_DT_DP = np.zeros(k) 437 clf = DecisionTreeClassifier() 438 for ind in range(k): 439 #print(’Processing’,ind,’of’,k-1) 440 data_dist = data[ind,:,:] 441 # Data and labels for that LOP level 442 DataXY = data[ind,:,:] # We select X polarization 443 LabelsXY = labels_XY[:] # We select labels of X polarization 444 # Rename to the meet the variables names of sklearn 445 X = DataXY # Input values 446 y = LabelsXY # Class value (labels) 447 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 448 clf = clf.fit(X_train, y_train) 449 y_hat_test = clf.predict(X_test) 450 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/8 451 BER_array_DT_DP[ind]=error_test_average 452 453 P_array = np.arange(1,k+1) 454 plt.semilogy(P_array,BER_array_DT_DP,’-s’,markeredgecolor=’k’, label= str(M) + ’ Folhas’) 455 #print(’Error test average for’ , M, ’min_samples_leaf:’, error_test_average ) 456 457 plt.xlabel(’Potência óptica de lançamento [dBm]’) 458 plt.ylabel(’BER’) 459 plt.grid(’on’) 460 plt.legend(loc=’lower left’, fontsize=’small’) 461 plt.savefig(’folhasDP.png’) 462 463 #Final Comparison Max Likelihood vs. Single pol. DT vs. Optimal Hyperparameters Single pol. vs. Dual pol. DT vs. Optimal Hyperparameters DP 464 465 plt.figure() 466 467 #title_line1 = ’Max Likelihood vs. Single pol. DT vs. Optimal Hyperparameters Single pol. vs.’ 468 #title_line2 = ’Dual pol. DT vs. Optimal Hyperparameters DP’ 469 #title = f’{title_line1}\n{title_line2}’ 470 #plt.title(title) 45 471 #plt.title(’Max Likelihood vs. Single pol. DT vs. Optimal Hyperparameters Single pol. vs. Dual pol. DT vs. Optimal Hyperparameters DP’) 472 #Max Likelihood 473 P_array = np.arange(1,k+1) 474 plt.semilogy(P_array,BER_array,’-o’,markeredgecolor=’k’,label=’ML’) 475 476 #Single pol. DT default 477 BER_array_DT_Df = np.zeros(k) 478 clf = DecisionTreeClassifier(min_samples_split= 2, min_samples_leaf= 1) 479 for ind in range(k): 480 data_aux = data[ind,:,:] 481 data_X = data_aux[:,:2] 482 X = data_X 483 y = labels_X 484 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 485 clf = clf.fit(X_train, y_train) 486 y_hat_test = clf.predict(X_test) 487 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/4 488 BER_array_DT[ind]=error_test_average 489 490 #P_array = np.arange(1,k+1) 491 plt.semilogy(P_array,BER_array_DT,’-s’,markeredgecolor=’k’, label= ’SP com Hip. padrão’) 492 493 #Dual pol. DT default 494 DataX = data[ind,:,:2] # We select X polarization 495 LabelsX = labels_X # We select labels of X polarization 496 X = DataX 497 y = labels_X 498 499 clf = DecisionTreeClassifier(min_samples_split= 2, min_samples_leaf= 1) 500 501 BER_array_DT_DP = np.zeros(k) 502 clf = DecisionTreeClassifier() 503 for ind in range(k): 504 #print(’Processing’,ind,’of’,k-1) 505 data_dist = data[ind,:,:] 506 # Data and labels for that LOP level 507 DataXY = data[ind,:,:] # We select X polarization 508 LabelsXY = labels_XY[:] # We select labels of X polarization 509 # Rename to the meet the variables names of sklearn 510 X = DataXY # Input values 511 y = LabelsXY # Class value (labels) 512 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 513 clf = clf.fit(X_train, y_train) 514 y_hat_test = clf.predict(X_test) 515 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/8 516 BER_array_DT_DP[ind]=error_test_average 517 #print(’Error test average for DP default :’, error_test_average) 46 518 519 BER_array_DT_OH = np.zeros(k) 520 clf = DecisionTreeClassifier(min_samples_split= 150, min_samples_leaf= 30) 521 for ind in range(k): 522 data_aux = data[ind,:,:] 523 data_X = data_aux[:,:2] 524 X = data_X 525 y = labels_X 526 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 527 clf = clf.fit(X_train, y_train) 528 y_hat_test = clf.predict(X_test) 529 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/4 530 BER_array_DT[ind]=error_test_average 531 #print(’Error test average for DT_Optimal :’, error_test_average) 532 533 P_array = np.arange(1,k+1) 534 plt.semilogy(P_array,BER_array_DT,’-s’,markeredgecolor=’k’, label= ’SP com Hip. otimizados’) 535 536 #P_array = np.arange(1,k+1) 537 plt.semilogy(P_array,BER_array_DT_DP,’-s’,markeredgecolor=’k’, label= ’DP com Hip. padrão’) 538 539 #Dual pol. DT Optimal Hyperparameters 540 DataX = data[ind,:,:2] # We select X polarization 541 LabelsX = labels_X # We select labels of X polarization 542 X = DataX 543 y = labels_X 544 545 clf = DecisionTreeClassifier(min_samples_split= 150, min_samples_leaf= 150) 546 547 BER_array_DT_DP = np.zeros(k) 548 clf = DecisionTreeClassifier() 549 for ind in range(k): 550 #print(’Processing’,ind,’of’,k-1) 551 data_dist = data[ind,:,:] 552 # Data and labels for that LOP level 553 DataXY = data[ind,:,:] # We select X polarization 554 LabelsXY = labels_XY[:] # We select labels of X polarization 555 # Rename to the meet the variables names of sklearn 556 X = DataXY # Input values 557 y = LabelsXY # Class value (labels) 558 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3) 559 clf = clf.fit(X_train, y_train) 560 y_hat_test = clf.predict(X_test) 561 error_test_average = np.sum(y_test != y_hat_test)/len(y_test)/8 562 BER_array_DT_DP[ind]=error_test_average 563 # print(’Error test average for DT_DP:’, error_test_average) 564 47 565 #P_array = np.arange(1,k+1) 566 plt.semilogy(P_array,BER_array_DT_DP,’-s’,markeredgecolor=’k’, label= ’DP com Hip. otimizados’) 567 568 569 plt.xlabel(’Potência óptica de lançamento [dBm]’) 570 plt.ylabel(’BER’) 571 plt.grid(’on’) 572 plt.legend(loc=’lower left’, fontsize=’small’) 573 plt.savefig(’CompMetds.png’) 574 575 #end Listing A.1 – Código Python Agradecimentos Resumo Abstract LISTA DE ABREVIATURAS Lista de símbolos Introdução Motivação Justificativa do problema e solução proposta Objetivo do trabalho Organização do Documento Árvores de decisão para mitigação do efeito das não linearidades em sistemas de comunicações ópticas coerentes digitais Sistemas de comunicações ópticas coerentes digitais Efeitos não lineares Automodulação de fase (SPM) Modulação de fase cruzada (XPM) Mistura de quatro ondas (FWM) Multiplicidade de Polarizações em Fibras Ópticas Árvore de decisão (DT) Elementos de Árvore de Decisão Nós Ramos Folhas PRINCÍPIOS DE OPERAÇÃO Modelo de treinamento Modelo de teste Metodologia Configuração do Sistema e da Simulação Verificação dos efeitos não lineares Arquitetura de Árvore de decisão adotada Resultados e Discussões Otimização dos Hiperparâmetros do Classificador Processamento de Cada Polarização Independentemente Processamento das Duas Polarizações Conjuntamente Análise de desempenho Análise de complexidade Conclusões Referências Códigos gerados em Python Compensação de efeitos não lineares empregando classificação baseada em Árvores de Decisão