recepción, demodulación y decodificación de la se˜nal de tiempo

111
Universidad de Costa Rica Facultad de Ingenier´ ıa Escuela de Ingenier´ ıa El´ ectrica Recepci´ on, demodulaci´ on y decodificaci´on de la se˜ nal de tiempo transmitida por la estaci´ on radial WWVB del NIST Por: Kendall Solano Oviedo Ciudad Universitaria “Rodrigo Facio”, Costa Rica Julio de 2014

Upload: vuongthuan

Post on 21-Dec-2016

232 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Recepción, demodulación y decodificación de la se˜nal de tiempo

Universidad de Costa RicaFacultad de Ingenierıa

Escuela de Ingenierıa Electrica

Recepcion, demodulacion y decodificacion

de la senal de tiempo transmitida por la

estacion radial WWVB del NIST

Por:

Kendall Solano Oviedo

Ciudad Universitaria “Rodrigo Facio”, Costa Rica

Julio de 2014

Page 2: Recepción, demodulación y decodificación de la se˜nal de tiempo
Page 3: Recepción, demodulación y decodificación de la se˜nal de tiempo

Recepcion, demodulacion y decodificacion

de la senal de tiempo transmitida por la

estacion radial WWVB del NIST

Por:

Kendall Solano Oviedo

IE-0499 Proyecto electrico

Aprobado por el Tribunal:

M.Sc. Teodoro Willink CastroProfesor guıa

M.Sc. Guillermo Rivero Gonzalez Ing. Juan Pablo Cruz RıosProfesor lector Profesor lector

Page 4: Recepción, demodulación y decodificación de la se˜nal de tiempo
Page 5: Recepción, demodulación y decodificación de la se˜nal de tiempo

ResumenEste documento corresponde a una investigacion teorico – practica, cuyo

proposito central fue realizar una implementacion electronica para captar, de-modular y decodificar la senal de tiempo transmitida por el Instituto Nacionalde Estandares y Tecnologıa desde su estacion radial WWVB, ubicada en FortCollins, Colorado.

Se estudiaron en primera instancia las caracterısticas de codificacion ymodulacion utilizadas para generar la senal de tiempo (ASK, PWM, entreotras). Dado esto, se realizo un estudio para elegir y disenar la electronicaanalogica y digital mas adecuada para tratar la onda.

Para demodular la senal de tiempo se utilizo un circuito detector de envol-vente en conjunto con una etapa de amplificacion y una seccion de afinamiento.Conociendo de antemano que la modulacion de la senal de tiempo se realizaa 60 KHz, se calcularon los componentes adecuados (circuito RC, diodo, en-tre otros), para detectar solo la senal de interes. El proceso de demodulacionculmino con una etapa para generar una senal digital entre 0 y 5 V, esto pormedio, del comparador LM311.

Por su parte, para comprobar la logica del demodulador, primero se gene-ro una senal de prueba con Arduino que imito las principales caracterısticasde la senal de tiempo enviada por el NIST. La informacion de esta onda semodulo a 60 KHz mediante un generador de senales y un circuito seguidor deemisor, esto tratando de ejecutar una senal similar a la real. Con la ayuda delsoftware y hardware libre Arduino se estructuro el codigo necesario para queuna vez demodulada la senal de tiempo, se pudieran seguir en tiempo real lasvariaciones de pulso (ceros, unos y marcadores), y de esta forma, decodificarlos datos de tiempo.

No fue posible ejecutar la evaluacion del receptor y el codigo Arduino conla senal real de tiempo enviada desde Colorado, ya que, no se logro recibircon los medios implementados la onda de interes. Los principales hechos quepropiciaron esta situacion fueron la limitada disponibilidad de la senal enCosta Rica (entre las 20:00 y las 4:00 horas, segun informacion oficial delNIST), ademas, de la dificultad que supone construir una antena para unasenal de baja frecuencia (aspecto que se sale de los objetivos del proyecto).

Los sistemas analogicos y logica total efectuada se analizaron finalmentemediante pruebas de laboratorio. Ası, se obtuvieron resultados satisfactoriosque avalaron el trabajo realizado y permitieron la visualizacion de los datoscontinuos de tiempo y fecha contenidos en la senal de tiempo de prueba, pormedio de la pantalla LED – Arduino.

v

Page 6: Recepción, demodulación y decodificación de la se˜nal de tiempo
Page 7: Recepción, demodulación y decodificación de la se˜nal de tiempo

Indice general

Indice de figuras ix

Indice de cuadros xi

Nomenclatura xiii

1 Introduccion 11.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Metodologıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Marco Teorico 52.1 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Informacion de reloj en America . . . . . . . . . . . . . . . . . 62.3 NIST y la estacion radial WWVB . . . . . . . . . . . . . . . . 82.4 Descripcion y caracterısticas generales de la Senal de Tiempo . 92.5 Recepcion y demodulacion de ondas moduladas en amplitud . . 182.6 Microcontroladores Programables . . . . . . . . . . . . . . . . . 26

3 Diseno del receptor de la senal de tiempo 293.1 Receptor de radio y demodulador . . . . . . . . . . . . . . . . . 293.2 Decodificacion de la senal de tiempo . . . . . . . . . . . . . . . 353.3 Validacion del receptor y demodulador . . . . . . . . . . . . . . 43

4 Resultados Generales 534.1 Implementacion practica del receptor y demodulador para la

senal de tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.2 Verificacion de funcionamiento del CO-ST implementado con

Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Conclusiones y recomendaciones 65

Bibliografıa 67

6 Anexos 716.1 Anexo 1 - Mas sobre el NIST y entes de tiempo-frecuencia ad-

juntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716.2 Anexo 2 - Codigo para decodificar senal de tiempo . . . . . . . 75

vii

Page 8: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.3 Anexo 3 - Codigo de prueba para CO-ST . . . . . . . . . . . . 85

viii

Page 9: Recepción, demodulación y decodificación de la se˜nal de tiempo

Indice de figuras

2.1 Propagacion de la senal de tiempo segun hora del dıa (NIST, 2010c) 11

2.2 Escala del WWVB para codificacion de la senal de tiempo (NIST,2010c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Senal de tiempo modulada por fase y amplitud (Lowe, 2013) . . . 17

2.4 Diagrama de bloques del tratamiento de una senal en el receptor(UTM, 2010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.5 Circuito electrico de un receptor de envolvente . . . . . . . . . . . 19

2.6 Senal de interes modulada en AM captada por la antena (Nassar,2001) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.7 Senal de interes despues de pasar por el diodo (Nassar, 2001) . . . 20

2.8 Senal de interes filtrada y demodulada (Nassar, 2001) . . . . . . . 20

2.9 Etapa antena en receptor de envolvente (Martı, 2010) . . . . . . . 21

2.10 Antena helicoidal (Dıaz, 2007) . . . . . . . . . . . . . . . . . . . . 22

2.11 Antena para senal de tiempo WWVB (Wikipedia, 2014b) . . . . . 23

2.12 Amplificador operacional en configuracion no inversor . . . . . . . 24

2.13 Arduino Uno (Arduino, 2014) . . . . . . . . . . . . . . . . . . . . 27

2.14 Pantalla LCD (CRCibernetica, 2014) . . . . . . . . . . . . . . . . 28

3.1 Circuito receptor y demodulador . . . . . . . . . . . . . . . . . . . 30

3.2 Prototipo Antena 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.3 Etapa acomple y amplificacion prototipo Antena 1 . . . . . . . . . 33

3.4 Prototipo Antena 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.5 Etapa acomple y amplificacion prototipo Antena 2 . . . . . . . . . 34

3.6 Diagrama general del codigo implementado . . . . . . . . . . . . . 36

3.7 Etapa Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.8 Etapa Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.9 Etapa Interrupcion . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.10 Etapa Lazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.11 Etapa Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.12 Etapa Decodificacion . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.13 Etapa Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.14 Codigo emulador de senal de tiempo . . . . . . . . . . . . . . . . . 46

3.15 Modulador de senal generica . . . . . . . . . . . . . . . . . . . . . 46

3.16 Senal sinusoidal de 60 KHz . . . . . . . . . . . . . . . . . . . . . . 47

3.17 Senal cuadrada de 400 Hz . . . . . . . . . . . . . . . . . . . . . . . 48

ix

Page 10: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.18 Senal de prueba modulada a 60 Khz . . . . . . . . . . . . . . . . . 493.19 Demodulador de prueba y circuito receptor . . . . . . . . . . . . . 503.20 Receptor, etapa amplificacion . . . . . . . . . . . . . . . . . . . . . 503.21 Demodulacion por detector de envolvente . . . . . . . . . . . . . . 513.22 Senal generica demodulada . . . . . . . . . . . . . . . . . . . . . . 52

4.1 a) Circuito modulador de senal de prueba. b) Circuito receptor ydemodulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.2 Circuito total implementado . . . . . . . . . . . . . . . . . . . . . . 544.3 Onda sinusoidal con frecuencia de 60 KHz . . . . . . . . . . . . . . 554.4 Codigos de tiempo generados con Arduino . . . . . . . . . . . . . . 564.5 Senal de tiempo modulada a 60 KHz . . . . . . . . . . . . . . . . . 564.6 Acercamiento a la senal modulada . . . . . . . . . . . . . . . . . . 574.7 Comparacion entre senal modulada (superior) y senal de tiempo

Arduino (inferior) . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.8 Senal modulada despues de etapa amplificacion . . . . . . . . . . . 594.9 Senal demodulada despues de etapa detector-envolvente . . . . . . 594.10 Senal de tiempo Arduino demodulada con etapa LM311 . . . . . . 604.11 Comparacion entre senal Arduino original (superior) y la senal de-

modulada (inferior) . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.12 Implementacion del CO-ST Arduino-Arduino . . . . . . . . . . . . 624.13 Diferentes etapas del codigo CO-ST . . . . . . . . . . . . . . . . . 634.14 Implentacion visual del codigo de prueba Arduino . . . . . . . . . 634.15 Implementacion del CO-ST Arduino-modulador-demodulador-Arduino 644.16 CO-ST en distintos instantes temporales . . . . . . . . . . . . . . . 64

6.1 Oscilador atomico NIST-F1 (NIST, 2013) . . . . . . . . . . . . . . 72

x

Page 11: Recepción, demodulación y decodificación de la se˜nal de tiempo

Indice de cuadros

2.1 Estaciones radiales que transmiten informacion de tiempo en elmundo (Lombardi, 2010) . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Servicios de Tiempo y Frecuencia brindados por el NIST (Lombar-di, 2002) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Codigo empleado por el NIST . . . . . . . . . . . . . . . . . . . . 122.4 Esquema de Ponderacion BCD usado por Codigo de Tiempo WWVB

(Lowe, 2013) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.5 Descripcion de los bits del codigo de tiempo WWVB (Lowe, 2013) 152.6 Caractecterısticas del Arduino Uno (Arduino, 2014) . . . . . . . . 27

3.1 Declaracion y funcion de variables en CO-ST . . . . . . . . . . . . 37

6.1 Banda de Frecuencias (MINAET, 2008) . . . . . . . . . . . . . . . 73

xi

Page 12: Recepción, demodulación y decodificación de la se˜nal de tiempo
Page 13: Recepción, demodulación y decodificación de la se˜nal de tiempo

Nomenclatura

AM modulacion de amplitud (Amplitude Modulation, en in-gles)

ASK modulacion por desplazamiento de amplitud (Amplitude-Shift Keying, en ingles)

BCD codigo binario decimal (Binary Decimal Code, en ingles)

BPSK modulacion binaria por desplazamiento de fase (BinaryPhase-Shift Keying, en ingles)

CO − ST Codigo en Arduino para decodificacion de la Senal deTiempo

DST horario de verano (Daylight Saving Time, en ingles)

EHF frecuencia extremadamente alta (Extremely High Frequency,en ingles)

ERP potencia efectiva radiada (Effective Radiated Power, eningles)

HF alta frecuencia (High Frequency, en ingles)

IRIG grupo de instrumentacion inter-rango (Inter-Range Ins-trumentation Group, en ingles)

LF baja frecuencia (Low Frequency, en ingles)

MF mediana frecuencia (Medium Frecuency, en ingles)

NICT Instituto Nacional de la Tecnologıa de la Informaciony Comunicaciones(National Institute of Information andCommunications Technology, en ingles)

NPL Laboratorio Fısico Nacional (National Physical Labora-tory, en ingles)

NIST Instituto Nacional de Estandares y Tecnologıa (NationalInstitute of Standards and Technology, en ingles)

xiii

Page 14: Recepción, demodulación y decodificación de la se˜nal de tiempo

NTSC Centro Nacional del Servicio del Tiempo (National TimeService Center, en ingles)

PM modulacion por fase (Phase Modulation, en ingles)

PTB Agencia federal de Fısica y Tecnologıa (Physikalisch-TechnischeBundesantalt, en aleman)

PWM modulacion por ancho de pulso (Pulse-Width Modula-tion, en ingles)

RCC reloj controlado por reloj (Radio Controlled Clock, eningles)

SHF super alta frecuencia (Super High Frequency, en ingles)

ST tiempo estandar (Standar Time, en ingles)

UHF ultra alta frecuencia (Ultra High Frequency, en ingles)

ULF ultra baja frecuencia (Ultra Low Frequency, en ingles)

UT1 tiempo universal (Universal Time, en ingles)

UTC tiempo universal controlado (Universal Time Controlled,en ingles)

V HF muy alta frecuencia (Very High Frequency, en ingles)

V LF muy baja frecuencia (Very Low Frequency, en ingles)

xiv

Page 15: Recepción, demodulación y decodificación de la se˜nal de tiempo

1 Introduccion

La carrera por el desarrollo tecnologico ha fomentado en el transcurso de losanos la creacion de aplicaciones especıficas y la incursion de tendencias globa-les, que a pesar de las multiples aristas involucradas, siguen girando en torno aconsignas basicas como la exactitud. Dado esto, contar con herramientas quebrinden informacion de tiempo de rigurosa exactitud, permite marcar trascen-dencia en lo que a confiabilidad se refiere.

El Instituto Nacional de Estandares y Tecnologıa (NIST, por sus siglas eningles) posee en sus instalaciones de investigacion situadas en Estados Unidosun oscilador de partıculas atomicas que suministra datos de reloj (segundo,minuto, hora, dıa, mes y ano) precisos y coordinados internacionalmente. Ası,el NIST mediante su estacion de radio WWVB en Fort Collins, Colorado envıala informacion del oscilador a gran parte de America, por medio de una ondaportadora de 60 KHz a 70KW (Lombardi, 2002).

El NIST transmite esta senal con el proposito de brindar informacion detiempo confiable y exacta para todos los usuarios que tengan acceso a ella(principalmente de Norteamerica), propiciando ası, un medio sencillo para lacoordinacion de multiples procesos y actividades. Es importante destacar quela senal de tiempo por ser emitida a traves de una organizacion gubernamental,gira en torno, a intereses economicos e industriales, no obstante, su disponibi-lidad abierta en el medio radioelectrico la hace util para variadas aplicacionescomo: sincronizacion de relojes controlados por radio - RCC (grandes y demano), camaras, controles de irrigacion, entre otros (NIST, 2010a).

De esta manera, la trascendencia de este documento y trabajo en general,radica en el aprovechamiento de recursos tecnologicos gratuitos, seguros yrespaldados por instituciones de renombre como el NIST, que podrıan marcarun aspecto de beneficio adicional para futuras investigaciones y aplicacionesde tiempo en Costa Rica.

1

Page 16: Recepción, demodulación y decodificación de la se˜nal de tiempo

2 1 Introduccion

1.1 Objetivos

Objetivo general

Recibir, demodular y decodificar la senal de tiempo emitida por la estacionde radio WWVB del Instituto Nacional de Estandares y Tecnologıa, con elproposito de utilizar su informacion de reloj.

Objetivos especıficos

Para el desarrollo de este proyecto se establecieron los siguientes objetivos:

• Construir un circuito receptor de senal modulada en amplitud que per-mita captar y filtrar la onda portadora de baja frecuencia, transmitidapor el NIST desde la estacion de radio WWVB ubicada en Fort Collins,Colorado.

• Utilizar el microcontrolador Arduino para decodificar la senal de interesy desarrollar un dispositivo capaz de leer e interpretar la informacionrecopilada con rapidez y exactitud.

• Presentar mediante medios visuales los datos adquiridos y traducidos dela onda transmitida por el WWVB-NIST.

Page 17: Recepción, demodulación y decodificación de la se˜nal de tiempo

1.2. Metodologıa 3

1.2 Metodologıa

Este trabajo se constituyo basicamente en cuatro etapas, las cuales son inves-tigacion, diseno, implementacion y pruebas. Las etapas de diseno e implemen-tacion son validas tanto para la parte analogica como para la parte digital.

El desarrollo del proyecto incluyo los siguientes pasos y procedimientos,listados en secuencia:

1. Revision y busqueda bibliografica de material relacionado con la trans-mision y recepcion de ondas portadoras moduladas por ancho de pulso.

2. Estudio del codigo empleado por el NIST en la senal de interes paratransmitir la informacion de tiempo.

3. Construccion de un circuito electronico analogico y una antena parala recepcion de la senal de tiempo enviada por el WWVB desde FortCollins, Colorado.

4. Implementacion mediante el microcontrolador Arduino de un dispositivocapaz de demodular y decodificar la senal de tiempo receptada.

5. Presentacion de la informacion de tiempo brindada por el NIST, me-diante el uso de una pantalla de visualizacion.

Page 18: Recepción, demodulación y decodificación de la se˜nal de tiempo
Page 19: Recepción, demodulación y decodificación de la se˜nal de tiempo

2 Marco Teorico

2.1 Antecedentes

