• Nenhum resultado encontrado

Algoritmo e circuito digital para estimação cega de frequência e banda em faixas com múltiplos sinais

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmo e circuito digital para estimação cega de frequência e banda em faixas com múltiplos sinais"

Copied!
94
0
0

Texto

(1)

Faculdade de Engenharia Elétrica e de Computação

José Arnaldo Bianco Filho

Algoritmo e Circuito Digital para Estimação

Cega de Frequência e Banda em Faixas com

Múltiplos Sinais

Campinas

2016

(2)

UNIVERSIDADE ESTADUAL DE CAMPINAS

Faculdade de Engenharia Elétrica e de Computação

Algoritmo e Circuito Digital para Estimação Cega de

Frequência e Banda em Faixas com Múltiplos Sinais

Dissertação apresentada à Faculdade de En-genharia Elétrica e de Computação da Uni-versidade Estadual de Campinas como parte dos requisitos exigidos para a obtenção do título de Mestre em Engenharia Elétrica, na Área de Telecomunicações e Telemática.

Orientador: Prof. Dr. Luís Geraldo P. Meloni Co-orientador Dr. Eduardo Rodrigues de Lima

Este exemplar corresponde à versão final da tese defendida pelo aluno José Arnaldo Bianco Filho, e orien-tada pelo Prof. Dr. Luís Geraldo P. Meloni

Campinas

2016

(3)

Ficha catalográfica

Universidade Estadual de Campinas Biblioteca da Área de Engenharia e Arquitetura

Luciana Pietrosanto Milla - CRB 8/8129

Bianco Filho, José Arnaldo,

B47a BiaAlgoritmo e circuito digital para estimação cega de frequência e banda em faixas com múltiplos sinais / José Arnaldo Bianco Filho. – Campinas, SP : [s.n.], 2016.

BiaOrientador: Luís Geraldo Pedroso Meloni. BiaCoorientador: Eduardo Rodrigues de Lima.

BiaDissertação (mestrado) – Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação.

Bia1. Algorítmos. 2. Controle digital. 3. Rádio. I. Meloni, Luís Geraldo

Pedroso,1958-. II. Lima, Eduardo Rodrigues de. III. Universidade Estadual de Campinas. Faculdade de Engenharia Elétrica e de Computação. IV. Título.

Informações para Biblioteca Digital

Título em outro idioma: Algorithm and digital circuit for blind frequency and band estimation in spans with multiple signals

Palavras-chave em inglês: Algorithms

Digital control Radio

Área de concentração: Telecomunicações e Telemática Titulação: Mestre em Engenharia Elétrica

Banca examinadora:

Luís Geraldo Pedroso Meloni [Orientador] Marcelo Augusto Costa Fernandes Paulo Cardieri

Data de defesa: 17-06-2016

Programa de Pós-Graduação: Engenharia Elétrica

(4)

Candidato: José Arnaldo Bianco Filho RA: 019222 Data da Defesa: 17 de Junho de 2016

Título da Tese: Algoritmo e Circuito Digital para Estimação Cega de Frequência e Banda em Faixas com Múltiplos Sinais

Prof. Dr. Luís Geraldo Pedroso Meloni (Presidente, FEEC/UNICAMP) Prof. Dr. Marcelo Augusto Costa Fernandes (UFRN)

Prof. Dr. Paulo Cardieri (FEEC/UNICAMP)

A ata de defesa, com as respectivas assinaturas dos membros da Comissão Julgadora, encontra-se no processo de vida acadêmica do aluno.

(5)
(6)

Agradeço a Deus e ao Espírito Santo. A meus pais, José Arnaldo Bianco e Emília Bernardino Bianco; minha esposa, Kate Juliene Matsumoto Pedri Valença Bianco; e meus filhos, Vinícius Valença Bianco e Pedro Valença Bianco, por terem me apoiado em todos os momentos, mesmo nos momentos em que estive ausente me dedicando a este trabalho. Agradeço também a todas as pessoas que direta, ou indiretamente, contribuíram para que este trabalho se tornasse realidade, principalmente: a todos meus colegas de trabalho do Instituto de Pesquisas Eldorado pela excelente revisão da minha apresenta-ção para defesa deste trabalho; ao meu colega de trabalho Gabriel Santos Silva, pelas incontáveis vezes em que rapidamente soube me tirar dúvidas e pelas ótimas discussões técnicas; ao meu colega de trabalho Cesar G. Chaves por todo o carinho e capricho dedi-cado ao artigo que submetemos juntos; à professora Alice M. Tokarnia por ter me guiado e instruído durante o início do processo de meu mestrado; ao Instituto de pesquisas EL-DORADO por ter me acolhido como funcionário e permitido que parte do meu trabalho se tornasse minha tese de mestrado; aos amigos Karlo G. Lenzi e Ariadne A. Cruz pelos valiosos conselhos e imenso estímulo; às meninas da CPG da Faculdade de Engenharia Elétrica da UNICAMP (em especial à Camila Escaldeira) por me auxiliar com grande atenção durante a submissão deste trabalho.

Porém, especialmente, agradeço: ao Prof. Dr. Luís G. P. Meloni, por ter me aco-lhido como seu aluno de mestrado, me orientado e me prestado imensa solidariedade em momento de grande necessidade; e ao senhor Dr. Eduardo Rodrigues de Lima por ter me convidado para seu time de pesquisa no Instituto ELDORADO, me instruído no mundo do processamento digital de sinais, me co-orientado e estimulado a fazer este mestrado em assunto correlato a meu trabalho neste mesmo centro e, finalmente, por ter se tornado um grande amigo durante todo este processo. Sem que vocês dois tivessem me estendido as mãos este trabalho jamais teria se tornado realidade, portanto ele é fruto do caminho que vocês pavimentaram para que eu apenas pudesse percorrer.

(7)

A detecção cega de sinais é uma técnica utilizada em diferentes tipos de sistemas, indo desde rádio cognitivo a aplicações de rádio difusão tais como televisão e rádio. Um co-nhecido método utilizado para isto é a detecção de característica de cicloestacionaridade, método este capaz de estimar a taxa de dados do sinal detectado, entretanto incapaz de apontar sua frequência central, ou lidar com mais de um sinal ao mesmo tempo no espec-tro de frequências. Esta dissertação apresenta um algoritmo que possibilita a utilização do método de detecção de cicloestacionaridade superando ambas suas limitações, além de apresentar a criação de seu modelo e sua implementação em circuito digital dedicado. Tal circuito, desenvolvido para ASIC, foi prototipado em FPGA e caracterizado utilizando-se sinais gerados em laboratório, além de sinais transmitidos por um satélite comercial, comprovando a eficácia do algoritmo e implementação propostos.

(8)

Blind signal search is a technique used in many different types of systems, ranging from cognitive radio to broadcasting applications such as television and radio. A well-known approach used for this, is the Cyclostationary Feature Detection algorithm, which can estimate the baud rate of a detected signal, but is not capable of identifying its position in the spectrum, nor properly analyze spans with more than one signal. This thesis introduces an algorithm that enables Cyclostationary Feature Detection algorithm to overcome those two limitations, and presents the model creation of the proposed algorithm and its digital circuit implementation. Such circuit, designed for ASIC, was prototyped on FPGA and tested using signals generated in laboratory, as well as, with signals transmitted from a commercial satellite, proving its effectiveness.

(9)

Figura 1 – Diagrama simplificado das etapas necessárias para a geração de uma lista de canais em um sistema DVB-S2. . . 16 Figura 2 – Diagrama ilustrativo do problema do nó oculto, que obriga um

dispo-sitivo, que monitora e compartilha o espectro, a ter uma capacidade de detecção de sinais robusta a fim de impedir danos à comunicação de usuários primários. . . 20 Figura 3 – Diagrama de cálculos realizados no algoritmo proposto. . . 22 Figura 4 – Resultado do cálculo de cicloestacionaridade realizado com e sem a

subtração da média do resultado da autocorrelação para sinal 8-PSK de 17 MHz de banda representado com 16 bits de excursão e ponto fixo no bit 0. . . 23 Figura 5 – Pico de cicloestacionaridade com marcações de como as variáveis

pro-postas são utilizadas. . . 24 Figura 6 – Sinal 8-PSK com 14,999 MHz de banda; resultado processado pelo

al-goritmo; ampliação do resultado. . . 25 Figura 7 – Sinal 8-PSK com 15,003 MHz de banda; resultado processado pelo

al-goritmo; ampliação do resultado. . . 25 Figura 8 – Sinais 8-PSK com 10 MHz e 15 MHz de banda; resultado processado

pelo algoritmo; ampliação do resultado em 15 MHz. . . 26 Figura 9 – Sinais idênticos 8-PSK com 5 MHz de banda; resultado processado pelo

algoritmo; ampliação do resultado em 13 MHz. . . 27 Figura 10 – Sinal 8-PSK com 10 MHz de banda posicionado em -13 MHz e

proces-sado pelo Algoritmo de Detecção de Cicloestacionaridade. . . 27 Figura 11 – Sinal 8-PSK com 10 MHz de banda posicionado em 4 MHz e processado

