gerador de sinais radar para utilização em campo

62
Universidade Federal do Rio de Janeiro Escola Politécnica Departamento de Eletrônica e de Computação GERADOR DE SINAIS RADAR PARA UTILIZAÇÃO EM CAMPO Autor: _________________________________________________ Rafael Soares da Silva Orientador: _________________________________________________ Heraldo Luis Silveira de Almeida, D.Sc. Examinador: _________________________________________________ Flávio Luis de Mello, D.Sc. Examinador: _________________________________________________ Aloysio de Castro Pinto Pedroza, Dr. DEL Janeiro de 2016

Upload: danghuong

Post on 10-Jan-2017

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: gerador de sinais radar para utilização em campo

Universidade Federal do Rio de Janeiro

Escola Politécnica

Departamento de Eletrônica e de Computação

GERADOR DE SINAIS RADAR PARA UTILIZAÇÃO EM

CAMPO

Autor:

_________________________________________________

Rafael Soares da Silva

Orientador:

_________________________________________________

Heraldo Luis Silveira de Almeida, D.Sc.

Examinador:

_________________________________________________

Flávio Luis de Mello, D.Sc.

Examinador:

_________________________________________________

Aloysio de Castro Pinto Pedroza, Dr.

DEL

Janeiro de 2016

Page 2: gerador de sinais radar para utilização em campo

ii

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

Escola Politécnica – Departamento de Eletrônica e de Computação

Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária

Rio de Janeiro – RJ CEP 21949-900

Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que

poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar

qualquer forma de arquivamento.

É permitida a menção, reprodução parcial ou integral e a transmissão entre

bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja

ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem

finalidade comercial e que seja feita a referência bibliográfica completa.

Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es) e

do(s) orientador(es).

Page 3: gerador de sinais radar para utilização em campo

iii

AGRADECIMENTO

Agradeço a todos que contribuíram, me incentivaram e me apoiaram durante

todo o curso. À minha família que sempre trabalhou em prol da minha formação

acadêmica, aos amigos que dividiram os momentos de estudo e de diversão e aos

professores e orientadores por todo o conhecimento compartilhado.

Page 4: gerador de sinais radar para utilização em campo

iv

RESUMO

Neste trabalho foi desenvolvido um gerador radar de baixa potência. A proposta

é simular os principais parâmetros de alguns dos radares utilizados pela Marinha do

Brasil. Esta ferramenta possibilita a realização testes em equipamentos de guerra

eletrônica. As simulações foram realizadas em uma câmara anecóica em conjunto com

um sistema de reconhecimento tático de emissores radar.

Palavras-Chave: guerra eletrônica, radar, pulso eletromagnético, simulador.

Page 5: gerador de sinais radar para utilização em campo

v

ABSTRACT

This work developed a low-power radar generator. The proposal is to simulate

the main parameters of some of the radars used by the Brazilian Navy. This tool enables

the performance testing of electronic warfare equipment. The simulations were

performed in an anechoic chamber in conjunction with a tactical reconnaissance system

of radar transmitters.

Key-words: electronic warfare, radar, electromagnetic pulse, simulator.

Page 6: gerador de sinais radar para utilização em campo

vi

SIGLAS

AM – Amplitude Modulation (Modulação em Amplitude)

AOA – Angle of Arrival (Ângulo de Chegada)

CME – Contra-Medidas Eletrônicas

CW – Continuous Wave (Onda Contínua)

DVC – Despistamento de Varredura Cônica

F – Freqüência da Portadora

FM – Frequency Modulation (Modulação em Freqüência)

LP – Largura de Pulso

MAGE – Medidas de Apoio à Guerra Eletrônica

PLD – Programmable Logic Device (Dispositivo Lógico Programável)

PM – Phase Modulation (Modulação em Fase)

PRF – Pulse Repetition Frequency (Freqüência de Repetição do Pulso)

PRI – Pulse Repetition Interval (Intervalo de Repetição de Pulso)

RF – Radio Frequency

TOA – Time of Arrival (Tempo de Chegada)

UFRJ – Universidade Federal do Rio de Janeiro

VCO – Voltage Controlled Oscilator

Page 7: gerador de sinais radar para utilização em campo

vii

Sumário

1 Introdução 1

1.1 - Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 - Delimitação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 - Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 - Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 - Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.6 - Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Radar e seus parâmetros 4

2.1 - Radar Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 - Parâmetros de um pulso radar . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Arquitetura do Gerador Radar 9

3.1 - Escopo do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 - Dinâmica de Execução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Hardware 12

4.1 - FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.2 - Módulo Comunicação Serial . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.3 - Digitally Tunned Oscilator . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.4 - Solid State Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.5 - Atenuador Programável . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Page 8: gerador de sinais radar para utilização em campo

viii

4.6 - Solid State Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5 Software 16

5.1 - Design de PLD e Linguagem VHDL . . . . . . . . . . . . . . . . . . . 16

5.2 - Ambiente de desenvolvimento Qt . . . . . . . . . . . . . . . . . . . . . . 20

6 Simulações 24

6.1 - Cenário 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6.2 - Cenário 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6.3 - Cenário 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6.4 - Cenário 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

6.5 - Cenário 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

7 Conclusões 30

Bibliografia 31

A Esquemáticos 32

B Códigos fonte 36

C Tabelas de Frequência 50

Page 9: gerador de sinais radar para utilização em campo

ix

Lista de Figuras

2.1 – Radar Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 – Amplitude em uma onda senoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 – Largura de pulso em uma onda quadrada . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.4 – Formas de ondas com diferentes frequências . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1 – Parâmetros do pulso radar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 – Tipos de PRI empregada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3 – Padrão da varredura circular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.1 - Diagrama de bloco do hardware do simulador radar . . . . . . . . . . . . . . . . . . . 12

4.2 – Diagrama de blocos de um DTO multibanda . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3 – Diagrama de blocos de um Atenuador Programável . . . . . . . . . . . . . . . . . . . 15

4.4 – Esquema de montagem dos componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.1 – Diagrama do Ciclo_Pres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.2 – Diagrama do controle_freq. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.3 – Diagrama do gerador de PRI e LP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.4 – Diagrama do Atenuador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.5 – Interface gráfica do software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.1 – Resultado analisador de espectro no cenário 1. . . . . . . . . . . . . . . . . . . . . . . . 25

6.2 – Resultado osciloscópio no cenário 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6.3 – Resultado analisador de espectro no cenário 2. . . . . . . . . . . . . . . . . . . . . . . . 26

6.4 – Resultado osciloscópio no cenário 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

6.5 – Resultado analisador de espectro no cenário 3. . . . . . . . . . . . . . . . . . . . . . . . 27

6.6 – Resultado osciloscópio no cenário 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6.7 – Resultado analisador de espectro no cenário 4. . . . . . . . . . . . . . . . . . . . . . . . 28

6.8 – Resultado osciloscópio no cenário 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

6.9 – Resultado osciloscópio no cenário 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Page 10: gerador de sinais radar para utilização em campo

x

6.10 – Resultado analisador de espectro no cenário 5. . . . . . . . . . . . . . . . . . . . . . . 29

Page 11: gerador de sinais radar para utilização em campo

xi

Lista de Tabelas

2.1 – Categorias de PRI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 – Padrões de Varredura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.1 – Faixa de valores para os parâmetros do projeto . . . . . . . . . . . . . . . . . . . . . . . 9

5.1 – Bits de Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Page 12: gerador de sinais radar para utilização em campo

1

Capítulo 1

Introdução

1.1 – Tema

O avanço da tecnologia tem conduzido a mudanças nas táticas de guerra. Apesar

de tudo, o primeiro objetivo do comandante de lançar poder de fogo em apoio à missão

permanece inalterado. Mesmo assim, visando cumprir esse objetivo, o comandante

ainda deve localizar o inimigo, acompanhá-lo e engajá-lo. O esforço para conseguir isso

envolve todos os métodos de vigilância, do campo visual à interceptação de emissões

eletrônicas, o que é conhecido como esclarecimento.

Guerra Eletrônica é uma ação militar cujo objetivo é controlar o espectro

eletromagnético [1], visando impedir, reduzir ou prevenir que o inimigo faça uso eficaz

de suas emissões. Nesse sentido, foi desenvolvido neste trabalho um simulador radar de

baixa potência, cuja geração de pulsos eletromagnéticos produzidos e transmitidos tenha

características similares as de um radar de uso militar, possibilitando a realização testes

em equipamentos de guerra eletrônica.

1.2 – Delimitação

A guerra eletrônica pode ser dividida, de acordo com seus objetivos, em três

grandes grupos: Medidas de Apoio de Guerra Eletrônica (MAGE), Medidas de Ataque

Eletrônico (MAE) e Medidas de Proteção Eletrônica (MPE).

Especificamente para o primeiro grupo, um equipamento MAGE é um sistema

capaz de contribuir para o reconhecimento tático dos emissores radar de um dado

ambiente eletromagnético. O equipamento tem a função de interceptar radiações de

emissores, localizar sua marcação, registrar a hora de chegada, medir os seus

parâmetros, podendo então classificar o tipo e o modo de operação do radar envolvido e

a provável plataforma associada, segundo uma Biblioteca de Emissores [2].

Page 13: gerador de sinais radar para utilização em campo

2

Entre outros equipamentos utilizados para teste do MAGE, um gerador de sinais

de baixa potência que produza e transmita sinais com as características similares aos de

um radar de uso militar é imprescindível.

1.3 – Justificativa

A guerra eletrônica é hoje, se não o mais importante, um dos meios de combate