La historia de la humanidad siempre ha estado sujeta al intercambio de infor-macion como mecanismo de convivencia, desarrollo y formacion de relacionessocioculturales. No obstante, los medios para traspasar esta informacion soncambiantes y evolucionan paulatinamente con el tiempo, desde los jeroglıficospresentes en el antiguo Egipto, pasando por el sistema numerico arabe, el co-digo Morse, las teorıas de Maxwell y Hertz sobre electromagnetismo, la radiode Marconi, el televisor de Jenkins, los satelites rusos, hasta llegar a la trans-mision en alta frecuencia por medios opticos, el internet y el procesamientodigital de senales (Couch, 2008).

Entender la comunicacion de datos mediante ondas electromagneticas, pri-mero requiere la comprension de ciertos terminos y procesos especıficos que sedescriben rapidamente a continuacion.

Sistema de comunicacion

Para Couch (2008) los sistemas de comunicacion son los encargados de latransmision de datos e informacion de interes, y se disenan basandose en cuatroparametros principales:

• Seleccion de la forma de onda que contendra la informacion

• El ancho de banda y la potencia de la forma de onda

• El efecto del ruido en la informacion recibida

• El costo del sistema

Onda o senal electromagnetica

Segun Herrrera (1999) se define una senal como una manifestacion electrica dela informacion, explıcitamente como una cantidad mesurable del mensaje quese desea transmitir (similar a lo que representa tension o corriente). Una ondaelectromagnetica es producto de la interaccion un campo de energıa magneticoy un campo de energıa electrico.

Por sus caracterısticas fısicas las ondas de radio son senales electromagne-ticas. Segun Solıs (2008), este tipo de senales presenta las mayores longitudes

5

Page 20: Recepción, demodulación y decodificación de la se˜nal de tiempo

6 2 Marco Teorico

de onda en todo el espectro, con valores superiores a un metro. Se ubicanen el rango de frecuencias de los 30 KHz hasta los 300 Khz y se empleangeneralmente en aplicaciones como envıo de informacion para temporizacion,telefonıa celular, television y emisoras radiales.

Modulacion

Es una tecnica empleada para modificar las senales de banda base (bandaoriginal de frecuencias) que se generan de las fuentes de comunicacion, ya que,estas no presentan por si solas condiciones adecuadas para ser transmitidas deforma directa en un canal dado. El proceso de modulacion fundamentalmenteconsiste en hacer variar algun parametro de la onda portadora en funcion dela senal de banda base. Permite entre muchos aspectos: radiacion eficiente dela senal, transmision multiple de informacion, disminucion del efecto ruido,empleo eficiente del espectro de frecuencias y superacion de las limitacionesde los equipos empleados en la transmision (Herrrera, 1999).

Hay un factor importante en esta tematica que se conoce como ındice demodulacion. Segun Correa (2010), este ındice es una relacion sin unidad quese utiliza para describir la profundidad de la modulacion lograda en una senal.Ası, el porcentaje en que la senal moduladora cambia la portadora senoidales conocido como el ındice de modulacion y se describe mediante la ecuacion2.1.

m =VmVp

(2.1)

Donde m es el ındice de modulacion sin unidad, Vm la tension pico de lasenal moduladora en Volts y Vp la tension pico de la portadora tambien enVolts.

Atenuacion

Existe una caracterıstica general a todos los medios de transmision y es la ate-nuacion, decremento progresivo de la senal con la distancia (Herrrera, 1999).Influyen condiciones ambientales, intensidad lunınica, entre otros. Las senalesque son transmitidas a menor frecuencia presentan menos atenuacion, y porende, son capaces de alcanzar mayores recorridos (Apuy, 2013).

2.2 Informacion de reloj en America

La informacion de tiempo o de reloj es administrada por diversos entes al-rededor del mundo. Algunos organismos ademas de mantener los datos enlaboratorios, tambien tienen como proposito hacer llegar esta informacion a

Page 21: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.2. Informacion de reloj en America 7

Cuadro 2.1: Estaciones radiales que transmiten informacion de tiempo en elmundo (Lombardi, 2010)

Nombre de Frecuencia (KHz) Paıs Organizacion de controlla estacion

BPC 68.5 China National Time ServiceCenter (NTSC)

DCF77 77.5 Alemania Physikalisch-TechnischeBundesantalt (PTB)

JJY 40, 60 Japon National Institute of Informationand CommunicationsTechnology (NICT)

MSF 60 Reino Unido National Physical Laboratory(NPL)

WWVB 60 Estados Unidos National Institudeof Standars and Technology (NIST)

la mayor cantidad de personas posible. Por esta razon, la envıan como unaonda electromagnetica mediante estaciones de radio ubicadas en posicionesestrategicas de los diversos continentes (Lombardi, 2010). En el cuadro 2.1 esposible observar las estaciones radiales que transmiten senales de tiempo entodo el planeta, el paıs donde se localizan, la frecuencia de transmision y laorganizacion encargada de su control.

El Instituto Nacional de Estandares y Tecnologıa (NIST, por sus siglas eningles) es la entidad encargada de administrar la informacion de reloj en losEstados Unidos; no obstante, por medio de la estacion radial WWVB situadaen Fort Collins, Colorado transmite una senal de tiempo que por su bajafrecuencia, logra traspasar los lımites de este paıs y llegar a gran parte deAmerica (Lombardi et al., 2009).

La senal de tiempo controlada por el NIST presenta caracterısticas es-peciales que la hacen robusta, pero sobretodo exacta, de ahı realza el valoragregado de su utilizacion en aplicaciones de temporizacion. La exactitud yconfiabilidad de la informacion que provee la senal se debe a que esta es deter-minada por un oscilador atomico. Segun NIST (2010b) un oscilador atomicoes usado para cuantificar los niveles de energıa en los atomos o moleculas deuna fuente de resonancia y se basa en el principio de que los atomos de unmismo elementos son exactamente iguales, por lo que deben producir la mismafrecuencia cuando absorben o entregan energıa. De esta forma, si se considera

Page 22: Recepción, demodulación y decodificación de la se˜nal de tiempo

8 2 Marco Teorico

un atomo como un pendulo perfecto, contando el numero de sus oscilacionesse pueden medir intervalos de tiempo.

2.3 NIST y la estacion radial WWVB

El NIST es una agencia federal no regulada del gobierno de los Estados Unidosque pertenece al Departamento de Comercio. Tiene como mision institucionalpromover la innovacion y la competitividad industrial de este paıs en formasque garanticen seguridad y calidad de vida, como por ejemplo avances en laciencia de la medicion, estructuracion de estandares y desarrollo de tecnolo-gıa(NIST, 2014). Este ente se ramifica en varias areas de investigacion, noobstante, para efectos de este documento se hara enfasis en la Division deTiempo y Frecuencia.

La Division de Tiempo y Frecuencia cuenta con diversas areas de trabajoe interes, como lo son: el Servicio de Tiempo de Internet, tres radio estaciones(WWV, WWVB, WWVB), calibraciones de frecuencia y tiempo, escalas detiempo, relojes opticos, atomos neutros, iones atrapados, mediciones de rui-do de fase, escalas atomicas y estandares primarios como el NIST-F1 (NIST,2010b). En el cuadro 2.2 se observan algunos de estos servicios y otros adicio-nales, ademas de los tiempos de incertidumbre a considerar y los mecanismosque se deben utilizar para su correcta implementacion. Se destaca la estacionradial WWVB, la cual tiene un papel trascendente en la transmision de lasenal de tiempo, topico central de este documento.

Como se observa en el cuadro 2.2, la Division de Tiempo y Frecuencia ad-ministra tres estaciones de radio en los Estados Unidos: la WWW, la WWVHy la WWVB. La diferencia central entre las primeras dos estaciones (WWW yWWVH) y la WWVB es la forma de transmision (frecuencia) y alcance de lainformacion enviada. La estacion radial WWVB se ubica en Fort Collins, Co-lorado y tiene la funcion de distribuir el tiempo del dıa, intervalos temporalesy estandares de frecuencia para el gobierno, industria y publico en general

Es importante destacar que la informacion con que se establece el codigode la senal de tiempo viene dada por un oscilador atomico denominado NIST-F1. Los datos de tiempo recolectados del reloj atomico son transmitidos porel NIST continuamente los 365 dıas del ano. Cada 60 segundos (60 bits porminuto) la informacion es renovada y los elementos receptores de onda tienen laposibilidad de actualizar el tiempo (Lombardi, 2002). Es posible ampliar massobre este topico y los entes administrativos mencionados durante la presenteseccion, en el Anexo 1.

Page 23: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.4. Descripcion y caracterısticas generales de la Senal de Tiempo 9

Cuadro 2.2: Servicios de Tiempo y Frecuencia brindados por el NIST (Lom-bardi, 2002)

Servicios Requerimientos Incertidumbre

nist.time.gov sitio web Computadora, < 2sconexion a internet

Telefono Telefono < 30msservicio time-of-dayServicio de Tiempo Computadora, modem < 15msAutomatico para Computadora analogo, softwareServicio de Tiempo Computadora, modem < 100mspara Internet analogo, softwareEstacion Radial Receptor HF 1− 20msWWV y WWVHEstacion Radial Receptor LF 0,1− 15msWWVBServicio de Medicion Equipo suministrado < 20nsde Frecuencia por el NIST

2.4 Descripcion y caracterısticas generales de laSenal de Tiempo

La senal de tiempo provee informacion del UTC, especıficamente: minuto, ho-ra, dıa del ano y ultimos dos dıgitos del ano actual; recibir los datos completostiene una duracion un minuto y se necesita electronica analogica y digital pa-ra poder visualizarlos (NIST, 2010c). Para estructurar la senal se emplea uncodigo de tiempo, en el cual se envıa un sımbolo por segundo hasta comple-tar 60 bits; los ceros y unos logicos representan valores decimales, mientrashay marcadores que ejecutan el papel de barreras temporales para indicar elcambio de valor o la llegada de informacion actualizada. A continuacion sehara una descripcion de la propagacion, funcionamiento, formatos y tecnicasde modulacion empleados en la senal de tiempo.

Propagacion de la senal de tiempo

La senal de tiempo emitida por la WWVB presenta caracterısticas especialescomo su alta ERP y baja frecuencia de transmision que la hacen idonea pararecorrer largas distancias. Segun (Nelson y Lombardi, 2005), a una frecuenciaemision de 60 KHz y una potencia de salida cercana a los 70 KW, la senal de

Page 24: Recepción, demodulación y decodificación de la se˜nal de tiempo

10 2 Marco Teorico

tiempo tiene una longitud de onda que corresponde a aproximadamente 5000metros, cualidad que le permite propagarse por zonas geograficas difıciles,grandes ciudades e incluso paıses.

Las ondas electromagneticas presentan mayor o menor distorsion depen-diendo del medio en donde se propaguen. La cantidad de luz incidente en elmedio y los fenomenos atmosfericos son factores a tomar en cuenta para cal-cular la distancia que puede recorrer una onda desde la antena de transmisionhasta el receptor. De esta forma, la senal de tiempo no es ajena a este hechoy tiene mayor o menor alcance de acuerdo a la hora del dıa. En la figura 2.1se muestra un diagrama proporcionado por el NIST para ver la propagacionde la onda en America en distintos lapsos temporales. Las zonas sombreadaspresentan una intensidad de onda cercana a los 100 mV/m.

En la figura 2.1 se evidencia como la senal de tiempo tiene mayor alcancede propagacion en las horas con menos luz solar, lapso que segun la escalatemporal del UTC corresponde al perıodo entre las 2:00 am y las 10:00 am(madrugada e inicio de la manana). Si se desea recibir la senal de tiempo enun paıs de Centroamerica, especıficamente Costa Rica (situado a 4000 Km deColorado), es importante hacerlo en horarios nocturnos o en dıas con pocaradiacion lumınica. Es importante recordar que Costa Rica se rige por UTCmenos 6 horas, es decir, la senal llegarıa entre las 8:00 pm y las 4:00 am.

Las areas de cobertura presentes en la figura 2.1 son tendencias anualesde comportamiento, la propagacion continua y diaria de la senal de tiempopuede variar drasticamente debido al efecto de muchos elementos como ruido,interferencia, lluvia, nieve y contaminacion electromagnetica (NIST, 2010c).

Modulacion

Para modular la informacion de la senal de tiempo dentro de la onda porta-dora, se emplea un codigo con formato BCD y una tasa de transmision de unbit por segundo (Wikipedia, 2014b). Este codigo es modulado por medio dedos sistemas independientes:

Amplitud (AM)

• Modulacion por Ancho de Pulso (PWM): Segun Wikipedia (2014a), es-ta es una tecnica en la cual se modifica el ciclo de trabajo de una senalperiodica para transmitir informacion a traves de un canal de comuni-caciones o para controlar la cantidad de energıa que se envıa.

• Modulacion por Desplazamiento de Amplitud (ASK): Segun Stallings(2004), esta modulacion consiste basicamente en activar o desactivaruna portadora sinusoidal con una senal binaria unipolar.

Fase (PM)

Page 25: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.4. Descripcion y caracterısticas generales de la Senal de Tiempo 11

Figura 2.1: Propagacion de la senal de tiempo segun hora del dıa (NIST, 2010c)

• Modulacion Binaria por Desplazamiento de Fase (BPSK): En este tipode modulacion dos sımbolos estan separados 180o. Un cero es represen-tado por una portadora con fase no modulada (fase en cero grados) y unvalor de 1 es mostrado como la inversion de la portadora. (Lowe, 2013)

Modulacion por Amplitud de la Senal de Tiempo

La modulacion por amplitud es el procedimiento mas antiguo que emplea laWWVB para transmitir la informacion de la senal de tiempo, lo utiliza desde1965 y presenta pocos cambios hasta la fecha. Se combinan los metodos dePWM y ASK para modular la portadora y generar los datos de tres sımboloslogicos: cero, uno y marcador (Nelson y Lombardi, 2005). Esta es la modu-lacion mas utilizada y confiable en la actualidad para los diversos elementosreceptores de la senal de tiempo en America (Lowe, 2013).

Los sımbolos logicos se identifican por la disminucion de 17 dB de la poten-cia de la onda portadora (la ERP pasa de 50 kW a 1,4kW). En el cuadro 2.3se visualizan los valores de codigo que utiliza el NIST, de acuerdo al tiempoque permanece la portadora de la senal de tiempo en 1.4 KW.

Page 26: Recepción, demodulación y decodificación de la se˜nal de tiempo

12 2 Marco Teorico

Cuadro 2.3: Codigo empleado por el NIST

Sımbolo Duracion de la portadoradisminuida 17 dB

Cero logico 0.2 msUno logico 0.5 msMarcador 0.8 ms

Codigo de Tiempo utilizado en la Modulacion por Amplitud:

El codigo de tiempo que emplea el NIST para modular en amplitud es basadoel estandar de codificacion IRIG, aunque el orden en que se transmiten lossımbolos difiere de cualquier estandar actual o pasado del mismo. (Wikipedia,2014b). El sistema IRIG ha ido perdiendo relevancia en el mercado debido ala incursion de metodos modernos para codificar, no obstante, organismos derenombre lo siguen usando por su sencillez.

IRIG: Segun lo establecido por TCT (1998), el IRIG es un estandar quedefine las caracterısticas de seis codigos de tiempo utilizados por las Agenciasde Gobierno de los Estados Unidos e industria privada de este paıs. Se empleaen ambitos tecnologicos como sistemas de electronica moderna y comunicacio-nes, manejo de datos, misiles y expedicion espacial, ademas de otras muchasaplicaciones que requieren precision.

Para transmitir la informacion decimal (datos como minutos, horas, dıadel ano, ultimos dıgitos del ano actual, entre otros), la estacion radial WWVBhace uso del Codigo Binario Decimal (BCD), en el cual el bit mas significativoes transmitido primero, y ası secuencialmente bit a bit en orden de magnitudhasta terminar la palabra de codigo (Lowe, 2013). El cuadro 2.4 muestra elesquema de ponderacion BCD que utiliza la WWVB para asignar los valoresdel codigo de tiempo.

Tomando en cuenta que se envıa toda la informacion del UTC en 60 bits porminuto, algunas consideraciones basicas del codigo de tiempo que se establecenen Lowe (2013), son descritas a continuacion:

• Hay 44 bits entre ceros y unos logicos que llevan informacion binaria delcodigo de tiempo y datos de actualizacion.

• Existen en total 11 bits que no tienen uso, para transmitirlos se utilizaun cero logico. Se indican como reservados.

Page 27: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.4. Descripcion y caracterısticas generales de la Senal de Tiempo 13

Cuadro 2.4: Esquema de Ponderacion BCD usado por Codigo de TiempoWWVB (Lowe, 2013)

Numero Bit 1 Bit 2 Bit 3 Bit 4Decimal 23 22 21 20

0 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 18 1 0 0 09 1 0 0 1

• Los bits enviados del segundo 1 al segundo 8 contienten la informacion deminutos, los bits entre los segundos 12 y 18 muestran los datos de hora,por su parte, el rango de bits entre los segundos 22 al 33 determinan eldıa del ano y finalmente los bits entre el 45 y el 53 almacenan el anovigente (ultimos dos dıgitos).

• Se envıan 7 marcadores de posicion durante los segundos 0, 9, 19, 29,39, 49 y 59 para indicar cambio entre datos de minuto, hora, dıa yano. Cuando dos marcadores son transmitidos consecutivamente significael final de 60 bits de codigo y la llegada de una nueva senal de relojactualizada.