pelo Algoritmo de Detecção de Cicloestacionaridade. . . 28 Figura 12 – Processamento de um sinal com largura de banda de 40 MHz,

amos-trado a uma taxa de 62,5 MHz, pelo Algoritmo de Detecção de Ciclo-estacionaridade. . . 29 Figura 13 – Resultado de processamento de sinal 8-PSK com 10 MHz de banda e

roll-off de 0,35 ; sinal 8-PSK com 10 MHz de banda e roll-off de 0,20. 29 Figura 14 – Exemplo visual do algoritmo de definição da posição dos sinais e

fraci-onamento da faixa: situação em que um sinal não é encontrado. . . 30 Figura 15 – Exemplo visual do algoritmo de definição da posição dos sinais e

(10)

onamento da faixa: segundo sinal da faixa encontrado. . . 32 Figura 17 – Diagrama geral de funcionamento do algoritmo proposto. Sendo

“Exe-cute CFD algorithm” o algoritmo apresentado na Figura 3. . . 33 Figura 18 – Diferença obtida com e sem a elevação ao quadrado da magnitude dos

resultados obtidos na saída da FFT do Algoritmo de Detecção de Ci-cloestacionaridade. . . 37 Figura 19 – Sinal de 6.25 MHz, com ruído, processado sem uso de médias, com

média de duas amostras e com média de 4 amostras. . . 37 Figura 20 – Fluxograma de tratamento dos dados recebidos para geração de

con-junto de dados em zoom. . . . 44 Figura 21 – Resultado para variação de magnitude em função da posição da janela

de filtragem, para um sinal com banda de 13 MHz centrado em 54.5 MHz. . . 46 Figura 22 – Diagrama da arquitetura do circuito para pesquisa cega de sinais

im-plementado. . . 49 Figura 23 – Diagrama do filtro FIR implementado. . . 62 Figura 24 – Sinal de 13.1 MHz processado pelo Algoritmo de Detecção de

Ciclo-estacionaridade com o uso de FFT de 1024 pontos (a. e c.) e FFT de 8192 pontos (b. e d.). Em c. e d. os 21 bins ao redor de 13.1 MHz são, respectivamente, apresentados. . . 80 Figura 25 – Sinal de 200 kHz processado pelo Algoritmo de Detecção de

Cicloestaci-onaridade com FFT de tamanho 8192 (a) sem utilização do mecanismo de zoom, (b) com utilização do zoom de duas vezes, (c) com utilização do zoom de 4 vezes. . . . 81 Figura 26 – Montagem criada para caracterizar o circuito criado em função de

va-riações de SNR. . . 83 Figura 27 – Resultados de valores de banda obtidos durante a caracterização do

circuito para diferentes valores de SNR em sinal QPSK, code rate 1/4, com 5 MHz de banda. . . 84 Figura 28 – Estimação de frequência central, obtidos durante a caracterização do

circuito para diferentes valores de SNR em sinal QPSK, code rate 1/4, com 5 MHz de banda. . . 85 Figura 29 – Variação de magnitude em função do alinhamento da janela de

filtra-gem, observado no protótipo, para um sinal de 13 MHz 8-PSK, code

rate 3/4, centrado em 54 MHz. . . . 86 Figura 30 – Trecho do espectro, em torno de 3,99 GHz da banda C, do satélite

(11)

Tabela 1 – Parâmetros em função do zoom utilizado. . . . 43 Tabela 2 – Sinais presentes da faixa do satélite StarOne C3 analisada, bem como

resultados obtidos pelo algoritmo/circuito implementado. . . 88 Tabela 3 – Resultados de área obtidos na implementação na FPGA Stratix IV . . 88

(12)

16-APSK 16-Amplitude and Phase-Shift Keying 32-APSK 32-Amplitude and Phase-Shift Keying 8-PSK 8-Phase-Shift Keying

AD Analógico/Digital

ASIC Application-Specific Integrated Circuit ASK Amplitude-Shift Keying

CFD Cicloestationary Feature Detection

CORDIC COordinate Rotation DIgital Computer DC Direct Current

DVB-S2 Digital Video Broadcasting - Satellite - Second Generation FFT Fast Fourier Transform

FIFO First In, First Out FIR Finite Impulse Response

FPGA Field-Programmable Gate Array HDL Hardware Description Language I2C Inter-Integrated Circuit

IPs Intellectual Properties

LNB Low-Noise Block downconverter ppm Partes Por Milhão

PSK Phase-Shift Keying

QAM Quadrature Amplitude Modulation QPSK Quadrature phase-shift keying RAM Random Access Memory RRC Root Raised Cosine

(13)

SoC System On Chip

SpDC Sensoriamento por Detecção de Cicloestacionaridade SPI Serial Peripheral Interface

(14)

1 Introdução . . . 15

2 Trabalhos Anteriores . . . 17

3 Algoritmos Utilizados . . . 22

3.1 Algoritmo de Detecção de Cicloestacionaridade . . . 22

3.2 Algoritmo para Definição da Posição dos Sinais e fracionamento da faixa . 29 3.3 Variações da Proposta . . . 36

4 Validação do Algoritmo em Simulador . . . 38

5 Implementação em Circuitos . . . 48

5.1 Módulo de Topo: full_scanner . . . 50

5.2 Deslocador de Frequência: freq_shift . . . 57

5.2.1 COordinate Rotation DIgital Computer : CORDIC . . . . 58

5.2.2 Gerador de Fase: phase_gen2 . . . . 60

5.3 Filtro FIR: fir_filter . . . 61

5.4 Memória RAM: RAM . . . 64

5.5 Algoritmo de Detecção de Cicloestacionaridade: sr_search . . . . 65

5.5.1 Cálculo de Autocorrelação: conj_mult . . . 67

5.5.2 Cálculo de FFT: fft . . . . 69

5.5.3 Estimador de Magnitude ao Quadrado/Normal: mag_est/abs_calc 70 5.5.4 Memória de Armazenamento de Média: mem_pass . . . 73

5.5.5 Pesquisador de Picos: peak_search . . . . 75

6 Validação dos Modelos/Algoritmos e Resultados . . . 79

Conclusão . . . 90

(15)

1 Introdução

A detecção cega de taxa de símbolos é uma técnica utilizada para identificar e caracterizar sinais em uma faixa de frequências. Tal técnica é aplicada quando não existem informações prévias sobre a posição ou características dos sinais presentes na faixa a ser analisada, ou quando o transmissor não envia uma tabela contendo a lista de sinais presentes, utilizando um método com características previamente conhecidas (por exemplo através de um beacon). Esta ausência de tabela é, tipicamente, o caso de transmissões de TV e rádio terrestre, ou por satélite.

Tomando como exemplo sinais multimídia transmitidos por satélite seguindo o padrão DVB-S2 (ETSI, 2014b). Embora esta norma estabeleça como os sinais devam ser gerados, há uma grande gama de possibilidades para sua apresentação no espectro, seja 1) em termos de largura de banda indo, tipicamente, de 200 kHz a 45 MHz; 2) modulação (QPSK, 8-PSK, 16-APSK e 32-APSK); 3) posição da portadora no espectro de frequência; 4) ou excesso de largura de banda, determinado pelo roll-off do filtro RRC (do inglês: Root

Raised Cosine), que pode assumir os valores 0,35; 0,25 ou 0,20 para a norma DVB-S2.

Os sinais também podem estar próximos uns aos outros impedindo, por exemplo, que uma simples detecção de energia seja realizada, a fim de determinar a presença de um sinal. Esta proximidade entre os sinais, que pode-se chamar de banda de guarda, não é definida pela norma DVB-S2, impedindo que seja realizada uma determinação simplista da posição do próximo sinal baseado em um anterior. Além do que, a detecção de sinais através da observação da presença de energia no espectro não apresenta bom desempenho e não é capaz de informar a taxa de símbolos do sinal (YUCEK; ARSLAN, 2009). Todos estes impedimentos tornam necessária a adoção de técnicas mais elaboradas para a detecção destes sinais. Entretanto, tais técnicas devem obedecer a um compromisso entre recursos de processamento utilizados exclusivamente para tal tarefa, desempenho de detecção de sinais em recepções ruidosas e tempo de processamento total necessário para varrer a banda de interesse tendo, por exemplo, a banda C 575 MHz, indo de 3,625 GHz à 4,2 GHz. Observe, porém, que tal compromisso também está diretamente relacionado à complexidade dos cálculos realizados pelo algoritmo adotado.

A necessidade de tal compromisso deve-se ao fato de que o detector deve operar embarcado em dispositivos tais como set-up boxes, ou televisores e, portanto, o uso de área exclusivamente para tal tarefa afeta o valor do produto com um recurso pouco utilizado (tipicamente apenas durante a instalação deste). Por outro lado, um grande consumo de tempo durante a etapa de identificação dos canais disponíveis para exibição, ou ainda a incapacidade de detecção de alguns canais, é negativamente percebido pelo usuário

(16)