que mais se destaca pela importância que tem ganhado ao longo dos últimos anos. A

Marinha do Brasil vem se dedicando há alguns anos em desenvolver e produzir seus

próprios equipamentos de guerra eletrônica. Então, desenvolver novas tecnologias que

contribuam para a evolução desde cenário é de extrema importância para a expansão e

consolidação da força militar brasileira.

1.4 – Objetivos

O objetivo deste trabalho é projetar e desenvolver um simulador radar de baixa

potência para utilização em campo. O simulador radar deverá ser capaz de produzir e

transmitir pulsos eletromagnéticos com características semelhantes às encontradas nos

pulsos transmitidos por alguns dos radares militares utilizados atualmente pela Marinha

Brasileira, e com isso, ser uma ferramenta de testes para equipamentos de medida de

apoio à guerra eletrônica.

1.5 – Metodologia

Para desenvolver um simulador de radar que atendesse às necessidades da

Marinha do Brasil, foram pesquisadas as características de emissão eletromagnética dos

principais radares militares utilizados.

Após esta etapa, foram pesquisados os equipamentos necessários para o

desenvolvimento do hardware, que atendessem todos os requisitos para as emissões que

desejamos simular. Foi escolhida a também a plataforma de desenvolvimento de

software para o desenvolvimento da interface de operação do sistema.

Page 14: gerador de sinais radar para utilização em campo

3

1.6 – Descrição

No próximo capítulo serão apresentadas as principais características de um

radar.

O capítulo 3 apresenta a arquitetura do projeto, mostrando as ferramentas

necessárias para o desenvolvimento do gerador radar.

Os componentes de hardware utilizados e suas características são apresentados

no capítulo 4. Nele será explicitado a interligação dos componentes, a programação do

hardware, e como eles se comunicam com o software.

O desenvolvimento da interface gráfica e a explicação dos principais comandos

da interface do usuário serão apresentados no capítulo 5.

O capítulo 6 apresenta os resultados de simulações de diversos tipos de

parâmetros de radar.

Na conclusão serão apresentados os objetivos alcançados e sugestões para

atualização e novas funções para a continuação deste gerador.

Page 15: gerador de sinais radar para utilização em campo

4

Capítulo 2

Radar e seus parâmetros

2.1 – Radar Básico

O termo radar, acrônimo em inglês de Radio Detection And Ranging (Detecção

e Telemetria pelo Rádio), refere-se ao equipamento que detecta presença, direção, altura

e distância de objetos, usando energia eletromagnética refletida [2].

O radar é composto por uma antena transmissora/receptora onde a transmissão é

um pulso eletromagnético de alta potência, curto período e feixe muito estreito. Durante

a propagação pelo espaço, o feixe se alarga em forma de cone até atingir o alvo que está

sendo monitorado, sendo então refletido e retornando para a antena, que neste momento

é receptora de sinais. Como se sabe a velocidade de propagação do pulso, e pelo tempo

de chegada do eco, pode-se facilmente calcular a distância do objeto [3].

Figura 2.1 – Radar básico Fonte: Radar Principles [4].

Page 16: gerador de sinais radar para utilização em campo

5

2.2 – Parâmetros de um pulso radar

Um único pulso radar é caracterizado pelos principais parâmetros mensuráveis

de amplitude (A), largura de pulso (LP) e frequência da portadora (F). Quando esses

pulsos são associados em um trem de pulsos, dois parâmetros adicionais podem ser

analisados para caracterizar um emissor: Intervalo de Repetição de Pulso (PRI) e o

padrão de Varredura.

2.2.1 - Amplitude

Amplitude é uma medida escalar negativa e positiva da magnitude de oscilação

de uma onda.

Figura 2.2 – Amplitude em uma onda senoidal.

2.2.2 - Largura de pulso

Largura de pulso é a duração de um único pulso de um transmissor radar.

Figura 2.3 – Largura de pulso em uma onda quadrada.

Page 17: gerador de sinais radar para utilização em campo

6

2.2.3 – Frequência

Frequência é uma grandeza física ondulatória que indica o número de

ocorrências de um evento (ciclos, voltas, oscilações, etc.) em um determinado intervalo

de tempo. A unidade mais comum usada internacionalmente para expressar a frequência

de uma onda é o hertz, simbolizado por Hz, que equivale a uma oscilação por segundo.

Figura 2.4 – Formas de ondas com diferentes frequências.

2.2.4 – Intervalo de repetição de pulso

O intervalo de repetição de pulso (PRI) de um radar é normalmente muito

estável. Radares de longo alcance têm PRI’s grandes enquanto que radares de curto

alcance têm PRI’s pequenas. A PRI, ao contrário dos parâmetros já mencionados, não

está disponível instantaneamente em cada pulso, ela é derivada do tempo de chegada

(TOA) entre os pulsos.

Muitas das variações de PRI de um radar são efetuadas para resolver

ambiguidades em distâncias e/ou velocidades. Outras são usadas para minimizar o

tempo gasto em busca.

Existe um número razoável de tipos de PRI. A tabela lista as principais

categorias.

TIPO FUNÇÃO TÍPICA COMENTÁRIOS

Constante Radares de busca ou

acompanhamento

Variações tipicamente < 1%

do valor médio da PRI

Page 18: gerador de sinais radar para utilização em campo

7

Jittered Reduz o efeito de alguns

tipos de jamming

Grandes variações – até em

torno de 30% da PRI média

Dwell e Switch Resolve ambiguidade em

distância e/ou velocidade

Rajadas de pulsos com várias

PRI’s estáveis chaveadas de

uma rajada para a próxima

Stagger Elimina velocidades cegas Várias PRI’s estáveis

chaveadas pulso a pulso em

um padrão periódico

Sliding Fornece cobertura constante

de altitude durante varredura

em elevação

PRI máxima (em elevação

mínima) usualmente menor

que 6 vezes a PRI mínima em

elevação máxima

Scheduled Usada em varredura

eletrônica, função múltipla

(busca e acompanhamento) e

sistemas controlados por

computador

Numerosos padrões

complexos (alguns

periódicos) podem se adaptar

a situação do alvo

Senoidal (Wobbulated) Guiagem de míssil Variações quase senoidais até

5% da PRI média.

Tabela 2.1 – Categorias de PRI Fonte: Alguns tópicos sobre MAGE [2].

2.2.5 – Padrão de varredura

O feixe da antena de um radar cobre somente uma parte pequena da região

angular de interesse. Para cobertura hemisférica, existem aproximadamente N posições

de feixe independentes:

𝑁 =2𝜋

𝜃𝑎𝑍 × 𝜃𝑒𝐿

onde:

2𝜋 = ângulo sólido que subentende um hemisfério (radianos);

𝜃𝑎𝑍= Largura de feixe em 3dB em azimute (radianos); e

𝜃𝑒𝐿= Largura de feixe em 3dB em elevação (radianos).

Page 19: gerador de sinais radar para utilização em campo

8

O movimento do feixe (posição angular versus tempo) é chamado padrão de

varredura. O padrão de varredura é projetado para cobrir todo volume de interesse do

sistema radar. O tamanho deste volume pode variar dependendo do propósito do radar

no momento. Se for necessário fazer busca em todo hemisfério para adquirir um alvo,

pode-se então, depois de localizá-lo, usar um volume de busca menor para refinar sua

localização. Finalmente, se o radar pode acompanhar um alvo, a varredura pode cessar

por completo.

Usualmente, o radar varre uma dada região angular de modo que a mesma

quantidade de tempo é dedicada a cada parte da região e a busca é iniciada em alguma

parte conveniente da área. É evidente que melhores resultados podem ser obtidos se a

busca levar em consideração a priori qualquer conhecimento de onde o alvo pode ser

localizado. Se a probabilidade de detecção é relacionada ao tempo gasto na busca de

uma célula particular, e se as probabilidades de alvo em cada célula podem ser

determinadas a priori, podem-se formular estratégias de buscas ótimas.

TIPO DE

VARREDURA COMENTÁRIOS

FAN BEAM

SCANNING

Circular

Radar de busca de longo alcance; fornece

informação de marcação e distância, mas não

de elevação.

Setorial Varre somente um setor de interesse; pode

varrer em azimute ou elevação.

PENCIL BEAM

SCANNING

Raster

Varre uma linha numa direção (azimute) de

um determinador setor e então uma segunda

linha é varrida em azimute, mas em ângulo

de elevação diferente.

Helicoidal Padrão raster com linhas horizontais onde

cada linha cobre 360°.

Espiral O feixe inicia em um ponto central e se

espirala a partir desse ponto.

Tabela 2.2 – Padrões de Varredura Fonte: Alguns tópicos sobre MAGE [2].

Page 20: gerador de sinais radar para utilização em campo

9

Capítulo 3

Arquitetura do Gerador Radar

3.1 – Escopo do projeto

Ao executar sua missão, o equipamento deve ser capaz de gerar pulsos de radar

caracterizados pelos seus principais parâmetros mensuráveis:

Largura do pulso (LP) e

Frequência.

Além destes, outros parâmetros adicionais podem ser utilizados:

Agilidade linear em frequência;

Intervalo de repetição de pulso (PRI) e

Tipo de varredura.

Figura 3.1 – Parâmetros do pulso radar.

A faixa de valores aceitáveis para os principais parâmetros mensuráveis são:

Parâmetro Valor mínimo Valor máximo Agilidade

Frequência 8GHz 16GHz Sim

LP 0,5us 200us Não