• El UT1 es una escala astronomica de tiempo anterior al estandar UTC yse basa en el movimiento rotacional de la Tierra. Al existir aplicacionesimportantes de navegacion espacial y satelites que todavıa la emplean,la diferencia entre el UT1 y el UTC debe ser cuantificable, permitiendoque los organismos que hacen uso del UT1 puedan efectuar las correccio-nes correspondientes en sus elementos de temporizacion; la discrepanciaentre ambas escalas nunca debe ser mayor a 0.9 segundos.

Las correcciones UT1-UTC pueden ser positivas o negativas y se realizandurante los intervalos de 36-38 y 40-43 segundos. En el primer rango,si los segundos 36 y 38 tienen un uno (bit 37 en cero), significa que seadicionara una cantidad de tiempo, mientras tanto, si el bit 37 es 1 (bits

Page 28: Recepción, demodulación y decodificación de la se˜nal de tiempo

14 2 Marco Teorico

36-38 en cero) se sustraera tiempo. Los segundos del 40 al 43 indican eltotal de milisegundos a quitar o agregar.

Si las escalas UT1 y UTC difieren alrededor de 1s, se debe ajustar estevalor numerico de tiempo en el UTC (el segundo puede ser positivo onegativo). Este metodo se llama segundo de salto (leap second) y esrequerido por el Servicio Internacional de Rotacion de la Tierra 4 vecescada 5 anos; generalmente se inserta en el dıa final de Junio o Diciembre.

• La alerta de leap second se presenta al segundo 56, si el bit es 1 significaque un segundo de salto sera agregado al UTC cuando concluya el mesactual en ese periodo. Apenas el tiempo es adicionado, el bit del segundo56 se coloca en un cero logico nuevamente.

Para aplicar un segundo de salto se envıa un marcador adicional. Deesta forma, se transmiten 3 marcadores seguidos en los segundos 59, 60(bit anexo) y 0, con lo que al culminar el tercer marcador empieza unnuevo minuto.

• En el segundo 55 se transmite la informacion de ano bisiesto (leap year),si el bit que corresponde a esta posicion es 1, el ano actual es bisiesto. Elbit permanece activo desde el primero de Enero hasta el 29 de Febrero,ya luego se coloca en cero.

• El horario de verano (DST) y el tiempo estandar (ST) son anunciadosen los segundos 57 y 58. Cuando ambos bits son cero se esta en tiempoestandar, mientras que si ambos bits son 1 se esta en horario de verano.En el paso de ST a DST, el bit 57 cambia de 0 a 1 a las 0000 UTC y elbit 58 cambia de 0 a 1, 24 horas despues. Por otra parte, en el paso deDST a ST, el bit 57 cambia de 1 a 0 a las 0000 UTC y el bit 58 cambiade 1 a 0, 24 horas despues.

En el cuadro 2.5 se visualiza un resumen de los puntos anteriormente men-cionados y explicados. Se presenta la descripcion unitaria de cada uno de los60 bits-segundos y su peso en la formacion del codigo para la senal de tiempo.

Ası tambien, en la figura 2.2 se observa una ejemplificacion grafica delcodigo de tiempo modulado en amplitud. Dividiendo la escala temporal de lafigura en 6 secciones, se puede ejecutar un mejor analisis del ejemplo:

• Segundo 1 al 8: El formato BCD de la senal de tiempo establece elminuto 42.

• Segundo 12 al 18: El formato BCD de la senal de tiempo establece lahora 18.

Page 29: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.4. Descripcion y caracterısticas generales de la Senal de Tiempo 15

Cuadro 2.5: Descripcion de los bits del codigo de tiempo WWVB (Lowe, 2013)

Numero de Bit Descripcion Numero de Bit Descripcion

0 Marcador ref, Pr 30 Dıa del ano, 81 Minutos, 40 31 Dıa del ano, 42 Minutos, 20 32 Dıa del ano, 23 Minutos, 10 33 Dıa del ano, 14 Reservado 34 Reservado5 Minutos, 8 35 Reservado6 Minutos, 4 36 Signo UT1, +7 Minutos, 2 37 Signo UT1, -8 Minutos, 1 38 Signo UT1, +9 Marcador 1, P1 39 Marcador 4, P4

10 Reservado 40 Correccion UT1, 0.8 s11 Reservado 41 Correccion UT1, 0.4 s12 Horas, 20 42 Correccion UT1, 0.2 s13 Horas, 10 43 Correccion UT1, 0.1 s14 Reservado 44 Reservado15 Horas, 8 45 Ano, 8016 Horas, 4 46 Ano, 4017 Horas, 2 47 Ano, 2018 Horas, 1 48 Ano, 1019 Marcador 2, P2 49 Marcador 5, P5

20 Reservado 50 Ano, 821 Reservado 51 Ano, 422 Dıa del ano, 200 52 Ano, 223 Dıa del ano, 100 53 Ano, 124 Reservado 54 Reservado25 Dıa del ano, 80 55 Indicador Salto de Ano26 Dıa del ano, 40 56 Alerta de Salto de Segundo27 Dıa del ano, 20 57 DST28 Dıa del ano, 10 58 DST29 Marcador 3, P3 59 Marcador 3, P0

Page 30: Recepción, demodulación y decodificación de la se˜nal de tiempo

16 2 Marco Teorico

Figura 2.2: Escala del WWVB para codificacion de la senal de tiempo (NIST,2010c)

• Segundo 22 al 33: El formato BCD de la senal de tiempo establece eldıa del ano numero 258 (15 de setiembre de un ano no bisiesto).

• Segundo 36 al 46: Se establece la correccion de tiempo entre los es-tandares UT1-UTC y es necesaria una correccion de −0.7 s

• Segundo 45 al 53: El formato BCD de la senal de tiempo establece losultimos dos dıgitos del ano en curso, 01 (2001).

• Segundo 55 al 58: Los valores de estos 4 bits tienen como valor uncero logico, aspecto que implica que no requiere un leap second, no esano bisiesto y no hay horario de verano presente.

Modulacion de Fase en la Senal de tiempo

La modulacion por fase es una tecnica relativamente nueva aplicada por laradio estacion WWVB para transmitir su senal de tiempo. La incursion deeste proceso se dio en el ano 2012 y se basa en la Modulacion Binaria porDesplazamiento de Fase. Es un metodo sofisticado que mejora la relacion se-nal/ruido/interferencia (SNIR) y otorga precision en el codigo empleado (Lo-we, 2013).

Page 31: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.4. Descripcion y caracterısticas generales de la Senal de Tiempo 17

Figura 2.3: Senal de tiempo modulada por fase y amplitud (Lowe, 2013)

Segun Lowe (2013), la formacion de los bits que constituyen el codigo detiempo se logra ejecutando variaciones en la fase de la senal emitida. Un unologico es representado por la inversion de la fase de la portadora ( 180o) durantelos ultimos 0.9 s de un segundo UTC, mientras que un cero logico correspondea fase en 0o de la senal en un periodo temporal del segundo correspondiente.

En la figura 2.3 es posible observar un ejemplo de como se modula por fasey amplitud la senal de tiempo en una misma onda (modulacion en paralelo).De 0s a 0.8s, hay una disminucion en la amplitud de la portadora y no sepresenta inversion de la fase (valor igual a marcador en AM – tabla 2.3 y ceroen PM), durante el periodo entre 1s y 1.2s la portadora cambia de polaridad yse mantiene disminuida en amplitud durante 0.2 s (cero en AM y uno logico enPM); posteriormente a los 2s la senal vuelve a estar alineada en 0o y reducidaen amplitud 0.5s (uno en AM y cero en PM).

Ademas de mostrar las dos tecnicas utilizadas para modular la senal detiempo, la figura 2.3 permite visualizar las tensiones pico de la onda portadoray la onda moduladora. Magnitudes con las que es posible determinar el ındicede modulacion de la senal del NIST. Utilizando la relacion de la ecuacion 2.1se calcula dicho coeficiente en la ecuacion 2.2.

m =0,5

0,6= 0,83 (2.2)

Dada la ecuacion 2.2, se tiene un coeficiente de modulacion cercano al 83 %para la senal de tiempo.

La senal de tiempo contiene paralelamente la informacion de modulacionen amplitud y modulacion de fase. De esta forma, es posible escoger solo uno

Page 32: Recepción, demodulación y decodificación de la se˜nal de tiempo

18 2 Marco Teorico

Figura 2.4: Diagrama de bloques del tratamiento de una senal en el receptor(UTM, 2010)

de los metodos para la decodificacion de la informacion en la onda; como lasenal en Costa Rica es recibida con mucha atenuacion, es mas sencillo detectarlos cambios en amplitud que los valores de fase. Se obvia ası, la descripciondel codigo de tiempo para modulacion de fase.

2.5 Recepcion y demodulacion de ondasmoduladas en amplitud

Existen multiples formas y circuitos capaces de captar ondas del espectro elec-tromagnetico. Sin embargo, todos son dependientes de las caracterısticas de lasenal a recibir y el grado de calidad con que se desee obtener la informacion.La implementacion de receptores se establece en base a ciertos parametrosde diseno como: la frecuencia de la portadora (LF, MF, HF, VHF, UHF, mi-croondas, entre otras), senal de la banda-base (digital o analogica), tipo yprofundidad de modulacion (AM, FM, PM), ancho de banda de recepcion,esquema de conversion (homodino, superheterodino, varias etapas), ruido enla transmision, sensibilidad, forma de sintonıa (fija, continua, discreta) y porel tipo de servicio (radio, telefonıa, vıdeo o datos) (UTM, 2010).

UTM (2010) presenta en la figura 2.4 un esquema basico de las etapas derecepcion y demodulacion de una senal. Ejecutando una descripcion rapida,mediante la antena se toman del medio las senales sin discriminacion de fre-cuencias, luego se amplifican para que entren en rangos aceptables de trabajoy posteriormente, con la ayuda de un filtro se sintoniza la frecuencia de laonda portadora de interes. A traves de la etapa de demodulacion, se logravolver a la fuente original de datos e informacion, los cuales son enviados a unmecanismo adecuado de decodificacion para hacer uso de ellos.

Los receptores AM han ido evolucionando en el transcurso de los anosconforme el envıo de informacion ha alcanzado un requerimiento mas elevadode precision (al menos a nivel comercial), no obstante, su elaboracion y fun-cionamiento siguen girando alrededor de principios elementales de electronicay fısica. La razon del desarrollo de la electronica para AM es, precisamente,

Page 33: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.5. Recepcion y demodulacion de ondas moduladas en amplitud 19

Figura 2.5: Circuito electrico de un receptor de envolvente

el uso de modulacion digital (incluyendo ASK). Elegir un receptor para unaaplicacion especıfica depende de las cualidades de la onda y las necesidadesdel usuario final (como se menciono anteriormente). De esta forma, si se bus-ca sencillez, bajo costo y efectividad para recibir informacion (como la senalde tiempo), se puede emplear el circuito propuesto por Nassar (2001) pararecepcion y demodulacion de AM. Se denomina detector de envolvente y suesquematico se visualiza en la figura 2.5.

Se puede explicar el funcionamiento del circuito de la figura 2.5 en tresfases:

• La etapa antena capta del espectro electromagnetico las frecuencias pre-sentes en el medio, y a traves de un circuito resonante, se ajusta enuna onda portadora especıfica. Para fines ilustrativos, en la figura 2.6se observa una senal y su envolvente sinusoidal, aunque bien, podrıa sercuadrada.

• Mediante el diodo se modula la senal por polaridad, es decir, se eliminala parte negativa (su valor se convierte en cero) y solo queda los sectorespositivos de la onda portadora. En la figura 2.7, se muestra la senal dela figura 2.6 despues de haber pasado por el diodo.

• El circuito RC corta las variaciones rapidas de la senal y rescata conpoca distorsion las variaciones lentas (envolvente), por medio del resistory capacitor se disena un circuito pasa-bajo para ejecutar esta funcion.En la figura 2.8 se visualiza la senal de la figura 2.6 despues de atravesarel diodo y el filtro RC.

Page 34: Recepción, demodulación y decodificación de la se˜nal de tiempo

20 2 Marco Teorico

Figura 2.6: Senal de interes modulada en AM captada por la antena (Nassar,2001)

Figura 2.7: Senal de interes despues de pasar por el diodo (Nassar, 2001)

Figura 2.8: Senal de interes filtrada y demodulada (Nassar, 2001)

Page 35: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.5. Recepcion y demodulacion de ondas moduladas en amplitud 21

Figura 2.9: Etapa antena en receptor de envolvente (Martı, 2010)

A continuacion, se definen los parametros de escogencia para disenar laetapa de antena, el diodo y los valores del circuito RC presentes en la figura2.5.

Etapa antena

Segun Paniagua (2008), una antena en su estructura basica es un instrumentoutilizado para recibir o transmitir ondas electromagneticas. Las hay de dis-tintos tipos, formas, materiales, y son muy dependientes de la informacionimplicada en el medio. La etapa antena consta fundamentalmente de tres sec-ciones: construccion e implementacion fısica, amplificacion de senal y disenodel circuito resonante para sintonizacion de la frecuencia portadora buscada.En la figura 2.9 se muestra la ultima seccion mencionada.

Construccion e implementacion fısica

En un circuito sencillo como el de la figura 2.5, se pueden construir antenas dedipolo o helicoidales para la recepcion de la senal portadora. No obstante, unaantena para captar baja frecuencia (como la requerida por la senal de tiempo),necesita de ciertas caraterısticas adicionales que son difıciles de obtener conun diseno artesanal. Se proponen algunos prototipos de implementacion, pero,se recalca que el objetivo de este documento no gira en torno a la construccionde una antena.

Las antenas helicoidales se fabrican a bajo costo y son muy faciles de hacer,tienen la ventaja de aumentar la ganancia de recepcion con solo incrementarel numero de espiras de cobre, aunque la relacion no es lineal (Durney et al.,2007). Para su implementacion, se le quita a un cable RG8 (30 a 40 cm) lafunda de plastico y malla de blindaje, dejando solo el cable interno de cobre

Page 36: Recepción, demodulación y decodificación de la se˜nal de tiempo

22 2 Marco Teorico

Figura 2.10: Antena helicoidal (Dıaz, 2007)

con su aislante. Posteriormente se suelda un extremo del conductor a unaplaca de metal (base) y el otro extremo de un hilo de cobre de 0.2 mm quese enrolla sobre el, esto realizando formas de espiras juntas hasta alcanzar lamitad del aislante (20 cm). El paso final es recubrir todo el conjunto paraevitar interferencias (Dıaz, 2007). En la figura 2.10 se observa una antenahelicoidal.

Por otra parte, en la figura 2.11 se visualiza un diseno de antena propuestopor ka7oei (2012) para recepcion de la senal de tiempo enviada desde Colorado.Sus principales caraterısticas se destacan a continuacion.

• Son necesarios aproximadamente ocho metros de alambre desnudo paragenerar cuatro vueltas en el interior de un lazo, como el mostrado en lafigura 2.11.

• La dimension lateral del elemento mostrado en la figura 2.11, es cercanoa 45 cm. Con esto, una vuelta completa de alambre corresponde a 1,80m.

• Se utiliza conduit con un diametro de 12 pulgadas; por medio de unio-

nes curvas se genera una estructura similar a un cuadrado. Las cuatrosvueltas de alambre son colocadas en el conduit, generando ası, un mediode induccion electromagnetica.

• Las uniones del alambre son acopladas con cable coaxial RG-6 median-te uniones mecanicas, este tipo de cable se utiliza para evitar camposparasitos en la antena.

• Como se muestra en la figura 2.11, los lazos de alambre actuan en pa-ralelo con cuatros capacitores de 0.1 uF (o una relacion equivalente que

Page 37: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.5. Recepcion y demodulacion de ondas moduladas en amplitud 23

Figura 2.11: Antena para senal de tiempo WWVB (Wikipedia, 2014b)

genere una capacitancia total de 0,4 uF ), esto tratando de hacer resonarel circuito a 60 KHz. Es importante destacar que los condensadores em-pleados no pueden ser de tipo ceramico, ya que, introducen ruido termicoal sistema y son inestables.

Amplificacion

Las intensidad de las senales captadas por la antena depende de multiplesfactores como: propagacion en el medio, ganancia del receptor, hora del dıa,entre otros. Generalmente, la amplitud de las ondas recibidas se encuentraen el rango de los milivolts, por lo que es necesario, recurrir a etapas deamplificacion para generar senales de trabajo que puedan ser utilizadas porsecciones posteriores del circuito (Boylestad y Nashelsky, 2009).

Page 38: Recepción, demodulación y decodificación de la se˜nal de tiempo

24 2 Marco Teorico

Figura 2.12: Amplificador operacional en configuracion no inversor

Es posible ejecutar la amplificacion de senales por medio de varios meto-dos, entre los que destacan los circuitos pasivos (transistores) y los circuitosactivos (amplificadores operacionales). Por practicidad, robustez y ganancia,las etapas de amplificacion para antena se realizaran utilizando operaciona-les en configuracion no inversor, tal y como se muestra en la figura 2.12. Laecuacion de ganancia para esta configuracion viene dada en la ecuacion 2.3.

Ganancia =Rf

Rin(2.3)

Circuito resonante LC

La configuracion LC paralelo de la figura 2.9 permite la sintonizacion de unaonda electromagnetica a una frecuencia de interes. Segun Dorf y Svodoba(2008), este es un circuito resonante por la presencia de un inductor y uncapacitor, es decir, configurando los valores de los elementos pasivos es po-sible discriminar-filtrar las tensiones alternas incidentes que provienen de laantena y que tienen frecuencias diferentes a la de resonancia. La frecuencia deresonancia en la figura 2.9 viene dada por la ecuacion 2.4.

fr =1

2π√LC

(2.4)

En la ecuacion 2.4, fr representa la frecuencia de resonancia (portadora) enHz, L el valor del inductor en H y C el valor del capacitor en F .