(tipicamente o tempo para varredura de toda a banda C é em torno de 10 minutos). Neste trabalho de mestrado pretende-se apresentar um circuito capaz de realizar detecção cega de sinais DVB-S2 (ETSI, 2014b) e DVB-S2X (ETSI, 2014a), atendendo aos compromissos necessários entre consumo de área (recursos) e tempo de processamento. Tal circuito deverá ser capaz de apontar a frequência central da banda do sinal e a taxa de símbolos (largura de banda) de cada sinal presente na faixa de interesse. A Figura 1 mostra um diagrama simplificado de como a detecção completa dos canais DVB-S2 é realizada e evidencia o escopo deste trabalho nos blocos destacados. A cada etapa mostrada na figura a lista de canais oriundos da etapa anterior é reavaliada podendo, ou não, haver remoção de canais da lista. Determinação da posição central dos sinais presentes na faixa Recepção do sinal Determinação da largura de banda dos sinais

presentes na faixa Determinação dos parâmetros de mapeamento dos sinais detectados Tentativa de identificação de Tentativa de decodificação de dados do canal Lista final de canais a ser apresentada ao usuário preâmbulo

Figura 1 – Diagrama simplificado das etapas necessárias para a geração de uma lista de canais em um sistema DVB-S2.

Esta dissertação está organizada da seguinte forma. No primeiro Capítulo os tra-balhos científicos utilizados como base da elaboração deste trabalho são apresentados. O Capítulo 2 trata dos algoritmos utilizados neste trabalho, reservando ao Capítulo 3 a forma como estes foram validados em simulação através da ferramenta Octave (EATON

et al., 2009). No Capítulo 4 a descrição da implementação em circuitos dos algoritmos

utilizados e propostos é apresentada, reservando para o Capítulo 5 a apresentação dos resultados obtidos, bem como uma discussão acerca destes. Finalmente, no Capítulo 6, alguns dos possíveis trabalhos a serem realizados no futuro, bem como considerações finais acerca deste trabalho são apresentados.

(17)

2 Trabalhos Anteriores

Este trabalho baseou-se em artigos relacionados à detecção cega de sinais, sendo que alguns destes abordam uma série de diferentes métodos, apresentando-os e contrastando-os, enquanto outros focam em um único método, otimizando e contrastando seus resulta-dos com outros artigos. Neste capítulo alguns destes trabalhos são abordaresulta-dos, utilizando-se uma sequência adequada à compreensão da razão da escolha pelo algoritmo utilizado.

Em Yücek et. al (YUCEK; ARSLAN, 2009) alguns métodos para detecção de sinais, tipicamente utilizados em aplicações de rádio cognitivo são apresentados. Os cinco mais relevantes no contexto deste trabalho são apresentados à seguir.

O primeiro método apresentado baseia-se apenas na detecção da energia de um determinado sinal no espectro e é conhecido como sensoriamento baseado em energia, ou radiometria, ou ainda periodograma. Em tal método o sinal é encontrado quando, ao passar por um circuito de detecção de energia, a energia reportada excede um limiar pré estabelecido. Fica claro que sua capacidade de detecção está diretamente ligada ao limiar utilizado, sendo o circuito incapaz de apontar a diferença entre uma interferência e um sinal de fato, além de apresentar dificuldades de detecção de sinais gerados por espalhamento espectral (spread spectrum), ou sinais presentes em um ambiente ruidoso (TANG, 2005). Entretanto, os autores chamam a atenção ao fato de que tal método é o mais comumente utilizado devido a sua baixa complexidade computacional. Observe, porém, que tal método é particularmente útil em situações em que a detecção da ausência de energia em uma região do espectro de frequência é mais relevante que a detecção de um sinal em si, como é o caso da procura de lacunas no espectro para transmissão de sinais.

O segundo método apresentado, conhecido como sensoriamento baseado em forma de onda, requer conhecimento prévio sobre o sinal a ser detectado, desta forma o circuito se vale de trechos conhecidos do sinal, tal como preâmbulos, midâmbulos, ou pilotos, para realizar um cálculo de correlação destes trechos com o sinal recebido (SAHAI et al., 2006). Os autores chamam a atenção, apontando Cabric et. al. (CABRIC et al., 2006), ao fato de que tal método é capaz de convergir mais rapidamente do que o método de detecção por energia. Por outro lado a complexidade computacional do método é diretamente proporcional ao tamanho do trecho conhecido do sinal a ser correlacionado com os sinais recebidos.

O terceiro método apresentado, conhecido como Sensoriamento por Detecção de Cicloestacionaridade (SpDC), baseia-se na detecção de características periódicas de um dado sinal e, portanto, é capaz de diferenciar ruídos de sinais, uma vez que o ruído

(18)

não apresenta correlação e um sinal modulado com modulação linear sim. Isto se deve ao fato de que o envelope em modulações do tipo ASK, PSK e QAM, por exemplo, mantém-se constante ao longo do período de um simbolo (TANG; YU, 2005). Além disto, tal método pode ser utilizado para se distinguir entre diferentes tipos de transmissão ou usuários, caso informações previas sejam fornecidas, tais como largura de banda de cada sinal transmitido. Por outro lado, este método apresenta severa degradação em seu desempenho na presença de desvanecimento do sinal, embora ainda assim se mantendo superior à detecção baseada em energia (TANDRA; SAHAI, 2007).

O quarto método apresentado, conhecido como sensoriamento baseado em identi-ficação de rádio, se vale de vários métodos de detecção e identiidenti-ficação do sinal recebido, contrastando tais resultados obtidos com dados previamente conhecidos, com o intuito de se determinar qual a tecnologia mais provável em uso pelo sinal encontrado. Como exemplo em Vardoulias et. al. (VARDOULIAS et al., 2001) e Mehta et. al. (MEHTA et

al., 2001) características obtidas pelo método de detecção de energia são utilizadas para

classificação dos sinais, já em Palicot et. al. (PALICOT; ROLAND, 2003) a banda e a forma dos sinais são utilizados em sua classificação.

O quinto método apresentado é o de Filtro Casado, tido como um método ótimo e rápido para a detecção de usuários primários quando o sinal transmitido é conhecido. Neste método o sinal é demodulado a fim de se conhecer características como: formato de frame, banda de operação e frequência, dentre outras. Por outro lado, segundo Cabric et. al. (CABRIC et al., 2004), a implementação para todos os tipos de sinais é impraticavelmente grande, além do alto consumo de energia que o método requer devido aos vários algoritmos que devem operar ao mesmo tempo (YUCEK; ARSLAN, 2009).

Desta forma observa-se que, dos métodos apresentados por Yücek et. al, apenas o sensoriamento baseado em energia e o SpDC podem ser considerados completamente cegos e, portanto, pertinentes a este trabalho. Note, porém, que por detecção cega de sinais deve-se entender a detecção na ausência de informações tais como frequência central do sinal, largura de banda, ou ainda, tipo de modulação do sinal, informações estas fundamentais para o uso do método de Filtro Casado. Além disso, o método de sensoriamento baseado em identificação de rádio, não pode ser considerado um método de detecção por si só, uma vez que se vale de outros para ser utilizado.

Em Tandra et. al. (TANDRA; SAHAI, 2007) os autores avaliam métodos de detec-ção de sinais em condições de degradadetec-ção de sinal naturais no meio ambiente, concluindo que todos os métodos por eles analisados apresentam uma barreira de SNR (relação si-nal/ruído, do inglês: Signal to Noise Ratio) além da qual o sinal não pode ser detectado, não importando o tempo de observação deste. Particularmente em relação aos métodos de Detecção por Energia e SpDC, os autores observam que embora o método de Detecção por Energia seja capaz de convergir mais rapidamente do que o SpDC para SNRs altas,

(19)

este apresenta uma barreira fixa de SNR mais elevada do que a do SpDC, o que leva a conclusão, como já observado em Yücek et. al (YUCEK; ARSLAN, 2009) que o SpDC é mais robusto que o método de detecção de energia embora, para tanto, exija uma maior complexidade de processamento.

Uma vez que este trabalho tem como objetivo a detecção cega de sinais de forma robusta e sem informações prévias, optou-se por focar no algoritmo SpDC, ainda que tal decisão implique em maior carga de processamento. Observe, porém, que diferentes tipos de SpDC apresentam tanto desempenho, quanto carga de processamento, distintos. Os trabalhos à seguir foram analisados já sob a ótica da observação e estudo de algoritmos de processamento de sinais para SpDC.

Em Wegener (WEGENER, 1992) uma série de algoritmos clássicos para estimativa de taxa de símbolos (em inglês: Baud Rate) são apresentados, de acordo com a quantidade de informações previamente conhecidas sobre os sinais a serem detectados. Neste contexto, o autor apresenta três técnicas similares para detecção de cicloestacionaridade, todas formadas por três etapas com diferenças apenas na primeira, sendo as duas últimas etapas um cálculo de FFT e, posteriormente, a detecção de picos de magnitude nos bins da FFT. A primeira etapa sempre se dá diretamente sobre o sinal a ser processado e pode ser: 1) cálculo de autocorrelação, 2) cálculo de atraso e multiplicação e 3) detecção de bordas.