PRI 0,01ms 2ms -

Tabela 3.1 – Faixa de valores para os parâmetros do projeto.

Page 21: gerador de sinais radar para utilização em campo

10

A agilidade em frequência linear foi considerada como uma variação de 0,5 GHz

para baixo e para cima em torno da frequência central, com passo de 0,1GHz. Tem-se

então, durante a agilidade linear, até dez valores de frequência que variam linearmente

pulso a pulso.

O intervalo de repetição de pulso (PRI) poderá ser utilizado em dois tipos

básicos de padrões: Estável, onde as PRI’s são idênticas; Staggered, com PRI’s se

alternando em 2, 3 ou 4 níveis.

Figura 3.2 – Tipos de PRI empregada: [a] PRI Estável, [b] PRI Staggered.

Dos tipos de varredura que usualmente são empregados, inicialmente apenas a

circular será implementada. Isto se deve ao fato de sua simulação ser possível sem

nenhum tipo de movimentação mecânica.

Figura 3.3 – Padrão da varredura circular

Page 22: gerador de sinais radar para utilização em campo

11

3.2 – Dinâmica de execução

A operação de geração de pulsos se dará da seguinte maneira:

1. Em um PC, o usuário entrará com os parâmetros do pulso a ser gerado;

2. O software, através de uma comunicação serial com PC, irá interfacear com a

FPGA e realizará as seguintes tarefas:

a. Ler o valor da banda de frequência selecionada pelo usuário, calcular a

palavra de bits associado ao valor escolhido e verificar se foi selecionado

a opção de agilidade em frequência;

b. Ler o(s) valor(es) de PRI selecionado(s) pelo usuário, associar este valor

a uma palavra de bits em uma memória ROM, verificar se há níveis de

intervalo de repetição, e acionar um contador, que irá então gerar a PRI;

c. Ler o valor de LP selecionado pelo usuário e associar este valor a uma

palavra de bits. Um dos flags do contador de PRI irá acionar outro

contador que, de acordo com esta palavra de bits, irá gerar a LP;

3. O DTO receberá o valor da frequência, e irá então gerar o sinal;

4. Uma chave conectada ao switch e ao atenuador irá atuar de acordo com os

valores de PRI, LP e varredura selecionados pelo usuário;

5. Um amplificador aumenta a potência do sinal para obter nível suficiente de

transmissão.

Page 23: gerador de sinais radar para utilização em campo

12

Capítulo 4

Hardware

A figura abaixo mostra o diagrama de blocos do hardware do simulador de radar:

INTERFACE

CONTROLE DE

FREQUÊNCIA

MAQUINA DE

ESTADOS

CONTROLE DE PRI

MÁQUINA DE

ESTADOS

MEMÓRIA

ROM

PRI

CONTADOR

LP

CONTADOR

CONTROLE DE

VARREDURA

DTO ATENUADOR

PLD

Figura 4.1 – Diagrama de bloco do hardware do simulador radar

4.1 – CIRCUITO INTEGRADO - FPGA

Um FPGA é um modulo que pode ser programado para implementar um sistema

digital que consiste em dezenas de milhares de portas. Um módulo FPGA consiste em

uma matriz de três tipos de elementos configuráveis:

blocos lógicos, combinacionais e/ou sequenciais;

pontos de interconexão (chaves) e

blocos de entrada e saída.

Além disso, há fios agrupados em canais horizontais e verticais. [5]

Page 24: gerador de sinais radar para utilização em campo

13

O FPGA utilizado foi a EPF10k10LC84-3. A família FLEX 10k é suportada

pelo Quartus II, um software de design de PDL, onde é possível desenhar o circuito

como um sistemático ou descrevê-lo utilizando uma linguagem de descrição de

hardware, como a VHDL utilizada neste projeto. O FPGA é programado via porta

paralela.

4.2 – Comunicação Serial

Na comunicação serial cada bit representa uma parte da mensagem. Os bits

individuais são então rearranjados no destino para compor a mensagem original. Em

geral, em um canal irá passar apenas um bit por vez. O padrão para troca serial de dados

comumente usada em computadores é o RS232.

Para a comunicação entre o PC e a FPGA foi utilizado o conversor de nível

MAX235, que transformar níveis TTL (0 a 5 volts) em RS232 e vice-versa.

4.3 – Digittaly Tunned Oscilator (DTO)

Um Voltage Controlled Oscilator (VCO) é um oscilador eletrônico que altera a

frequência de saída a partir de alteração da voltagem de entrada.

Um disposto DTO, por sua vez, foi pensado com o propósito de aumentar a

estabilidade ao sintonizar uma frequência no VCO. Um contador digital, ou um

conversor analógico-digital, serve como referência externa de frequência, o qual alterna

a entrada para o VCO. A variação dessa entrada muda a frequência de saída do

dispositivo [6].

Um DTO multibanda consiste de um determinado número de VCO’s cobrindo

faixas específicas de frequências. As saídas de sub-banda de RF selecionadas são

ligadas a uma porta de saída de RF comum.

Como o sistema foi descrito, a faixa de frequência dos principais radares que

deseja-se simular está entre 6GHz e 18GHz. Para simular estas oscilações de frequência

foi utilizado um DTO modelo 2453. A seleção digital da frequência desejada é feita

Page 25: gerador de sinais radar para utilização em campo

14

através de uma palavra de 16 bits paralelos, onde 2 bits selecionam a sub-banda e 14

bits determinam a frequência.

Figura 4.2 – Diagrama de blocos de um DTO multibanda. Fonte: Herley [6].

4.4 – Solid State Switch

O propósito do switch é chavear sinais RF. O termo "solid state" descreve

dispositivos eletrônicos que não contem dispositivos mecânicos, tais como relés. Solid

State Switches são mais confiáveis e apresentam uma vida útil mais longa do que os

dispositivos eletromecânicos devido à sua grande resistência ao choque, vibração e

desgaste mecânico. Eles também oferecem um tempo de chaveamento mais rápido [7].

Para simular as diferentes LP’s e PRI’s desejadas, foi utilizado o switch S213D,

que possui tempo de chaveamento de 10ns e suporta um range de frequência de 2 – 18

GHz, portanto dentro das especificações desejadas.

4.5 – Atenuador Programável

Um diodo PIN é um dispositivo semicondutor que opera como um resistor

variável de frequência de RF. Em aplicações de atenuação, o diodo PIN deve

idealmente controlar o nível do sinal RF sem introduzir distorção que poderia alterar a

forma do sinal de RF. [8]

Um atenuador diodo PIN programável foi utilizado com o objetivo de conseguir

o efeito de oscilação da amplitude de RF e, com isso, simular uma varredura circular. O

atenuador 3468C, por ter um range de frequência de 2 – 18 GHz foi escolhido neste

Page 26: gerador de sinais radar para utilização em campo

15

projeto. Além disso, este atenuador é capaz de atenuar até 60 dB em steps de até 0,06

dB mínimos.

Figura 4.3 – Diagrama de blocos de um Atenuador Programável. Fonte: Herley [8].

4.6 – Solid State Amplifier

O principal propósito de um amplificador é aumentar a amplitude do sinal. Um

segundo proposito é atuar como um isolador. [7]

Um amplificador de RF foi acoplado ao gerador para obter um nível suficiente

para a transmissão do sinal através de uma antena.

Figura 4.4 – Esquema de montagem dos componentes.

Page 27: gerador de sinais radar para utilização em campo

16

Capítulo 5

Software

Neste capítulo será abordado o desenvolvimento dos softwares de design de

PLD e da interface de usuário.

5.1 – Software de design de PLD e linguagem VHDL

Para a programação da FPGA foi utilizado o software Altera Quartus II Web

Edition, que permite tanto uma edição esquemática dos circuitos lógicos, quanto uma

descrição em linguagem de hardware em VHDL.

5.1.1 – Ciclo Presente

A entidade ciclo_pres, tem como portas de entrada um barramento de 8 bits

nomeado de data_in e um bit de clock. Como portas de saída tem-se um barramento de

16 bits para controle de frequência, um bit de controle de agilidade em frequência,

quatro barramentos de 4 bits para o controle de PRI, um bit de controle para seleção do

tipo de PRI, um barramento de 9 bits para controle de LP e um bit de controle para

seleção de atenuação. A arquitetura dessa entidade possui nove variáveis temporárias,

sendo oito de 8 bits e uma de 16 bits.

A porta data_in recebe os primeiros 8 bits paralelos e armazena na primeira

variável temporária. A cada evento de clock, o contador, iniciado em zero, é

incrementado e a próxima variável recebe os 8 bits subsequentes. Esse processo ocorre

até que todas as variáveis tenham recebido os bits correspondentes e então o contador é

reinicializado.

As duas primeiras variáveis temporárias são concatenadas na variável de 16 bits,

que representa os bits de controle de frequência e são enviadas ao barramento de saída.

As próximas quatro variáveis de 8 bits recebem os valores dos quatro níveis de

PRI possíveis. Como para o barramento de saída para o controle de PRI apenas cinco

bits são necessários, os últimos três bits das variáveis são desprezados.

Page 28: gerador de sinais radar para utilização em campo

17

A quinta variável recebe os bits que correspondem ao valor de LP selecionado

pelo usuário e então é enviado ao barramento de saída.

Os três primeiros bits da última variável (LSB) contém os valores dos bits de

controle. Cada valor é associado à porta de saída correspondente e os bits restantes são

desprezados.

Figura 5.1 – Diagrama do Ciclo_Pres.