Page 39: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.5. Recepcion y demodulacion de ondas moduladas en amplitud 25

Diodo

La eleccion del diodo es sencilla, unicamente se debe elegir un componentecapaz de soportar las corrientes de la onda de entrada (en promedio muy bajas)y que pueda manejar las frecuencias de conmutacion de la senal requerida. Porlo general se usa un diodo de germanio (Martı, 2010).

Circuito RC

Segun explica textualmente Martı (2010), el calculo de la constante de tiempoRC es dependiente de las caracterısticas de la senal portadora. Ası, cuandose estan incrementando los picos positivos sucesivos de la forma de onda deentrada del detector, es importante que el capacitor mantenga su carga entrepicos (constante de tiempo RC grande). No obstante, cuando los picos positivosdecrecen en amplitud, es importante que el capacitor descargue, entre picossucesivos, a un valor menor que el siguiente pico (constante de tiempo RCcorta). Se establece con esto, la importancia de un diseno que satisfaga ambasnecesidades.

• Si la constante de tiempo RC es muy corta, la forma de onda de salidaasemeja una senal rectificada de media onda (distorsion del rectificador).

• Si la constante de tiempo RC es muy grande, la pendiente de la forma deonda de salida no puede seguir a la pendiente de la envolvente (recortadordiagonal).

La pendiente de la envolvente depende de la frecuencia de la senal modu-lante y del coeficiente de modulacion (m) de la senal. La frecuencia de la senalmodulante mas alta que puede demodularse por un detector de envolvente sinatenuarse se presenta en la ecuacion 2.5

fmmax =

√m−2 − 1

2 ∗ π ∗RC(2.5)

Donde fm −max es la maxima frecuencia de la portadora en Hz, m esel coeficiente de modulacion (sin unidad) y RC es la constante de tiempo ensegundos.

La ecuacion 2.5 se puede simplificar para generar una relacion mas sencilla.Tomando en cuenta que no es necesario que la amplitud de la senal modulantesea 100 %, una relacion para obtener el 70.7 % (atenuacion de 3 dB) de la ondamodulante se visualiza en la ecuacion 2.6 (Martı, 2010).

wp >>1

RC(2.6)

Page 40: Recepción, demodulación y decodificación de la se˜nal de tiempo

26 2 Marco Teorico

Donde wp es la frecuencia de la portadora en rad/s, y su valor es muchomayor que el inverso de la constante de tiempo.

Post-demodulacion

Una vez demodulada la senal de interes de la onda portadora, es necesarioejecutar un proceso de afinamiento para generar una senal electrica que tengacaracterısticas aceptables, ya sea, para procesos analogicos o digitales. Segunla precision del esquema de demodulacion que se emplee, la senal moduladapuede ser extraıda con menor o mayor grado de distorsion. Ası, se puedenutilizar circuitos activos como amplificadores operacionales (comparadores,recortadores, entre otros) para adecuar las condiciones de la senal a los valoresoptimos requeridos.

2.6 Microcontroladores Programables

Existen en el mercado gran variedad de microcontroladores programables, lagran mayorıa con las caracterısticas necesarias para decodificar la senal detiempo (ciclos de trabajo mas rapidos a la maxima frecuencia de transmisionde la senal de tiempo). Con esto, se empleara el dispositivo de plataformaabierta Arduino, potenciando su posicion de prestigio en la electronica actual,precio accesible y variedad de documentacion existente.

Hardware Arduino y elemento de visualizacion

Arduino como plataforma abierta cuenta con varios modelos funcionales (Me-ga Duemilanove, Mini, entre otros). No obstante, entre los mas sencillos y debajo costo se encuentra el Arduino UNO. Las principales caracterısticas deeste ejemplar se presentan en el cuadro 2.6. Evaluando los datos del cuadro,el modelo UNO es suficientemente robusto y rapido para manejar la decodi-ficacion de la senal de tiempo sin contratiempos. En la figura 2.13 es posiblevisualizar la constitucion fısica de este dispositivo. El lenguaje de programa-cion Arduino esta basado principalmente en dos sistemas: C y C++. Dadoesto, la arquitectura y forma de programar siguen patrones estandar como lainiciacion de variables, declaracion de entradas-salidas o procesos, ası como laimplementacion de lazos que se ejecutan una y otra vez mientras el programalo solicite.

Ası tambien, en la figura 2.14 se observa la pantalla LCD que se emplearaen acople junto al Arduino UNO; una vez que sean decodificados, los datos detiempo y fecha podran ser visibles en el medio de visualizacion.

Page 41: Recepción, demodulación y decodificación de la se˜nal de tiempo

2.6. Microcontroladores Programables 27

Cuadro 2.6: Caractecterısticas del Arduino Uno (Arduino, 2014)

Elemento Caracterıstica

Microcontrolador ATmega328Tension de operacion 5 VPines Digitales E/S 14Pines Analogicos E 6Corriente Pines E/S 40 mAMemoria Flash 32 KBSRAM 2 KBEEPROM 1 KBVelocidad de reloj 16 MHz

Figura 2.13: Arduino Uno (Arduino, 2014)

Page 42: Recepción, demodulación y decodificación de la se˜nal de tiempo

28 2 Marco Teorico

Figura 2.14: Pantalla LCD (CRCibernetica, 2014)

Page 43: Recepción, demodulación y decodificación de la se˜nal de tiempo

3 Diseno del receptor de la senalde tiempo

El primer paso para lograr la recepcion de la senal de tiempo es ejecutar lacaptacion mediante antena y posterior demodulacion de onda. En esta secciondel documento se explico el funcionamiento de los circuitos analogicos que seemplearon para las tareas mencionadas, ademas de las respectivas simulacionesde corroboracion.

La seccion se divide en tres etapas de diseno y construccion: un circuitoreceptor de radio y demodulador, la etapa de decodificacion del codigo detiempo y la seccion de validacion. A continuacion, se trata por separado cadatopico de interes.

3.1 Receptor de radio y demodulador

El codigo de tiempo por sus cualidades constituye una onda digital cuyos uni-cos valores son cero (0 V) y uno (5 V). No requiere un seguimiento continuo(como algunas aplicaciones de audio), ya que la perdida de una fraccion deinformacion no afecta gravemente el mensaje final. Dado esto, el circuito detec-tor de envolvente mostrado en la figura 2.4, aunado a otras etapas, establecioun esquema sencillo para solventar la recepcion y la demodulacion de la senalde tiempo.

En la figura 3.1 se visualiza el circuito demodulador que se empleo paratratar la senal de tiempo. Consta de tres etapas en las cuales se centra el diseno:amplificacion (E1), detector de envolvente (E2) y ajuste de onda con LM311(E3). A continuacion se estudian los detalles de amplificacion, demodulacion,afinamiento y antena.

Etapa Amplificacion

La etapa de amplificacion corresponde a la seccion E1 de la figura 3.1. Alno tener una idea clara de la amplitud con que arriba la senal de tiempo a laantena (suponiendo grandes perdidas por atenuacion), esta seccion del circuitose encarga de elevar la tension de la onda a un nivel factible de trabajo. Seusa un amplificador LF353 por su bajo costo y caracterısticas sencillas deoperacion y alimentacion.

29

Page 44: Recepción, demodulación y decodificación de la se˜nal de tiempo

30 3 Diseno del receptor de la senal de tiempo

Figura 3.1: Circuito receptor y demodulador

Como se visualiza en la figura 3.1, el amplificador LF353 esta trabajandoen una configuracion de no inversor en la que la antena, junto a un acople deimpedancia (generalmente una resistencia de 50 Ω), se conecta en el terminalpositivo del operacional. Por su parte, las resistencias R4 y R5 forman undivisor de tension entre la terminal negativa del LF353 y la salida del dispo-sitivo, la ecuacion de ganancia para el amplificador no inversor viene dada enla ecuacion 2.3.

En el circuito se dieron valores 1000 Ω y 20000 Ω a las resistencias R4 yR5 respectivamente (ganancia de 20 veces). Sin embargo, estas cantidades sonsolo para aspectos de simulacion, ya que, la ganancia a considerar depende dela magnitud con que se capte la senal de tiempo. Ambos elementos pasivospodrıan ser sustituidos por un potenciometro para tener una relacion de salida-entrada variable, evitando ası, la saturacion del operacional.

Detector de envolvente

La etapa E2 de la figura 3.1 es la encargada de efectuar la demodulacion de laonda. Es un circuito detector de envolvente y su funcionamiento se visualizaen las figuras 2.6, 2.7 y 2.8. Con esta seccion de circuito se busca volver lasenal de tiempo al codigo inicial, antes de ser modulado por la WWVB.

El detector de envolvente consta de tres componentes, un diodo D1 paraeliminar la parte negativa de la onda portadora y un capacitor C2 que actua

Page 45: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.1. Receptor de radio y demodulador 31

en paralelo con una resistencia R6, ambos elementos encargados de generar uncircuito para seguir las variaciones externas de la onda modulada (se disena uncapacitor adecuado para que su descarga y carga esten acorde con la frecuenciade modulacion).

Segun Martı (2010), la forma de disenar los componentes C2 y R6 esutilizar la formula simplificada presente en la ecuacion 2.6. Considerando quela frecuencia de la portadora (60 KHz en la senal de tiempo) debe ser muchomayor (aproximadamente 100 veces) que la constante de tiempo inversa RC,se trabaja con un capacitor comercial de 100 nF y se tiene una resistencia de2700 Ω. Ademas el diodo escogido es el 1N4006, elemento que cumple con lacaracterıstica de velocidad de conmutacion requerida.

Ajuste de onda con LM311

La seccion E3 de la figura 3.1 se emplea en el circuito para generar una on-da digital limpia que vaya de los 0 a 5 V sin distorsiones, como el codigogenerico antes de ser modulado. Para realizar esta tarea se utilizo un opera-cional LM311, cuyo funcionamiento emplea electronica basica de referencia ycomparacion.

Como se visualiza en la figura 3.19, la senal de salida del detector deenvolvente entra a la terminal positiva del comparador, mientras tanto, en laterminal negativa se coloca una fuente de corriente directa V6 que estableceel punto de referencia en la tension de analisis. Ası tambien, en la salida delLM311 se coloca una fuente DC V7 de 5 V en serie con una resistencia R7(cuyo valor de 1000 Ω limita la corriente de salida y permite un buen acoplea la carga).

Dado lo anterior, cuando la tension de la terminal positiva supera el valorde V6, la salida del circuito es colocada en 5 V; sin embargo, si la onda deentrada es menor a la referencia V6, la salida va a tierra con un valor de 0 V.

Etapa Antena

Por ser requerida para este proyecto, una antena que captara senales en ba-ja frecuencia (senal de tiempo), muchos de los disenos comerciales quedaronobsoletos y se requirieron soluciones constructivas mas ingeniosas o de ela-boracion manual. A continuacion, se presentan algunos prototipos basicos deantena para captacion de senales a 60 KHz encontrados y desarrollados enbase a teorıa de sitios web (ka7oei (2012)) y literatura especializada (Stutz-man y Thiele (1981) y Huang y Boyle (2008)); es necesario aclarar que laimplementacion de una antena funcional esta ligada al uso de materiales decalidad, capacitacion previa y comprobacion-experimentacion mediante equi-

Page 46: Recepción, demodulación y decodificación de la se˜nal de tiempo

32 3 Diseno del receptor de la senal de tiempo

Figura 3.2: Prototipo Antena 1

po de diagnostico normado (todos aspectos, ausentes durante la ejecucion delproyecto).

Prototipo 1

Este tipo de antena es muy sencillo pero limitado en ganancia, su realizaciontoma poco tiempo y se trata de una antena helicoidal realizada con cablecoaxial RG8. Se realizan espiras alrededor de un conductor aislado, con elproposito, de captar campos electromagneticos en el espectro. En la figura 3.2a) es posible visualizar la ejecucion real del elemento.

Por otra parte, en la figura 3.2 b) se muestra la antena en el circuito deacople resonante y de amplificacion LM746. Utilizando la ecuacion 2.4 y uncapacitor comercial de 0.1 uF , se calculo un inductor de aproximadamente70 uH. Ambos elementos en paralelo y junto a la antena, hacen resonar elcircuito a la frecuencia de la senal de tiempo. La seccion de amplificacion serealizo con un amplificador LM746 en configuracion no inversor y ganancia100; el sistema completo se muestra en el esquema de la figura 3.3.

Prototipo 2