Embora tais técnicas possuam cálculos diferentes em seu primeiro estágio, o efeito prático em todas elas é o de provocar um pico de magnitude na posição da FFT corres-pondente à largura de banda do sinal processado. Isto se deve ao fato de que os cálculos evidenciarão a quantidade de energia em cada largura de banda presente na faixa a ser processada e a maior quantidade de energia estará onde houver cicloestacionariedade, ou seja, na largura de banda do sinal presente na faixa processada. Note, portanto, que tal comportamento se manterá ainda que a relação sinal/ruído seja baixa, uma vez que, como observado anteriormente, o ruído não é capaz de produzir cicloestacionariedade.

Em Güner et. al. (GÜNER; KAYA, 2014) os autores investigam a relação entre autocorrelação e cicloestacionariedade em sinais digitais com modulação linear, sendo que tal autocorrelação corresponde à taxa de símbolos do sinal recebido. O algoritmo proposto é, então, sumarizado em cinco itens:

1. O sinal a ser processado deve ser amostrado em frequência maior do que o valor de sua própria banda, como já determinado pela relação de Nyquist.

2. A obtenção da autocorrelação do sinal de entrada é dependente do intervalo de amostragem e deslocamento temporal.

3. Realiza-se a transformada de Fourier sobre os valores de autocorrelação do sinal de entrada.

(20)

4. O primeiro pico da transformada de Fourier da autocorrelação acima de um limiar estipulado é coletado.

5. A taxa de símbolos é estimada de acordo com a taxa de amostragem utilizada.

Os autores citam o fato de que o princípio de detecção de cicloestacionaridade pode ser explorado através de métodos distintos, por exemplo com o uso de transformada de wavelet, transformada inversa de Fourier, ou correlação cíclica (CC), optando por contras-tar o método proposto por eles, com o método baseado em correlação cíclica com pesos apresentado por Mazet et. al. (MAZET; LOUBATON, 1999), método este superior ao método tradicional baseado em correlação cíclica apresentado por Gardner (GARDNER, 1988). Na comparação, Güner et. al. demonstram que o método proposto por eles possui melhor desempenho, mesmo com baixa relação sinal/ruído, além de implicar em menor carga computacional, embora envolvendo mais passos para se chegar à solução, quando comparado ao algoritmo apresentado por Mazet et. al. (MAZET; LOUBATON, 1999).

Observe, porém, que vários dos métodos aqui apresentados são voltados para apli-cações de rádio cognitivo. Neste contexto, um dispositivo pode estar monitorando o espec-tro a fim de encontrar uma lacuna para transmitir um determinado sinal. Desta forma, caso opte-se pela utilização de SpDC, uma detecção robusta é essencial, uma vez que a transmissão secundária, oriunda do dispositivo que monitora o espectro, não pode in-fluenciar na recepção de sinais primários do espectro. Suponha o exemplo em que dois transmissores primários (Tx0 e Tx1) ocupam um determinado canal alternadamente e um receptor (Rx0) captura os dados primários deste canal. Um quarto dispositivo (CR0), interessado em usar o canal nos intervalos ociosos deste deve, portanto, ser capaz de de-tectar as transmissões de ambos os transmissores (Tx0 e Tx1), ainda que seja incapaz de interpretar o sinal transmitido, de forma a não prejudicar a recepção pelo usuário pri-mário. A Figura 2 mostra um diagrama em que a disposição dos dispositivos resulta em uma recepção com alta taxa de ruído para CR0 dos sinais de Tx1, embora Rx0 possua plenas condições de recepção. Nesta situação, se CR0 for incapaz de detectar o sinal de Tx1 e iniciar sua transmissão no mesmo canal, poderá inviabilizar a recepção de Rx0, prejudicando, portanto, os usuários primários do canal. Tal questão é conhecida como “problema do nó oculto” (em inglês: hidden node problem).

Por outro lado, em um sistema em que apenas a detecção e decodificação de sinais é utilizada, uma capacidade de detecção superior à capacidade de decodificação é irrelevante. Isto porque, por exemplo, no caso de um receptor de TV digital, após a detecção de um sinal, o sistema tentará extrair dados válidos deste sinal e caso não consiga tal sinal será descartado. Desta forma, nota-se que em tais sistemas o detector ideal seria o que possui, pelo menos, a mesma sensibilidade do demodulador do sistema, porém com o adequado compromisso entre consumo de recursos e tempo requerido para

(21)

Tx0 Tx1 Rx0 CR0 -4dB -5dB -15dB -5dB

Figura 2 – Diagrama ilustrativo do problema do nó oculto, que obriga um dispositivo, que monitora e compartilha o espectro, a ter uma capacidade de detecção de sinais robusta a fim de impedir danos à comunicação de usuários primários.

detecção dos sinais.

Observa-se, porém, que o método de SpDC pode apresentar degradação de desem-penho quando o sinal a ser detectado tiver sido produzido com baixo fator de roll-off, como mostrado em (MAZET; LOUBATON, 1999) e (GÜNER; KAYA, 2014), e a norma DVB-S2, prevê possíveis roll-offs em: 0,35; 0,25 e 0,20 (ETSI, 2014b); enquanto a norma DVB-S2X prevê roll-offs em: 0,15; 0,10 e 0,05 (ETSI, 2014a); o que pode implicar na necessidade de uso de métodos de detecção de cicloestacionaridade mais avançados, como o apresentado por Güner et. al. (GÜNER; KAYA, 2014).

Entretanto, nenhum dos trabalhos analisados mostra-se capaz de apontar a posição do sinal na faixa de frequência. Além disso, não mencionam a possibilidade de mais de um sinal na mesma faixa de frequência a ser processada, o que é provável, uma vez que a busca cega é realizada para sinais em uma ampla gama de larguras de banda, por exemplo entre 45 MHz e 200 KHz, como no caso do DVB-S2.

(22)

3 Algoritmos Utilizados

3.1

Algoritmo de Detecção de Cicloestacionaridade

Dentre os algoritmos de SpDC analisados, optou-se por um composto por um cálculo de autocorrelação ponto-a-ponto, seguido por uma transformada de Fourier (FFT), um cálculo de magnitude dos valores complexos obtidos e finalmente uma pesquisa por picos no resultado final, basicamente como descrito em Wegener (WEGENER, 1992). Tal escolha baseou-se na simplicidade de implementação de tal algoritmo em hardware digital, visando economia de área de circuitos além de reduzida quantidade de etapas de cálculo. A Figura 3 apresenta um diagrama desta sequência de cálculos.

Auto correlação

ponto a ponto

FFT MagnitudeCálculo de Detecção de Picos

sj = xj+yji ρj = xj2+yj2 Ρj = FFT(ρJ) Mj = |Ρj| RESULT

Figura 3 – Diagrama de cálculos realizados no algoritmo proposto.

A última etapa deste algoritmo é iterativa e será melhor abordada a frente. Porém ao final destas etapas de cálculo o valor da banda do sinal é encontrado.

Tal capacidade de extração do valor de banda de sinais digitais com modulação linear se deve à propriedade inerente a estes sinais, em que o envelope destes se mantém constante durante o período de um simbolo. Desta forma ao se aplicar a operação de auto correlação seguida por um cálculo de FFT o resultado será uma análise espectral de potência do sinal, sendo que a maior quantidade de energia presente neste sinal estará na posição da FFT que corresponde à sua largura de banda, uma vez que nesta posição o sinal é cicloestacionario.

A autocorrelação, por se tratar de uma multiplicação de um valor por seu próprio valor conjugado, resulta na soma do quadrado da parte real, com o quadrado da parte imaginária de cada amostra, como apresentado em (3.1)

𝜌 = (𝑥 + 𝑦𝑖) · (𝑥 + 𝑦𝑖) = (𝑥 + 𝑦𝑖) · (𝑥 − 𝑦𝑖) = 𝑥2+ 𝑦2. (3.1)

Verifica-se que, por se tratar de uma soma de quadrados, tal cálculo resultará sempre em valores positivos, o que fará com que a média do sinal seja sempre maior do

(23)

que zero e, portanto, provocará o surgimento de um pico no bin zero após o cálculo da FFT. Este pico não influencia no resultado obtido quando a FFT é operada em ponto flutuante, como é o caso da função FFT presente na ferramenta Octave (EATON et al., 2009); porém, pode produzir erros significativos caso operado em ponto fixo, como tipicamente ocorre em implementações em circuitos digitais, objetivo deste trabalho. Portanto, eliminar tal pico, ou ao menos minimiza-lo, pode resultar em sensível melhora na precisão do resultado do cálculo da FFT quando implementada em circuito digital. A eliminação de tal pico pode ser realizada subtraindo-se o valor médio dos dados a serem inseridos na FFT deles próprios.

Observe que o primeiro bin da FFT corresponde à componente DC (da sigla em inglês: Direct Current) do sinal a ser processado, ou seja, o valor fixo no qual o sinal no tempo oscila ao redor, portanto, a subtração proposta corresponde à eliminação de tal componente DC. Evidentemente a componente DC não é relevante para o Algoritmo de Detecção de Cicloestacionaridade, uma vez que, como será apresentado à seguir, cada bin resultante do cálculo de FFT corresponde a uma determinada largura de banda do sinal sendo analisado, o qual não poderia ter 0 Hz de largura de banda. A Figura 4 mostra a diferença observada com e sem, o uso de tal subtração.