5.1.2 – Controle de Frequência

O controle de frequência é representado pelo diagrama de bloco macro

controle_freq. O diagrama tem como portas de entradas um barramento de 16 bits para

a seleção de frequência, além de um bit de clock e um bit para controle de agilidade. Na

saída tem um barramento de 16 bits que representam a frequência escolhida pelo

usuário. O diagrama macro é composto pelo diagrama de bloco nomeado de

agilidade_freq e uma função parametrizada add_sub.

O diagrama agilidade_freq, que representa uma entidade de mesmo nome,

recebe como entrada os 16 bits de frequência, um bit de clock e um bit de controle de

atenuação. Em suas portas de saída, tem-se os mesmos 16 bits de frequência, um

barramento de 16 bits chamado de operador e um bit de controle de operação. A

arquitetura desta entidade é uma máquina de estados finita de 10 estados. Caso o bit de

Page 29: gerador de sinais radar para utilização em campo

18

controle de atenuação seja 0, a máquina mantém o estado em que o barramento

operador recebe o nível 0 nos 16 bits. Caso a opção de agilidade tenha sido selecionada,

o bit de controle recebe o nível 1 e a máquina passa a mudar de estados de acordo com o

evento de clock e enquanto o bit de controle permanecer em nível alto. Conforme visto

no capítulo 3, a agilidade linear é uma variação de até 0,5 GHz para mais ou para menos

em torno da frequência escolhida. Em cada um dos dez estados da máquina, o

barramento operador recebe um valor que representa a diferença de 0,1 GHz do estado

anterior ou do próximo estado. Durante os cinco primeiros estados o bit de controle de

operação recebe o valor 0, representando uma posterior subtração. Nos estados seguinte,

esse valor é 1, representando a adição.

A função add_sub realiza operações de adição e subtração. Recebe em suas

portas de entrada o barramento de 16 bits com a frequência selecionada pelo usuário, o

barramento operador e o bit que define o tipo de operação. O resultado da operação é

um barramento também de 16 bits que seleciona a frequência no DTO.

Figura 5.2 – Diagrama do controle_freq.

5.1.3 – Gerador de PRI e LP

Três diagramas de blocos representam a geração de PRI e de LP: controle_pri,

gerpri e gerlp.

O diagrama controle_pri, que representa uma entidade de mesmo nome, tem

como portas de entrada quatro barramentos de cinco bits, que representam os ponteiros

de todas a PRI’s possíveis selecionadas pelo usuário. Possui também uma porta de clock

e uma de enable, Como porta de saída tem-se o ponteiro da PRI selecionada. A

arquitetura da entidade é uma máquina de estados: caso o usuário tenha optado por

gerar uma PRI estável, a porta enable recebe o bit 0 e tem-se na saída o endereço de

uma única PRI selecionada. Para a PRI Staggered, a porta enable recebe o bit 1, a

Page 30: gerador de sinais radar para utilização em campo

19

máquina muda de estados a cada evento de clock e joga naquele momento o endereço da

PRI selecionada na porta de saída.

Uma função parametrizada de memória ROM, recebe esse endereço e tem-se

então na saída uma palavra de 12 bits associada às PRI’s selecionadas.

O diagrama gerpri tem como portas de entrada um barramento de 12 bits e um

clock, e como saída um bit chamado de clk_pri. O diagrama é composto pelas funções

parametrizadas counter e compare. A primeira é um contador que foi especificado para

fazer contagens crescentes de até 12 bits, de acordo com o clock do sistema. A

contagem é reiniciada por uma porta de clear assíncrono. A segunda função recebe em

uma das portas de entrada esta contagem. Na outra porta recebe a palavra de bits

associada à PRI selecionada. Os valores são comparados e toda vez que forem idênticos

a porta de saída recebe o bit 1, e reinicia a contagem. Essa porta de saída é também a

saída do diagrama e representa um clock para geração de PRI.

O diagrama gerlp tem como portas de entrada um barramento de nove bits, um

bit de clock do sistema e um bit do clock de PRI. Como saída tem um bit do clock,

basicamente uma divisão do clock do sistema, que atua sobre o switch, gerando um

pulso com a LP e a PRI desejadas. Este diagrama, de forma análoga ao anterior, é

composto pelas funções parametrizadas counter e compare, além de dois flip-flop D. O

primeiro flip-flop D, com preset e clear assíncrono, tem entrada fixada em nível alto e o

clock de transição é aquele gerado pelo diagrama gerpri. A saída do dispositivo é ligada

na entrada do segundo flip-flop, na entrada que habilita do contador e, após passar por

um inversor, na entrada de clear do contador. O segundo flip-flop, mantém o nível de

entrada do sinal, operando com o clock do sistema. O comparador, por sua vez, recebe

em uma das portas de entrada os nove bits da contagem e os compara com os nove bits

que representam ao LP selecionada pelo usuário. A cada valor idêntico, a saída do

comparador recebe nível alto. Esse valor aciona o clear do primeiro flip-flop, jogando

nível baixo na saída. A saída do segundo flip-flop representa então a saída do diagrama.

Page 31: gerador de sinais radar para utilização em campo

20

Figura 5.3 – Diagrama do gerador de PRI e LP.

5.1.4 – Controle do Atenuador

A diagrama Atenua, que representa uma entidade de mesmo nome, tem como

portas de entrada um bit de clock e um bit de enable, e como porta de saída um

barramento de 10 bits ligado ao dispositivo atenuador. O bit enable recebe o comando

de selecionado pelo usuário. Caso a opção de varredura não tenha sido selecionado, o

bit recebe o valor 0 e o barramento de saída para o atenuador manter tem os bits em

nível baixo, ou seja, não é feita a atenuação. Caso contrário, o bit recebe o valor 1 e a

cada evento de clock, um contador atenua o nível de RF até o limite máximo, onde

então é simulado o espaço entre o ciclo de varredura atual e o próximo.

Figura 5.4 – Diagrama do Atenuador.

5.2 – Ambiente de Desenvolvimento Qt e C++

Para simular e testar o gerador de sinais radar foi criado um software utilizado o

ambiente de desenvolvimento Qt Creator. Nele foram criados a interface gráfica e os

algoritmos utilizando a linguagem de programação C++, que passam os parâmetros

escolhidos pelo usuário para gerar o tipo de sinal radar desejado.

Page 32: gerador de sinais radar para utilização em campo

21

A interface (Figura 5.5) foi criada para ser utilizada de maneira rápida e fácil.

Nela é possível escolher a frequência desejada, a possibilidade de gerar agilidade linear

em frequência, escolher a largura de pulso, a varredura, e o intervalo de repetição de

pulso.

Figura 5.5 – Interface gráfica do software.

5.2.1 – Cálculo da Frequência

Ao escolher a frequência que se deseja simular, o software realiza o cálculo da

palavra de bits associada. Conforme explicado no capítulo anterior, o DTO trabalha

com uma palavra de 16 bits, sendo 14 bits de controle 2 bits de seleção de banda.

Page 33: gerador de sinais radar para utilização em campo

22

Primeiro calcula-se o valor decimal associado à frequência desejada, utilizando a

seguinte fórmula:

𝑓𝑑 = (𝑓𝑠𝑒𝑙 − 𝑓𝑖

𝑓𝑓 − 𝑓𝑖) × 214

onde:

𝑓𝑑 = 𝑓𝑟𝑒𝑞𝑢ê𝑛𝑐𝑖𝑎 𝑒𝑚 𝑑𝑒𝑐𝑖𝑚𝑎𝑙;

𝑓𝑠𝑒𝑙 = 𝑓𝑟𝑒𝑞𝑢ê𝑛𝑐𝑖𝑎 𝑠𝑒𝑙𝑒𝑐𝑖𝑜𝑛𝑎𝑑𝑎 𝑝𝑒𝑙𝑜 𝑢𝑠𝑢á𝑟𝑖𝑜;

𝑓𝑖 = 𝑓𝑟𝑒𝑞𝑢ê𝑛𝑐𝑖𝑎 𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑑𝑒 𝑢𝑚𝑎 𝑑𝑒𝑡𝑒𝑟𝑚𝑖𝑛𝑎𝑑𝑎 𝑏𝑎𝑛𝑑𝑎;

𝑓𝑓 = 𝑓𝑟𝑒𝑞𝑢ê𝑛𝑐𝑖𝑎 𝑓𝑖𝑛𝑎𝑙 𝑑𝑒 𝑢𝑚𝑎 𝑑𝑒𝑡𝑒𝑟𝑚𝑖𝑛𝑎𝑑𝑎 𝑏𝑎𝑛𝑑𝑎;

Feito esse cálculo, o resultado é convertido em uma palavra binária com 14 bits,

que representa a frequência selecionada pelo usuário. A tabela com todos os valores

pode ser encontrada no apêndice C. Para a seleção de uma das três bandas de

frequência, 2 bits são indexados a esta palavra, e então duas palavras de 8 bits são

transmitidas via porta serial.

5.2.2 – Tempos de PRI

Ao escolher um tempo de PRI é feito uma conversão para uma palavra serial

sequencial de cinco bits iniciando em 00000 até 11100. Estes valores servem como

ponteiros para os valores dos divisores de frequência em um arquivo de memória na

FPGA, conforme descrito no capítulo anterior.

5.2.3– Agilidade em frequência

A opção de agilidade linear em frequência está condicionada à seleção de um

check-box. Se esta opção estiver selecionada um bit de controle recebe o valor 1. Caso

contrário, o bit enviado recebe o valor 0.