El diseno de este prototipo se realizo basado en las condiciones generales brin-dadas por (ka7oei (2012), junto a algunas modificaciones requeridas. En la

Page 47: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.1. Receptor de radio y demodulador 33

Figura 3.3: Etapa acomple y amplificacion prototipo Antena 1

figura 3.4 se muestra la implementacion realizada de la antena y su acoplecon el circuito amplificador. Los principales puntos a considerar se presentanenseguida.

• Los materiales de construccion utilizados para la antena de la figura3.4, no son exactamente los mismos a los propuestos por ka7oei (2012).Se buscaron materiales equivalentes que no afectaran la generalidad deldiseno.

• El acople de las espiras de alambre con los condensadores se realizopor medio de una tarjeta de prototipos, esto en aras, se poder ejecutarvarias pruebas de comprobacion y no dejar limitado el diseno a un unicocircuito.

• Se utilizaron capacitores electrolıticos para generar los 0.4 uF , la pro-puesta de ka7oei (2012) solo restringe el uso de componentes ceramicos,dejando abierta la posibilidad de cualquier otro material para los con-densadores.

En la figura 3.5 se visualiza el esquematico completo de los lazos de alambrey capacitores junto a un amplificador operacional de senal LM741, similar aldesarrollado en el prototipo de antena 1.

Page 48: Recepción, demodulación y decodificación de la se˜nal de tiempo

34 3 Diseno del receptor de la senal de tiempo

Figura 3.4: Prototipo Antena 2

Figura 3.5: Etapa acomple y amplificacion prototipo Antena 2

Page 49: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.2. Decodificacion de la senal de tiempo 35

3.2 Decodificacion de la senal de tiempo

Planteadas las etapas de recepcion y demodulacion, se alcanzo el proceso dedecodificacion de la senal de tiempo. Esta seccion fue quizas la de mayorcomplejidad para el proyecto en general, ya que, permitio mostrar visualmentelos resultados e informacion de una onda electromagnetica que se encuentraen el espacio.

Por practicidad y cualidades especificas de la senal de tiempo, se eligiotratar la onda enviada por el NIST con un microcontrolador programable,especıficamente la plataforma Arduino. Los tiempos en bajo de los bits (ceros,unos y marcadores, la modulacion en amplitud y la condicion secuencial en quees transmitida la informacion, hacieron mas eficiente el uso de programacionpara tratar los casos especıficos.

Programacion en Arduino para decodificar la senal de tiempo

La programacion para decodificar la senal de tiempo enviada por la WWVBesta sujeta principalmente a lo establecido en los cuadros 2.3 y 2.5. Es necesariocrear las condiciones adecuadas para que el microcontrolador detecte los pulsosde la senal, y posteriormente, sea capaz de interpretar y convertir los datosbinarios en informacion de tiempo valida, acorde a lo esperado. El codigoexplıcito creado para la decodificacion y visualizacion de la senal de tiempo seencuentra en el Anexo 2.

En la figura 3.6 se plantea un diagrama de las 7 etapas utilizadas en ladecodificacion y su interaccion durante el desarrollo del programa. Como consi-deraciones generales, el programa sigue una logica secuencial en su estructura,no obstante, la etapa de Interrupcion puede ser llamada en cualquier mo-mento del sistema cuando se presente una variacion en la senal entrante dealto a bajo o viceversa. Ademas, la etapa Error, envıa el sistema a la Etapa

Lazo si se dan las restricciones establecidas.

A continuacion, se presenta un analisis detallado de la logica ejecutada encada una de las etapas para obtener un decodificador funcional.

Etapa Inicial

Esta seccion del codigo no es una rutina como tal, pero se utiliza para ini-cializar las librerıas y variables globales del sistema, que luego seran llamadasindefinido numero de veces durante el programa. En la figura 3.7 se observaun diagrama resumen de los procesos que se transcurren en esta etapa.

En el caso del codigo para la decodificacion de la senal de tiempo (este ter-mino se tratara como CO-ST en lo que sigue del texto), las librerıas empleadasfueron en su mayorıa las que vienen por defecto en el software libre Arduino;

Page 50: Recepción, demodulación y decodificación de la se˜nal de tiempo

36 3 Diseno del receptor de la senal de tiempo

Código Arduino para decodificaciónde señal de tiempo WWVB

Etapa Setup

Etapa Lazo

Etapa Análisis

Etapa Decodificación

Etapa Error

Etapa Interrupción

Figura 3.6: Diagrama general del codigo implementado

a excepcion de la denominada LiquidCrystal.h, la cual se utiliza para generarla interfaz de comunicacion entre la pantalla LCD y el dispositivo UNO.

Ademas, la declaracion de las variables esta sujeta a la informacion dealmacenamiento que contendran y su ciclo de trabajo durante la ejecucion delprograma. En el cuadro 3.1 se presenta un resumen de las funciones empleadasen el CO-ST y su uso especifico.

Etapa Setup

La etapa mostrada en la figura 3.8 corresponde a la seccion de arranque delArduino, es decir, hasta la llegada de esta rutina comienza la transmision dedatos entre el dispositivo y el procesador donde se aloja la logica implemen-tada. La etapa Setup es llamada una unica vez durante el inicio del programay no se vuelve a ejecutar, a menos que se presente una senal de reinicio en el

Page 51: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.2. Decodificacion de la senal de tiempo 37

Llamado de librerías para pantalla Liquid Crystal

Declaración de pin de entrada Pin 2

Declaración de variables para rutina de interrupción

Declaración de variables para coordinación de fecha y hora

Figura 3.7: Etapa Inicial

Cuadro 3.1: Declaracion y funcion de variables en CO-ST

Empleo en CO-ST Tipo Funcion

Contador de marcadores byte Almacena de 0 a 256Tipo y numero de bitPulso de senalNombre del mes char Variable para textoVariables de hora y fecha int Numeros enteros decimalesAlmacenar tiempos de la senal unsigned int Entero sin signoValor senal recibida volatile Registra almacenamiento

sistema (Arduino, 2014).

Como se muestra en el diagrama de la figura 3.8, en esta etapa se da lainicializacion de la pantalla LCD para su utilizacion en el CO-ST. Se danalgunos procesos de encendido como energizar los 16 espacios de escritura queconforman la pantalla (separados en dos filas de ocho columnas), la limpiezatotal ante posibles escrituras anteriores y la colocacion de los cursores en lasposiciones deseadas. Ademas de lo anterior, se presenta el saludo inicial queadvierte la llegada de la senal de tiempo proveniente del WWVB-NIST.

En la etapa Setup se da tambien la declaracion del pin 2 como entradadigital al Arduino; se escogio una entrada digital y no analogica, porque lasenal de tiempo es tratada en la seccion de demodulacion para visualizarsecomo un pulso de solo dos valores logicos: cero (0V) y uno (5V).

Page 52: Recepción, demodulación y decodificación de la se˜nal de tiempo

38 3 Diseno del receptor de la senal de tiempo

Inicialización de la pantalla LCD

Descripción y saludo

Tasa de transferencia de bits en el Arduino

Llamado de interrupción

Etapa Setup

9600 bps

Figura 3.8: Etapa Setup

Finalmente, en la etapa Setup del CO-ST se definen el bit-rate y el llamadoa interrupciones presentes en el codigo. El bit-rate corresponde a la velocidadcon que se comunica el Arduino a la pantalla LCD y a la computadora, seestablece en 9600 bps. De la misma forma, el CO-ST cuenta con una etapa deinterrupcion, la cual se establece en esta rutina y se explicara en detalle conel diagrama de la figura 3.9.

Etapa Interrupcion

La Etapa Interrupcion tiene una funcion preponderante en la ejecucion delCO-ST, ya que es la encargada de reconocer los pulsos cambiantes en la senalde tiempo, esto para que en etapas posteriores sea posible discriminar los ceros,los unos y los marcadores. Se declara en la Etapa Setup y actua cuando hayun cambio logico en la senal de entrada (pin 2), tal y como se muestra en lafigura 3.9.

Las llamadas a interrupcion no funcionan en orden secuencial, estas seactivan en cualquier instante del programa, mientras se cumpla la condicionpreviamente establecida (en el caso del CO-ST, la condicion es el cambio enel pulso de entrada, sea de 0V A 5V o viceversa).

Cuando se presenta un cambio en el pulso del pin 2, el programa envıa elsistema a la Interrupcion y almacena en una variable volatil (ver cuadro 3.1)el valor logico de la senal de tiempo, sea BAJO (0) o ALTO (1).

Page 53: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.2. Decodificacion de la senal de tiempo 39

ActúaWcuandoWhayWunWcambioWenWelWpulsoWdelWpinW2

SeWguardaWúltimoWestadoWpresenteWenWelWpinW2

Etapa Interrupción5VWaW0V

0VWaW5V

HIGH

LOW

Figura 3.9: Etapa Interrupcion

Etapa Lazo

La Etapa Lazo es la seccion del codigo que vuelve al programa cıclico, es decir,permite la ejecucion repetida y permanente de las funciones compiladas en elArduino (incluidas las restricciones). Para el CO-ST las consideraciones delazo se pueden visualizar en el diagrama de la figura 3.10.

De forma intrınseca, la Etapa Lazo esta estrechamente relacionada conla Etapa Interrupcion, esto debido a que, las condiciones que rigen el ciclodependen de los cambios logicos en el pulso de la senal de tiempo. Duranteel lazo, se censan permanentemente los valores de variables que almacenan elvalor alto o bajo de la senal. Mientras el pulso permanezca invariante el Ar-duino se mantiene en un estado de espera activa (milisegundos), no obstante,cuando se genera un cambio de tension, el sistema cumple las condiciones mar-cadas para llegar a una seccion de identificacion posterior denominada Etapa

Analisis.

Desarrollada la Etapa Analisis y sus procesos internos, la seccion deLazo actualiza las variables de almacenamiento y espera el siguiente cambiode pulso.

Etapa Analisis

La Etapa Analisis es la seccion encargada del CO-ST para discriminar si unpulso entrante se considera como cero, uno o marcador. En la figura 3.11se observa el diagrama completo de los procesos que se implementa en estarutina; sin embargo, a continuacion se describen en detalle sus principalescaracterısticas.

• Cuando inicia la rutina, se almacena el valor actual de la variable mi-llis() (reloj interno del Arduino que arranca cuando se carga el codigo

Page 54: Recepción, demodulación y decodificación de la se˜nal de tiempo

40 3 Diseno del receptor de la senal de tiempo

FunciónAcompruebaAelAcambioAenAelApulsoAdelApinA2

Etapa Lazo

¿CambióAelApulso?NO

-ASeAguardaAestadoAdelAúltimoApulso-ASeAenvíaAelAsistemaAaAlaAEtapaAAnálisis

SI

Figura 3.10: Etapa Lazo

al dispositivo, no se puede reiniciar ni modificar) en un entero (1).

• Si el pulso actual es bajo, se guarda el valor de millis() en una variableestablecida entero (2) y el sistema vuelve a la Etapa Lazo para censarla senal nuevamente.

• Si el pulso actual es uno, se ejecuta una resta de tiempos (entero (1) -entero (2)) y se almacena el resultado en una variable entera que repre-senta la cantidad de tiempo que estuvo la senal de tiempo en un valorbajo.

• Se crean variables denominadas contadores de bits, esto para ejecutarlas cuentas de pulsos y coordinar la llegada de los 60 bits que se envıanpor senal.

• Si la cantidad de tiempo es menor a 100 ms, se considera que hubo ruidoen la senal de tiempo, y por lo tanto, el sistema es enviado a la Etapa

Error.

• Si la cantidad de tiempo esta entre 100 ms y 350 ms, se considera quese recibio un cero en la senal de tiempo (el valor determinado por elNIST para enviar un cero es de 200 ms segun la tabla 2.3, no obstante,se agrega robustez al sistema brindando rangos de trabajo amplios).Se aumentan los contadores de bits en una unidad y se almacena unavariable con valor 0.

Page 55: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.2. Decodificacion de la senal de tiempo 41

• Si la cantidad de tiempo entre 350 ms y 650, se considera que se recibioun uno en la senal de tiempo (el valor determinado por el NIST paraenviar un uno es de 500 ms segun la tabla 2.3, no obstante, se agregarobustez al sistema brindando rangos de trabajo amplios). Se aumentanlos contadores de bits en una unidad y se almacena una variable convalor 1.

• Si la cantidad de tiempo esta entre 650 ms y 950, se considera que serecibio un marcador en la senal de tiempo (el valor determinado porel NIST para enviar un marcador es de 800 ms segun la tabla 2.3, noobstante, se agrega robustez al sistema brindando rangos de trabajo am-plios). Se aumentan los contadores de bits en una unidad y se almacenauna variable con valor 2.

• Si la cantidad de tiempo esta entre 650 ms y 950, no se recibio unmarcador en el bit anterior, los contadores son iguales a 59 y ya sehan recibido 6 marcadores durante la transmision, el sistema reinicia loscontadores y pasa a la Etapa Decodificacion.

• Si la cantidad de tiempo esta entre 650 ms y 950, no se recibio unmarcador en el bit anterior, los contadores son menores a 59 y ya se hanrecibido 6 marcadores durante la transmision, el sistema pasa a la Etapa

Error.

• Si la cantidad de tiempo esta entre 650 ms y 950, se recibio un marcadoren el bit anterior y los contadores son menores a 59, el codigo detectouna senal por primera vez, se reinician contadores y el sistema vuelve ala Etapa Lazo.

Etapa Decodificacion

La Etapa Decodificacion es la encargada de brindar una interfaz visible a losdatos tratados en las secciones de codigo anteriores. Un diagrama explicativode esta seccion se presenta en la figura 3.12. Sus principales caracterısticas sedescriben a continuacion:

• Se guardan en variables enteras los valores decimales de minutos, horas,dıa del ano y ano. Esto se realiza multiplicando los valores generados dela Etapa Analisis (0 o 1), por los valores que representa cada uno delos 60 bits segun su posicion secuencial (de acuerdo a lo establecido enla tabla 2.5).

• Se almacena en variables enteras el valor logico de las correcciones delUT1, leap second y ano bisiesto.

Page 56: Recepción, demodulación y decodificación de la se˜nal de tiempo

42 3 Diseno del receptor de la senal de tiempo

SeEguardaEúltimoEtiempoEdelErelojEinternoEdelEArduino

Etapa Análisis

PulsoE==EceroE0low3NO

CEAlmacenaEelEtiempoEenEqueEiniciaEpulsoEceroCESeEenvíaEelEsistemaEaElaEEtapaELazo

SI

SeEcalculaEelEtiempoEdelEpulsoEenEbajo

TE<=EfDDEms

TE<=E35DEms

TE<=E65DEms

NO

NO

SeEenvíaEsistemaEaEEtapaEError SI

SeErecibióEunEcero

SeErecibióEunEuno SI

SI

SeErecibióEunEmarcador

ContE==E59E

SeEenvíaEsistemaEaEEtapaEError

MarSE==EDEEMarTE==E6E

MarSE==EDE

SeEenvíaEsistemaEaEEtapaEDecodificación

NO

SI

SINO

CEDetecciónEdeEseñalEporEprimeraEvezECESeEinicializanEcontadoresCESeEenvíaEsistemaEaEEtapaELazo

SeEenvíaEsistemaEaEEtapaELazo SI

NO

TE<=E95DEms

NO

SI

SeEenvíaEsistemaEaEEtapaEError

NO

Figura 3.11: Etapa Analisis

Page 57: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.3. Validacion del receptor y demodulador 43

• Se verifican errores basicos en el sistema como: minutos >59, horas >24,marcadores no encontrados en su posicion y dıas del ano >365. Si sepresentan datos erroneos el sistema es enviado a la Etapa Error

• Se ejecutan correcciones por zona horaria y las diferencias de tiempo queimplican las marcas en los bits de UT1.

• Se realiza el calculo del mes y dıa especıfico del mismo, haciendo lamatematica correspondiente con la informacion de dıa del ano y bit deano bisiesto.

• Se inicializa la pantalla LCD y se colocan en la primera fila los valorescorrespondientes a tiempo en formato minuto:hora. Se redirige el cursorde la pantalla a la segunda fila y se establece la informacion de fecha enformato mes:dıa:ano.

Etapa Error

La Etapa Error es la seccion encargada de informar mediante la pantalla LCDsobre posibles problemas con la recepcion y decodificacion de la senal de tiem-po. El diagrama explicativo sobre su implementacion en el CO-ST se presentaen el diagrama de la figura 3.13. De forma general, en esta etapa se brinda unmensaje de error que alerta sobre la busqueda de una nueva senal, se reini-cian los contadores globales para evitar conflictos con la Etapa Analisis y seenvıa el sistema a la Etapa Lazo para esperar un nuevo cambio en el pulso.

3.3 Validacion del receptor y demodulador

Los disenos presentados en esta seccion se desarrollaron con el proposito detener herramientas validas para comprobar las etapas de recepcion, demodu-lacion y decodificacion. La limitante del horario en el que la senal de tiempoarriva a Costa Rica, propicio que se generaran mecanismos para simular laestructura del codigo de tiempo y sus eventuales condiciones de llegada alreceptor.

Con esto, en la presente seccion se implemento un transmisor virtual queconsta de dos etapas: un microcontrolador Arduino con el que se emulan lascaracterısticas del codigo de tiempo y una etapa de modulacion analogicapara dicha senal u ondas con cualidades similares. Se pretendio ası, modularun codigo de tiempo generico en una portadora de 60 Khz para de esta forma,tratar de imitar la senal de tiempo enviada por el NIST.

Page 58: Recepción, demodulación y decodificación de la se˜nal de tiempo

44 3 Diseno del receptor de la senal de tiempo

Seyejecutanylosycálculosydeylasyvariablesydeylayseñal

Etapa DecodificaciónMinutos

Horas

Díaydelyaño

Año

Verificaciónydeymarcadores

ComprobaciónydeybisiestoIyleapysecondyyycorreccionesyUTCNUT1

Colocaciónyenypantallaydeyhorayyyfecha

Seybuscanyerroresyenylayseñal

¿Existen?y

SeyenvíaysistemayayEtapayLazo

SeyenvíaysistemayayEtapayErrorSI

NO

Figura 3.12: Etapa Decodificacion

Se coloca en pantalla el mensaje de error

Se ponen en cero los contadores globales

Se reenvía el sistema a la Etapa Lazo

Etapa Error

Figura 3.13: Etapa Error

Page 59: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.3. Validacion del receptor y demodulador 45

Transmisor virtual con Arduino

En el Anexo 3 se muestra el codigo de prueba Arduino implementado paracomprobar la eficacia del receptor y el CO-ST. Su funcionamiento es muysencillo y trata de asemejar las caracterısticas de las senales generadas por elNIST-F1, a continuacion se describe mas a fondo:

• Se generan 60 bits respetando las reglas y secuencia de la tabla 2.5.

• Cada bit corresponde a un pulso de 0 a 5V con un perıodo de 0.2, 0.5 o0.8 milisegundos en bajo, segun la informacion que se quiera transmitir.Se utilizan las cualidades del Arduino para generar retrasos (‘delay’)y establecer valores logicos de tension en sus pines digitales (BAJO yALTO).

• La senal se establece en BAJO (durante el tiempo requerido) al iniciode cada envıo de bit, luego se coloca en ALTO hasta complementar unsegundo, de esta forma, con 60 bits se emula la transmision de un minutoque genera la estacion radial WWVB.

• Se envıan bits estrategicos en los segundos adecuados para simular untiempo de 12 horas y 50 o 51 minutos (se varıa el valor logico del bit 8para ejecutar una prueba dinamica).

• Se envıan bits estrategicos en los segundos adecuados para simular lafecha 21 de Mayo (dıa 141 en un ano no bisiesto) del ano 2014.

• Cada valor de bit (cero, uno o marcador) es colocado en la pantalla LCDpara visualizar en tiempo real lo que sucede con el codigo.

En el esquema de la figura 3.14, se presenta un resumen basico de como seimplemento el codigo de prueba de la senal de tiempo.

Circuito modulador de prueba

El esquematico desarrollado en esta etapa obedece principalmente a la nece-sidad de manejar un circuito de prueba que permita comprobar la electronicadel demodulador-amplificador sin antena. Para solventar este requerimientose empleo un circuito basico llamado amplificador de drenaje comun (seguidorde fuente). Este se diseno y simulo en el programa de simulacion OrCAD, taly como se muestra en la figura 3.15.

La electronica presente en la figura 3.15 constituye una forma relativamentesencilla de modular senales, es un circuito de facil de implementar, barato,tiene una salida en fase y presenta un rendimiento aceptable para efectuarpruebas de funcionamiento (Boylestad y Nashelsky, 2009).

Page 60: Recepción, demodulación y decodificación de la se˜nal de tiempo

46 3 Diseno del receptor de la senal de tiempo

Declaración del pin de salida

Marcador

Código de prueba Arduino

Uno Cero

PinS Bajo

Delay 500 ms

PinS Alto

Delay 500 ms

PinS Bajo

Delay 800 ms

PinS Alto

Delay 200 ms

PinS Bajo

Delay 200 ms

PinS Alto

Delay 800 ms

Figura 3.14: Codigo emulador de senal de tiempo

Figura 3.15: Modulador de senal generica

Page 61: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.3. Validacion del receptor y demodulador 47

Figura 3.16: Senal sinusoidal de 60 KHz

Analizando el circuito por secciones, la fuente V1 provee la onda sinusoidalde 60 KHz con una amplitud de 0,5 V. Esta onda intenta replicar las caracte-rısticas de la portadora empleada por el NIST en la modulacion de la senal detiempo. En la figura 3.16 se muestra la simulacion de la fuente V1 realizadaen OrCAD, como se nota, el periodo de la senal es cercano a los 0.000017segundos o 60000 Hz.

Por otra parte, mediante la fuente V2 se realizo una senal cuadrada gene-rica que imita un codigo binario aleatorio. Su amplitud va de 0 a 5 V y tieneuna frecuencia periodica de 400 Hz (se utiliza esta frecuencia y no una masbaja, para mejorar los tiempos de simulacion en el programa OrCAD). La ideade la fuente V2 es generar una onda que sea semejante a la senal de tiempo,dado la imposibilidad de simular con OrCAD la senal del transmisor virtualArduino. En la figura 3.17 se visualizan los pulsos generados en la simulacion.

Con las fuentes V1 y V2 se tienen la senal portadora y modulada respec-tivamente. La union de estas ondas se logra mediante la logica del circuitototal de la figura 3.15. El capacitor C1 (100 nF) funciona en el acople de lafuente de entrada sinusoidal y elimina cualquier desplazamiento presente. Lasresistencias R1 y R2 son de igual magnitud (ambas de 1 KΩ. para estructurarel seguidor) y forman un divisor de tension con la fuente de 5 Vdc. Se estableceeste valor de fuente debido a que 5 V es la maxima tension que alcanza V2,lo cual brinda una referencia para la modulacion.

La senal de la fuente V1 referenciada en 2,5 V entra en la compuerta del

Page 62: Recepción, demodulación y decodificación de la se˜nal de tiempo

48 3 Diseno del receptor de la senal de tiempo

Figura 3.17: Senal cuadrada de 400 Hz

MOSFET de canal ’n’ y sigue las variaciones de la fuente V2 en el drenaje.Cuando V2 se encuentra en 5 V, la senal de salida en la fuente tiene la mag-nitud de la tension V1 durante el periodo que permanezca el pulso activo, sinembargo, una vez que V2 va a cero, la onda de salida tiene camino a tierra ytoma los valores de la tension en la resistencia de carga R3 alimentada por lasenal de la compuerta (valores altos mejoran la impedancia). El grafico de latematica anterior se puede apreciar con mas detalle en la figura 3.18, salidatomada en la fuente del MOSFET.

Es importante mencionar que la senal modulada no es del todo ideal, yaque presenta variaciones leves de tension entre las transiciones. No obstante, essuficientemente buena para simular el comportamiento de la senal recibida. Esposible calcular el coeficiente de modulacion de la senal mostrada en la figura3.18 para compararlo con el 83 % que presenta la senal de tiempo teorica de lafigura 2.3. Mediante la ecuacion 3.1 y las tensiones de la figura se determinaeste ındice.

m =0,300

0,400= 0,75 (3.1)

Tomando en cuenta los valores aproximados de tension que se tienen conla figura 3.18, hay un error cercano al 10 % entre el coeficiente de modula-cion teorico y el obtenido con el circuito seguidor de fuente. Valor aceptableconsiderando que se trata de un modulador de onda sencillo.

Page 63: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.3. Validacion del receptor y demodulador 49

Figura 3.18: Senal de prueba modulada a 60 Khz

Comprobada la efectividad del circuito de la figura 3.15 mediante la senalmodulada de la figura 3.18, es posible verificar ahora, los circuitos de amplifica-cion, demodulacion y comparador LM311 establecidos en la seccion: Receptorde radio y demodulador.

Las simulaciones se efectuaron con el circuito completo presente en la figura3.19, el cual es el acople de las esquematicos brindados en las figuras 3.15y 3.1; lo anterior para tener datos que reflejen el comportamiento real delamplificador-demodulador ante una onda generica similar a la senal de tiempo.

Verificacion de etapa amplificacion

El grafico de la figura 3.20 efectuado con OrCAD corresponde a la salidadel amplificador operacional del circuito de simulacion (figura 3.19). Como sevisualiza, la senal mantiene un comportamiento similar al presente en la figura3.18, solo que con magnitudes de tension elevadas (se cumple el objetivo de laetapa). Hay que recordar que el modulador de prueba no tiene alta precisiony se emplea principalmente para emular la llegada de la senal de tiempo.

Verificacion de etapa detector de envolvente

En la figura 3.21, se muestra la grafica a la salida del detector de envolventeante una senal de entrada como la propuesta en la figura 3.20. Es evidenteanalizando las dos ondas, como las cualidades del circuito descrito permiten

Page 64: Recepción, demodulación y decodificación de la se˜nal de tiempo

50 3 Diseno del receptor de la senal de tiempo

Figura 3.19: Demodulador de prueba y circuito receptor

Figura 3.20: Receptor, etapa amplificacion

Page 65: Recepción, demodulación y decodificación de la se˜nal de tiempo

3.3. Validacion del receptor y demodulador 51

Figura 3.21: Demodulacion por detector de envolvente

que se elimine la influencia de la senal portadora y se deje unicamente elcontorno de la senal modulada, aunque no del todo perfecta y utilizable.

Verificacion de etapa LM311

En la figura 3.22 se visualiza la salida del comparador LM311. Se tiene unaonda con valores digitales de cero y uno que representan la demodulacion dela senal proporcionada por la fuente V2. Ejecutando un estudio comparativoentre las graficas de las figuras 3.17 y 3.22, se puede concluir que el circuitototal de la figura 3.1 demodula de buena forma la senal generica, y por ende,deberıa ejecutar una labor similar con la senal de tiempo.

Page 66: Recepción, demodulación y decodificación de la se˜nal de tiempo

52 3 Diseno del receptor de la senal de tiempo

Figura 3.22: Senal generica demodulada

Page 67: Recepción, demodulación y decodificación de la se˜nal de tiempo

4 Resultados Generales

Este capıtulo tiene como proposito presentar los resultados de las diferentesetapas disenadas en la seccion anterior. Se analizan el receptor-demoduladory el decodificador con Arduino.

4.1 Implementacion practica del receptor ydemodulador para la senal de tiempo

Ejecutadas todas las pruebas de simulacion y comprobacion con OrCAD paralos circuitos disenados en las figuras 3.15 y 3.1, el siguiente paso fue realizarsu implementacion fısica y verificacion de funcionamiento. En la figura 4.1 a)se visualiza el modulador con seguidor de emisor para senal generica. En estecaso, la senal V2 (figura 3.15) corresponde al codigo de prueba desarrolladocon Arduino (que sigue fielmente las caracterısticas de la senal de tiempo).De esta forma, el amplificador-demodulador de la figura 4.1 b) primero secomprueba con el codigo de prueba modulado (desarrollado con Arduino) yposteriormente con la etapa antena.