Magnitude (x 10^11) Banda (MHz) 7 6 5 4 3 2 1 0 30 25 20 15 10 5 0 Sem subtracao da media.

Magnitude (x 10^11) Banda (MHz) 60 50 40 30 20 10 0 30 25 20 15 10 5 0

Com subtracao da media.

a. b.

Figura 4 – Resultado do cálculo de cicloestacionaridade realizado com e sem a subtração da média do resultado da autocorrelação para sinal 8-PSK de 17 MHz de banda representado com 16 bits de excursão e ponto fixo no bit 0.

Os cálculos realizados para a criação da Figura 4 foram feitos com um sinal 8-PSK de 17 MHz de banda, amostrados com 16 bits de resolução, sendo 1 de sinal e 15 de dados. Caso fosse necessária a representação com precisão total de tais resultados em um circuito digital, 40 bits seriam necessários para a situação com a subtração, enquanto 43 bits seriam necessários para a situação sem a subtração.

No final do algoritmo, uma pesquisa de picos de magnitude determina os bins da FFT com maior energia dentro de sua redondeza. A largura de banda correspondente a cada bin (bandFreq) é determinada em (3.2), em que 𝑛𝑏𝑖𝑛 é a posição do dado na saída da FFT (número do bin), 𝑁FFT o tamanho da FFT utilizada e 𝐹𝑠 a frequência utilizada

(24)

na amostragem do sinal de entrada

bandFreq = nbin ·

𝐹𝑠

𝑁FFT

. (3.2)

Note, portanto, que a precisão na banda de frequência que está sendo pesquisada está diretamente relacionada à frequência de amostragem do sinal de entrada (𝐹𝑠) e ao tamanho da FFT utilizada (𝑁FFT). Entretanto, como será apresentado à frente, o algo-ritmo em questão requer uma frequência de amostragem (𝐹𝑠) de, pelo menos, o dobro da banda máxima a ser detectada. Esta relação determina, portanto, que para se encontrar um sinal com largura de banda de 64 MHz uma frequência de amostragem de, pelo menos, 128 MHz deverá ser utilizada. Além disso, se uma FFT de 128 pontos for utilizada neste exemplo, a granularidade dos bins será de 1 MHz. Note que, caso um sinal com largura de banda entre um bin e outro seja processado ambos os bins ao redor do valor correspon-dente a este sinal dividirão a magnitude produzida por ele, excluindo-se uma atenuação que a magnitude sofrerá. Portanto, além da perda de precisão, uma baixa granularidade pode ocultar um possível pico do algoritmo de pesquisa de picos.

A determinação do pico é dada em função de dois fatores. O primeiro, chamado de multDiff , é um fator multiplicativo da média dos sinais ao redor do pico que satisfaz a equação magPeak ≥ multDiff · magMean sendo magPeak a magnitude do pico de cicloes-tacionaridade e magMean a média de magnitude ao redor do pico. A grandeza magMean pode ser calculada com quantidades variáveis de amostras ao redor do pico em questão resultando da simples soma destes e divisão pela quantidade de amostras utilizadas. O segundo fator utilizado na determinação do pico é o minMag, sendo este um valor mí-nimo tolerado para o pico em questão, tal que magPeak ≥ minMag. A Figura 5 mostra marcações das variáveis utilizadas ao redor de um possível pico.

Algoritmo Base ( VIII )

Parâmetros para se determinar a presença de um pico de

cicloestacionaridade:

• magPeak: a magnitude de um bin candidato a pico;

• magMean: a média de magnitude dos bins ao redor do bin candidato; • multDiff: fator multiplicativo;

• minMag: magnitude mínima

tolerada para um pico;

magPeak magMean minMag multDiffxmagMean 21 Banda (MHz) /90

Figura 5 – Pico de cicloestacionaridade com marcações de como as variáveis propostas são utilizadas.

(25)

Uma vez satisfeito ambos os critérios o pico é definido. A Figura 6 mostra um sinal 8-PSK com 14,999 MHz de banda, amostrado no tempo a uma frequência de 62,5 MHz, produzido de acordo com a norma DVB-S2 (ETSI, 2014b); a Figura 6c mostra uma ampliação, em torno de 14,999 MHz, no gráfico de magnitude obtido com o processamento de tal sinal. Entretanto, note que a largura de banda 14,999 MHz coincide exatamente com o bin 1966, de acordo com (3.2) (considerando o primeiro bin como zero).

Dado Processado Magnitude Banda (MHz) 15 10 5 0 30 25 20 15 10 5 0 Dado Original Magnitude Faixa (MHz) 70 60 50 14.96 14.98 15 15.02 40 30 20 10 0 30 20 10 0 -10 -20 -30 0 5 10 15 Banda (MHz) Magnitude

Dado Processado (Ampliacao)

a. b. c.

Figura 6 – Sinal 8-PSK com 14,999 MHz de banda; resultado processado pelo algoritmo; ampliação do resultado.

Caso o algoritmo processe um sinal correspondente a um valor entre um bin e outro, por exemplo um sinal com as mesmas características do anterior, porém de lar-gura de banda 15,003 MHz, suposto bin de número 1966,5, o pico de magnitude seria espalhado entre os bins ao redor, afetando inclusive os bins além dos imediatamente ao lado da largura exata do sinal, devido à fuga espectral. A Figura 7 mostra o resultado de processamento do sinal do exemplo sugerido. Desta forma, além da proposição ante-rior para detecção de um pico, faz-se necessária as seguintes adições à definição do pico, 1) o cálculo de média da redondeza do pico deve desconsiderar os bins imediatamente a seu redor, 2) caso dois bins consecutivos satisfaçam magPeak ≥ multDiff /2 · magMean e

magPeak ≥ minMag, o pico será determinado na posição intermediária de ambos os bins.

Dado Processado Magnitude Banda (MHz) 15 10 5 0 30 25 20 15 10 5 0 Dado Original Magnitude Faixa (MHz) 70 60 50 14.96 14.98 15 15.02 40 30 20 10 0 30 20 10 0 -10 -20 -30 0 5 10 15 Banda (MHz) Magnitude

Dado Processado (Ampliacao)

a. b. c.

Figura 7 – Sinal 8-PSK com 15,003 MHz de banda; resultado processado pelo algoritmo; ampliação do resultado.

Observe também que, nas figuras 6 e 7, embora esteja-se tratando do processa-mento de um único sinal com banda em torno de 15 MHz, o resultado demonstra a

(26)

existência de energia também em outros bins, sobretudo nos bins entre 0 e o valor da própria banda do sinal. Este comportamento deve-se à cicloestacionariedade presente nas sub-bandas do sinal processado, o que poderia mascarar outro sinal presente na mesma faixa de frequência, ou ainda, levar o algoritmo de detecção de picos a acusar falsos picos. Desta forma, pode-se dizer que o algoritmo em questão não é capaz de processar adequa-damente uma faixa com mais de um sinal presente. A Figura 8 mostra o comportamento observado quando dois sinais 8-PSK, um com 15 MHz de banda centrado na frequência 10 MHz e outro com 10 MHz de banda centrado em -13 MHz são processados ao mesmo tempo pelo algoritmo.

Dado Processado Magnitude Banda (MHz) 20 15 10 5 0 35 30 25 20 15 10 14.96 14.98 15 15.02 15.04 5 0 Dado Original Magnitude Faixa (MHz) 80 60 40 20 0 40 20 0 -20 -40 0 5 10 15 20 Banda (MHz) Magnitude

Dado Processado (Ampliacao)

a. b. c.

Figura 8 – Sinais 8-PSK com 10 MHz e 15 MHz de banda; resultado processado pelo algoritmo; ampliação do resultado em 15 MHz.

Embora os picos esperados estejam presentes, sua detecção não é trivial como nos casos em que apenas um sinal estava presente, uma vez que a relação entre o pico e sua redondeza encontra-se sensivelmente degradada. Além disso, assim como anteriormente, não é possível apontar a posição central de nenhum dos sinais presentes na faixa de frequência analisada. Por outro lado, é possível notar que os sinais não interferem um no outro produzindo resultados inesperados, uma vez que os picos mais relevantes são apenas os que correspondem ao valor real de banda dos sinais. Tal interferência só é observada quando ambos os sinais são idênticos, tanto em termos de largura de banda, quanto em termos dos dados presentes nos mesmos, ou seja com 100% de correlação entre ambos. Neste caso quatro picos serão produzidos, sendo eles: 1) um pico na banda correspondente à distancia entre os sinais, 2) um pico na banda correspondente ao valor de banda dos sinais e 3) e 4) dois picos ao redor do primeiro pico, distando mais e menos o valor da própria banda do sinal. A Figura 9 mostra o caso em que dois sinais de largura 5 MHz são processados ao mesmo tempo, um centrado em 0 Hz e outro centrado em -13 MHz.