Page 34: gerador de sinais radar para utilização em campo

23

5.2.4 – Variação de PRI

Como é possível fazer variações na PRI é enviado também um bit de controle,

que define entre um PRI constante ou staggered. Caso a opção seja PRI constante, o bit

de controle recebe o valor 0. Já para a PRI staggered o valor recebido é 1.

5.2.5 – Varredura Circular

A opção de varredura circular está condicionada também à seleção de um check-

box. O bit de controle recebo o valor 0 caso não seja desejado simular o padrão de

varredura. Caso contrário, o valor recebido é 1.

As variações destes três bits de controle são comparadas e enviados via porta

serial.

Agilidade Variação de

PRI

Varredura

Circular

Bits de

Controle

0 0 0 000

0 0 1 001

0 1 0 010

0 1 1 011

1 0 0 100

1 0 1 101

1 1 0 110

1 1 1 111

Tabela 5.1 – Bits de Controle

Page 35: gerador de sinais radar para utilização em campo

24

Capítulo 6

Simulações

As simulações do gerador de sinais radar foram realizadas no laboratório de RF

do IPqM. O gerador radar foi acoplado em uma antena que transmite o sinal através de

uma câmara anecóica. O sinal que sai da câmara é analisado pelo sistema de

reconhecimento MAGE. O pulso radar gerado foi medido também por analisadores de

espectro e osciloscópios, para certificar que o sinal reconhecido pelo MAGE era

idêntico ao sinal gerado pelo equipamento desenvolvido.

Diversos cenários, com diversos tipos de parâmetros escolhidos foram

simulados.

Page 36: gerador de sinais radar para utilização em campo

25

6.1 – Cenário 1

Neste cenário foi simulado um radar com as seguintes características:

Frequência de 6GHz;

Largura de Pulso de 0,5 us;

Intervalo de Repetição de Pulso constante de 0,01 ms;

Os resultados no analisador de espectro e no osciloscópio foram as seguintes:

Figura 6.1 – Resultado analisador de espectro no cenário 1

Figura 6.2 – Resultado osciloscópio no cenário 1

Page 37: gerador de sinais radar para utilização em campo

26

6.2 – Cenário 2

Neste cenário foi simulado um radar com as seguintes características:

Frequência de 12GHz;

Intervalo de Repetição de Pulso staggered em 2 níveis;

Varredura Circular

Os resultados no analisador de espectro e no osciloscópio foram as seguintes:

Figura 6.3 – Resultado analisador de espectro no cenário 2

Figura 6.4 – Resultado osciloscópio no cenário 2

Page 38: gerador de sinais radar para utilização em campo

27

6.3 – Cenário 3

Neste cenário foi simulado um radar com as seguintes características:

Frequência de 6GHz;

Varredura Circular

Os resultados no analisador de espectro e no osciloscópio foram as seguintes:

Figura 6.5 – Resultado analisador de espectro no cenário 3

Figura 6.6 – Resultado osciloscópio no cenário 3

Page 39: gerador de sinais radar para utilização em campo

28

6.4 – Cenário 4

Neste cenário foi simulado um radar com as seguintes características:

Frequência de 8GHz;

Intervalo de Repetição de Pulso staggered em 2 níveis – 1ms e 1,5ms;

Os resultados no analisador de espectro e no osciloscópio foram as seguintes:

Figura 6.7 – Resultado analisador de espectro no cenário 4

Figura 6.8 – Resultado osciloscópio no cenário 4

Page 40: gerador de sinais radar para utilização em campo

29

Figura 6.9 – Resultado osciloscópio no cenário 4

6.5 – Cenário 5

Neste cenário foi simulado um radar com as seguintes características:

Frequência de 8GHz com agilidade linear;

O resultado no analisador de espectro foi a seguinte:

Figura 6.10 – Resultado analisador de espectro no cenário 5

Page 41: gerador de sinais radar para utilização em campo

30

Capítulo 7

Conclusões

O desenvolvimento de novas tecnologias, de modo geral, tem ocorrido muito

rapidamente, e as pesquisas em guerra eletrônica acompanham este ritmo. Por isso, o

desenvolvimento do Gerador de Sinais Radar foi desafiador e gratificante. Com a

utilização desta ferramenta, foi possível observar o funcionamento dos equipamentos de

medida de apoio à guerra eletrônica da Marinha do Brasil, fazendo simulações de

detecção de classificação de emissões de radar.

O Gerador de Sinais Radar reproduz a emissão de parâmetros de alguns dos

principais radares utilizados. Ainda assim, a simulação de alguns parâmetros não

abordados neste projeto, como varreduras cônica e setorial, que demandariam

movimentação mecânica, ou realizar a inversão de fases dentro de um pulso, simulando

um código Barker, ficam com ideias para o aperfeiçoamento desta ferramenta no futuro.

Page 42: gerador de sinais radar para utilização em campo

31

Bibliografia

[1] SCHLEHER, D. C., Electronic Warfare in the Information Age. Boston, Artec

House, 1999.

[2] DARGAN, D., Alguns tópicos sobre MAGE. Trabalho técnico – IPqM. Rio de

Janeiro, 1994.

[3] VILLAREAL, L., “Radar Systems”, Naval Education and Training Command, v.4,

1993.

[4] SLOAN, F. E., COTE, G. J., “Radar Principles”, Naval Education and Training

Command, pp. 1-2, 1998.

[5] ERCEGOVAC, M., LANG, T., MORENO, J. H., Introdução aos Sistemas Digitais.

Porto Alegre, Bookman, 2000

[6] HERLEY, “Digitally Tuned Oscilator (DTO) Selection Guide”, http://herley.com

(Acesso em 15 Julho 2012).

[7] Wiegand, R. J., Radar Electronic Countermeasures System Desing. Boston, Artech

House, 1991

[8] HERLEY, “10 Bit Digital PIN Diode Attenuators Selection Guide”,

http://herley.com (Acesso em 15 Julho 2013).

Page 43: gerador de sinais radar para utilização em campo

32

Apêndice A

Esquemáticos

Page 44: gerador de sinais radar para utilização em campo

33

clo

ck_div

CLK

_2M

CLK

_4M

Data

_IN

[7..

0]

refre

q_in

[15..

0]

init_ate

nua

pri1[4

..0]

pri2[4

..0]

pri3[4

..0]

pri4[4

..0]

sta

g_en

lp_bits[8

..0]

agilid

ade_en

VC

CS

erial_

ININ

PU

T

VC

CC

LK

_6M

INP

UT

VC

CC

LK

_4M

INP

UT

Data

_S

hif

t[15..

0]

OU

TP

UT

Serial_

Out

OU

TP

UT

ate

nuador[

9..

0]

OU

TP

UT

Sw

itch

OU

TP

UT

clk

Sta

rt

LP

Cont_

3B

it

inst6

clo

ck_div

seria

l_data

_in

CLK

_2M

Cle

ar_In

parale

lo_data

_out[8..1]

enable

reset

regis

trador_z

inst1

0

OR

2

inst1

1

NO

T

inst1

2

Hab_S

tart

Dado[1

5..0]

Clk

Dado_1[7

..0]

STO

P

STO

P2

Load_Es

Sta

rt_

Es

Div

_D

ado

inst1

7

Data

_D

[7..0]

Load

clo

ck_div

Sta

rt

CLK

_2M

Ena

Seria

l_O

ut

enable

reset_

out

Tx_Para_S

er

inst

CLK

_6M

clo

ck_div

Div

_C

LK

_625

inst1

up c

ounte

r

clo

ck

q[0

]

lpm

_counte

r0

inst2 C

LK

_2M

lp_sta

rt

lp_bits[8

..0]

lp

gerlp

inst4

address[4

..0]

q[1

1..0]

lpm

_ro

m0

inst8

NO

T

inst1

4

CLK

_2M

pri1

_bits[1

1..0]

pri

gerpri

ins

t3

clk

enable

pri1[4

..0]

pri2[4

..0]

pri3[4

..0]

pri4[4

..0]

pri_sel[4..

0]

contr

ole

_pri

inst1

3

clk

_agilid

ade

agilid

ade_en

freq_in

[15..0]

freq_out[15..0]

contr

ole

_freq

inst1

5

clk

enable

AT[9

..0]

Ate

nua

inst7

clk

Din

[7..

0]

Qout[

15..

0]

agilid

ade_en

Sta

rt

Ate

nuador

pri1[4

..0]

pri2[4

..0]

pri3[4

..0]

pri4[4

..0]

sta

ggere

d_en

lp[8

..0]

Cic

lo_P

res

inst5

CLK

_6M

CLK

_2M

Hab_S

tart

clo

ck_div

CLK

_2M

STO

P

Data

_IN

[7..

0]

enable

_in

re

clk

_pri

sta

g_en

pri1[4

..0]

pri2[4

..0]

pri3[4

..0]

pri4[4

..0]

pri_sel[4..

0]

CLK

_2M

pri_bits[1

1..

0]

lp_bits[8

..0]

CLK

_2M

lp

clk

_pri

clk

_pri

lp

init_ate

nua

CLK

_2M

Data

_S

hif

t[15..

0]

Dado_1[7

..0]

STO

P

STO

P2

Load_E

s

Sta

rt_E

s

Hab_S

tart

reset_

out

fre

q_in

[15..

0]

agilid

ade_en

lp

Dado_1[7

..0]

Load_E

s

clo

ck_div

Sta

rt_E

s

CLK

_2M

STO

P2

enalb

le

reset_

out