En la figura 4.2 es posible visualizar juntas ambas etapas desarrolladas enla figura 4.1. Ası, se tiene un circuito inicial que modula en amplitud a 60 KHzuna onda cuadrada generada con Arduino (caracterısticas similares al codigo

Figura 4.1: a) Circuito modulador de senal de prueba. b) Circuito receptor ydemodulador

53

Page 68: Recepción, demodulación y decodificación de la se˜nal de tiempo

54 4 Resultados Generales

Figura 4.2: Circuito total implementado

de tiempo con respecto amplitud y logica digital). Posteriormente, la salida delmodulador entra a una etapa de amplificacion con un operacional LF353, paraluego ser tratada por detector de envolvente que elimina los sectores negativosde la onda y elimina la senal portadora. Finalmente, mediante un dispositivoLM311 se limpia la senal y se coloca en un ambito de 0 a 5 V con los tiemposcorrectos de ejecucion. Las graficas y capturas tomadas con osciloscopio paratodas las secciones mencionadas se presentan a continuacion.

En la figura 4.3, se muestra la grafica de la onda sinusoidal realizada conel generador de senales para modular en amplitud el codigo de tiempo creadocon Arduino. Esta senal toma el papel de V1 en la figura 3.15. Segun la figura4.3, cuenta con un periodo aproximado de 17 µs (aspecto que representa unafrecuencia cercana a los 60 KHz esperados), ademas de una tension de 500mV .

Por su parte, la figura 4.4 permite visualizar el codigo de tiempo generadocon el microcontrolador Arduino (en diversos instantes de tiempo) para reali-zar pruebas de funcionamiento sin necesidad de una antena. Como se mencionoanteriormente, la senal simulada representa fielmente las cualidades otorgadaspor el NIST a su senal. Estudio de los casos presentes en la figura 4.4.

• 1) En la grafica a) (2V/div), se observa como la amplitud de la onda vadesde los 0 V hasta los 5 V de tension, CERO y UNO en logica digital.

• 2) En la grafica a) se muestra como hay una senal en bajo de 0,2 segun-dos, es decir, se acaba de enviar un cero en la transmision.

• 3) En la grafica a), es posible presenciar el inicio una transmision en elbit 59 y 0, llegan dos marcadores que establecen la culminacion e inicio

Page 69: Recepción, demodulación y decodificación de la se˜nal de tiempo

4.1. Implementacion practica del receptor y demodulador para la senal detiempo 55

Figura 4.3: Onda sinusoidal con frecuencia de 60 KHz

de un minuto de 60 datos.

• 4) En la grafica b) se nota como hay una senal en bajo de 0,8 segundos,es decir, se acaba de enviar un marcador en la transmision.

• 5) En la grafica b) se visualiza como hay una senal en bajo de 0,5 se-gundos, es decir, se acaba de enviar un uno en la transmision.

• 6) En la grafica b) (0,5s/div), es notorio como cada bit tiene una du-racion de un segundo exacto entre su periodo en bajo y alto. Ademas,la indicacion de tipo de bit siempre se realiza en los primeros 0,8 s detransmision.

Continuando secuencialmente, en la grafica de la figura 4.5 se observa elcodigo de tiempo modulado, obtenido a la salida del amplificador de drenajecomun. Con una senal centrada en 0 V, es evidente como el codigo ya nocorresponde a un tren de pulsos de baja frecuencia y se asemeja mas a unaonda sinusoidal que varıa en amplitud.

La figura 4.5 refleja como cada parte de las ondas cuadradas visualizadasen la figura 4.4 a), son ‘llenadas’ con una senal sinusoidal de alta frecuencia(modulacion AM); siguiendo un comportamiento muy similar al que tendrıansi fueran transmitidas desde Fort Collins por la estacion radial WWVB. Como

Page 70: Recepción, demodulación y decodificación de la se˜nal de tiempo

56 4 Resultados Generales

Figura 4.4: Codigos de tiempo generados con Arduino

Figura 4.5: Senal de tiempo modulada a 60 KHz

punto de atencion, es posible mencionar que las ondas cuando estan en altopresentan una magnitud negativa mucho menor a la positiva, no obstante, lademodulacion inhibe esta seccion de onda, por lo que, al final no son de grantrascendencia. En un analisis visual, la figura refleja la llegada de dos ceroslogicos, dos marcadores y un uno logico.

En la figura 4.6 se presenta un acercamiento de la senal presentada en la

Page 71: Recepción, demodulación y decodificación de la se˜nal de tiempo

4.1. Implementacion practica del receptor y demodulador para la senal detiempo 57

Figura 4.6: Acercamiento a la senal modulada

figura 4.5. Con esto, se pueden verificar caracterısticas importantes como laamplitud de la onda cercana a 500 mV (se recuerda que se trata de un circuitoseguidor de emisor, ganancia 1), ası tambien, una frecuencia aproximada a60000 Hz (el periodo de la onda corresponde a 16 us ).

Un estudio comparativo se puede ejecutar mediante el uso de la figura4.7. En ella se presentan el codigo de prueba Arduino original (inferior) y elcodigo de prueba Arduino modulado (superior). Como se visualiza, la senalmodulada sigue fielmente las variaciones logicas del codigo prueba; ası, esfactible establecer que el circuito planteado para modulacion desempena unpapel aceptable y representa de forma adecuada, la llegada de una transmisionde senal de tiempo por parte del NIST.

Realizadas con exito las pruebas necesarias de comprobacion al codigo detiempo y circuito modulador, ahora es posible introducir con certeza de fun-cionamiento, una senal valida al circuito amplificador-demodulador planteadoen la figura 3.18 e implementado con electronica analogica en el circuito de lafigura 4.1 a).

La primera seccion del esquematico de la figura 4.1 a) corresponde a laetapa amplificacion, encargada de aumentar los valores de tension de la senalde llegada para que sean trabajables en las demas partes del circuito total.Para este caso, se utilizaron las resistencias calculadas en el capıtulo anterior,propiciando que el amplificador operacional obtenga una ganancia aproximada

Page 72: Recepción, demodulación y decodificación de la se˜nal de tiempo

58 4 Resultados Generales

Figura 4.7: Comparacion entre senal modulada (superior) y senal de tiempoArduino (inferior)

de 20 veces.

En la figura 4.8 se presenta la respuesta del circuito amplificador anteuna entrada como la senal de la figura 4.5 (en otro perıodo temporal). Sevisualiza un mismo comportamiento estructural, la diferencia central radicaen un cambio de magnitud de la onda, la cual aumento de 0,5 V a casi 5 V.Este hecho ratifica un buen desempeno de la etapa de amplificacion ante unasenal controlada como el codigo de prueba Arduino modulado en amplitud.

La figura 4.9 representa por su parte, la senal de la figura 4.8 despues depasar por la seccion principal de demodulacion: el detector de envolvente. Seobserva una eliminacion contundente de los valores negativos de la onda pormedio del diodo. Ademas, no varıa la magnitud de tension y se excluyen casipor completo los efectos de la portadora de 60 KHz, aunque no del todo.Como se menciono en el capitulo anterior, este metodo de demodulacion esefectivo, pero no alcanza gran precision.

El circuito real para el receptor de envolvente obtiene mejores resultadosque los ejecutados mediante simulacion (recordar figura 3.21), lo cual es unaspecto constructivo positivo que brinda mayor seguridad de implementacion.

Finalmente en el proceso demodulador-amplificador del circuito mostradoen la figura 4.2, la senal pasa del receptor de envolvente al integrado LM311para ser tratada y convertida en un tren de pulsos de 0 a 5 V, esto teniendo

Page 73: Recepción, demodulación y decodificación de la se˜nal de tiempo

4.1. Implementacion practica del receptor y demodulador para la senal detiempo 59

Figura 4.8: Senal modulada despues de etapa amplificacion

Figura 4.9: Senal demodulada despues de etapa detector-envolvente

Page 74: Recepción, demodulación y decodificación de la se˜nal de tiempo

60 4 Resultados Generales

Figura 4.10: Senal de tiempo Arduino demodulada con etapa LM311

como objetivo alcanzar una logica digital que pueda ser entendida por el Ar-duino mediante el CO-ST. Los tiempos de ejecucion para cada bit permaneceninvariantes como se nota en la figura 4.10.

Una comparacion general entre el codigo de prueba generado con el micro-controlador UNO (superior) y la senal demodulada en su etapa final (inferior)se muestra en la figura 4.11, ambas ondas presentan un comportamiento prac-ticamente igual en sus periodos y magnitudes. Es posible calcular el error totalde tiempo y amplitud entre ambas senales para evaluar el rendimiento de loscircuitos implementados. La zona a) de la figura 4.11 evidencia tiempos enbajo de las ondas practicamente iguales, con lo se tiene un error en periodomenor al 1 %. Por otra parte, la zona b) muestra una diferencia aproximadade 0.3 V entre la tension final con LM311 y la tension de la senal generadacon Arduino, el error corresponde a 6 %.

De esta forma, es posible afirmar que se cuenta con un circuito amplificador-demodulador que se desempena satisfactoriamente ante condiciones estableci-das.

Page 75: Recepción, demodulación y decodificación de la se˜nal de tiempo

4.2. Verificacion de funcionamiento del CO-ST implementado con Arduino61

Figura 4.11: Comparacion entre senal Arduino original (superior) y la senaldemodulada (inferior)

4.2 Verificacion de funcionamiento del CO-STimplementado con Arduino

En esta seccion se muestran las capturas del Arduino y la pantalla LCD quepermiten visualizar el funcionamiento del CO-ST para decodificar la senalde tiempo. El codigo se verifica con pruebas Arduino-Arduino y Arduino-modulador-demodulador-Arduino

Verificacion Arduino-Arduino

Como se observa en la figura 4.12, se emplearon dos microcontroladores UNOpara verificar el CO-ST. El Arduino superior reproduce el codigo de pruebade la senal de tiempo y el Arduino inferior ejecuta el CO-ST. Los dispositivosse conectan a traves de su pin numero dos (en un caso como pin de entraday en el otro como pin de salida). Se visualiza en la figura 4.12 a) un tiempode 12:50 y en la figura 4.12 b) un tiempo de 12:51, ambas con una fecha de21/May/2014; datos que se plantearon de esa manera al momento de generarel codigo de prueba (ver anexo 2).

Dado lo anterior, se comprueba que el CO-ST funciona correctamente enla lectura directa de pulsos que emulan la senal de tiempo. Ası, es muy factible

Page 76: Recepción, demodulación y decodificación de la se˜nal de tiempo

62 4 Resultados Generales

Figura 4.12: Implementacion del CO-ST Arduino-Arduino

que el codigo se comporte similar ante el arribo de la informacion enviada porel NIST.

Por su parte, en la figura 4.13 se muestra el funcionamiento del CO-STen distintas etapas de lectura, antes de llegar a los estados presentes en lafigura 4.12. La figura 4.13 a) indica el inicio del sistema, se genera un saludoinicial que alerta sobre la posible llegada de la senal de tiempo. Ası tambien,en la figura 4.13 b) se visualiza como el microcontrolador reacciona ante laincursion de un pulso con las caracterısticas del codigo NIST. Finalmente,la figura 4.13 refleja la actuacion del CO-ST si se da un error grave que nopermita decodificar una senal valida (ruido, desconexion, entre otros). Estasrepresentaciones visuales son iguales en la pantalla LCD, sea cual sea la formaen que entre la senal de tiempo al Arduino (real o simulada).

El codigo de prueba que emula la senal de tiempo y su implementacion enla pantalla LED se notan en la figura 4.14. Las figuras a), b) y c) tratan deejemplificar como la senal que brinda el Arduino va variando sus valores endistintos instantes de tiempo, esto para transmitir informacion coherente, deacuerdo con lo que genera la estacion radial WWVB. Se observan un cero, ununo y un marcador respectivamente.

Verificacion Arduino-modulador-demodulador-Arduino

La figura 4.15 presenta una captura del circuito implementado para modulary demodular el codigo de prueba (comprobacion total del sistema sin antenapresente), ademas del Arduino final utilizado para reproducir el CO-ST. Co-

Page 77: Recepción, demodulación y decodificación de la se˜nal de tiempo

4.2. Verificacion de funcionamiento del CO-ST implementado con Arduino63

Figura 4.13: Diferentes etapas del codigo CO-ST

Figura 4.14: Implentacion visual del codigo de prueba Arduino

mo es evidente en la figura y la pantalla LED, los resultados finales son losesperados, por lo que se asume un comportamiento correcto e idoneo de losprocesos ejecutados y los esquematicos desarrollados a lo largo del proyecto.