O pico em 13 MHz representa a distância entre os sinais, o pico em 5 MHz repre-senta a largura de banda dos sinais e dois picos menores em 8 MHz e 18 MHz distam de 5 MHz do pico em 13 MHz. Embora a ocorrência de dois sinais idênticos leve a resultados difíceis de serem interpretados por um algoritmo de detecção de picos simples, não se faz necessário criar mecanismos para tratar tal caso dado a aplicação alvo deste trabalho, uma

(27)

Dado Processado Magnitude Banda (MHz) 140 120 100 80 60 40 12.9412.9612.98 13 13.0213.04 20 0 35 30 25 20 15 10 5 0 Dado Original Magnitude Faixa (MHz) 100 80 60 40 20 0 40 20 0 -20 -40 0 20 40 60 80 100 120 140 Banda (MHz) Magnitude

Dado Processado (Ampliacao)

a. b. c.

Figura 9 – Sinais idênticos 8-PSK com 5 MHz de banda; resultado processado pelo algo-ritmo; ampliação do resultado em 13 MHz.

vez que a ocorrência de dois sinais idênticos (mesmas: banda, tipo de modulação, taxa de código e conteúdo), e próximos, não é esperada em condições normais de operação de um sistema de transmissão por satélite, como observado, por exemplo, através do portal BSD (BSD, 2015).

Como anteriormente observado o algoritmo em questão também não é capaz da apontar a posição de um determinado sinal no espectro. A Figura 10 mostra o resultado de processamento de um sinal com 10 MHz de banda centrado na posição de -13 MHz, en-quanto a Figura 11 mostra o resultado de processamento do mesmo sinal, porém centrado em 4 MHz. Dado Processado Magnitude Banda (MHz) 14 12 10 8 6 9.96 9.98 10 10.02 4 2 0 35 30 25 20 15 10 5 0 Dado Original Magnitude Faixa (MHz) 80 60 40 20 0 40 20 0 -20 -40 0 2 4 6 8 10 12 14 Banda (MHz) Magnitude

Dado Processado (Ampliacao)

a. b. c.

Figura 10 – Sinal 8-PSK com 10 MHz de banda posicionado em -13 MHz e processado pelo Algoritmo de Detecção de Cicloestacionaridade.

Ambos os sinais são idênticos sob todos os aspectos, exceto sua posição na faixa, e as figuras 10 e 11 também apresentam resultados idênticos, deixando claro que para o Algoritmo de Detecção de Cicloestacionaridade a posição de um dado sinal dentro da faixa de frequência a ser analisada, além de irrelevante, não produz qualquer efeito no resultado final do mesmo, oferecendo picos de energia sempre na posição correspondente à largura de banda do sinal processado. Tal conclusão pode ser obtida matematicamente apenas analisando a primeira etapa do algoritmo, que trata da autocorrelação do sinal de entrada, porém neste caso separando 𝑠𝑗, da Figura 3, em duas componentes, uma de sinal

(28)

Dado Processado Magnitude Banda (MHz) 14 12 10 8 6 9.96 9.98 10 10.02 4 2 0 35 30 25 20 15 10 5 0 Dado Original Magnitude Faixa (MHz) 80 60 40 20 0 40 20 0 -20 -40 0 2 4 6 8 10 12 14 Banda (MHz) Magnitude

Dado Processado (Ampliacao)

a. b. c.

Figura 11 – Sinal 8-PSK com 10 MHz de banda posicionado em 4 MHz e processado pelo Algoritmo de Detecção de Cicloestacionaridade.

e uma de portadora. Tomando 𝑎𝑖, i = 0, 1, ..., N-1 como sendo o conjunto de amostras ao longo do tempo de um determinado sinal e 𝑐𝑖, i = 0, 1, ..., N-1 como sendo o conjunto de amostras ao longo do tempo de uma portadora utilizada para deslocar tal sinal, o resultado da autocorrelação do sinal deslocado será dado por:

𝜌 = 𝑁 −1 ∑︁ 𝑗=0 𝑎𝑗𝑐𝑗𝑎𝑗𝑐𝑗 = 𝑁 −1 ∑︁ 𝑗=0 𝑎𝑗𝑎𝑗𝑐𝑗𝑐𝑗 = 𝑁 −1 ∑︁ 𝑗=0 𝑎𝑗𝑎𝑗 · 𝑁 −1 ∑︁ 𝑗=0 𝑐𝑗𝑐𝑗 = 𝑁 −1 ∑︁ 𝑗=0 𝑎𝑗𝑎𝑗. (3.3)

Note que o termo ∑︀𝑁 −1

𝑗=0 𝑐𝑗𝑐𝑗 é unitário, pois a autocorrelação de uma senoide (portadora do sinal) é igual a um, ou seja, a portadora responsável por deslocar um determinado sinal é sempre eliminada durante a etapa de cálculo de autocorrelação, pro-vocando o efeito visto nas figuras 10 e 11, ou seja, tornando a posição do sinal no espectro de frequência indiferente para o resultado final da autocorrelação.

Outra limitação presente no algoritmo é o fato deste ser incapaz de processar sinais com bandas maiores que 𝐹𝑠/2. Isto se deve ao fato de que o início e o fim da saída da FFT apresentam valores, aproximadamente, espelhados e, portanto, quando uma frequência maior que 𝐹𝑠/2 é processada o espelhamento passa a criar sobreposições nos picos, como mostrado na Figura 12, em que um sinal de 40 MHz amostrado com 𝐹𝑠 de 62,5 MHz é processado pelo Algoritmo de Detecção de Cicloestacionaridade.

A magnitude dos picos de cicloestacionaridade nem sempre é significativa após o processamento de um dado sinal. Alguns fatores, tais como a presença de ruído, desva-necimento do sinal, perdas por filtragem, roll-off utilizados na geração do sinal, dentre outros, podem resultar na redução da magnitude do pico de energia correspondente à largura do sinal, inclusive eliminando-o em casos de severa degradação. Note que todos as análises previamente exibidas resultam de sinais gerados em modelo e sem qualquer adição de fatores que poderiam degradar estes, tais como os previamente mencionados.

Em Güner et. al. (GÜNER; KAYA, 2014), os autores observam a questão do roll-off empregado na geração do sinal. A Figura 13 evidencia a diferença de magnitude observada

(29)

Magnitude Banda (MHz) 20 15 10 5 0 60 50 40 30 20 10 0 Superposicao

Figura 12 – Processamento de um sinal com largura de banda de 40 MHz, amostrado a uma taxa de 62,5 MHz, pelo Algoritmo de Detecção de Cicloestacionaridade.

ao se processar dois sinais com características idênticas, com exceção do roll-off utilizado na geração de cada um.

Magnitude Banda (MHz) 14 12 10 8 6 4 2 0 35 30 25 20 15 10 5 0 Roll-off = 0,35 Magnitude Banda (MHz) 14 12 10 8 6 4 2 0 35 30 25 20 15 10 5 0 Roll-off = 0,20 a. b.

Figura 13 – Resultado de processamento de sinal 8-PSK com 10 MHz de banda e roll-off de 0,35 ; sinal 8-PSK com 10 MHz de banda e roll-off de 0,20.

Embora ainda relevante, neste exemplo a alteração do roll-off utilizado na geração do sinal leva a uma perda de 31,746% do valor do pico de magnitude de cicloestaciona-ridade na largura de banda do sinal. Desta forma, observa-se que a detecção de tal pico deve levar em consideração apenas a redondeza deste, sendo considerado válido como pico o bin que exceda um determinado fator de multiplicação em relação à média dos bins a seu redor. Desta forma mesmo os picos presentes nas bandas internas do sinal não serão confundidos com o pico de interesse, que sempre ocorre na borda do sinal.

3.2

Algoritmo para Definição da Posição dos Sinais e

fraciona-mento da faixa

A fim de superar as limitações do Algoritmo de Detecção de Cicloestacionaridade, que são a dificuldade de operação com múltiplos sinais e a incapacidade de apontar a posição dos sinais na faixa de frequência analisada, propomos o uso de um algoritmo

(30)

adicional que permita subdividir a faixa de frequência a ser analisada e limitar o escopo do Algoritmo de Detecção de Cicloestacionaridade, tornado possível tanto apontar a posição central do sinal analisado, quanto impedir que múltiplos sinais estejam presentes na faixa a ser processada. Uma vez que tal algoritmo deverá ser implementado em hardware digital, premissas como simplicidade e baixa ocupação de área foram levadas em consideração em seu projeto.

Uma vez que uma série de sinais podem estar presentes na faixa de frequência rece-bida e o Algoritmo de Detecção de Cicloestacionaridade só é capaz de processar um sinal por vez, para que a existência e banda de um dado sinal seja determinada adequadamente, uma filtragem deste deve ser realizada a fim de se descartar qualquer outro sinal presente na mesma faixa, para isto poderia-se utilizar uma série de filtros com diferentes larguras de banda, porém isto consumiria tanta área de circuitos, ou memória para armazenamento dos coeficientes, quanto maior granularidade de sinais fosse desejada. Entretanto, o algo-ritmo utiliza apenas um único filtro passa baixa com a largura do sinal de maior banda a ser pesquisado, ainda assim sendo capaz de oferecer qualquer granularidade desejada entre uma banda e outra.

