Universidade Federal Fluminense
Escola de Engenharia
Curso de Graduacao em Engenharia de
Telecomunicacoes
Thaıs d’Angelis do Couto
Reconhecimento de modulacao por redes neurais
artificiais utilizando dados experimentais
Niteroi – RJ
2019
i
Thaıs d’Angelis do Couto
Reconhecimento de modulacao por redes neurais artificiais utilizando dados
experimentais
Trabalho de Conclusao de Curso apresentado ao
Curso de Graduacao em Engenharia de Teleco-
municacoes da Universidade Federal Fluminense,
como requisito parcial para obtencao do Grau de
Engenheiro de Telecomunicacoes.
Orientador: Prof. Dr. Tadeu Nagashima Ferreira.
Co-orientador: Prof. Dr. Joao Marcos Meirelles da Silva.
Niteroi – RJ
2019
ii
.
.
iii
Thaıs d’Angelis do Couto
Reconhecimento de modulacao por redes neurais artificiais utilizando dados
experimentais
Trabalho de Conclusao de Curso apresentado ao
Curso de Graduacao em Engenharia de Teleco-
municacoes da Universidade Federal Fluminense,
como requisito parcial para obtencao do Grau de
Engenheiro de Telecomunicacoes.
Aprovada em 11 de julho de 2019.
BANCA EXAMINADORA
Prof. Dr. Tadeu Nagashima Ferreira - Orientador
Universidade Federal Fluminense - UFF
Prof. Dr. Joao Marcos Meirelles da Silva - Co-Orientador
Universidade Federal Fluminense - UFF
Prof. Dr. Ricardo Campanha Carrano
Universidade Federal Fluminense - UFF
Prof. Dr. Pedro Vladimir Gonzalez Castellanos
Universidade Federal Fluminense - UFF
Niteroi – RJ
2019
iv
Resumo
No presente estudo se faz uso de uma rede neural artificial conhecida como feed-forward
para analisar a capacidade da mesma de fazer a classificacao correta dos tipos de modula-
cao Binary Phase Shift Keying, Quadrature Phase Shift Keying e 16 Quadrature Amplitude
Modulation. Usaremos sinais medidos como entrada e saıda da rede. Diversos cenarios
foram testados para verificar a sua eficacia, que neste caso e a capacidade de classificar
corretamente a modulacao utilizada, pois temos variados parametros a serem passados
para aplicacao que fara a construcao da rede. Os testes demonstraram que para esta rede,
em especıfico, a melhor classificacao e dois a dois, ou seja, em pares. Na classificacao com
todas as modulacoes obtem-se uma eficacia de 66,7% contra os 100% da classificacao em
pares.
Palavras-chave: Feed-Forward. Modulacao. Redes Neurais Artificiais.
v
Abstract
In the present study, an artificial neural network known as feed-forward is used to analyze
the ability of the network to correctly classify the types of modulation Binary Phase Shift
Keying, Quadrature Phase Shift Keying and 16 Quadrature Amplitude Modulation. We
will use measured signals as inputs and targets of the network. Several scenarios have
been tested to verify their effectiveness, in this case is the capacity of correclty classify
the used modulation, since we have multiple parameters to be passed to the application
that will build the network. The tests have shown that, for this network, specifically, the
best classification is done in pairs. In the classification using all modulations, we have an
efficiency of 66,7% against 100% of the classification in pairs.
Keywords: Feed-Forward. Modulation. Artificial Neural Networks.
vi
Aos meus pais, como agradecimento pelo
apoio e incentivo diarios.
vii
Agradecimentos
Primeiramente agradeco aos meus pais, Angela d’Angelis do Couto e Fabio do
Couto. Pessoas maravilhosas que me ensinaram acima de tudo ser esforcada, humana e
compreensiva. Obrigada pela paciencia, cuidado e por todo amor que me deram ao longo
desses anos. Voces foram o motivo principal dessa conquista.
Em segundo lugar agradeco ao meu companheiro Matheus Lange Nogueira, por
todo incentivo e nunca me deixando desanimar. Obrigada pelas risadas e momentos de
descontracao.
Agradeco ao meu orientador, professor Tadeu Nagashima Ferreira, pela sua dispo-
nibilidade, atencao, paciencia e incentivo que foram fundamentais para conclusao dessa
defesa. As crıticas, discussoes e reflexoes foram fundamentais para a construcao desse
texto.
Lista de Figuras
2.1 Modulacoes utilizadas [1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Modelo nao-linear de um neuronio j da camada k+1 [4]. . . . . . . . . . . . 7
2.3 Rede neural feed-forward com 3 camadas [7]. . . . . . . . . . . . . . . . . . 10
3.1 Planta Baixa do Laboratorio SMT [8]. . . . . . . . . . . . . . . . . . . . . 11
3.2 Bancada de testes (Laboratorio SMT) [8]. . . . . . . . . . . . . . . . . . . 12
3.3 Amplitude e fase do sinal enviado e recebido com modulacao BPSK. . . . . 13
3.4 Graficos dos vetores enviado e recebido com modulacao BPSK. . . . . . . . 13
3.5 Sinal enviado com modulacao BPSK. . . . . . . . . . . . . . . . . . . . . . 14
3.6 Sinal recebido com modulacao BPSK. . . . . . . . . . . . . . . . . . . . . . 14
3.7 Amplitude e fase do sinal enviado e recebido com modulacao QPSK. . . . . 15
3.8 Vetores enviados e recebidos com modulacao QPSK. . . . . . . . . . . . . . 15
3.9 Sinal enviado o com modulacao QPSK. . . . . . . . . . . . . . . . . . . . . 16
3.10 Sinal recebido com modulacao QPSK. . . . . . . . . . . . . . . . . . . . . . 16
3.11 Amplitude e fase do sinal enviado e recebido com modulacao 16QAM. . . . 17
3.12 Vetores enviado e recebido com modulacao 16QAM. . . . . . . . . . . . . . 17
3.13 Sinal enviado com modulacao 16QAM. . . . . . . . . . . . . . . . . . . . . 18
3.14 Sinal recebido com modulacao 16QAM. . . . . . . . . . . . . . . . . . . . . 18
3.15 Matriz de inputs e targets. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.16 Selecao das matrizes entrada e alvo. . . . . . . . . . . . . . . . . . . . . . . 20
3.17 Selecionando as amostras para validacao e testes. . . . . . . . . . . . . . . 21
3.18 Selecao do numero de neuronios escondidos da camada intermediaria. . . . 21
3.19 Arquitetura da rede neural. . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.20 Fase de treinamento da rede neural. . . . . . . . . . . . . . . . . . . . . . . 22
3.21 Matrizes de confusao do processo de treinamento da rede neural dos sinais
com modulacoes BPSK e QPSK. . . . . . . . . . . . . . . . . . . . . . . . 24
viii
ix
3.22 Matriz de confusao da validacao da rede neural com os sinais recebidos com
modulacoes BPSK e QPSK. . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.23 Matrizes de confusao do processo de treinamento da rede neural dos sinais
com modulacoes BPSK e 16QAM. . . . . . . . . . . . . . . . . . . . . . . . 26
3.24 Matriz de confusao da validacao da rede neural com os sinais recebidos com
modulacoes BPSK e 16QAM. . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.25 Selecao das matrizes entrada e alvo. . . . . . . . . . . . . . . . . . . . . . . 27
3.26 Arquitetura da rede neural . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.27 Matrizes de confusao do processo de treinamento da rede neural dos sinais
com modulacoes BPSK, QPSK e 16QAM . . . . . . . . . . . . . . . . . . . 28
3.28 Matriz de confusao da validacao da rede neural com os sinais recebidos com
modulacoes BPSK, QPSK e 16QAM. . . . . . . . . . . . . . . . . . . . . . 29
Capıtulo 1
Introducao
O processo de comunicacao e definido como uma transferencia da informacao atraves do
espaco ou tempo. Podemos dividir esse processo em tres etapas, a insercao da informa-
cao em um sinal com ajuda da modulacao (sinal transmitido), a propagacao desse sinal
modulado atraves do meio (canal de transmissao) e a extracao da informacao do sinal
modulado apos ter percorrido o meio (sinal recebido) [1].
Nas transmissoes por radiofrequencia, o sinal se propaga atraves do meio fısico,
que no caso e o ar. Nessas transmissoes o sinal sofre inumeras perdas, seja por atenuacao
do sinal, desvanecimento por multiplos caminhos, espalhamento ou interferencia de outros
sinais. Para a recepcao a taxa de erro vai depender da qualidade do sinal em relacao ao
ruıdo, que e medida pela relacao sinal-ruıdo (SNR, Signal-to-Noise Ratio) [1].
Portanto, deve-se buscar sistemas que apresentem melhores taxas e maior confia-
bilidade, seja atraves de diferentes esquemas de modulacao, aumento de potencia, analise
de reducao de interferencias atraves de ajuste de canais ou alteracao do local da antena.
As tecnicas de modulacao digital possibilitaram a transmissao de mais dados
usando uma mesma largura de banda comparando com a modulacao analogica, usando
cada vez menos processamento de hardware, contando com o crescimento da tecnologia
disponıvel, incluindo correcao de erros, compressao e encriptacao da informacao.
Dentre essas novas tecnologias esta o desafio de receber e classificar diversas mo-
dulacoes com o mesmo receptor.
O monitoramento e o controle dessas comunicacoes por radiofrequencia e impor-
tante tanto para o domınio civil quanto para o militar. Para as autoridades civis isso
inclui confirmacao de sinais, deteccao de interferencia, gerenciamento de espectro e ter
2
certeza de que as diretrizes sao seguidas. O conhecimento de qual modulacao foi utilizada
pode prover informacoes valiosas e tambem cruciais para demodular o sinal [2].
No domınio militar, o reconhecimento de modulacao pode ser usado para fins de
guerra eletronica, como deteccao, analise e aviso de ameacas.
Entao a possibilidade de se reconhecer automaticamente a modulacao utilizada no
sinal captado simplificaria todo o processo realizado para monitoramento de comunicacoes.
1.1 Problema
O reconhecimento automatico da modulacao digital e um importante problema de pro-
cessamento de sinais relacionado ao campo das comunicacoes e se refere a capacidade de
receber diversos sinais com modulacoes diferentes, reconhecer a modulacao utilizada na
transmissao, demodular corretamente e obter a informacao enviada.
Possui diversas aplicacoes, tais como: vigilancia eletronica, avaliacao de ameacas,
confirmacao de sinais, gerenciamento do espectro eletromagnetico, utilizacao em Radios
Definidos por Software (RDS), entre outros [3].
Dessa forma, este trabalho parte do seguinte problema de pesquisa: utilizando-
se sinais modulados que foram transmitidos por um meio classificar corretamente a sua
modulacao usando redes neurais artificiais.
1.2 Justificativa
O metodo tradicional de reconhecimento de modulacao normalmente requer conhecimento
previo do sinal e parametros do canal de envio, o que pode ser uma forma imprecisa sob
circunstancias de alteracao constante no sinal e e necessario que essa informacao previa
dos parametros do canal seja enviada atraves de um canal de controle.
A necessidade de reconhecimento de modulacao automatica surge em sistemas sem
fio, onde os esquemas de modulacao podem mudar frequentemente, assim como o ambiente
muda. Isso nos levou a considerar novos metodos de reconhecimento de modulacao usando
redes neurais artificiais.
Sem ter no receptor o conhecimento das configuracoes de transmissao do sinal envi-
ado, como a potencia do sinal, a frequencia da portadora, a defasagem, etc., a identificacao
3
cega da modulacao e uma tarefa muito difıcil. E se torna mais difıcil ainda nos cenarios
reais, onde e comum ocorrer o desvanecimento por multipercursos nos canais wireless.
O sistema de reconhecimento de modulacao precisa ser capaz de classificar corre-
tamente a modulacao utilizada do sinal recebido mesmo que ocorra interferencias.
1.3 Objetivos
O objetivo principal deste trabalho e comparar a eficiencia da classificacao usando redes
neurais artificiais de tres modulacoes diferentes, que serao tratados em duas partes:
1. Criar uma rede neural que classifique corretamente as modulacoes que sao utilizadas
nos sinais.
2. Testar diversos cenarios para explorar a melhor performance da rede.
1.4 Organizacao
Este trabalho encontra-se assim organizado:
Capıtulo 2 - Sistema de Comunicacoes Digitais. Neste capıtulo sao abordados os
conceitos fundamentais para a interpretacao do trabalho: Modulacao, Analise do
Sinal, Redes Neurais Artificiais e Rede Feed-Forward.
Capıtulo 3 - Os Experimentos. Neste capıtulo serao demonstrados os estudos feitos
nos sinais utilizados no trabalho e a geracao da rede neural que sera utilizada.
Capıtulo 4 - Conclusao. Neste capıtulo abordaremos as conclusoes com base nos ex-
perimentos.
Capıtulo 2
Sistema de Comunicacoes Digitais
Neste capıtulo apresentaremos os conceitos basicos envolvidos na construcao deste traba-
lho. Sao esses os fundamentos da modulacao, os tipos de modulacao que foram utilizados,
fundamentos de redes neurais artificiais e a rede feed-forward.
2.1 Modulacao
Modulacao e o processo de modificacao de amplitude, frequencia, comprimento ou fase de
uma onda portadora a fim de modificar a frequencia do sinal ou dados a serem transmi-
tidos, o que produz um sinal apropriado para a transmissao atraves do meio.
A escolha da tecnica de modulacao e uma decisao fundamental de acordo com
o projeto para a transmissao de sinais que levam em consideracao a necessidade que
pode ser por maior facilidade de irradiacao, reducao de ruıdos e interferencia, mudanca de
frequencia de transmissao, multiplexacao ou para superar as limitacoes dos equipamentos.
Quando a necessidade e adaptar as limitacoes dos equipamentos, a modulacao
translada o sinal para um espectro de frequencia onde as limitacoes sao mınimas.
Em modulacoes digitais, os bits que carregam informacao serao codificados por
meio de sımbolos, que unidos formam uma constelacao. Cada metodo de modulacao gera
uma constelacao distinta, onde esta ira alterar as caracterısticas da onda, a portadora, que
sera propagada pelo meio. Sendo assim, cada sımbolo tera uma forma de onda diferente e
ao receber estas ondas o receptor fara um processo de deteccao para identificar os sımbolos
transmitidos [1].
Neste trabalho utilizaremos as modulacoes BPSK (Binary Phase Shift Keying),
5
QPSK (Quadrature Phase Shift Keying) e 16QAM (Quadrature Amplitude Modulation),
suas constelacoes podem ser vistas na Figura 2.1.
Em uma constelacao que possui M sımbolos, cada sımbolo pode representar k bits,
sendo assim a equacao:
M = 2k (2.1)
Portanto, em uma modulacao BPSK, sao usados dois sımbolos com fases separadas
por 180o e cada sımbolo e representado por 1 bit.
Figura 2.1: Modulacoes utilizadas [1].
A modulacao QPSK e semelhante a BPSK, porem neste caso, sao utilizados pa-
rametros de fase e quadratura da portadora para modular o sinal de informacao. Essa
modulacao usa 4 pontos na constelacao igualmente espacados no formato de um cırculo.
Com isso o QPSK pode codificar 2 bits por sımbolo.
A modulacao 16QAM e caracterizada pela superposicao de duas portadoras em
quadratura, os sımbolos sao mapeados em um diagrama de espaco de sinais, onde cada
sımbolo representa a sua amplitude, logo tem distancias diferentes da origem do diagrama.
Nesse caso, a constelacao apresenta 16 sımbolos, sendo 4 em cada quadrante do diagrama,
usando 2.1 chegamos a conclusao que cada sımbolo representa 4 bits.
No ponto onde o sinal e recebido no sistema sao utilizadas tecnicas de demodulacao
para recuperar o sinal enviado [4]. No entanto, quando multiplas tecnicas de modulacao
sao utilizadas, a complexidade do receptor aumenta e sao necessarios diferentes subsis-
temas para recuperar os sinais modulados diferentemente. Normalmente esse sistema e
utilizado em sistemas de altas taxas de dados, como redes moveis [5].
Com o intuito de diminuir a complexidade desta recepcao e necessario um sistema
6
que tem a capacidade de realizar o reconhecimento da modulacao utilizada e de acordo
com a mesma direcionar para o sistema de demodulacao compatıvel.
2.2 A Rede Neural
O estudo de redes neurais artificiais (RNA) tem sido motivado desde o comeco pelo reco-
nhecimento de que o cerebro humano processa informacoes de forma totalmente diferente
do computador digital comum.
Uma caracterıstica do cerebro humano que e essencial para o funcionamento dos
neuronios artificiais e a plasticidade, que permite que o sistema se adapte ao seu meio
ambiente.
A rede neural pode ser vista como uma maquina adaptativa que se assemelha ao
cerebro em dois pontos:
1. O conhecimento e adquirido pela rede a partir de seu ambiente atraves de um pro-
cesso de aprendizagem.
2. Forcas de conexao entre neuronio, conhecidas como pesos sinapticos, sao utilizadas
para armazenar o conhecimento adquirido.
Algoritmo de aprendizado e nome que se da ao procedimento que e usado para realizar o
processo de aprendizagem, que e a modificacao dos pesos sinapticos de forma que alcance
um objetivo de dado projeto [4].
A grande vantagem das RNAs se da a sua habilidade de aprender e apos a fase
aprendizado obter a capacidade de generalizar, que consiste ao fato da rede neural conse-
guir produzir saıdas adequadas para entradas que nao foram inseridas durante o perıodo
de treinamento.
Sao suas principais caracterısticas[4]:
1. Nao-linearidade As funcoes de ativacao dos neuronios artificiais podem ser lineares
ou nao-lineares, essa propriedade e muito importante, pois caso tenhamos geracao
de sinais nao-lineares na entrada temos a possibilidade de tambem utilizar neuronios
artificiais nao-lineares para resolucao do problema.
2. Mapeamento de entrada-saıda Cada execucao consiste em um sinal de entrada
unico e uma resposta desejada correspondente, onde e apresentado a rede neural
7
um exemplo escolhido arbitrariamente do conjunto e os pesos sinapticos da rede sao
alterados para que a diferenca entre a resposta desejada e a resposta real da rede
seja mınima.
3. Adaptabilidade Uma RNA que foi treinada para ser usada em um ambiente espe-
cifico pode facilmente ser retreinada para trabalhar com pequenas modificacoes do
ambiente. Alem de poder ser programada para auto-adaptar seus pesos sinapticos.
4. Tolerancia a falhas Essa propriedade ocorre devido ao alto grau de interconexao
entre os neuronios, onde cada neuronio de uma camada tem ligacao direta com
todos os neuronios da camada anterior, isso permite que a rede trafegue e trate
os dados mesmo que uma parte de sua estrutura tenha sido comprometida com a
perda de um ou mais neuronios. De forma que a perda de alguns neuronios locais
nao afeta o funcionamento geral da rede, onde essa perda e caracterizada pela perda
de componentes em hardware, ou no caso da rede em software e a falha no calculo
dos pesos dos neuronios.
2.2.1 Modelo do Neuronio
Os elementos basicos de um neuronio podem ser vistos na Figura 2.2. Nela podemos
observar a transformacao dos estımulos em uma informacao, atraves do recebimento dos
sinais de entrada. Tambem observamos o recebimento da respectiva ponderacao pelos
pesos sinapticos seguido pela adicao ocorrida dentro do elemento principal (bias) e por
fim da restricao na amplitude de saıda de acordo com a funcao de ativacao do mesmo.
Figura 2.2: Modelo nao-linear de um neuronio j da camada k+1 [4].
8
Esse modelo basico de um neuronio utilizado no projeto de RNA consiste de:
1. Um conjunto de sinapses, cada uma com um peso especifico. Exemplificando, um
sinal xj na entrada da sinapse j conectada ao neuronio k e multiplicado pelo peso
sinaptico wkj. Os pesos sinapticos podem assumir valores tanto positivos quanto
negativos.
2. Um combinador linear que soma os sinais de entrada, considerando a sinapse res-
pectiva do neuronio.
3. Uma funcao de ativacao que limita a faixa de amplitude permitida no sinal de saıda
a algum valor finito. Sendo usualmente restrita ao intervalo fechado [1,0] ou [-1,1]
O modelo neural da Figura 2.2 tem tambem uma polarizacao externa (bias), que
e denotada por bk. A polarizacao faz o argumento da funcao de ativacao aumentar ou
diminuir, caso o bias seja positivo ou negativo, respectivamente.
Usando termos matematicos, um neuronio k pode ser descrito pelas equacoes:
uk =m∑j=1
wkjxj (2.2)
yk = φ(uk + bk) (2.3)
onde:
x1,x2,...,xm sao os sinais de entrada;
wk1.wk2,...,wkm sao os pesos sinapticos do neuronio k ;
uk e a saıda do combinador linear devido aos sinais de entrada;
bk e a polarizacao ou bias ;
φ(.) e a funcao de ativacao e
yk e o sinal de saıda do neuronio.
2.2.2 Representacao do Conhecimento
Em um ambiente computacional, utilizamos regras e logicas de alguma linguagem especı-
fica na qual utilizaremos a representacao do conhecimento para resolucao de problemas.
O conhecimento deve ser armazenado permitindo sua disseminacao de forma organizada
9
e objetiva, para que isso aconteca a informacao deve estar descrita de forma simples e
coesa.
Observamos entao a importancia de como a informacao e codificada para que pos-
samos fazer uso da mesma posteriormente. Cada representacao e sempre direcionada de
forma a atingir um objetivo.
O conhecimento do ambiente no qual a rede opera pode ser obtido por meio de
informacao previa, que sao os estados conhecidos do meio, como clima, distancia, classes
utilizadas, entre outros. E tambem atraves de sensores que analisam o ambiente no qual
a rede ira operar, estando sujeito a ruıdos dos sensores e imperfeicoes do sistema [4].
Essas sao as duas formas de se gerar amostras a serem usadas para treinar o sistema,
por informacao previa ou analise de ambiente. Estas amostras podem ser rotuladas ou
nao rotuladas. A amostra e definida como rotulada quando tem uma saıda associada
previamente a uma entrada, onde na saıda e feita a verificacao da correspondencia com
aquela informacao.
Por exemplo, quando supostamente temos a classificacao de flores a ser feita por
uma rede neural artificial e as entradas sao dados que deverao ser classificados como lırios
ou rosas, entao inserimos previamente em cada amostra de treinamento a qual classe os
dados pertencem. Por outro lado, quando as amostras nao sao rotuladas a separacao e
feita por classes em semelhanca e passamos entao para a rede quantas classes teremos na
saıda.
Neste estudo sera utilizada uma rede neural artificial feed-forward com duas cama-
das e algoritmo de treinamento backpropagation.
2.2.3 Rede Feed-Forward
A rede neural Multi-Layer Feed-Forward (MLF) e uma importante classe de redes neurais.
Ela consiste em neuronios artificiais que sao organizados em camadas.
As camadas sao compostas por uma camada de entrada, onde cada neuronio ar-
tificial representa as variaveis de entrada da rede, uma ou mais camadas escondidas e a
ultima camada de saıda, onde cada neuronio equivale a uma possıvel resposta da rede
como mostra a figura 2.3.
Cada neuronio artificial de uma camada e conectado com todos os neuronios da
anterior a ela. Nas camadas ocultas ocorre todo processamento de dados e as funcoes de
10
ativacao, geralmente para a rede MLF e utilizada a funcao sigmoide, que e muito utlizada
por ter seus valores entre 0 e 1.
Para o treinamento e utilizado o algoritmo backpropagation e o processo de adap-
tacao supervisionada varia os coeficientes de peso e limite, para minimizar a diferenca
entre o que foi computado e os valores requeridos de saıda [4].
Figura 2.3: Rede neural feed-forward com 3 camadas [7].
Para realizar a configuracao da rede neural MLF sao usados dois conjuntos de
dados, um para treinamento e outro para teste. O treinamento e iniciado com valores
aleatorios de pesos e comecam as iteracoes, cada iteracao completa e chamada de epoca,
que ajusta os pesos com o intuito de diminuir os erros.
O modo de aprendizado backpropagation, que e o mais utilizado para o treina-
mento de redes MLP, se baseia em aprendizado supervisionado e utiliza um mecanismo
de correcao de erros da camada de saıda ate as camadas internas para ajustar os pesos
dessas camadas. Pode funcionar atualizando os pesos apos a apresentacao de cada padrao
de treinamento ou apos a apresentacao de todos os exemplos de treinamento, ou seja,
de toda a epoca. Neste trabalho, utilizaremos a apresentacao por padroes. A diferenca
entre esses dois modos e que a apresentacao por padroes dificulta a rede de ficar presa em
algum mınimo local e a atualizacao em toda epoca tem uma estimativa melhor do vetor
gradiente.
Na fase de testes os dados passam por toda a rede e a rede processa uma amostra
por vez, produzindo uma saıda com base na amostra que foi processada. O erro que e ge-
rado com base na saıda real versus saıda esperada e estima a qualidade de previsao da rede
treinada. Com isso, esperamos que a rede possa generalizar bem quando apresentarmos
outro conjunto de dados [7].
Capıtulo 3
Os Experimentos
Os sinais modulados que serao utilizados neste trabalho foram gerados a partir do sistema
GnuRadio em um estudo realizado por Mendonca [8] no Laboratorio de Sinais, Multimıdia
e Telecomunicacoes (SMT) localizado na Universidade Federal do Rio de Janeiro (UFRJ).
O ambiente no qual o estudo foi feito encontra-se na figura 3.1 e a bancada de testes esta
destacada em vermelho.
Figura 3.1: Planta Baixa do Laboratorio SMT [8].
A distancia de 1,70m entre os radios foi escolhida de forma que o sistema ope-
rasse na regiao de campo distante, onde temos apenas ondas se propagando, levando em
consideracao que a distancia de Fraunhofer calculada pela equacao 3.1 e df = 25, 39cm,
12
utilizando-se o comprimento da antena (D) de 20cm e o comprimento de onda (λ) de
31cm.
df =2D2
λ(3.1)
Figura 3.2: Bancada de testes (Laboratorio SMT) [8].
Os parametros de Transmissao foram:
• Frequencia de Transmissao: f = 950MHz
• Taxa de Amostragem: fs = 500kHz
• Tamanho da Janela da FFT: N = 64
3.1 Analise dos sinais
Foram entao analisados os dados que resultaram do experimento na Figura 3.2 para rea-
lizar a identificacao visual dos sımbolos utilizando o MatLab.
3.1.1 Sinal com modulacao BPSK
As figuras 3.3 e 3.4 apresentam os sinais enviados e recebidos no experimento pelo equi-
pamento com modulacao BPSK. Utilizamos 200 amostras para a confeccao dos graficos
de amplitude e fase e todo o sinal no scatterplot.
13
Figura 3.3: Amplitude e fase do sinal enviado e recebido com modulacao BPSK.
Figura 3.4: Graficos dos vetores enviado e recebido com modulacao BPSK.
Na Figura 3.4 vemos que o sinal representado em amplitude com modulacao BPSK,
que sao duas fases separadas por 180o e apesar desse sinal ter sido recebido com defa-
sagem de 70 amostras e algum ruıdo ainda e possıvel identificar os sımbolos presentes
na modulacao. Ja nas figuras 3.5 e 3.6 conseguimos identificar claramente a modulacao
utilizada, apesar dos ruıdos.
14
Figura 3.5: Sinal enviado com modulacao BPSK.
Figura 3.6: Sinal recebido com modulacao BPSK.
15
3.1.2 Sinal com modulacao QPSK
Utilizamos 1000 amostras para a confeccao dos graficos nas figuras 3.7 e 3.8 que apre-
sentam os sinais enviados e recebidos no experimento pelo equipamento com modulacao
QPSK e todo o sinal para os graficos de amplitude e fase no scatterplot do sinal recebido
e enviado.
Porem, no grafico de vetores foram utilizadas apenas 200 amostras para possibili-
tar melhor visualizacao do vetor do sinal QPSK enviado e recebido, como podemos ver
na figura 3.8. Vemos tambem nesta figura que o sinal sinal recebido esta defasado de
aproximadamente 70 amostras do sinal enviado, mantendo a amplitude e formato dos
sımbolos.
Figura 3.7: Amplitude e fase do sinal enviado e recebido com modulacao QPSK.
Figura 3.8: Vetores enviados e recebidos com modulacao QPSK.
Nas figuras 3.9 e 3.10 podemos ver que o sinal enviado possui as caracterısticas da
16
modulacao QPSK, que sao os 4 pontos na constelacao igualmente separados no formato
de um cırculo e o que o recebido apesar de apresentar formato semelhante sofreu uma
grande interferencia na fase.
Figura 3.9: Sinal enviado o com modulacao QPSK.
Figura 3.10: Sinal recebido com modulacao QPSK.
17
3.1.3 Sinal com modulacao 16QAM
Para a confeccao dos graficos de fase e amplitude do sinal com modulacao 16QAM tambem
foram utilizadas 1000 amostras, esse numero de amostras foi selecionado de forma que
temos uma boa visualizacao grafica dos sinais.
Para as figuras 3.12 e 3.11 foi feito o grafico com 200 amostras para melhor visu-
alizacao, assim podemos ver que o sinal recebido esta defasado de aproximadamente 65
amostras do sinal enviado, mantendo a amplitude e formato dos sımbolos.
Figura 3.11: Amplitude e fase do sinal enviado e recebido com modulacao 16QAM.
Figura 3.12: Vetores enviado e recebido com modulacao 16QAM.
Nas figuras 3.13 e 3.14 vemos que apesar da interferencia da transmissao o sinal
18
manteve a forma da modulacao 16QAM que sao 16 pontos na constelacao, sendo 4 em
cada quadrante.
Figura 3.13: Sinal enviado com modulacao 16QAM.
Figura 3.14: Sinal recebido com modulacao 16QAM.
19
3.2 Rede Neural Artificial
No programa MatLab temos uma ferramenta especıfica para criacao de redes neurais
artificiais chamada NNTool, dentro dela temos a ferramenta com interface grafica NPRTool
(Neural Net Pattern Recognition tool) , que e usada na criacao de redes neurais para
reconhecimento de padroes e iremos usa-la nesta parte do experimento.
Antes de elaborar a Rede Neural Artificial e necessario preparar os dados da amos-
tra. Primeiramente foi aplicada a funcao real, que considera apenas os valores reais, aos
sinais recebidos, pois os mesmos estavam com os dados em numeros complexos que nao
sao aceitos pela ferramenta utilizada. Criamos, entao, uma matriz de entrada (inputs)
com os sinais que serao utilizados no treinamento e uma matriz de saıda com os resultados
que sao esperados, denominada matriz-alvo (target) para todos os sinais transmitidos e
enviados.
A criacao da matriz de entrada para cada modulacao foi feita dividindo os sinais
em 17 amostras de 2000 pontos, o valor foi decidido com base no numero total de pontos
no sinal e a criacao da matriz-alvo foi feita atribuindo um valor unico binario a cada
modulacao utilizada, como pode ser observado na figura [?], foram testados tambem com
35 amostras e 1000 pontos e com 50 amostras com 500 pontos, porem o melhor resultado
foi obtido no experimento com mais pontos para serem analisados por amostra.
20
Figura 3.15: Matriz de inputs e targets.
O estudo do desempenho da rede neural artificial sera feito em duas partes, na
primeira serao treinadas as redes com as modulacoes par a par e na segunda com todas
as modulacoes juntas.
3.2.1 Analise em pares
Para esse primeiro teste faremos a juncao das amostras de teste dos sinais BPSK e QPSK
e temos entao uma matriz entrada de 54 amostras com 2000 pontos cada.
Na interface grafica da ferramenta utilizada definimos os dados de entrada e alvo
as matrizes criadas anteriormente. Por padrao a mesma utiliza uma rede do tipo feed-
forward, com algoritmo de treinamento backpropagation.
Figura 3.16: Selecao das matrizes entrada e alvo.
21
O proximo passo foi definir a quantidade de amostras que sera utilizada de forma
aleatoria em cada fase da rede, sendo assim, serao utilizados 70% das amostras para
treinamento, 15% para validacao e 15% para teste, valores que foram escolhidos por virem
como padrao. As amostras de validacao servem para testar a eficiencia da rede de modo
a determinas quando a mesma vai parar o treinamento. Dentro da ferramenta temos
liberdade para escolher outras porcentagens limitadas pela validacao e testes maximos de
35%. Alterando tanto as amostras de validacao quando a de testes altera-se diretamente
a quantidade que sera utilizada para treinamento.
Figura 3.17: Selecionando as amostras para validacao e testes.
Para criacao da rede neural utilizamos os sinais transmitidos com 20 neuronios
escondidos, que sao os neuronios que compoe a camada de processamento da rede. O valor
foi escolhido por ser o que teve a melhor perfomance entre os analisados de 2, 3, 5, 10 e 20
neuronios escondidos. Caso se use uma quantidade muito grande de neuronios escondidos
pode ocorrer overfitting, que e quando sua rede esta tao treinada para um determinado
caso que nao consegue generalizar e fazer predicoes para as novas informacoes inseridas.
Figura 3.18: Selecao do numero de neuronios escondidos da camada intermediaria.
Seguimos os passos anteriores e a arquitetura da rede esta demonstrada na figura
3.26, que e uma rede feed-forward onde temos uma camada escondida com 20 neuronios
escondidos e uma camada de saıda que tem o mesmo numero de neuronios que as possıveis
saıdas.
22
Figura 3.19: Arquitetura da rede neural.
Apos a configuracao dos parametros para criacao da rede, passamos para a fase de
treinamento. Nesta etapa, utilizaremos cada parametro determinado nos campos anterio-
res, como inputs e targets, quantidade de amostras para cada fase e numero de neuronios
escondidos. Para isso apertamos o botao para treinar a rede e geramos entao a janela com
as informacoes do treinamento como aparece na figura 3.20.
Figura 3.20: Fase de treinamento da rede neural.
O treinamento e finalizado automaticamente quando atingimos uma das seguintes
23
condicoes: e atingido o numero maximo de epocas, quando temos 6 validacoes em sequen-
cia com o mesmo resultado ou quando alcanca o menor erro quadratico medio (MSE -
Mean Squared Error) utilizado tambem como medida de desempenho. Podemos treinar
inumeras vezes tendo resultados diferentes, pois as condicoes iniciais e as amostras sao
alteradas em cada treinamento.
Na figuras 3.21 esta a matriz de confusao, que e uma ferramenta muito utilizada
para modelos de classificacao em redes neurais. Essa matriz foi gerada para a rede com
20 neuronios, onde os alvos 1, 2 sao as modulacoes BPSK, QPSK, respectivamente.
Nesta matriz, a diagonal que tem celulas verdes nos mostram a porcentagem de
casos com classificacao correta das amostras para cada alvo. As celulas fora da diagonal,
vermelhas, nos informam quantas amostras foram classificadas incorretamente em cada
alvo. Na ultima celula da diagonal, azul, tem o valor em porcentagem do total que
foi classificado corretamente e nas celulas cinzas aparece no texto em vermelho o que foi
classificado incorretamente para aquele alvo e em verde o que foi classificado corretamente.
O somatorio das celulas verdes com as vermelhas sao sempre 100%.
Um resultado satisfatorio na matriz de confusao e quando as porcentagens das
celulas verdes sao maiores que as das celulas vermelhas, elevando assim a porcentagem que
e gerada para a letra em verde na celula azul. Podemos observar, tambem, a quantidade
real de amostras que foram classificadas corretamente para cada alvo.
Para cada passo do processo de treinamento da rede neural artificial e gerada uma
matriz de confusao levando em consideracao a porcentagem de amostras que foi utilizada.
No caso, temos separadamente as matrizes confusao do treinamento, validacao, teste e a
geral.
24
Figura 3.21: Matrizes de confusao do processo de treinamento da rede neural dos sinais
com modulacoes BPSK e QPSK.
Para o treinamento da rede a ferramenta separa 24 amostras, das quais 12 para
a modulacao BPSK e 12 para a modulacao QPSK, com 100% das amostras classificadas
corretamente.
Na fase de validacao foram selecionadas 5 amostras, 2 com modulacao BPSK e 3
com a modulacao QPSK, tambem, com 100% das amostras classificadas corretamente.
E no teste da rede foram selecionadas 5 amostras, 3 com modulacao BPSK e 2 com
modulacao QPSK. No geral, a rede obteve um aproveitamento de 100%.
Apos a configuracao da rede neural utilizamos os sinais recebidos para validar o
desempenho da rede neural com dados nao fornecidos no treinamento.
25
Figura 3.22: Matriz de confusao da validacao da rede neural com os sinais recebidos com
modulacoes BPSK e QPSK.
Com a matriz de confusao da figura 3.22 conseguimos ver que com 34 amostras a
rede classificou corretamente 100% delas, sendo 17 amostras com modulacao BPSK e 17
com modulacao QPSK.
Seguimos, entao, com o segundo teste que ira analisar o reconhecimento com os
sinais BPSK e 16QAM. Os mesmos parametros do teste anterior foram utilizados, 20
neuronios, 70% das amostras para treinamento, 15% para validacao e 15% para teste,
apenas alterando o sinal de entrada e o alvo.
Na figura 3.23 esta apresentada a matriz de confusao do treinamento desta rede,
onde os alvos 1 e 2 sao as modulacoes BPSK e 16QAM, respectivamente.
Para o treinamento da rede foram separadas 24 amostras, das quais 14 com mo-
dulacao BPSK e 10 com 16QAM, onde 100% das amostras classificadas corretamente.
Na etapa de validacao foram selecionadas 5 amostras, 2 com modulacao BPSK e
3 com modulacao 16QAM, tambem com 100% das amostras classificadas corretamente.
E na fase de teste da rede a ferramenta separou 5 amostras, 1 com modulacao BPSK
e 4 com modulacao 16QAM, onde todas as amotras foram classificadas corretamente.
No geral a rede apresentou um otimo resultado, ja que 100% das amostras tiveram a
classificacao correta pela ferramenta.
26
Figura 3.23: Matrizes de confusao do processo de treinamento da rede neural dos sinais
com modulacoes BPSK e 16QAM.
Apos o treinamento completo da rede utilizamos os sinais recebidos para validar o
desempenho da rede neural com dados nao fornecidos no treinamento. Conforme a matriz
de confusao da figura 3.23, podemos ver que as 34 amostras, 17 de sinais com modulacao
BPSK e 17 sinais com modulacao 16QAM foram reconhecidas corretamente.
Figura 3.24: Matriz de confusao da validacao da rede neural com os sinais recebidos com
modulacoes BPSK e 16QAM.
27
3.2.2 Analise do conjunto
Apos realizarmos os testes com as redes sendo treinadas em pares, faremos o treinamento
da rede neural para todos os sinais propostos nos trabalhos, que sao BPSK, QPSK e
16QAM. Utilizamos para esse treinamento 105 amostras, sendo 35 sinais com modulacao
BPSK, 35 sinais com modulacao QPSK e 35 sinais com modulacao 16QAM, cada amostra
com 1000 pontos.
Figura 3.25: Selecao das matrizes entrada e alvo.
Foram utilizadas as mesmas porcentagens de amostras dos experimentos anteriores
sendo, 70% das amostras para treinamento, 15% para validacao e 15% para teste. Uti-
lizamos tambem 20 neuronios escondidos para esse experimento. Ficamos assim com a
arquitetura da rede demonstrada na figura 3.26.
Figura 3.26: Arquitetura da rede neural
Na figura 3.27 estao as matrizes de confusao de treinamento, validacao, testes e
total. Onde os alvos 1, 2 e 3 sao as modulacoes BPSK, QPSK e 16QAM, respectivamente.
28
Figura 3.27: Matrizes de confusao do processo de treinamento da rede neural dos sinais
com modulacoes BPSK, QPSK e 16QAM
Para o treinamento da rede foram separadas 35 amostras, das quais 11 com mo-
dulacao BPSK, 11 com modulacao QPSK e 13 com modulacao 16QAM, onde 43 das
amostras classificadas corretamente.
Na etapa de validacao foram selecionadas 8 amostras, 2 com modulacao BPSK,
3 com modulacao QPSK e 3 com modulacao 16QAM, tambem com 100% das amostras
classificadas corretamente.
E na fase de teste da rede a ferramenta separou 8 amostras, 4 com modulacao
BPSK, 3 com modulacao QPSK e 1 com modulacao 16QAM, onde nenhuma amostra
com modulacao QPSK foi reconhecida corretamente, foram classificadas como 16QAM.
Entao, 62,5% das amostras tiveram a classificacao correta pela ferramenta.
29
Figura 3.28: Matriz de confusao da validacao da rede neural com os sinais recebidos com
modulacoes BPSK, QPSK e 16QAM.
Com isso, podemos ver que das 17 amostras de cada modulacao, nenhuma amostra
modulada com QPSK foi classificada corretamente pela ferramenta, todas foram atribuı-
das a classe de modulacao 16QAM. As outras 35 amostras, 17 com modulacao BPSK
e 17 com modulacao 16QAM foram classificadas corretamente. Entao, com esse resul-
tado, vemos que quando utilizamos a parte real do sinal modulado com BPSK, QPSK e
16QAM para a construcao de uma rede neural falta informacoes para classificar correta-
mente o sinal QPSK e tivemos tambem o desempenho prejudicado pelo numero de baixo
de amostras com 2000 pontos para o treinamento.
Capıtulo 4
Conclusao
Primeiramente foram estudados os sinais propostos para criacao da rede neural neste
trabalho, Binary Phase Shift Keying, Quadrature Phase Shift Keying e 16 Quadrature
Amplitude Modulation, com isso conseguimos identificar que haviam algumas alteracoes
nos sinais causados pelo meio de transmissao nos sinais recebidos.
Utilizamos os sinais experimentais para a criacao da rede neural que sera testada
com a parte real do sinal recebido, pois a ferramenta nprtool do MatLab nao aceita sinais
complexos.
Apos estes experimentos podemos perceber que a rede neural Feed-Forward teve
bom resultados quando criamos a rede e a treinamos com apenas 2 elementos, no caso, Bi-
nary Phase Shift Keying x Quadrature Phase Shift Keying e Binary Phase Shift Keying x
16 Quadrature Amplitude Modulation, reconhecendo todos os sinais corretamente quando
utilizados os sinais que enviados para treinamento e os sinais recebidos para testar a
funcionalidade da rede.
Ja no caso do treinamento comQuadrature Phase Shift Keying x 16 Quadrature
Amplitude Modulation nao tivemos um resultado satisfatorio, pois a rede nao obtem in-
formacoes suficientes dos dados passados para treinamento. E novamente o erro se repete
quando utilizamos todas as modulacoes propostas para o treinamento, pois classifica a
modulacao Binary Phase Shift Keying como 16 Quadrature Amplitude Modulation o que
inviabiliza o uso da rede.
Como foram testadas quantidades diferentes de dados de entrada para a rede essa
nao e a causa do nao-funcionamento, a causa e a falta de pontos de analise por se tratar
apenas da parte real dos sinais recebidos, sem considerar a parte imaginaria.
31
4.1 Sugestoes para trabalhos futuros
Com base no presente trabalho, identificamos possibilidades para trabalhos futuros.
Como o programa MatLab nos fornece diversas ferramentas para criacao de redes
neurais e a que utilizamos nesse trabalho foi uma ferramenta padrao que nao aceita nu-
meros complexos como entrada. Sugerimos, entao, a utilizacao de diferentes redes para
realizar essa analise e tambem a busca de uma rede no MatLab que aceite como entrada
numeros complexos.
Outra opcao e utilizar como entrada modulacoes diferentes das ja trabalhadas neste
trabalho, comparando os resultados obtidos.
Alem da possibilidade de tambem nao restringir a criacao da rede ao MatLab
e utilizar outros programas para criar a rede neural artificial, como programando em
Python, por exemplo.
32
Referencias Bibliograficas
[1] MADHOW, U. Introduction to Communication Systems New York, NY, USA: Cam-
bridge University Press, 2014.
[2] GUEN, D. L., MANSOUR, A. Automatic Recognition Algorithm for Digitally Modu-
lated Signals, IASTED International Conference, 2002. p. 32-37
[3] HOREWICZ, M. C., NASCIMENTO JUNIOR, C. L, PERRELLA, W. J. Reconhe-
cimento automatico de modulacao digital de sinais de comunicacoes, 2007.
[4] HAYKIN, S. Redes neurais: princıpios e pratica. 2.ed., Porto Alegre: Bookman,
2001.
[5] ROY, R. K., SAIKIA, B., SARMA, K. Modulation Recognition using Artificial Neu-
ral Network(ANN), 2011.
[6] FISCHLER, M. A., FIRSCHEIN, O. Intelligence: The Eye, The Brain, and The
Computer USA, 1987
[7] SVOZIL, D., KVASNICKA, V., POSPICHAL, J. Introduction to multi-layer feed-
forward neural networks, Chemometrics and Inteligent Laboratory Systems 39 , 1997,
p. 42-62
[8] MENDONCA, M. O. K. Sistema OFDM em USRP via GNURADIO, UFF, 2016. p.
21-26.
[9] The MathWorks Inc. Neural Network Toolbox 7: Users Guide, 2010.
[10] LOPES, Y., ACOSTA, D. L., SOUZA, F. E., SILVA, J. M. M. Reconhecimento
Automatico de Modulacao Digital e Demodulacao de sinais baseado em Redes Neurais
Artificiais, 2018.