Con esto, la figura 4.16 en sus imagenes a) y b) muestra diversos periodosde toma de datos que confirman la eficacia del CO-ST ante variaciones entiempo real. Esta figura se compara con los datos mostrados en la figura 4.12(tiempo y fecha), ambas arrojando los mismos resultados.

Este tipo de etapa comprobatoria es de gran valıa para los intereses aca-demicos del documento, puesto que permite simular condiciones no ideales deuna senal de tiempo cuya presencia o no en el espectro electromagnetico, estasujeta a variables imposibles de controlar (clima, ruido excesivo, entre otras).Es decir, aunque no se cuente fısicamente con la senal, se tienen las pruebassuficientes para asegurar el funcionamiento adecuado de todos los circuitos ycodigos implementados ante la llegada de la informacion.

Page 78: Recepción, demodulación y decodificación de la se˜nal de tiempo

64 4 Resultados Generales

Figura 4.15: Implementacion del CO-ST Arduino-modulador-demodulador-Arduino

Figura 4.16: CO-ST en distintos instantes temporales

Page 79: Recepción, demodulación y decodificación de la se˜nal de tiempo

5 Conclusiones y recomendaciones

Conclusiones

• Se logro el planteamiento y construccion de un circuito amplificador –demodulador, capaz de tomar una onda generica o con cualidades dela senal de tiempo y demodularla en amplitud, esto a traves de tresetapas sencillas y de bajo costo. Electronica basica como la empleadabrinda condiciones suficientes para aplicaciones que no demandan granexactitud ni colapsan ante la perdida de informacion redundante.

• El CO-ST cumplio a cabalidad su funcion en la decodificacion de la senalde tiempo, las diferentes pruebas efectuadas demostraron que el codigoes dinamico, preciso, robusto y actua con rapidez ante problemas derecepcion.

• Elementos como la pantalla LED – Arduino son de gran utilidad paravisualizar en tiempo real la informacion de los procesos que ocurrenadentro del microcontrolador. Mediante la herramienta visual fue posibleadvertir datos de tiempo y fecha en formato decimal que cambiaronconforme el periodo de transmision (cada minuto).

• La realizacion de circuitos y logica de comprobacion como los efectuadoscon el codigo de prueba Arduino y el esquematico seguidor de fuente,permiten ejecutar simulaciones, experimentos de rendimiento y analisisfuncionales mas acercados a la realidad. Se arrojan resultados con altaprecision que reflejan posibles inconvenientes, mejoras constructivas ybrindan informacion para trabajar en cualquier instante.

• El empleo de microcontroladores programables en aplicaciones de tra-tamiento de senal, abre un amplio espectro de posibilidades para que elusuario pueda explorar diversas formas de resolver un problema, desdela perspectiva que le sea mas adecuada. Arduino se convirtio en unaplataforma idonea para tratar las caracterısticas de la senal de tiempoen prueba y decodificacion, su rendimiento y cualidades de lectura – es-critura facilitaron el establecimiento de una aplicacion rapida y precisa.

• El diseno e implementacion de antenas esta sujeto a muchas variablesteoricas – constructivas que definen la funcionalidad, ganancia y ambitode frecuencias a recibir o transmitir. Crear una antena desde cero es

65

Page 80: Recepción, demodulación y decodificación de la se˜nal de tiempo

66 5 Conclusiones y recomendaciones

un proceso complejo que requiere experiencia en el tema y materialesde calidad, por ende, se considera que este es un topico que queda ensegundo plano en el documento, cediendo paso ante el desarrollo de laelectronica analogica y digital presentada.

• No se logro el desarrollo de una antena capaz de recibir ondas electromag-neticas con frecuencia de 60 KHz. La comprobacion de la funcionalidadde la antena estuvo limitada por la carencia de equipo especializadocomo: medidores de campo ROE (razon de onda estacionaria), acopla-dores direccionales, analizadores de antena, entre otros. Sin mecanismosde prueba, se hace imposible detectar errores en el sistema de recepcion.

Recomendaciones

• La tematica antena requiere de un conocimiento desarrollado en teleco-municaciones y propagacion de ondas. Si no se cuenta con la experienciaadecuada, se recomienda pedir asesorıa de personas especializadas, obien, comprar el elemento.

• Cuando se labora con senales electricas cuya permanencia en el espectroelectromagnetico esta sujeta a condiciones climaticas y factores externosajenos al control, lo ideal es contar con herramientas de respaldo quepermitan realizar pruebas y experimentacion en cualquier momento; ası,captada la onda de interes se podra tener mayores garantıas de exito enla ejecucion de la logica desplegada.

Page 81: Recepción, demodulación y decodificación de la se˜nal de tiempo

Bibliografıa

Apuy, A. (2013). Analisis de tecnologıas de radio digital terrestre y sus posi-bilidades de implementacion en costa rica. Universidad de Costa Rica.

Arduino (2014). Arduino uno. http://arduino.cc/en/uploads/Main/ArduinoUnoR3F ront.jpg.

Boylestad, R. y Nashelsky, L. (2009). Electronica: Teorıa de Circuitos y Dis-positivos Electronicos. Prentice Hall, Decima Edicion.

Correa, J. (2010). Indice de modulacion. Intitucion Universitaria de Envigado.

Couch, L. (2008). Sistemas de Comunicacion Digitales y Analogicos. PearsonEducation, septima edicion.

CRCibernetica (2014). 1602 lcd keypad shield for arduino.http://www.crcibernetica.com/1602-lcd-keypad-shield-for-arduino/.

Dıaz, J. (2007). Emisor y receptor de am.

Deutch, M., Hanson, W., Nelson, G., Snider, C., Hansen, P., y Hopkins, B.(2012). Wwvb improvements: New power from an old timer. Reporte tec-nico, National Institute of Standards and Technology.

Dorf, R. y Svodoba, J. (2008). Circuitos Electricos. Alfaomega, sexta edicion.

Durney, H., Gautier, J., y Ulloa, F. (2007). Analisis, diseno, construcciony medicion de antenas helicoidales para 2.4 ghz sobre aeroplataforma decomunicaciones globo-antena (haps). Universidad de Chile, Departamentode Electronica.

Herrrera, E. (1999). Comunicaciones I, Senales, Modulacion y Transmision.Noriega Editores. Editorial Limusa.

Huang, Y. y Boyle, K. (2008). Antennas: from theory to practice. Chichester,West Sussex, UK : Willey.

ka7oei (2012). A remote antenna for 60 khz wwvb reception.

Lombardi, M. (2002). Nist time and frecuency services. Reporte tecnico,National Institute of Standards and Technology.

67

Page 82: Recepción, demodulación y decodificación de la se˜nal de tiempo

68 Bibliografıa

Lombardi, M. (2010). How accurate is a radio controlled clock. Reportetecnico, National Institute of Standards and Technology.

Lombardi, M., Novick, A., Lowe, J., y Deutch, M. (2009). Recommended prac-tices for manufacturers and consumers. Reporte tecnico, National Instituteof Standards and Technology.

Lowe, J. (2013). Enhanced wwvb broadcast format. Reporte tecnico, NationalInstitute of Standards and Technology.

Martı, O. (2010). Recepcion de modulacion de amplitud. Ejemplar de distri-bucion gratuita.

MINAET (2008). Plan nacional de atribucion de frecuencias (pnaf). Reportetecnico, Presidencia de la Republica.

Nassar, C. (2001). Telecommunication Demystified. LLH Technology Publis-hing.

Nelson, G. y Lombardi, M. (2005). Nist time and frequency radio stations:Wwv, wwvh and wwvb. nist special. Reporte tecnico, National Institute ofStandards and Technology.

NIST (2010a). Nist radio station wwvb. National Institute of Standards andTechnology. http://www.nist.gov/pml/div688/grp40/wwvb.cfm.

NIST (2010b). Time and frequency from a to z: Am to b. National Instituteof Standards and Technology. http://tf.nist.gov/general/enc-am.htm.

NIST (2010c). Wwvb radio controlled clocks. National Institute of Stan-dards and Technology. http://www.nist.gov/pml/div688/grp50/primary-frequency-standards.cfm.

NIST (2013). Nist-f1 cesium fountain atomic clock. National Institute of Stan-dards and Technology. http://www.nist.gov/pml/div688/grp50/primary-frequency-standards.cfm.

NIST (2014). Nist general information. Na-tional Institute of Standards and Technology.http://www.nist.gov/publicaffairs/generalinformation.cfm.

Paniagua, L. (2008). Introduccion a antenas inteligentes. Universidad de CostaRica.

Solıs, E. (2008). El espectro radioelectrico en costa rica. Universidad de CostaRica.

Page 83: Recepción, demodulación y decodificación de la se˜nal de tiempo

Bibliografıa 69

Stallings, W. (2004). Comunicaciones y Redes de Computadoras. Prentice Hall.

Stutzman, W. y Thiele, G. (1981). Antenna theory and design. Wiley, New York.

TCT (1998). Irig serial time code formats. Reporte tecnico, Timing Com-mittee Telecommunications and timing group range Commanders Coun-cil.Secretariat, Range Commanders Council, U.S. Army White Sands MissileRange, New Mexico 88002-5110.

UTM (2010). Receptores. Reporte tecnico, Universidad Tecnica de Madrid,Curso Ingenierıa de Comunicaciones.

Wikipedia, C. (2014a). Modulacion por ancho de pulsos. Wikipedia, The FreeEncyclopedia. http://es.wikipedia.org/wiki/Modulaci

Wikipedia, C. (2014b). Wwvb. Wikipedia, The Free Encyclopedia.http://en.wikipedia.org/w/index.php?title=WWVB&oldid=600198698.

Page 84: Recepción, demodulación y decodificación de la se˜nal de tiempo
Page 85: Recepción, demodulación y decodificación de la se˜nal de tiempo

6 Anexos

6.1 Anexo 1 - Mas sobre el NIST y entes detiempo-frecuencia adjuntos

Instituto Nacional de Estandares y Tecnologıa

Las sedes principales del NIST se encuentran ubicadas en Gaithersburg yBoulder, regiones al este y oeste de los Estados Unidos respectivamente. Conrecursos y activos cercanos a los mil millones de dolares, el NIST en usainstitucion de prestigio y reconocimiento internacional. Cuenta con mas de3000 empleados entre cientıficos, ingenieros y personal administrativo, ademasde un sinnumero de colaboradores alrededor del globo. Informacion recopiladade la pagina oficial de la organizacion (NIST, 2014).

El NIST fue fundado hace poco mas de un siglo en 1991 y desde su crea-cion hasta la actualidad incursiona en areas como energıa electrica inteligente,nanotecnologıa, electronica, salud, biociencia, quımica y mediciones. En es-te ultimo sector se ubica la Division de Tiempo y Frecuencia, encargada demanejar lo concerniente a la informacion de tiempo.

Division de Tiempo y Frecuencia, NIST

De forma sucinta, la Division de Tiempo y Frecuencia pertenece al Laboratoriode Medidas Fısicas del NIST, localizado en la sede del Boulder, Colorado. Estaconformada por gran cantidad de cientıficos renombrados en todo el orbe comoDave Wineland, Premio Nobel de Fısica en 2012; a nivel institucional estableceparametros y escalas validas globalmente (NIST, 2010b).

Esta division realiza investigaciones y plantea estandares de tiempo pa-ra Norteamerica y el mundo. Cuenta con mecanismos y herramientas de altapresicion como el oscilador atomonico NIST-F1, base fundamental en la es-tructura del codigo que se envıa en la senal de tiempo.

NIST-F1

Especıficamente, el reloj atomico que utiliza la Division de Tiempo y Fre-cuencia del NIST como estandar de tiempo, se conoce como NIST-F1, fuedesarrollado y construido en menos de cuatro anos por Steve Jefferts y DawnMeekhof, y calibrado mediante un estandar anterior. Funciona basado en una

71

Page 86: Recepción, demodulación y decodificación de la se˜nal de tiempo

72 6 Anexos

Figura 6.1: Oscilador atomico NIST-F1 (NIST, 2013)

fuente de Cesio, lo que le brinda mas ventajas que los osciladores fundamenta-dos en el haz del mismo elemento. Se puso en funcionamiento en 1999 es unode los relojes mas exactos en el mundo, con una incertidumbre de alrededorde 0.1 nanosegundos por dıa (Lombardi, 2002).

Segun lo establecido por NIST (2013), el NIST-F1 junto con otros osci-ladores atomicos situados en todo el mundo (Tabla 2.1) definen el TiempoUniversal Coordinado (UTC, por sus siglas en ingles ), que corresponde altiempo oficial del mundo, cualidad que le brinda alto grado de confiabi-lidad. Este tipo de reloj es tan exacto que pierde precision de menos de unsegundo en el transcurso de 100 millones de anos. En la figura 6.1 se observael reloj atomico NIST-F1, utilizado por la estacion radial WWVB para tomary enviar los datos de la informacion de tiempo.

Estacion radial WWVB

La WWVB nacio como la estacion de radio KK2XEI y comenzo sus operacio-nes en Julio de 1956. Segun Lombardi (2002) su primer transmisor fue ubicadoen Boulder, Colorado (cerca de Fort Collins, sitio donde se situa en la actua-lidad) y tenıa una potencia de radiacion de apenas 1.4 KW, sin embargo,su senal llegaba y era monitoreada por la Universidad de Harvard en Mas-sachusetts (cerca de 3000 Km de distancia entre ambos puntos geograficos).Inicialmente se creo con el proposito experimental de observar la estabilidadde las ondas de radio transmitidas a bajas frecuencias (VF) y muy bajas fre-cuencias (VLF). En el cuadro 6.1 se visualiza una clasificacion rapida de lasfrecuencias, segun el rango del espectro en que se encuentran.

La estacion WWVB paso de ser un proyecto experimental o una organiza-cion operacional en 1962. En 1963 transmitio una senal estandar de 7 KW a 60

Page 87: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.1. Anexo 1 - Mas sobre el NIST y entes de tiempo-frecuencia adjuntos 73

Cuadro 6.1: Banda de Frecuencias (MINAET, 2008)

Banda de Frecuencias Ambito de Frecuencias

ULF 300Hz - 3KHzVLF 3KHz - 30KHzLF 30KHz - 300KHzMF 300KHz - 3000KHzHF 3MHz - 30KHzVHF 30MHz - 300MHzUHF 300MHz - 3000MHzSHF 3GHz - 30GHzEHF 30GHz - 300GHz

KHz (LF) y en 1965 agrego la senal de tiempo a su transmision utilizando elCodigo Binario Decimal (BCD, por sus siglas en ingles); los bits son formadosa partir de los cambios de potencia en la senal portadora. Este mismo formatose sigue utilizando hoy en dıa y los cambios mas destacados son en la potenciade transmision, la cual aumento en 1999 a 50 KW y actualmente se encuentraen 70 KW (Deutch et al., 2012). Una mayor potencia de radiacion permiteun mayor area de cobertura en la senal transmitida, y ası, que receptores conantenas simples puedan captar la informacion de la onda mas facilmente.

Detallando el proceso de obtencion que emplea el NIST para generar lasenal de tiempo que transmite la WWVB, Nelson y Lombardi (2005) explicancomo esta estacion radial cuenta con tres osciladores de cesio comerciales yun reloj maestro (NIST-F1 ); los cuales son comparados todos los dıas con losestandares de frecuencia del UTC utilizando tecnicas de GPS, y corrigiendosesi es necesario. Al transmitir se escoge alguno de los osciladores secundarios o elNIST-F1 y se conecta a un generador de codigo de tiempo que crea una senalpara alimentar los elementos transmisores y emitir ası, una onda en variasfrecuencias. Los generadores de codigo y osciladores atomicos son siempremonitoreados por precision, un cambio inesperado en las salidas puede sercatastrofico.

A diferencia de las estaciones WWW y WWVH, la baja frecuencia con quetransmite WWVB su senal de tiempo (60 KHz) no le permite enviar infor-macion audible, pero si le brinda un mayor alcance en su cobertura. Segun loestablecido en el cuadro 6.1 esta senal entra dentro del rango de baja frecuencia(LF), caracterıstica que le otorga la capacidad de llegar a mayores distanciasy profundidades con menor distorsion, aunque sı, variando la potencia paraser recibida (Solıs, 2008).

Page 88: Recepción, demodulación y decodificación de la se˜nal de tiempo

74 6 Anexos

Elementos transmisores y antenas de la estacion WWVB

La WWVB utiliza dos antenas identicas (ubicadas respectivamente en el sec-tor sur y el sector norte del edificio de transmision en Fort Collins) y dostransmisores para enviar la senal de tiempo, aspecto que produce robustez ygarantiza estabilidad en caso de falla mecanica o mantenimiento de las insta-laciones (Lombardi, 2002).

Las antenas se construyeron en 1962 y se reforzaron para entregar mayorpotencia efectiva de radiacion (ERP) en 1999. La antena norte fue original-mente disenada para transmitir en la frecuencia de 20 KHz (estandar anterior),mientras que la antena sur se diseno especialmente para emitir a 60 KHz (fre-cuencia que corresponde al estandar del NIST en la estacion WWVB). Amboselementos emisores estan espaciados alrededor de 860 metros y correspondenal tipo de monopolo de carga superior, con torres de 122 metros de alturaorganizadas en forma de diamante (NIST, 2010a).

Por su parte, en Lombardi (2002) se explica como la estacion de radioWWVB tiene en sus instalaciones tres transmisores de onda, de los cuales dosse encuentran en constante operacion transmitiendo la senal de tiempo y elrestante esta en posicion de respaldo ante una eventualidad. Cada transmisorconsta de dos amplificadores de potencia iguales que se ajustan para gene-rar una senal amplificada de calidad (recibida desde los osciladores atomicos),que a su vez sera enviada a la correspondiente antena para emitirse (un trans-misor alimenta la antena sur y otro la norte). El sistema antena-transmisornorte produce una eficiencia de 57 % y el sistema antena-transmisor sur unaeficiencia del 59 %, ası, el efecto combinado de ambos sistemas provoca unatransmision muy eficiente del 71 %.