Para explicar o funcionamento deste algoritmo pode-se utilizar como exemplo a recepção de dois sinais, como mostrado na Figura 14a. A primeira etapa do algoritmo é mover o início da faixa de sinais recebida ao início da faixa de corte do filtro utilizado, portanto a faixa é movida em filterBand/2 − 𝐹𝑠/2, sendo filterBand a largura do filtro utilizado e 𝐹𝑠 a frequência de amostragem do sinal recebido.

a. b. c. -Fs/2 +Fs/2 -Fs/2 +Fs/2 -Fs/2 +Fs/2 Move a faixa de frequência ao início da banda do filtro mais outerAcc

-filterBand/2 +filterBand/2 -filterBand/2 +filterBand/2

Shift = filterBand/2 – Fs/2 + outerAcc Centro Sinal não encontrado! Desloca a faixa filtrada um innerStep por vez

até que minSpan seja alcançado

Shift = innerAcc

filtro filtro Centro

innerAcc

m

inS

pa

n

Figura 14 – Exemplo visual do algoritmo de definição da posição dos sinais e fraciona-mento da faixa: situação em que um sinal não é encontrado.

A faixa é, então, filtrada, resultando em que apenas os sinais no interior da banda do filtro (Figura 14b) estarão presentes nas etapas seguintes do algoritmo, uma vez que o resultado desta filtragem é armazenado. Em seguida, a faixa filtrada é processada pelo Algoritmo de Detecção de Cicloestacionaridade que procurará por picos apenas em torno da frequência correspondente a filterBand, tal pico só será encontrado se no resultado desta filtragem houver apenas um sinal com a mesma largura do filtro utilizado (filterBand). Caso nenhum pico seja encontrado, a faixa previamente armazenada é rotacionada por um pequeno valor de frequência, denominado innerStep, filtrada e processada pelo Algoritmo

(31)

de Detecção de Cicloestacionaridade, porém desta vez à procura de um sinal com largura de banda filterBand − innerStep. O mesmo procedimento é repetido sobre a faixa salva até que um sinal seja encontrado, ou até que filterBand − innerAcc ≤ minSpan, sendo

innerAcc a soma de todos os innerStep realizados no sinal e minSpan a largura mínima

do sinal de interesse (Figura 14c).

Note que uma vez que o sinal salvo é sucessivamente deslocado de innerStep fil-trado e processado, a pesquisa de picos do Algoritmo de Detecção de Cicloestacionaridade também deverá levar em consideração sinais com banda como descrito na equação (3.4):

filterBand − innerAcc − innerStep/2 ≤ signal ≤ filterBand − innerAcc + innerStep/2,

(3.4) desta forma, tornando possível que qualquer largura de sinal entre filterBand e

minSpan sejam encontrados.

a. b. c.

-Fs/2 +Fs/2 -Fs/2 +Fs/2 -Fs/2 +Fs/2

-filterBand/2 +filterBand/2 -filterBand/2 +filterBand/2

Desloca a faixa filtrada um innerStep por vez até que o sinal seja

encontrado Shift = innerAcc Centro Sinal encontrado! Centro filtro innerAcc filtro out e rA cc Move a faixa de frequência ao início da banda do filtro mais outerAcc Shift = filterBand/2 – Fs/2 + outerAcc

Figura 15 – Exemplo visual do algoritmo de definição da posição dos sinais e fraciona-mento da faixa: primeiro sinal da faixa encontrado.

Caso ao final da iteração interna (inner iteration) nenhum sinal tenha sido en-contrado, o algoritmo reiniciará sua pesquisa com o sinal recebido, porém deslocando o mesmo outerStep em relação à etapa anterior e novamente repetindo todo o algoritmo acima descrito. Os deslocamentos em outerStep são acumulados em outerAcc a cada final de iteração e, portanto, após certo outerAcc o primeiro sinal será posicionado exatamente no início da banda do filtro, como mostrado na continuação do exemplo, agora na Figura 15b. Portanto, desta vez quando filterBand −innerAcc for aproximadamente igual à banda do primeiro sinal, este terá seu pico de cicloestacionaridade aceito como de um sinal da mesma largura da banda de interesse e, portanto, o centro deste sinal (𝐹centre) poderá ser determinado de acordo com (3.5), sendo 𝐹bp a frequência da banda passante ajustada no demodulador:

(32)

Sempre após a detecção de um sinal, a própria banda deste, somado do valor de outerStep, é adicionada a outerAcc ao invés de apenas outerStep, como das outras vezes. Tal adição faz com que toda a banda do sinal encontrado seja descartada e leva o algoritmo outerStep à frente do sinal encontrado, eliminando o tempo que seria consumido realizando pesquisas dentro da faixa de um sinal já detectado.

Finalmente, a detecção do segundo sinal na faixa do exemplo ocorrerá quando

𝑜𝑢𝑡𝑒𝑟𝐴𝑐𝑐 fizer com que o deslocamento filterBand/2 − 𝐹𝑠/2 + outerAcc leve o início do segundo sinal para o início da banda de corte do filtro utilizado, ou seja, a posição −filterBand/2, como mostrado na Figura 16b. Isto pois, após a filtragem a faixa arma-zenada não conterá o primeiro sinal da banda, e um dos lados do segundo sinal estará junto à borda do filtro, de forma que quando a outra borda do sinal tocar a outra borda do filtro a banda de interesse resultante será exatamente a banda do sinal que deseja-se detectar (Figura 16c).

-Fs/2 +Fs/2 -Fs/2 +Fs/2 -Fs/2 +Fs/2

-filterBand/2 +filterBand/2 -filterBand/2 +filterBand/2

Shift = innerAcc Sinal encontrado! Centro filtro filtro ou te rA cc Centro innerAcc Move a faixa de frequência ao início da banda do filtro mais outerAcc Shift = filterBand/2 – Fs/2 + outerAcc Desloca a faixa filtrada um innerStep por vez até que o sinal seja

encontrado

a. b. c.

Figura 16 – Exemplo visual do algoritmo de definição da posição dos sinais e fraciona-mento da faixa: segundo sinal da faixa encontrado.

O movimento da faixa gerado pelo outerAcc pode ser realizado através de ajus-tes no sintonizador utilizado, através de uma alteração na frequência de batimento para banda base, ou digitalmente através de um circuito CORDIC configurado em modo ro-tação. Por um lado, o ajuste do sintonizador elimina um passo de deslocamento digital de frequência e, consequentemente, a degradação causada por este processo, por outro, o tempo de operação do algoritmo tende a aumentar devido ao fato de que a configuração do demodulador, tipicamente, se dá por meio de comunicação I2C ou SPI, cuja taxa de dados é lenta, além disto alguns sintonizadores requerem um procedimento de calibração a cada mudança de frequência. Observe, porém, que o deslocamento digital de frequência opera com atraso de poucos pulsos de relógio do sistema podendo, portanto, ser consi-derado negligível. A Figura 17 exibe o diagrama do algoritmo proposto e exemplificado acima.

A precisão obtida na determinação da posição central do sinal está relacionada ao

innerStep, outerStep, além da magnitude mínima tolerada para o pico de

cicloestaciona-ridade e a quantidade de vezes que este é maior que sua redondeza. Isto ocorre pois o pico de cicloestacionaridade pode ser proeminente mesmo que o sinal não esteja filtrado na

(33)

Figura 17 – Diagrama geral de funcionamento do algoritmo proposto. Sendo “Execute CFD algorithm” o algoritmo apresentado na Figura 3.

exata posição que deveria, podendo fazer com que o sinal acabe por ser detectado antes da sua exata posição.

Podem-se observar também, que sendo innerStep o passo de deslocamento reali-zado antes de cada filtragem e análise, o erro ao redor do bin que o algoritmo de pesquisa de banda deve tolerar é igual a innerStep/2. Tomando como exemplo uma pesquisa com passo de 100 kHz e adotando a premissa observada anteriormente, quando um sinal de 1 MHz estiver sendo pesquisado, o algoritmo tomará como válidos picos entre 1050 kHz e 950 kHz; no passo seguinte o algoritmo deverá procurar um sinal com 900 kHz, então, picos entre 950 kHz e 850 kHz serão tolerados e assim por diante. Desta forma não haverá lacunas fora do campo de pesquisa do algoritmo. Note, porém, que tal tolerância não afeta o Algoritmo de Detecção de Cicloestacionaridade, uma vez que para este a única questão relevante é a presença de um único sinal na faixa a ser analisada, independente de como a filtragem foi realizada.

(34)

Quanto à precisão na obtenção da largura de banda, como previamente mostrado em (3.2), tal precisão está inversamente relacionada à frequência de amostragem da faixa de frequência de entrada (𝐹𝑠) e diretamente relacionado ao tamanho da FFT utilizada (𝑁FFT).

Portanto, a redução na frequência de amostragem do sinal de entrada resulta no aumento na precisão da determinação da largura de banda dos sinais, por outro lado reduz a largura da faixa de entrada de sinais, o que pode aumentar a quantidade de requisições para mudança de faixa no sintonizador, ou reduzir a largura máxima dos sinais possíveis de serem detectados.