Page 45: gerador de sinais radar para utilização em campo

34

Page 46: gerador de sinais radar para utilização em campo

35

Page 47: gerador de sinais radar para utilização em campo

36

Apêndice B

Códigos fonte

geradorradar.h

#ifndef GERADORRADAR_H

#define GERADORRADAR_H

#include <QMainWindow>

#include <qextserialport.h>

#include <QBitArray>

namespace Ui {

class GeradorRadar;

}

class GeradorRadar : public QMainWindow {

Q_OBJECT

public:

GeradorRadar(QWidget *parent = 0);

~GeradorRadar();

protected:

void changeEvent(QEvent *e);

QByteArray frequencyConvertion(double);

QByteArray priConvertion(int);

QByteArray lpConvertion(int);

private slots:

void transmit();

private:

Ui::GeradorRadar *ui;

double frequency;

double lp;

double pri;

QextSerialPort *port;

};

#endif // GERADORRADAR_H

geradorradar.cpp

#include "geradorradar.h"

#include "ui_geradorradar.h"

#include <qextserialport.h>

#include <QtGui/QApplication>

#include <QMessageBox>

#include <QBitArray>

#include <QString>

GeradorRadar::GeradorRadar(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::GeradorRadar)

{

ui->setupUi(this);

}

Page 48: gerador de sinais radar para utilização em campo

37

GeradorRadar::~GeradorRadar()

{

delete ui;

}

QByteArray GeradorRadar::frequencyConvertion(double frequency)