Page 89: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.2. Anexo 2 - Codigo para decodificar senal de tiempo 75

6.2 Anexo 2 - Codigo para decodificar senal detiempo

// Kendall Solano Oviedo - A96037

// Proyecto Electrico

// Codigo para captar se~nal de tiempo del NIST mediante Arduino

// ***************************************************************

// Definicion de variables para el inico del programa

// Etapa Inicial

#include <LiquidCrystal.h>

// Se incluyen las librerias necesarias

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// Pines empleados por la pantalla LCD

#define pinEntrada 2

// Ingreso de la se~nal de entrada al Arduino en pin 3

unsigned int tiempoBajo1;

// Medir el tiempo en bajo de la se~nal

unsigned int tiempoBajo2;

// Medir el tiempo en bajo de la se~nal antes de que suba

int cantTiempo;

// Cantidad de tiempo en alto

int bitU[60];

// Bit Unitario

volatile byte senalRecib;

// Se aloja la se~nal recibida del NIST, es variante

byte senalAnt;

// Pulso de se~nal anterior en senalRecib

byte numBit = 0;

// Contador de los 60 bits de la se~nal

byte tipoBit;

// Aloja el tipo de bit 0=0, 1=1, 2=marcador, 3=error

byte marcaSeg = 0;

// Numero de marcadores seguidos

byte marcaTotal = 0;

// Deben haber 6 marcadores en la se~nal

int minutos, horas = 0;

// Variables que almacenan tiempo

Page 90: Recepción, demodulación y decodificación de la se˜nal de tiempo

76 6 Anexos

int diaAno, diaMes, ano, mesC, bisiesto = 0;

// Variables que almacenan fecha

int leapSecond = 0;

// Dif entre UTC y UT1

int ut1, ut2, ut3, cantidUT1 = 0;

// Variaples para valores de ajuste

int contAdy = 0;

// Cuenta para ejecutar codigo cada 60s

char* mes[] = "ENE","FEB","MAR","ABR","MAY","JUN","JUL", "AGO",

"SET", "OCT", "NOV", "DIC";

//Almacena el nombre del mes

// ***************************************************************

//Iniciacion del sistema, definicion de interrupciones, bit rate

//Etapa Setup

void setup()

lcd.begin(16, 2);

// Inicializacion de la pantalla LCD y saludo inicial

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Senal de tiempo");

lcd.setCursor(0, 1);

lcd.print("NIST WWVB");

pinMode(pinEntrada, INPUT);

// Entrada en pin 2

Serial.begin(9600);

// Tasa de transmision de datos a 9600 bps

attachInterrupt(0, senalLectura, CHANGE);

// Interrumpe cuando detecta el cambio en el pulso de la se~nal

// Formacion del lazo de ejecucion para seguir los cambios de la se~nal

// Etapa Lazo

void loop()

if (senalRecib != senalAnt)

// Se verifica cambio en los pulsos de la se~nal

analisisBit();

// Cuando hay un cambio en la se~nal se pasa a la etapa de

// clasificacion del pulso

Page 91: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.2. Anexo 2 - Codigo para decodificar senal de tiempo 77

senalAnt = senalRecib;

// Se guarda el valor actual de la se~nal para la proxima evaluacion

// Rutina para identificar el valor del bit: 0, 1 o barrera

// Etapa Analisis

void analisisBit()

tiempoBajo1 = millis();

// Almacena el tiempo desde el inicio del programa

if (senalRecib == 0)

// Verifica el pulso-alto hasta un cambio

tiempoBajo2 = tiempoBajo1;

// Guarda el ultimo tiempo con el pulso en bajo

else

cantTiempo = tiempoBajo1 - tiempoBajo2;

// Total de tiempo de pulso en Bajo en un segundo

if (cantTiempo <= 100)

// Indica ruido en la se~nal

error();

// Si ruidoSenal es 1 el programa no ejecutara

else if (cantTiempo <= 350)

// Valida el cero y aumenta las cuentas

tipoBit = 0;

numBit ++;

contAdy ++;

marcaSeg = 0;

bitU[numBit] = tipoBit;

// Guarda el tipo de bit en un vector de 60 datos

else if (cantTiempo <= 650)

// Valida el uno y aumenta la cuentas

tipoBit = 1;

numBit ++;

contAdy ++;

marcaSeg = 0;

Page 92: Recepción, demodulación y decodificación de la se˜nal de tiempo

78 6 Anexos

bitU[numBit] = tipoBit;

// Guarda el tipo de bit en un vector de 60 datos

else if (cantTiempo <= 950)

// Indicador del bit marcador

//Se analizan 2 casos, inicio de transmision se~nal y

//acontecimientos durante la misma

if ((numBit == 59) && (marcaSeg == 0) && (marcaTotal== 6))

// Transicion de codigo entre envios, rutina de desarrollo normal

marcaTotal = 0;

marcaSeg = 0;

numBit = 0;

else if ((numBit != 59) && (marcaSeg == 1))

// Inicio de toma de datos al detectar dos marcas

lcd.clear();

lcd.print("Cargando codigo");

marcaTotal = 0;

marcaSeg = 0;

numBit = 0;

contAdy = 0;

else

// Valida el marcador y aumenta la cuentas

tipoBit = 2;

marcaSeg = 1;

marcaTotal ++;

numBit ++;

contAdy ++;

bitU[numBit] = tipoBit;

// Guarda el tipo de bit en un vector de 60 datos

else

error();

if (contAdy == 59)

contAdy = 0;

senalDecodif();

Page 93: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.2. Anexo 2 - Codigo para decodificar senal de tiempo 79

// ***************************************************************

// Rutina de la interrupcion para leer la se~nal en el sketch inicial

// Etapa Interrupcion

void senalLectura()

senalRecib = digitalRead(pinEntrada);

// Se carga en senalRecib el valor que hay en el pin de entrada

// ***************************************************************

// Decodificacion de los 60 bits

// Etapa Decodificacion

void senalDecodif()

// Se hacen las cuentas de minutos, horas, dias del a~no y a~nos,

// segun se encuentren bits con valores en uno

minutos = (bitU[1] * 40) + (bitU[2] * 20) + (bitU[3] * 10) +

(bitU[5] * 8) + (bitU[6] * 4) + (bitU[7] * 2) +

(bitU[8] * 1);

horas = (bitU[12] * 20) + (bitU[13] * 10) + (bitU[15] * 8) +

(bitU[16] * 4) + (bitU[17] * 2) + (bitU[18] * 1);

diaAno = (bitU[22] * 200) + (bitU[23] * 100) + (bitU[25] * 80) +

(bitU[26] * 40) + (bitU[27] * 20) + (bitU[28] * 10) +

(bitU[30] * 8) + (bitU[31] * 4) + (bitU[32] * 2) +

(bitU[33] * 1);

ano = (bitU[45] * 80) + (bitU[46] * 40) + (bitU[47] * 20) +

(bitU[48] * 10) + (bitU[50] * 8) + (bitU[51] * 4) +

(bitU[52] * 2) + (bitU[53] * 1) + 2000;

// Se reconocen los bits de bisiesto, leapsecond y

// errores entre UTC y UT1

bisiesto = bitU[55];

leapSecond = bitU[56];

ut1 = bitU[36];

ut2 = bitU[37];

Page 94: Recepción, demodulación y decodificación de la se˜nal de tiempo

80 6 Anexos

ut3 = bitU[38];

cantidUT1 = (bitU[40] * 800) + (bitU[41] * 400) +

(bitU[42] * 200) + (bitU[43] * 100);

// Analisis de casos

// Errores del codigo

// Minutos, horas y dias fuera de valores esperados

if ((minutos > 59) || (horas > 24) || (diaAno > 365))

error();

// Marcadores no encontrados en bits esperados

if ((bitU[0] != 2) || (bitU[9] != 2) || (bitU[19] != 2) || (bitU[29] != 2)

|| (bitU[39] != 2) || (bitU[49] != 2) || (bitU[59] != 2))

error();

// Horario de Centroamerica UTC. Se restan 6 horas

if (horas < 0)

horas += 24;

// Retardo por variaciones entre UTC y UT1

if (cantidUT1 > 1000)

cantidUT1 = 1000;

if ((ut1 == 0) && (ut2 == 1) && (ut3== 0))

delay (cantidUT1);

if (leapSecond == 1)

delay (1000);

// Mes y dıa del a~no

if (bisiesto == 0)

if (diaAno <= 31) // Enero

mesC = 1;

diaMes = diaAno;

else if (diaAno <= 59) // Febrero

mesC = 2;

diaMes = diaAno - 31;

else if (diaAno <= 90) // Marzo

mesC = 3;

Page 95: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.2. Anexo 2 - Codigo para decodificar senal de tiempo 81

diaMes = diaAno - 59;

else if (diaAno <= 120) // Abril

mesC = 4;

diaMes = diaAno - 90;

else if (diaAno <= 151) // Mayo

mesC = 5;

diaMes = diaAno - 120;

else if (diaAno <= 181) // Junio

mesC = 6;

diaMes = diaAno - 151;

else if (diaAno <= 212) // Julio

mesC = 7;

diaMes = diaAno - 181;

else if (diaAno <= 243) // Agosto

mesC = 8;

diaMes = diaAno - 212;

else if (diaAno <= 273) // Septiembre

mesC = 9;

diaMes = diaAno - 243;

else if (diaAno <= 304) // Octubre

mesC = 10;

diaMes = diaAno - 273;

else if (diaAno <= 334) // Noviembre

mesC = 11;

diaMes = diaAno - 304;

else // Diciembre

mesC = 12;

diaMes = diaAno - 334;

// A~no bisiesto

else

if (diaAno <= 31) // Enero

mesC = 1;

diaMes = diaAno;

else if (diaAno <= 60) // Febrero

mesC = 2;

diaMes = diaAno - 31;

else if (diaAno <= 91) // Marzo

mesC = 3;

diaMes = diaAno - 60;

else if (diaAno <= 121) // Abril

Page 96: Recepción, demodulación y decodificación de la se˜nal de tiempo

82 6 Anexos

mesC = 4;

diaMes = diaAno - 91;

else if (diaAno <= 152) // Mayo

mesC = 5;

diaMes = diaAno - 121;

else if (diaAno <= 182) // Junio

mesC = 6;

diaMes = diaAno - 152;

else if (diaAno <= 213) // Julio

mesC = 7;

diaMes = diaAno - 182;

else if (diaAno <= 244) // Agosto

mesC = 8;

diaMes = diaAno - 213;

else if (diaAno <= 274) // Septiembre

mesC = 9;

diaMes = diaAno - 244;

else if (diaAno <= 305) // Octubre

mesC = 10;

diaMes = diaAno - 274;

else if (diaAno <= 335) // Noviembre

mesC = 11;

diaMes = diaAno - 305;

else // Diciembre

mesC = 12;

diaMes = diaAno - 335;

// Activacion de la pantalla para mostrar tiempo y fecha

lcd.clear();

if (horas <= 9)

lcd.print("0");

lcd.print(horas);

else

lcd.print(horas);

lcd.print(":");

if (minutos <= 9)

lcd.print("0");

lcd.print(minutos);

Page 97: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.2. Anexo 2 - Codigo para decodificar senal de tiempo 83

else

lcd.print(minutos);

lcd.setCursor(0, 1);

if (mesC == 1)

lcd.print(mes[0]);

else if (mesC == 2)

lcd.print(mes[1]);

else if (mesC == 3)

lcd.print(mes[2]);

else if (mesC == 4)

lcd.print(mes[3]);

else if (mesC == 5)

lcd.print(mes[4]);

else if (mesC == 6)

lcd.print(mes[5]);

else if (mesC == 7)

lcd.print(mes[6]);

else if (mesC == 8)

lcd.print(mes[7]);

else if (mesC == 9)

lcd.print(mes[8]);

else if (mesC == 10)

lcd.print(mes[9]);

else if (mesC == 11)

lcd.print(mes[10]);

else

lcd.print(mes[11]);

Page 98: Recepción, demodulación y decodificación de la se˜nal de tiempo

84 6 Anexos

lcd.print("/");

lcd.print(diaMes);

lcd.print("/");

lcd.print(ano);

// ***************************************************************

// Rutina de error, inicializa el sistema

// Etapa Error

void error()

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("ERROR");

lcd.setCursor(0, 1);

lcd.print("Buscando senal");

contAdy = 0;

Page 99: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.3. Anexo 3 - Codigo de prueba para CO-ST 85

6.3 Anexo 3 - Codigo de prueba para CO-ST

// Kendall Solano Oviedo - A96037

// Proyecto Electrico

// Codigo PRUEBA

#include <LiquidCrystal.h>

// Se incluyen librerıa y pines de LCD

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// Definicion de pin

#define pinSalida 2 // pin de salida

int cont = 0;

void setup()

// Se limpia pantalla, y se establece pin 2 como salida

lcd.begin(16, 2);

lcd.clear();

pinMode(pinSalida, OUTPUT);

// ***************************************************************

// Se forma una se~nal de 0 a 5V, que se encuentra en alto,

// y baja perıodos de 0.2, 0.5 y 0.8 milisegundos

void loop()

//Inicio

digitalWrite(pinSalida, HIGH);

//bit 0 // MARCADOR

digitalWrite(pinSalida, LOW);

lcd.print("MAR");

delay(800);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(200);

//MINUTOS 51

//bit 1

Page 100: Recepción, demodulación y decodificación de la se˜nal de tiempo

86 6 Anexos

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

//bit 2

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 3

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

//bit 4 // RESERVADO

digitalWrite(pinSalida, LOW);

lcd.print("RES");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 5

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 6

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

Page 101: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.3. Anexo 3 - Codigo de prueba para CO-ST 87

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 7

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 8

// Se ejecuta la variacion periodica de el bit 8 entre 0 y 1

// para comprobar la funcionalidad

if (cont == 0)

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

cont ++;

else

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

cont = 0;

//bit 9 // MARCADOR

digitalWrite(pinSalida, LOW);

lcd.print("MAR");

delay(800);

Page 102: Recepción, demodulación y decodificación de la se˜nal de tiempo

88 6 Anexos

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(200);

//bit 10 //RESERVADO

digitalWrite(pinSalida, LOW);

lcd.print("RES");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 11 //RESERVADO

digitalWrite(pinSalida, LOW);

lcd.print("RES");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//HORAS 12

//bit 12

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 13

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

//bit 14 //RESERVADO

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

Page 103: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.3. Anexo 3 - Codigo de prueba para CO-ST 89

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 15

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 16

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 17

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

//bit 18

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 19 // MARCADOR

digitalWrite(pinSalida, LOW);

lcd.print("MAR");

delay(800);

lcd.clear();

digitalWrite(pinSalida, HIGH);

Page 104: Recepción, demodulación y decodificación de la se˜nal de tiempo

90 6 Anexos

delay(200);

//bit 20 //RESERVADO

digitalWrite(pinSalida, LOW);

lcd.print("RES");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 21 //RESERVADO

digitalWrite(pinSalida, LOW);

lcd.print("RES");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//DIA DEL A~NO 141 - MAY 21

//bit 22

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 23

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

//bit 24 //RESERVADO

digitalWrite(pinSalida, LOW);

lcd.print("RES");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

Page 105: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.3. Anexo 3 - Codigo de prueba para CO-ST 91

delay(800);

//bit 25

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 26

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

//bit 27

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 28

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 29 // MARCADOR

digitalWrite(pinSalida, LOW);

lcd.print("MAR");

delay(800);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(200);

Page 106: Recepción, demodulación y decodificación de la se˜nal de tiempo

92 6 Anexos

//bit 30

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 31

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 32

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 33

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

//bit 34

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 35

digitalWrite(pinSalida, LOW);

Page 107: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.3. Anexo 3 - Codigo de prueba para CO-ST 93

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

// SIGNO CORRECCION

//bit 36

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 37

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 38

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 39 //MARCADOR

digitalWrite(pinSalida, LOW);

lcd.print("MAR");

delay(800);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(200);

//CORRECCIONES

Page 108: Recepción, demodulación y decodificación de la se˜nal de tiempo

94 6 Anexos

//bit 40

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 41

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 42

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 43

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 44 // RESERVADO

digitalWrite(pinSalida, LOW);

lcd.print("RES");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//A~NO 2014

Page 109: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.3. Anexo 3 - Codigo de prueba para CO-ST 95

//bit 45

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 46

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 47

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 48

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

//bit 49 // MARCADOR

digitalWrite(pinSalida, LOW);

lcd.print("MAR");

delay(800);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(200);

//bit 50

Page 110: Recepción, demodulación y decodificación de la se˜nal de tiempo

96 6 Anexos

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 51

digitalWrite(pinSalida, LOW);

lcd.print("UNO");

delay(500);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(500);

//bit 52

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 53

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 54 //RESERVADO

digitalWrite(pinSalida, LOW);

lcd.print("RES");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 55

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

Page 111: Recepción, demodulación y decodificación de la se˜nal de tiempo

6.3. Anexo 3 - Codigo de prueba para CO-ST 97

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 56

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 57

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 58

digitalWrite(pinSalida, LOW);

lcd.print("CERO");

delay(200);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(800);

//bit 59 // MARCADOR

digitalWrite(pinSalida, LOW);

lcd.print("MAR");

delay(800);

lcd.clear();

digitalWrite(pinSalida, HIGH);

delay(200);