Alternativamente, o aumento no tamanho da FFT também resulta em melho-ria na resolução da determinação da largura de banda dos sinais, porém aumentando a complexidade de cálculo da FFT. Do ponto de vista de circuitos digitais, o aumento da complexidade de cálculo da FFT pode levar a um aumento no tempo de processamento desta FFT, caso as butterflies desta FFT sejam apenas reutilizadas, ou aumento na área de circuitos utilizada pela FFT, se incluirmos mais butterflies para realização do novo cál-culo, em ambas as situações a quantidade de memória necessária para efetuar os cálculos também aumenta. Evidentemente, um compromisso entre aumento de área e aumento de tempo de processamento pode ser realizado a fim de se balancear as penalidades.

Note, porém, que a faixa de bandas possíveis de sinais a serem pesquisados pode ser ampla (entre 200 kHz e 45 MHz, para o DVB-S2) e uma precisão uniforme em toda a faixa pode significar um grande desvio do valor real para faixas pequenas, ou uma precisão exagerada para sinais com grande largura de banda. Desta forma um mecanismo que seja capaz de aumentar a precisão em função da diminuição da largura de banda dos sinais a serem detectados seria uma solução mais adequada para a pesquisa de sinais, uma vez que manteria a precisão da estimação de banda aproximadamente constante, mecanismo este aqui denominado como zoom.

Como vimos anteriormente, tal zoom poderia ser executado aumentando a quanti-dade de amostras a serem inseridas na FFT. Porém, esta tática nos obrigaria a ter controle interno sobre a FFT, o que nem sempre é possível, ou trivial. Além disso, implicaria em maior tempo de processamento para bandas menores, uma vez que as butterflies esta-riam prontas e apenas seesta-riam reutilizadas. Outra solução seria a redução da frequência de amostragem (𝐹𝑠) do sinal de entrada, produzindo um efeito de aumento de precisão, como observado em 3.2, porém sem degradação no desempenho do algoritmo, caso realize-se tal operação apenas para a pesquisa de sinais com pequenas bandas.

Tal redução na frequência de amostragem pode ser realizada digitalmente com praticamente nenhum incremento de complexidade se após o deslocamento inicial da faixa de interesse e primeira filtragem, os dados desta faixa forem reamostrados descartando-se e aproveitando dados alternadamente. Este processo resulta em uma dizimação do sinal

(35)

para uma frequência equivalente a 𝐹𝑠/2.

De posse dos dados da faixa reamostrados, se, após deslocar o início da nova faixa para filterBand/4, o algoritmo previamente apresentado for aplicado com os mes-mos valores utilizados anteriormente o efeito prático de filterBand = filterBand/2 e

innerStep = innerStep/2 será obtido, porém com o tamanho da FFT inalterado, o que

fará com que o bin da FFT corresponda à metade da frequência anteriormente correspon-dente e a banda máxima possível de ser detectada após o procedimento de zoom seja de

filterBand/2. Tal dizimação só é possível pois a banda máxima do filtro deve ser menor,

ou igual, a 𝐹𝑠/2, ou seja, após a filtragem e dizimação não haverá contaminação do sinal por aliasing, embora caso o filtro utilizado seja igual a 𝐹𝑠/2 a parte do sinal filtrado que excede a banda, devido à inclinação lateral do filtro, será levada pelo aliasing a influenciar os sinais próximos às bordas, porém com tanta atenuação quanto o filtro permitir.

Naturalmente, a mesma abordagem pode ser utilizada indefinidamente até que a precisão desejada seja alcançada. O procedimento de deslocamento ao início da banda do filtro, filtragem e dizimação dobra a precisão dos bins da FFT e reduz pela metade a banda máxima possível de ser pesquisada a cada etapa. Por outro lado, do ponto de vista de circuitos o procedimento de recepção dos dados dos sinais, deslocamento, filtragem, dizimação e armazenamento para realização de novo procedimento de zoom, implica que o espaço de armazenamento requerido aos dados de entrada deve ser de 𝑀TOTAL= 2𝑁 −1·𝑆1,

sendo 𝑁 a quantidade de procedimentos de zoom a serem realizados e 𝑆1 a quantidade

de armazenamento requerido para o processamento do algoritmo sem nenhum zoom. O erro relativo à banda do sinal é dado em ppm (partes por milhão) e é definido como PPMerror = (𝐹𝑠· 106)/(𝑁FFT· signalBand), sendo signalBand a banda real do sinal. Dessa forma, o sinal que possui maior erro antes do primeiro procedimento de zoom é

signalBand = innerStep + filterBand/2, uma vez que em signalBand = filterBand/2, o

erro passará a ser dado por PPMerror2x = ((𝐹𝑠/2) · 106)/(𝑁FFT · filterBand/2) resultando em um valor igual ao inicialmente obtido quando signalBand era igual a filterBand. Esta relação se mantém enquanto o mecanismo de zoom for realizado, resultando em uma menor variação do erro em ppm do que se tal mecanismo não fosse empregado.

Embora a precisão dos resultados possam ser ajustados pelos passos internos do algoritmo e mecanismos de zoom, dentro do contexto de recepção de sinais DVB-S2, erros residuais na determinação da banda são, posteriormente, corrigidos pelo bloco de

resampler (reamostrador) presente na cadeia de processamento do sinal recebido e fora do

escopo deste trabalho. Além disso, dentro deste mesmo contexto, outros circuitos devem ser responsáveis por um ajuste fino para determinação do centro da banda a cada vez que um canal é escolhido, isto pois após a determinação da posição central de um sinal este ainda poderá se mover ao redor da posição determinada, tal movimentação ocorre, por exemplo, devido à variações térmicas do LNB (da sigla em inglês para: Low-Noise Block

(36)

downconverter) presente na antena.

3.3

Variações da Proposta

Algumas variações no algoritmo podem ser realizadas com o intuito de melhorar sua precisão e/ou área de circuitos. A seguir algumas das variações experimentadas, ou cogitadas, são apontadas.

O deslocamento de um dado sinal em frequência pode ser realizado a partir da multiplicação complexa do dado amostrado pelos dados de uma portadora previamente armazenados em uma memória. Embora tal abordagem, do ponto de vista de circui-tos, elimina a necessidade de todo o aparato de movimentação em frequência, ele limita a operação do algoritmo permitindo que apenas a variação previamente gravada seja utilizada. Desta forma a movimentação realizada no outerLoop teria que ocorrer em 1)

𝑛 = outerAcc/outerStep iterações, ou 2) com os primeiros dados capturados sendo

arma-zenados e após cada deslocamento em outerStep serem re-armaarma-zenados de forma inde-pendente ao innerLoop ou, finalmente, 3) utilizando-se apenas do deslocamento realizado pelo circuito de demodulação do sinal. Em relação ao innerLoop, após a primeira etapa de deslocamento e filtragem em que os dados são armazenados e filtrados, em todas as etapas subsequentes os dados teriam de ser re-armazenar para a iteração seguinte.

Portanto, embora tal variação substitua os circuitos de deslocamento por memó-rias, mais disponível em abordagens de co-design, cada deslocamento realizado em ponto fixo (método de cálculo a ser utilizado neste projeto) provoca uma degradação no sinal, o que prejudicaria sinais possíveis de serem detectados nas últimas etapas de desloca-mento tanto do innerLoop, quanto do outerLoop, além de tornar o algoritmo mais lento quando o outerLoop lançasse mão das movimentações 1) ou 2). Por fim, a abordagem em

co-design, método de design baseado em processador que separa parte das tarefas para

implementação em software e parte para implementação em hardware, não é prevista para ser utilizada no resultado final deste projeto, eliminando portanto qualquer vantagem de área e desempenho que tal variação possa oferecer.

Outra variação analisada foi a alteração do cálculo de magnitude da FFT, equação

𝑐 =𝑎2+ 𝑏2, para a equação 𝑐 = (𝑎2 + 𝑏2)/2𝑘 sendo k uma constante determinada empiricamente para redução do número de bits necessários durante a operação de pesquisa de picos. Esta alteração faz com que o fator de multiplicação (multDiff ) do pico em relação ao valor de sua redondeza seja elevado ao quadrado, tornando portanto tal diferença ainda mais significativa. A Figura 18 mostra, em termos gráficos, a diferença obtida em ambos os casos, com os picos normalizados em 10 de magnitude para facilitar a comparação.

Observe, porém, que tal possibilidade foi considerada devido à simplicidade de implementação em hardware da equação 𝑐 = (𝑎2+𝑏2)/2𝑘, quando comparado aos métodos

Referências

Documentos relacionados

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla

Por exemplo se a primeira relação é anexada ao adaptador de rede VMnet 8 de VMware que está configurado como parte de uma rede 192.168.119.0/24 (como descrito abaixo), a seguir

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

Por isso, quando a quantidade de Oxigênio Dissolvido na água diminui, os peixes não conseguem compensar esta.. Diminuição, ficando prejudicados e,

Aristides Cimadon, no uso de suas atribuições, torna público o presente Edital destinado a inscrições para o Curso de Pós- graduação stricto sensu, Mestrado Acadêmico em Sanidade