{

QByteArray data, binFreq;

int decFreq, hexFreq;

bool ok;

if (frequency == 6.0)

data = QByteArray::fromHex("0002");

else if (frequency < 9.0)

{

decFreq = ((frequency - 6.0)/3.0)*16384;

binFreq = QByteArray::number(decFreq,2);

binFreq.append("10");

hexFreq = binFreq.toInt(&ok, 2);

if (!ok)

QMessageBox::warning( this, "Error","Could not trasmit

correctly");

data = QByteArray::fromHex(QByteArray::number(hexFreq,16));

}

else if (frequency == 9.0)

data = QByteArray::fromHex("0001");

else if ((frequency > 9.0) & (frequency <= 12.5))

{

decFreq = ((frequency - 9.0)/3.5)*16383;

binFreq = QByteArray::number(decFreq,2);

binFreq.append("01");

hexFreq = binFreq.toInt(&ok, 2);

if (!ok)

QMessageBox::warning(this, "Error","Could not trasmit

correctly. Try Again");

data = QByteArray::fromHex(QByteArray::number(hexFreq,16));

}

else if ((frequency > 12.5) & (frequency <= 18.0))

{

decFreq = ((frequency - 12.5)/5.5)*16383;

binFreq = QByteArray::number(decFreq,2);

binFreq.append("11");

hexFreq = binFreq.toInt(&ok, 2);

if (!ok)

QMessageBox::warning( this, "Error","Could not trasmit

correctly");

data = QByteArray::fromHex(QByteArray::number(hexFreq,16));

}

return data;

}

QByteArray GeradorRadar::priConvertion(int chave)

{

QByteArray data;

if (chave == 0) data = QByteArray::fromHex("00");

else if (chave == 1) data = QByteArray::fromHex("01");

else if (chave == 2) data = QByteArray::fromHex("02");

else if (chave == 3) data = QByteArray::fromHex("03");

else if (chave == 4) data = QByteArray::fromHex("04");

else if (chave == 5) data = QByteArray::fromHex("05");

else if (chave == 6) data = QByteArray::fromHex("06");

else if (chave == 7) data = QByteArray::fromHex("07");

Page 49: gerador de sinais radar para utilização em campo

38

else if (chave == 8) data = QByteArray::fromHex("08");

else if (chave == 9) data = QByteArray::fromHex("09");

else if (chave == 10) data = QByteArray::fromHex("0A");

else if (chave == 11) data = QByteArray::fromHex("0B");

else if (chave == 12) data = QByteArray::fromHex("0C");

else if (chave == 13) data = QByteArray::fromHex("0D");

else if (chave == 14) data = QByteArray::fromHex("0E");

else if (chave == 15) data = QByteArray::fromHex("0F");

else if (chave == 16) data = QByteArray::fromHex("10");

else if (chave == 17) data = QByteArray::fromHex("11");

else if (chave == 18) data = QByteArray::fromHex("12");

else if (chave == 19) data = QByteArray::fromHex("13");

else if (chave == 20) data = QByteArray::fromHex("14");

else if (chave == 21) data = QByteArray::fromHex("15");

else if (chave == 22) data = QByteArray::fromHex("16");

else if (chave == 23) data = QByteArray::fromHex("17");

else if (chave == 24) data = QByteArray::fromHex("18");

else if (chave == 25) data = QByteArray::fromHex("19");

else if (chave == 26) data = QByteArray::fromHex("1A");

else if (chave == 27) data = QByteArray::fromHex("1B");

else if (chave == 28) data = QByteArray::fromHex("1C");

return data;

}

QByteArray GeradorRadar::lpConvertion(int chave)

{

QByteArray data;

if (chave == 0) data = QByteArray::fromHex("01");

else if (chave == 1) data = QByteArray::fromHex("02");

else if (chave == 2) data = QByteArray::fromHex("03");

else if (chave == 3) data = QByteArray::fromHex("04");

else if (chave == 4) data = QByteArray::fromHex("05");

else if (chave == 5) data = QByteArray::fromHex("06");

else if (chave == 6) data = QByteArray::fromHex("07");

else if (chave == 7) data = QByteArray::fromHex("08");

else if (chave == 8) data = QByteArray::fromHex("09");

else if (chave == 9) data = QByteArray::fromHex("0A");

else if (chave == 10) data = QByteArray::fromHex("0B");

else if (chave == 11) data = QByteArray::fromHex("0C");

else if (chave == 12) data = QByteArray::fromHex("0D");

else if (chave == 13) data = QByteArray::fromHex("0E");

else if (chave == 14) data = QByteArray::fromHex("0F");

else if (chave == 15) data = QByteArray::fromHex("10");

else if (chave == 16) data = QByteArray::fromHex("11");

else if (chave == 17) data = QByteArray::fromHex("12");

else if (chave == 18) data = QByteArray::fromHex("13");

else if (chave == 19) data = QByteArray::fromHex("14");

else if (chave == 20) data = QByteArray::fromHex("28");

else if (chave == 21) data = QByteArray::fromHex("3C");

else if (chave == 22) data = QByteArray::fromHex("50");

else if (chave == 23) data = QByteArray::fromHex("64");

else if (chave == 24) data = QByteArray::fromHex("78");

else if (chave == 25) data = QByteArray::fromHex("8C");

else if (chave == 26) data = QByteArray::fromHex("A0");

else if (chave == 27) data = QByteArray::fromHex("B4");

else if (chave == 28) data = QByteArray::fromHex("C8");

else if (chave == 29) data = QByteArray::fromHex("90");

return data;

}

void GeradorRadar::transmit()

Page 50: gerador de sinais radar para utilização em campo

39

{

QByteArray bytes;

bool ctrlDto, ctrlPri, ctrlAtenuador;

//Abrir Porta Serial

port = new QextSerialPort("COM1");

port->open(QIODevice::ReadWrite | QIODevice::Unbuffered);

if (port->isOpen())

{

port->setBaudRate(BAUD9600);

port->setFlowControl(FLOW_OFF);

port->setParity(PAR_NONE);

port->setDataBits(DATA_8);

port->setStopBits(STOP_1);

}

else QMessageBox::warning(this,"Error","Serial Port is not open");

// DTO

QByteArray dto = GeradorRadar::frequencyConvertion(ui-

>frequenciaDoubleSpinBox->value());

bytes.append(dto);

if (ui->agilidadeLinearCheckBox->isChecked()) ctrlDto = 1;

else ctrlDto = 0;

//PRI

QByteArray pri1 = GeradorRadar::priConvertion(ui->pri1ComboBox-

>currentIndex());

QByteArray pri2 = GeradorRadar::priConvertion(ui->pri2ComboBox-

>currentIndex());

QByteArray pri3 = GeradorRadar::priConvertion(ui->pri3ComboBox-

>currentIndex());

QByteArray pri4 = GeradorRadar::priConvertion(ui->pri4ComboBox-

>currentIndex());

if (ui->constanteRadioButton->isChecked())

{

ctrlPri = 0;

bytes.append(pri1);

bytes.append(pri2);

bytes.append(pri3);

bytes.append(pri4);

}

else if (ui->stagerred2RadioButton->isChecked())

{

ctrlPri = 1;

bytes.append(pri1);

bytes.append(pri2);

bytes.append(pri1);

bytes.append(pri2);

}

else if (ui->stagerred3RadioButton->isChecked())

{

ctrlPri = 1;

bytes.append(pri1);

bytes.append(pri2);

bytes.append(pri3);

bytes.append(QByteArray::fromHex("FF"));

}

else if (ui->stagerred4RadioButton->isChecked())

{

ctrlPri = 1;

bytes.append(pri1);

bytes.append(pri2);

Page 51: gerador de sinais radar para utilização em campo

40

bytes.append(pri3);

bytes.append(pri4);

}

//LP

QByteArray lp = GeradorRadar::lpConvertion(ui->lpComboBox-

>currentIndex());

bytes.append(lp);

//Atenuador

if (ui->varreduraCheckBox->isChecked()) ctrlAtenuador = 1;

else ctrlAtenuador = 0;

//Bits de Controle

if ((ctrlDto == 0) & (ctrlPri == 0) & (ctrlAtenuador == 0))

bytes.append(QByteArray::fromHex("00"));

else if ((ctrlDto == 0) & (ctrlPri == 0) & (ctrlAtenuador == 1))

bytes.append(QByteArray::fromHex("01"));

else if ((ctrlDto == 0) & (ctrlPri == 1) & (ctrlAtenuador == 0))

bytes.append(QByteArray::fromHex("02"));

else if ((ctrlDto == 0) & (ctrlPri == 1) & (ctrlAtenuador == 1))

bytes.append(QByteArray::fromHex("03"));

else if ((ctrlDto == 1) & (ctrlPri == 0) & (ctrlAtenuador == 0))

bytes.append(QByteArray::fromHex("04"));

else if ((ctrlDto == 1) & (ctrlPri == 0) & (ctrlAtenuador == 1))

bytes.append(QByteArray::fromHex("05"));

else if ((ctrlDto == 1) & (ctrlPri == 1) & (ctrlAtenuador == 0))

bytes.append(QByteArray::fromHex("06"));

else if ((ctrlDto == 1) & (ctrlPri == 1) & (ctrlAtenuador == 1))

bytes.append(QByteArray::fromHex("07"));

//Transmissão

port->write(bytes);

//Fechar Porta Serial

port->close();

}

void GeradorRadar::changeEvent(QEvent *e)

{

QMainWindow::changeEvent(e);

switch (e->type()) {

case QEvent::LanguageChange:

ui->retranslateUi(this);

break;

default:

break;

}

}

---------------------------------------------

LIBRARY ieee;

USE ieee.std_logic_1164.all;

Page 52: gerador de sinais radar para utilização em campo

41

---------------------------------------------

ENTITY Ciclo_Pres IS

PORT (

clk: IN STD_LOGIC;

En_In: IN STD_LOGIC;

Din: IN STD_LOGIC_VECTOR (7 DOWNTO 0);

Qout: OUT STD_LOGIC_VECTOR (15 DOWNTO 0);

agilidade_en : OUT STD_LOGIC;

Start: OUT STD_LOGIC:='1';

Atenuador: OUT STD_LOGIC;

pri1: OUT STD_LOGIC_VECTOR (4 DOWNTO 0);

pri2: OUT STD_LOGIC_VECTOR (4 DOWNTO 0);

pri3: OUT STD_LOGIC_VECTOR (4 DOWNTO 0);

pri4: OUT STD_LOGIC_VECTOR (4 DOWNTO 0);

staggered_en : OUT STD_LOGIC ;

lp: OUT STD_LOGIC_VECTOR (8 DOWNTO 0)

);

END Ciclo_Pres;

---------------------------------------------

ARCHITECTURE cp OF Ciclo_Pres IS

BEGIN

PROCESS (Din, clk)

VARIABLE count: INTEGER := 0;

VARIABLE temp1: STD_LOGIC_VECTOR (7 DOWNTO 0);

VARIABLE temp2: STD_LOGIC_VECTOR (7 DOWNTO 0);

VARIABLE temp3: STD_LOGIC_VECTOR (7 DOWNTO 0);

VARIABLE temp4: STD_LOGIC_VECTOR (7 DOWNTO 0);

VARIABLE temp5: STD_LOGIC_VECTOR (7 DOWNTO 0);

VARIABLE temp6: STD_LOGIC_VECTOR (7 DOWNTO 0);

VARIABLE temp7: STD_LOGIC_VECTOR (7 DOWNTO 0);

VARIABLE temp8: STD_LOGIC_VECTOR (7 DOWNTO 0);

VARIABLE temp9: STD_LOGIC_VECTOR (15 DOWNTO 0);

BEGIN

IF (clk'event and clk='1') THEN

count := count + 1;

IF (count = 1) THEN

temp1 := Din;

Start <= '0';

ELSIF (count = 2) THEN

temp2 := Din;

Start <= '0';

ELSIF (count = 3) THEN

temp3 := Din;

Start <= '0';

ELSIF (count = 4) THEN

temp4 := Din;

Start <= '0';

ELSIF (count = 5) THEN

temp5 := Din;

Start <= '0';

ELSIF (count = 6) THEN

temp6 := Din;

Start <= '0';

ELSIF (count = 7) THEN

temp7 := Din;

Start <= '0';

ELSIF (count = 8) THEN

temp8 := Din;

count := 0;

Page 53: gerador de sinais radar para utilização em campo

42

Start <= '1';

END IF;

END IF;

--DTO

temp9 := (temp1(7 DOWNTO 0) & temp2(7 DOWNTO 0));

Qout <= temp9;

--PRI

pri1 <= temp3(4 DOWNTO 0);

pri2 <= temp4(4 DOWNTO 0);

pri3 <= temp5(4 DOWNTO 0);

pri4 <= temp6(4 DOWNTO 0);

--LP

if (temp7 = "10010000") then

lp <= ('1' & temp7);

else

lp <= ('0' & temp7);

end if;

--Bits Controle

agilidade_en <= temp8(2);

staggered_en <= temp8(1);

Atenuador <= temp8(0);

END PROCESS;

END cp;

-------------------------------------------------

---------------------------------------------

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.NUMERIC_BIT.ALL;

USE IEEE.STD_LOGIC_ARITH.all;

---------------------------------------------

ENTITY controle_pri IS

PORT (

clk: IN std_logic;

enable: IN std_logic;

pri1: IN STD_LOGIC_VECTOR (4 DOWNTO 0);

pri2: IN STD_LOGIC_VECTOR (4 DOWNTO 0);

pri3: IN STD_LOGIC_VECTOR (4 DOWNTO 0);

pri4: IN STD_LOGIC_VECTOR (4 DOWNTO 0);

pri_sel: OUT STD_LOGIC_VECTOR (4 DOWNTO 0)

);

END controle_pri;

Page 54: gerador de sinais radar para utilização em campo

43

---------------------------------------------

ARCHITECTURE cp OF controle_pri IS

TYPE STATE_TYPE IS (s0, s1, s2, s3);

SIGNAL state : STATE_TYPE := s0;

BEGIN

PROCESS (clk, enable)

BEGIN

if (enable = '0') then

state <= s0;

elsif (clk'event and clk='1') then

CASE state IS

WHEN s0=>

IF enable = '1' THEN

state <= s1;

ELSE

state <= s0;

END IF;

WHEN s1=>

IF enable = '1' THEN

state <= s2;

ELSE

state <= s1;

END IF;

WHEN s2=>

IF enable = '1' THEN

state <= s3;

ELSE

state <= s2;

END IF;

WHEN s3=>

IF enable = '1' THEN

state <= s0;

ELSE

state <= s3;

END IF;

END CASE;

END IF;

END PROCESS;

PROCESS (state, pri1, pri2, pri3, pri4)

BEGIN

CASE state IS

WHEN s0 =>

pri_sel <= pri1;

WHEN s1 =>

pri_sel <= pri2;

WHEN s2 =>

pri_sel <= pri3;

WHEN s3 =>

Page 55: gerador de sinais radar para utilização em campo

44

pri_sel <= pri4;

END CASE;

END PROCESS;

END cp;

---------------------------------------------

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.NUMERIC_BIT.ALL;

USE IEEE.STD_LOGIC_ARITH.all;

---------------------------------------------

ENTITY Atenua IS

PORT ( clk: IN std_logic;

enable : IN STD_LOGIC;

AT: OUT std_logic_vector (9 DOWNTO 0)

);

END Atenua;

---------------------------------------------

ARCHITECTURE sh OF Atenua IS

SIGNAL temp : std_logic_vector(4 downto 0) := "11111";

SIGNAL aux : integer := 0;

BEGIN

PROCESS (clk, enable)

BEGIN

if (enable = '0') then

AT <= "0000000000";

else

if (clk'event and clk='1') then

aux <= aux + 1 ;

if (aux < 8) then

temp <= temp - "00011";

AT <= ('0' & temp & "0000");

elsif (aux >= 8 and aux < 17) then

temp <= temp + "00011";

AT <= ('0' & temp & "0000");

elsif (aux >= 17 and aux < 4000) then

AT <= "1111111111";

else

aux <= 0;

temp <= "11111";

end if;

end if;

end if;

END PROCESS;

Page 56: gerador de sinais radar para utilização em campo

45

END sh;

-------------------------------------------------

-------------------------------------------

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.NUMERIC_BIT.ALL;

USE IEEE.STD_LOGIC_ARITH.all;

use IEEE.numeric_std.all;

---------------------------------------------

ENTITY agilidade_freq IS

PORT ( clk: IN std_logic;

input: IN std_logic;

freq_in : IN STD_LOGIC_VECTOR (15 DOWNTO 0);

add_sub : OUT STD_LOGIC;

freq_out: OUT std_logic_vector (15 DOWNTO 0);

operador: OUT STD_LOGIC_VECTOR (15 DOWNTO 0)

);

END agilidade_freq;

---------------------------------------------

ARCHITECTURE af OF agilidade_freq IS

TYPE STATE_TYPE IS (s0, s1, s2,s3, s4, s5,s6, s7, s8,s9, s10);

SIGNAL state : STATE_TYPE;

signal binario_in : std_ulogic_vector(15 downto 0);

signal inteiro : integer;

signal binario_out : std_ulogic_vector(15 downto 0);

--

BEGIN

PROCESS (clk, input)

BEGIN

if (input = '0') then

state <= s5;

elsif (clk'event and clk='1') then

CASE state IS

WHEN s0=>

IF input = '1' THEN

state <= s1;

ELSE

state <= s0;

END IF;

WHEN s1=>

IF input = '1' THEN

state <= s2;

ELSE

Page 57: gerador de sinais radar para utilização em campo

46

state <= s1;

END IF;

WHEN s2=>

IF input = '1' THEN

state <= s3;

ELSE

state <= s2;

END IF;

WHEN s3=>

IF input = '1' THEN

state <= s4;

ELSE

state <= s3;

END IF;

WHEN s4=>

IF input = '1' THEN

state <= s5;

ELSE

state <= s4;

END IF;

WHEN s5=>

IF input = '1' THEN

state <= s6;

ELSE

state <= s5;

END IF;

WHEN s6=>

IF input = '1' THEN

state <= s7;

ELSE

state <= s6;

END IF;

WHEN s7=>

IF input = '1' THEN

state <= s8;

ELSE

state <= s7;

END IF;

WHEN s8=>

IF input = '1' THEN

state <= s9;

ELSE

state <= s8;

END IF;

WHEN s9=>

IF input = '1' THEN

state <= s10;

ELSE

state <= s9;

END IF;

Page 58: gerador de sinais radar para utilização em campo

47

WHEN s10=>

IF input = '1' THEN

state <= s0;

ELSE

state <= s10;

END IF;

END CASE;

END IF;

END PROCESS;

PROCESS (state, freq_in)

BEGIN

freq_out <= freq_in;

IF (freq_in(1 DOWNTO 0) = "01") THEN

CASE state IS

WHEN s0 =>

operador <= "0010101010101000";

add_sub <= '0';

WHEN s1 =>

operador <= "0010001000100000";

add_sub <= '0';

WHEN s2 =>

operador <= "0001100110011000";

add_sub <= '0';

WHEN s3 =>

operador <= "0001000100010000";

add_sub <= '0';

WHEN s4 =>

operador <= "0000100010001000";

add_sub <= '0';

WHEN s5 =>

operador <= "0000000000000000";

add_sub <= '1';

WHEN s6 =>

operador <= "0000100010001000";

add_sub <= '1';

WHEN s7 =>

operador <= "0001000100010000";

add_sub <= '1';

WHEN s8 =>

operador <= "0001100110011000";

add_sub <= '1';

WHEN s9 =>

operador <= "0010001000100000";

add_sub <= '1';

WHEN s10 =>

operador <= "0010101010101000";

add_sub <= '1';

END CASE;

ELSIF (freq_in(1 DOWNTO 0) = "10") THEN

Page 59: gerador de sinais radar para utilização em campo

48

CASE state IS

WHEN s0 =>

operador <= "0010010010010000";

add_sub <= '0';

WHEN s1 =>

operador <= "0001110101000000";

add_sub <= '0';

WHEN s2 =>

operador <= "0001010111110000";

add_sub <= '0';

WHEN s3 =>

operador <= "0000111010100000";

add_sub <= '0';

WHEN s4 =>

operador <= "0000011101010000";

add_sub <= '0';

WHEN s5 =>

operador <= "0000000000000000";

add_sub <= '1';

WHEN s6 =>

operador <= "0000011101010000";

add_sub <= '1';

WHEN s7 =>

operador <= "0000111010100000";

add_sub <= '1';

WHEN s8 =>

operador <= "0001010111110000";

add_sub <= '1';

WHEN s9 =>

operador <= "0001110101000000";

add_sub <= '1';

WHEN s10 =>

operador <= "0010010010010000";

add_sub <= '1';

END CASE;

ELSIF (freq_in(1 DOWNTO 0) = "11") THEN

CASE state IS

WHEN s0 =>

operador <= "0001011101001000";

add_sub <= '0';

WHEN s1 =>

operador <= "0001001010100000";

add_sub <= '0';

WHEN s2 =>

operador <= "0000110111111000";

add_sub <= '0';

WHEN s3 =>

operador <= "0000100101010000";

add_sub <= '0';

WHEN s4 =>

Page 60: gerador de sinais radar para utilização em campo

49

operador <= "0000010010101000";

add_sub <= '0';

WHEN s5 =>

operador <= "0000000000000000";

add_sub <= '1';

WHEN s6 =>

operador <= "0000010010101000";

add_sub <= '1';

WHEN s7 =>

operador <= "0000100101010000";

add_sub <= '1';

WHEN s8 =>

operador <= "0000110111111000";

add_sub <= '1';

WHEN s9 =>

operador <= "0001001010100000";

add_sub <= '1';

WHEN s10 =>

operador <= "0001011101001000";

add_sub <= '1';

END CASE;

END IF;

END PROCESS;

END af;

-------------------------------------------------

Page 61: gerador de sinais radar para utilização em campo

50

Apêndice C

Tabela de Frequências

BAND 1 - 10

BAND 2 - 01 Decimal Hexa Frequency

Decimal Hexa Frequency

0 0002 6 GHz

0 0001 9 GHz

546 088A 6,1 GHz

468 0751 9,1 GHz

1092 1112 6,2 GHz

936 0EA1 9,2 GHz

1638 199A 6,3 GHz

1404 15F1 9,3 GHz

2184 2222 6,4 GHz

1872 1D41 9,4 GHz

2730 2AAA 6,5 GHz

2340 2491 9,5 GHz

3276 3332 6,6 GHz

2808 2BE1 9,6 GHz

3822 3BBA 6,7 GHz

3276 3331 9,7 GHz

4369 4446 6,8 GHz

3744 3A81 9,8 GHz

4915 4CCE 6,9 GHz

4213 41D5 9,9 GHz

5461 5556 7 GHz

4681 4925 10 GHz

6007 5DDE 7,1 GHz

5149 5075 10,1 GHz

6553 6666 7,2 GHz

5617 57C5 10,2 GHz

7099 6EEE 7,3 GHz

6085 5F15 10,3 GHz

7645 7776 7,4 GHz

6553 6665 10,4 GHz

8192 8002 7,5 GHz

7021 6DB5 10,5 GHz

8738 888A 7,6 GHz

7489 7505 10,6 GHz

9284 9112 7,7 GHz

7957 7C55 10,7 GHz

9830 999A 7,8 GHz

8426 83A9 10,8 GHz

10376 A222 7,9 GHz

8894 8AF9 10,9 GHz

10922 AAAA 8 GHz

9362 9249 11 GHz

11468 B332 8,1 GHz

9830 9999 11,1 GHz

12014 BBBA 8,2 GHz

10298 A0E9 11,2 GHz

12560 C442 8,3 GHz

10766 A839 11,3 GHz

13106 CCCA 8,4 GHz

11234 AF89 11,4 GHz

13652 D552 8,5 GHz

11702 B6D9 11,5 GHz

14198 DDDA 8,6 GHz

12170 BE29 11,6 GHz

14745 E666 8,7 GHz

12639 C57D 11,7 GHz

15291 EEEE 8,8 GHz

13107 CCCD 11,8 GHz

15837 F776 8,9 GHz

13575 D41D 11,9 GHz

16383 FFFE 9 GHz

14043 DB6D 12 GHz

14511 E2BD 12,1 GHz

14979 EA0D 12,2 GHz

15447 F15D 12,3 GHz

15915 F8AD 12,4 GHz

16383 FFFD 12,5 GHz

Page 62: gerador de sinais radar para utilização em campo

51

BAND 3 - 11

Decimal Hexa Frequency

Decimal Hexa Frequency

0 0003 12,5 GHz

8340 8253 15,3 GHz

297 04A7 12,6 GHz

8638 86FB 15,4 GHz

595 094F 12,7 GHz

8936 8BA3 15,5 GHz

893 0DF7 12,8 GHz

9234 904B 15,6 GHz

1191 129F 12,9 GHz

9532 94F3 15,7 GHz

1489 1747 13 GHz

9830 999B 15,8 GHz

1787 1BEF 13,1 GHz

10128 9E43 15,9 GHz

2085 2097 13,2 GHz

10426 A2EB 16 GHz

2383 253F 13,3 GHz

10724 A793 16,1 GHz

2681 29E7 13,4 GHz

11021 AC37 16,2 GHz

2978 2E8B 13,5 GHz

11319 B0DF 16,3 GHz

3276 3333 13,6 GHz

11617 B587 16,4 GHz

3574 37DB 13,7 GHz

11915 BA2F 16,5 GHz

3872 3C83 13,8 GHz

12213 BED7 16,6 GHz

4170 412B 13,9 GHz

12511 C37F 16,7 GHz

4468 45D3 14 GHz

12809 C827 16,8 GHz

4766 4A7B 14,1 GHz

13107 CCCF 16,9 GHz

5064 4F23 14,2 GHz

13405 D177 17 GHz

5362 53CB 14,3 GHz

13702 D61B 17,1 GHz

5659 586F 14,4 GHz

14000 DAC3 17,2 GHz

5957 5D17 14,5 GHz

14298 DF6B 17,3 GHz

6255 61BF 14,6 GHz

14596 E413 17,4 GHz

6553 6667 14,7 GHz

14894 E8BB 17,5 GHz

6851 6B0F 14,8 GHz

15192 ED63 17,6 GHz

7149 6FB7 14,9 GHz

15490 F20B 17,7 GHz

7447 745F 15 GHz

15788 F6B3 17,8 GHz

7745 7907 15,1 GHz

16086 FB5B 17,9 GHz

8043 7DAF 15,2 GHz

16383 FFFF 18 GHz