Compare commits

...

28 Commits
1.0 ... main

Author SHA1 Message Date
Jeff Moe 6f52839f76 Pics of SBCs 2022-10-13 15:07:08 -06:00
Jeff Moe 5e9822fd33 s/glsfmtshort/gls to fix broken captions 2022-09-16 22:50:58 -06:00
Jeff Moe f020189ac0 USSPACECOM to abbr. hmm. 2022-09-16 19:30:34 -06:00
Jeff Moe 9c81be5aa9 mv *hertz to abbr 2022-09-16 18:30:52 -06:00
Jeff Moe c86c69c836 Caps for acronyms 2022-09-16 18:24:25 -06:00
Jeff Moe 9364e248f8 Move acronyms to front matter 2022-09-16 18:12:37 -06:00
Jeff Moe 0fb96eb161 Two columns for Abbr/Acronyms 2022-09-16 16:43:55 -06:00
Jeff Moe c986ec5188 Volt abbr 2022-09-16 16:13:38 -06:00
Jeff Moe fa45b8ce68 Convert Abbr/acronyms to dual 2022-09-16 16:01:41 -06:00
Jeff Moe 1d600b14ad Convert glossaries ala Vel 2022-09-16 16:00:12 -06:00
Jeff Moe b01e1084a7 Hamlib telescope mounts 2022-09-15 20:07:04 -06:00
Jeff Moe 96bf85ce8e Add LinBiolinum_RI 2022-09-15 19:48:56 -06:00
Jeff Moe adbedcdc12 Add LinBiolinum_RB 2022-09-15 19:47:55 -06:00
Jeff Moe ea80ba9fde Add LinBiolinum_R 2022-09-15 19:46:33 -06:00
Jeff Moe d312121b7f Add LinLibertine_RI 2022-09-15 19:42:10 -06:00
Jeff Moe 72db58a78e Use Volt short form 2022-09-15 19:32:52 -06:00
Jeff Moe 21d7d189c3 Use glsfmtshort for captions 2022-09-15 19:27:29 -06:00
Jeff Moe a12d76572f Notes on tracking mounts 2022-09-15 16:52:40 -06:00
Jeff Moe ff17b6992a Add fonts directory 2022-09-09 20:44:06 -06:00
Jeff Moe f67f632bd9 FoV artifact PNG. Cleanups etc. 2022-09-09 15:13:34 -06:00
Jeff Moe 406894465c Pierros FITS. ntpdate -b, glossary, etc. 2022-09-07 16:08:52 -06:00
Jeff Moe 774bc58ef5 typo fixo 2022-09-06 16:57:47 -06:00
Jeff Moe 4ba3924b4a glossary/index fixes 2022-09-06 14:30:46 -06:00
Jeff Moe 16bbb5521e indexing, glossary words, misc 2022-09-06 14:09:43 -06:00
Jeff Moe 26f56dfa3a sm fixes 2022-09-06 13:06:35 -06:00
Jeff Moe 28bedaad4a altazimuth mount to glossary 2022-09-06 04:47:28 -06:00
Jeff Moe 9997a8c706 Clean up index 2022-09-06 04:34:24 -06:00
Jeff Moe 8021c5d4ef rm space 2022-09-06 04:05:06 -06:00
40 changed files with 474 additions and 386 deletions

2
.gitignore vendored
View File

@ -41,5 +41,3 @@ _minted-*
*.toc
*.xdv
*.zip

View File

@ -1,7 +1,43 @@
% Encoding: UTF-8
@abbreviation{V,
@dualabbreviation{V,
description = {Volt.},
short = {V},
long = {Volt}
}
@dualabbreviation{Hz,
description = {hertz.},
short = {Hz},
long = {hertz}
}
@dualabbreviation{kHz,
description = {kilohertz.},
short = {kHz},
long = {kilohertz}
}
@dualabbreviation{MHz,
description = {megahertz.},
short = {MHz},
long = {megahertz}
}
@dualabbreviation{GHz,
description = {gigahertz.},
short = {GHz},
long = {gigahertz}
}
@dualabbreviation{USSPACECOM,
description = {United States Space Command.},
short = {USSPACECOM},
long = {United States Space Command}
}
@dualabbreviation{SPACECOM,
description = {United States Space Command.},
short = {SPACECOM},
long = {United States Space Command}
}

View File

@ -12,7 +12,7 @@
\section{Overview of Operation}
\label{sec:overview-operation}
\index{operation}
Below shows how to run a SatNOGS Optical \gls{ground-station},
Below shows how to run a \gls{SatNOGS-Optical} \gls{ground-station},
after it has been set up and configured.
\section{Setup with \texttt{stvid}}
@ -53,7 +53,7 @@ cd stvid/
\section{\texttt{acquire.py} Output}
\label{sec:acquire-output}
\index{acquire}
\index{acquire}\index{configuration.ini}\index{FITS}
Example output while running \texttt{acquire.py}.

View File

@ -1,47 +1,47 @@
% Encoding: UTF-8
@acronym{NORAD-ID,
@dualacronym{NORAD-ID,
description = {is a sequential nine-digit number assigned by the \gls{USSPACECOM} in the order of launch or discovery to all artificial objects in the \glspl{orbit} of Earth and those that left Earth's \glspl{orbit}. Space Command shares the catalog via \url{space-track.org}, which is maintained by the 18th \gls{SDS}. NORAD ID is also known as a satellite catalog number.%
\footnote{\cite{enwiki:Satellite_Catalog_Number}}},
short = {NORAD ID},
long = {North American Aerospace Defense Catalog Number}
}
@acronym{USM,
@dualacronym{USM,
description = {is a type of piezoelectric motor powered by the ultrasonic vibration of a component, the stator, placed against another component, the rotor or slider depending on the scheme of operation (rotation or linear translation). One common application of ultrasonic motors is in camera lenses where they are used to move lens elements as part of the auto-focus system.%
\footnote{\cite{enwiki:Ultrasonic_motor}}},
short = {USM},
long = {Ultrasonic motor}
long = {Ultrasonic Motor}
}
@acronym{OS,
@dualacronym{OS,
description = {An operating system is system software that manages computer hardware, software resources, and provides common services for computer programs.%
\footnote{\cite{enwiki:Operating_system}}},
short = {OS},
long = {Operating System}
}
@acronym{INDI,
@dualacronym{INDI,
description = {Instrument Neutral Distributed Interface is a \gls{DCS} protocol to enable control, data acquisition and exchange among hardware devices and software front ends, emphasizing astronomical instrumentation.%
\footnote{\cite{enwiki:Instrument-Neutral-Distributed-Interface}}},
short = {INDI},
long = {Instrument Neutral Distributed Interface}
}
@acronym{DFSG,
@dualacronym{DFSG,
description = {Debian Free Software Guidelines is a set of guidelines that the \gls{Debian} Project uses to determine whether a software license is a \gls{free-software} license, which in turn is used to determine whether a piece of software can be included in \gls{Debian}. The DFSG is part of the \gls{Debian} Social Contract.%
\footnote{\cite{enwiki:Debian-Free-Software-Guidelines}}},
short = {DFSG},
long = {Debian Free Software Guidelines}
}
@acronym{FITS,
@dualacronym{FITS,
description = {Flexible Image Transport System is an open standard defining a digital file format useful for storage, transmission and processing of data: formatted as multi-dimensional arrays (for example a 2D image), or tables. FITS is the most commonly used digital file format in astronomy. The FITS standard was designed specifically for astronomical data, and includes provisions such as describing photometric and spatial calibration information, together with image origin metadata.%
\footnote{\cite{Wiki22:fitswikipfreeencyc}}},
short = {FITS},
long = {Flexible Image Transport System}
}
@acronym{SDR,
@dualacronym{SDR,
description = {Software-defined radio is a radio communication system where components that have been traditionally implemented in analog hardware (e.g. mixers, filters, amplifiers, modulators/demodulators, detectors, etc.) are instead implemented by means of software on a \gls{PC} or \gls{embedded-system}. SDRs are used in \gls{SatNOGS} \glspl{ground-station}.%
\footnote{\cite{Wiki22:softwdefinradiowikipfreeencyc}}
},
@ -49,7 +49,7 @@
long = {Software-defined radio}
}
@acronym{LSF,
@dualacronym{LSF,
description = {Libre Space Foundation is a non-profit foundation registered since 2015 in Greece and the creators of the SatNOGS project.%
\footnote{\url{https://libre.space/about-us/}}
},
@ -57,15 +57,15 @@
long = {Libre Space Foundation}
}
@acronym{RF,
@dualacronym{RF,
description = {Radio frequency is the oscillation rate of an alternating electric current or voltage or of a magnetic, electric or electromagnetic field or mechanical system in the frequency range from around 20 \gls{kHz} to around 300 \gls{GHz}. This is roughly between the upper limit of audio frequencies and the lower limit of infrared frequencies; these are the frequencies at which energy from an oscillating current can radiate off a conductor into space as radio waves.%
\footnote{\cite{Wiki22:radiofrequwikipfreeencyc}}
},
short = {RF},
long = {radio frequency}
long = {Radio Frequency}
}
@acronym{VHF,
@dualacronym{VHF,
description = {Very High Frequency is the \gls{ITU} designation for the range of radio frequency electromagnetic waves (radio waves) from 30 to 300 \gls{MHz}, with corresponding wavelengths of ten meters to one meter. Frequencies immediately below VHF are denoted high frequency (HF), and the next higher frequencies are known as \gls{UHF}.%
\footnote{\cite{Wiki22:veryhighfrequwikipfreeencyc}}
},
@ -73,7 +73,7 @@
long = {Very High Frequency}
}
@acronym{UHF,
@dualacronym{UHF,
description = {Ultra High Frequency is the \gls{ITU} designation for radio frequencies in the range between 300 \gls{MHz} and 3 \gls{GHz}, also known as the decimetre band as the wavelengths range from one meter to one tenth of a meter (one decimeter). Lower frequency signals fall into the \gls{VHF} or lower bands.%
\footnote{\cite{Wiki22:ultrahighfrequwikipfreeencyc}}
},
@ -81,7 +81,7 @@
long = {Ultra High Frequency}
}
@acronym{ITU,
@dualacronym{ITU,
description = {The International Telecommunication Union is a specialized agency of the United Nations responsible for many matters related to information and communication technologies.%
\footnote{\cite{Wiki22:intertelecunionwikipfreeencyc}}
},
@ -89,7 +89,7 @@
long = {International Telecommunication Union}
}
@acronym{GNU,
@dualacronym{GNU,
description = {``GNU's Not Unix!'' is an extensive collection of \gls{free-software}, which can be used as an \gls{OS} or can be used in parts with other \glspl{OS}. The use of the completed GNU tools led to the family of operating systems popularly known as \gls{Linux}. Most of GNU is licensed under the GNU Project's own \gls{GPL}. GNU is also the project within which the \gls{free-software} concept originated.%
\footnote{\cite{Wiki22:gnuwikipfreeencyc}}
},
@ -97,7 +97,7 @@
long = {GNU's Not Unix!}
}
@acronym{GPL,
@dualacronym{GPL,
description = {GNU General Public License is a series of widely used \gls{free-software} licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general use. Historically, the GPL license family has been one of the most popular software licenses in the \gls{FLOSS} software domain.%
\footnote{\cite{Wiki22:gnugenerpublilicenwikipfreeencyc}}
},
@ -105,7 +105,7 @@
long = {GNU General Public License}
}
@acronym{SGP,
@dualacronym{SGP,
description = {Simplified General Perturbations models apply to near earth objects with an orbital period of less than 225 minutes. Simplified \glspl{perturbation} models are a set of five mathematical models (SGP, SGP4, SDP4, SGP8 and SDP8) used to calculate orbital state vectors of \glspl{satellite} and space debris relative to the Earth-centered inertial coordinate system. This set of models is often referred to collectively as SGP4 due to the frequency of use of that model particularly with \gls{TLE} sets produced by \gls{NORAD} and \gls{NASA}. These models predict the effect of \glspl{perturbation} caused by the Earth's shape, drag, radiation, and gravitation effects from other bodies such as the sun and moon. See also: \gls{SDP}.%
\footnote{\cite{enwiki:Simplified_perturbations_models}}
},
@ -113,7 +113,7 @@
long = {Simplified General Perturbations}
}
@acronym{SDP,
@dualacronym{SDP,
description = {Simplified Deep Space Perturbations models apply to objects with an orbital period greater than 225 minutes, which corresponds to an altitude of 5,877.5 km, assuming a circular orbit. See also: \gls{SGP}.%
\footnote{\cite{enwiki:Simplified_perturbations_models}}
},
@ -121,7 +121,7 @@
long = {Simplified Deep Space Perturbations}
}
@acronym{NORAD,
@dualacronym{NORAD,
description = {North American Aerospace Defense Command is a combined organization of the United States and Canada that provides aerospace warning, air sovereignty, and protection for Canada and the continental United States.%
\footnote{\cite{enwiki:NORAD}}
},
@ -129,7 +129,7 @@
long = {North American Aerospace Defense Command}
}
@acronym{NASA,
@dualacronym{NASA,
description = {is an independent agency of the US federal government responsible for the civil space program, aeronautics research, and space research.%
\footnote{\cite{enwiki:NASA}}
},
@ -137,428 +137,392 @@
long = {National Aeronautics and Space Administration}
}
@acronym{OSH,
@dualacronym{OSH,
description = {open-source hardware consists of physical artifacts of technology designed and offered by the open-design movement. Both \gls{FOSS} and open-source hardware are created by the open-source culture movement and apply a like concept to a variety of components. It is sometimes, thus, referred to as \gls{FOSH}. The term usually means that information about the hardware is easily discerned so that others can make it---coupling it closely to the maker movement. Hardware design (i.e. mechanical drawings, schematics, bills of material, \gls{PCB} layout data, \gls{HDL} source code and integrated circuit layout data), in addition to the software that drives the hardware, are all released under free/\gls{libre} terms. The original sharer gains feedback and potentially improvements on the design from the \gls{FOSH} community. There is now significant evidence that such sharing can drive a high return on investment for the scientific community. It is not enough to merely use an \gls{open-source} license; an \gls{open-source} product or project will follow \gls{open-source} principles, such as modular design and community collaboration.%
\footnote{\cite{enwiki:Open-source-hardware}}
},
short = {OSH},
long = {open-source hardware}
long = {Open Source Hardware}
}
@acronym{FOSS,
@dualacronym{FOSS,
description = {free and \gls{open-source} software is a term used to refer to groups of software consisting of both \gls{free-software} and \gls{OSS} where anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software. This is in contrast to proprietary software, where the software is under restrictive copyright licensing and the source code is usually hidden from the users. FOSS maintains the software user's civil liberty rights. Other benefits of using FOSS can include decreased software costs, increased security and stability (especially in regard to malware), protecting privacy, education, and giving users more control over their own hardware. Free and open-source operating systems such as \gls{Linux} and descendants of \gls{BSD} are widely utilized today, powering millions of servers, desktops, smartphones (e.g., Android), and other devices. Free-software licenses and \gls{open-source} licenses are used by many software packages. The free software movement and the \gls{open-source} software movement are online social movements behind widespread production and adoption of FOSS, with the former preferring to use the terms \gls{FLOSS} or free/\gls{libre}.%
\footnote{\cite{enwiki:Free-and-open-source-software}}
},
short = {FOSS},
long = {free and open-source software}
long = {Free and Open Source Software}
}
@acronym{OSS,
@dualacronym{OSS,
description = {open-source software is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite. The ability to examine the code facilitates public trust in the software. Open source code can be used for studying and allows capable end users to adapt software to their personal needs in a similar way user scripts and custom style sheets allow for web sites, and eventually publish the modification as a fork for users with similar preference.%
\footnote{\cite{enwiki:Open-source-software}}
},
short = {OSS},
long = {open-source software}
long = {Open Source Software}
}
@acronym{IP,
@dualacronym{IP,
longplural = {Internet Protocol Addresses},
description = {Internet Protocol Address.},
short = {IP},
long = {Internet Protocol Address}
}
@acronym{Hz,
description = {hertz.},
short = {Hz},
long = {hertz}
}
@acronym{kHz,
description = {kilohertz.},
short = {kHz},
long = {kilohertz}
}
@acronym{MHz,
description = {megahertz.},
short = {MHz},
long = {megahertz}
}
@acronym{GHz,
description = {gigahertz.},
short = {GHz},
long = {gigahertz}
}
@acronym{DSLR,
@dualacronym{DSLR,
description = {digital single-lens reflex.},
short = {DSLR},
long = {digital single-lens reflex}
long = {Digital Single Lens Reflex}
}
@acronym{PoE,
@dualacronym{PoE,
description = {Power over Ethernet.},
short = {PoE},
long = {Power over Ethernet}
}
@acronym{GNSS,
@dualacronym{GNSS,
description = {Global Navigation \Gls{satellite} System.},
short = {GNSS},
long = {Global Navigation Satellite System}
}
@acronym{GPS,
@dualacronym{GPS,
description = {Global Positioning System.},
short = {GPS},
long = {Global Positioning System}
}
@acronym{IP67,
@dualacronym{IP67,
description = {Ingress Protection code 67.},
short = {IP67},
long = {Ingress Protection code 67}
}
@acronym{SSA,
@dualacronym{SSA,
description = {Space Situational Awareness.},
short = {SSA},
long = {Space Situational Awareness}
}
@acronym{WCS,
@dualacronym{WCS,
description = {World Coordinate System.},
short = {WCS},
long = {World Coordinate System}
}
@acronym{CMOS,
@dualacronym{CMOS,
description = {Complementary metal-oxide-semiconductor (pronounced ``see-moss'').},
short = {CMOS},
long = {Complementary metal–oxide–semiconductor}
long = {Complementary Metal Oxide Semiconductor}
}
@acronym{CCD,
@dualacronym{CCD,
description = {charge-coupled device.},
short = {CCD},
long = {charge-coupled device}
long = {Charge Coupled Device}
}
@acronym{SIDLOC,
@dualacronym{SIDLOC,
description = {Spacecraft Identification and Localization.},
short = {SIDLOC},
long = {Spacecraft Identification and Localization}
}
@acronym{RASA,
@dualacronym{RASA,
description = {Rowe-Ackermann Schmidt \Gls{astrograph}.},
short = {RASA},
long = {Rowe-Ackermann Schmidt Astrograph}
}
@acronym{COTS,
@dualacronym{COTS,
description = {Commodity off the shelf.},
short = {COTS},
long = {Commodity off the shelf}
long = {Commodity Off The Shelf}
}
@acronym{FOSH,
@dualacronym{FOSH,
description = {Free open-source hardware. See also: \gls{OSH}.},
short = {FOSH},
long = {Free open-source hardware}
long = {Free Open Source Hardware}
}
@acronym{FLOSS,
@dualacronym{FLOSS,
description = {Free/libre and open-source software. See also: \gls{FOSS}.},
short = {FLOSS},
long = {Free/libre and open-source software}
long = {Free/Libre and Open Source Software}
}
@acronym{SIP,
@dualacronym{SIP,
description = {Simple Imaging Polynomial.},
short = {SIP},
long = {Simple Imaging Polynomial}
}
@acronym{FOV,
@dualacronym{FoV,
description = {Field of view.},
short = {FOV},
short = {FoV},
long = {Field of View}
}
@acronym{DCS,
@dualacronym{DCS,
description = {distributed control system.},
short = {DCS},
long = {distributed control system}
long = {Distributed Control System}
}
@acronym{PNG,
@dualacronym{PNG,
description = {Portable Network Graphics.},
short = {PNG},
long = {Portable Network Graphics}
}
@acronym{CSV,
@dualacronym{CSV,
description = {Comma Separated Value.},
short = {CSV},
long = {Comma Separated Value}
}
@acronym{NTP,
@dualacronym{NTP,
description = {Network Time Protocol.},
short = {NTP},
long = {Network Time Protocol}
}
@acronym{IPv6,
@dualacronym{IPv6,
description = {Internet Protocol version 6.},
short = {IPv6},
long = {Internet Protocol version 6}
}
@acronym{ISS,
@dualacronym{ISS,
description = {International Space Station.},
short = {ISS},
long = {International Space Station}
}
@acronym{LEO,
@dualacronym{LEO,
description = {Low Earth Orbit.},
short = {LEO},
long = {Low Earth Orbit}
}
@acronym{GEO,
@dualacronym{GEO,
description = {Geostationary orbit.},
short = {GEO},
long = {Geostationary orbit}
long = {Geostationary Orbit}
}
@acronym{HEO,
@dualacronym{HEO,
description = {High Earth orbit.},
short = {HEO},
long = {High Earth orbit}
long = {High Earth Orbit}
}
@acronym{MEO,
@dualacronym{MEO,
description = {Medium Earth orbit.},
short = {MEO},
long = {Medium Earth orbit}
long = {Medium Earth Orbit}
}
@acronym{GSO,
@dualacronym{GSO,
description = {Geosynchronous orbit.},
short = {GSO},
long = {Geosynchronous orbit}
long = {Geosynchronous Orbit}
}
@acronym{PCB,
description = {Printed circuit coard.},
@dualacronym{PCB,
description = {Printed circuit board.},
short = {PCB},
long = {Printed Circuit Board}
}
@acronym{HDL,
@dualacronym{HDL,
description = {Hardware description language.},
short = {HDL},
long = {Hardware description lanuage}
long = {Hardware Description Language}
}
@acronym{V4L2,
@dualacronym{V4L2,
description = {Video for Linux v2.},
short = {V4L2},
long = {Video for Linux v2}
}
@acronym{BSD,
description = {Berkeley Software Distribution.},
@dualacronym{BSD,
description = {Berkeley Software Distribution.},
short = {BSD},
long = {Berkeley Software Distribution}
}
@acronym{SDK,
@dualacronym{SDK,
description = {Software development kit.},
short = {SDK},
long = {Software development kit}
long = {Software Development Kit}
}
@acronym{MIPI,
@dualacronym{MIPI,
description = {Mobile Industry Processor Interface.},
short = {MIPI},
long = {Mobile Industry Processor Interface}
}
@acronym{ASM,
@dualacronym{ASM,
description = {All Sky Monitor.},
short = {ASM},
long = {All Sky Monitor}
}
@acronym{PTZ,
@dualacronym{PTZ,
description = {Pan-tilt-zoom.},
short = {PTZ},
long = {Pan-tilt-zoom}
long = {Pan Tilt Zoom}
}
@acronym{PPS,
@dualacronym{PPS,
description = {Pulse per second.},
short = {PPS},
long = {Pulse per second}
long = {Pulse Per Second}
}
@acronym{USB,
@dualacronym{USB,
description = {Universal Serial Bus.},
short = {USB},
long = {Universal Serial Bus}
}
@acronym{NUC,
@dualacronym{NUC,
description = {Next Unit of Computing.},
short = {NUC},
long = {Next Unit of Computing}
}
@acronym{DC,
@dualacronym{DC,
description = {Direct current.},
short = {DC},
long = {Direct current}
long = {Direct Current}
}
@acronym{EQ,
@dualacronym{EQ,
description = {Equatorial.},
short = {EQ},
long = {equatorial}
long = {Equatorial}
}
@acronym{IDK,
@dualacronym{IDK,
description = {I don't know.},
short = {IDK},
long = {I don't know}
long = {I Don't Know}
}
@acronym{DB,
@dualacronym{DB,
description = {Database.},
short = {DB},
long = {Database}
}
@acronym{UVC,
@dualacronym{UVC,
description = {USB video device class.},
short = {UVC},
long = {USB video device class}
long = {USB Video device Class}
}
@acronym{CV,
@dualacronym{CV,
description = {Computer vision.},
short = {CV},
long = {Computer vision}
long = {Computer Vision}
}
@acronym{PIP,
@dualacronym{PIP,
description = {Package Installer for Python.},
short = {PIP},
long = {Package Installer for Python}
}
@acronym{RAM,
@dualacronym{RAM,
description = {Random-access memory.},
short = {RAM},
long = {Random-access memory}
long = {Random Access Memory}
}
@acronym{GLONASS,
@dualacronym{GLONASS,
description = {Global Navigation Satellite System.},
short = {GLONASS},
long = {Global Navigation Satellite System}
}
@acronym{BDS,
@dualacronym{BDS,
description = {BeiDou Navigation Satellite System.},
short = {BDS},
long = {BeiDou Navigation Satellite System}
}
@acronym{SBC,
@dualacronym{SBC,
description = {Single board computer.},
short = {SBC},
long = {Single board computer}
long = {Single Board Computer}
}
@acronym{BIOS,
@dualacronym{BIOS,
description = {Basic Input/Output System.},
short = {BIOS},
long = {Basic Input/Output System}
}
@acronym{OSAT,
@dualacronym{OSAT,
description = {open-source appropriate technology.},
short = {OSAT},
long = {open-source appropriate technology}
long = {Open Source Appropriate Technology}
}
@acronym{PC,
@dualacronym{PC,
description = {Personal Computer.},
short = {PC},
long = {Personal Computer}
}
@acronym{CGPM,
@dualacronym{CGPM,
description = {General Conference on Weights and Measures.},
short = {CGPM},
long = {General Conference on Weights and Measures}
}
@acronym{API,
@dualacronym{API,
description = {application programming interface.},
short = {API},
long = {application programming interface}
long = {Application Programming Interface}
}
@acronym{CPU,
@dualacronym{CPU,
description = {central processing unit.},
short = {CPU},
long = {central processing unit}
long = {Central Processing Unit}
}
@acronym{NGC,
@dualacronym{NGC,
description = {New General Catalogue of Nebulae and Clusters of Stars.},
short = {NGC},
long = {New General Catalogue of Nebulae and Clusters of Stars}
}
@acronym{FLIR,
@dualacronym{FLIR,
description = {Forward-looking infrared.},
short = {FLIR},
long = {Forward-looking infrared}
long = {Forward Looking Infrared}
}
@acronym{USSPACECOM,
description = {United States Space Command.},
short = {USSPACECOM},
long = {United States Space Command}
}
@acronym{SPACECOM,
description = {United States Space Command.},
short = {SPACECOM},
long = {United States Space Command}
}
@acronym{SDS,
@dualacronym{SDS,
description = {Space Defense Squadron.},
short = {SDS},
long = {Space Defense Squadron}
}
@acronym{PaaS,
@dualacronym{PaaS,
description = {Platform as a Service.},
short = {PaaS},
long = {Platform as a Service}
}
@acronym{SI,
@dualacronym{SI,
description = {The International System of Units, known by the international abbreviation SI in all languages and sometimes pleonastically as the SI system, is the modern form of the metric system and the world's most widely used system of measurement. Established and maintained by the \gls{CGPM}, it is the only system of measurement with an official status in nearly every country in the world, employed in science, technology, industry, and everyday commerce.%
\footnote{\cite{Wiki22:intersysteunitswikipfreeencyc}}
},
@ -566,19 +530,11 @@
long = {International System of Units}
}
@acronym{Alt-Az,
description = {a simple two-axis mount for supporting and rotating an instrument about two perpendicular axes --- one vertical and the other horizontal. Rotation about the vertical axis varies the azimuth (compass bearing) of the pointing direction of the instrument. Rotation about the horizontal axis varies the altitude angle (angle of elevation) of the pointing direction. These mounts are used, for example, with telescopes, cameras, and radio antennas.%
\footnote{\cite{Wiki21:altazmountwikipfreeencyc}}
},
short = {Alt/Az mount},
long = {Altazimuth mount}
}
@acronym{TLE,
@dualacronym{TLE,
description = {two-line element set is a data format encoding a list of orbital elements of an Earth-orbiting object for a given point in time, the epoch. Using a suitable prediction formula, the state (position and velocity) at any point in the past or future can be estimated to some accuracy. TLEs can describe the trajectories only of Earth-orbiting objects. TLEs are widely used as input for projecting the future orbital tracks of space debris for purposes of characterizing ``future debris events to support risk analysis, close approach analysis, collision avoidance maneuvering'' and forensic analysis. The format was originally intended for punched cards, encoding a set of elements on two standard 80-column cards.%
\footnote{\cite{Wiki22:twolineelemesetwikipfreeencyc}}
},
short = {TLE},
long = {two-line element set}
long = {Two Line Element set}
}

View File

@ -13,20 +13,19 @@
\label{sec:satellite-detection}
\index{detect}\index{process}
This is a description of \gls{satellite} detection processes.
To detect \gls{satellite} in a \gls{FITS} file using the stvid \gls{toolchain},
To detect \gls{satellite} in a \gls{FITS} file using the \gls{stvid} \gls{toolchain},
run \texttt{process.py} or, if it exists, the \texttt{process\_new.py}
\gls{Python} script.
Note the \texttt{stvid} application's \texttt{process.py} and \texttt{process\_new.py}
will perform both the detection and identification steps.
\index{identify}
\index{identify}\index{detect}
\subsection{\texttt{process\_new.py} Usage}
\index{process}
This assumes you have installed \texttt{stvid} as shown in
This assumes you have installed \texttt{\gls{stvid}} as shown in
section \ref{sec:stvid-setup}, page \pageref{sec:stvid-setup}.
Adjust the dated directory used in this example to the actual directory name.
@ -37,7 +36,7 @@ cd stvid/
# Process directory
./process_new.py -c config_new.ini -d data/obs/20220825_1/020502/
\end{minted}
\index{process}
\index{process}\index{TLE}\index{config\_new.ini}
\subsection{\texttt{process.py} Usage}
@ -51,12 +50,12 @@ script.
cd stvid/
./process.py -c configuration.ini -d data/obs/20220825_1/020502/
\end{minted}
\index{process}
\index{process}\index{configuration.ini}
\subsection{\texttt{process\_new.py Example Output}}
\label{sec:process-output}
\index{process}
\index{process}\index{config\_new.ini}
\begin{minted}{sh}
Computing astrometric calibration for /srv/obs/odroid-01/obs/20220902_1/043309/2022-09-02T04:33:09.871.fits
@ -86,12 +85,10 @@ See
for a screenshot displaying a \gls{FITS} file generated by
\texttt{\gls{stvid}}.
\begin{sidewaysfigure}[p!]
\begin{center}
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{astroimagej.png}
\caption{AstroImageJ screenshot viewing FITS file.}
\label{fig:astroimagej}
\end{center}
\end{sidewaysfigure}

View File

@ -333,7 +333,7 @@
@entry{star-catalogue,
name = {star catalogue},
long = {star catalogue},
description = {is an \gls{astronomical-catalogue} that lists stars. In astronomy, many stars are referred to simply by catalogue numbers. There are a great many different star catalogue which have been produced for different purposes over the years. Most modern catalogues are available in electronic format and can be freely downloaded from space agencies' data centres. The largest is being compiled from the spacecraft Gaia and thus far has over a billion stars. Completeness and accuracy are described by the faintest limiting magnitude and the accuracy of the positions.%
description = {is an \gls{astronomical-catalogue} that lists stars. In astronomy, many stars are referred to simply by catalogue numbers. There are a great many different star catalogues which have been produced for different purposes over the years. Most modern catalogues are available in electronic format and can be freely downloaded from space agencies' data centres. The largest is being compiled from the spacecraft Gaia and thus far has over a billion stars. Completeness and accuracy are described by the faintest limiting magnitude and the accuracy of the positions.%
\footnote{\cite{enwiki:Star_catalogue}}
}
}
@ -498,3 +498,11 @@
}
}
@entry{alt-az-mount,
name = {altazimuth mount},
long = {altazimuth mount},
description = {a simple two-axis mount for supporting and rotating an instrument about two perpendicular axes --- one vertical and the other horizontal. Rotation about the vertical axis varies the azimuth (compass bearing) of the pointing direction of the instrument. Rotation about the horizontal axis varies the altitude angle (angle of elevation) of the pointing direction. These mounts are used, for example, with telescopes, cameras, and radio antennas.%
\footnote{\cite{Wiki21:altazmountwikipfreeencyc}}
}
}

View File

@ -12,36 +12,32 @@
\section{Overview of Ground Stations}
\label{sec:overview-groundstations}
\index{camera}
\index{receiver}\index{embedded system}
\index{receiver}
\Glspl{ground-station} are a setup of equipment such as \glspl{embedded-system}, cameras,
\glspl{SDR}, \glspl{antenna}, and receivers, located on Earth, observing space.
\section{SatNOGS Ground Stations}
The \gls{LSF} built the \gls{SatNOGS} network using distributed,
volunteer-run, \gls{RF} \glspl{ground-station} using \glspl{SDR}, such as in
figure \ref{fig:spacecruft-rotator}, page \pageref{fig:spacecruft-rotator}.%
\footnote{\url{https://spacecruft.org/assets/i/spacecruft-rotator.png}}
It shows a \gls{SatNOGS} \gls{ground-station} with \gls{VHF} (right) and \gls{UHF} (left)
\glspl{antenna} on a \gls{mast} with an \gls{Alt-Az} \gls{rotator}.
\glspl{antenna} on a \gls{mast} with an \gls{alt-az-mount} \gls{rotator}.
\glspl{SDR} can be used as \gls{RF} receivers.%
\footnote{\cite{Wiki22:softwdefinradiowikipfreeencyc}}
\index{radio}
\begin{figure}[p!]
\begin{center}
\centering
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{spacecruft-rotator.png}
\caption{SatNOGS ground station with antennas.}
\caption{\gls{SatNOGS} \gls{ground-station} with antennas.}
\label{fig:spacecruft-rotator}
\index{radio}
\end{center}
\end{figure}
Ground stations can be viewed on the \gls{SatNOGS} network website, such as
\Glspl{ground-station} can be viewed on the \gls{SatNOGS} network website, such as
as the example in figure \ref{fig:satnogs-ground-station-web}, page \pageref{fig:satnogs-ground-station-web}.%
\footnote{\url{https://network.satnogs.org/stations/2733/}}
@ -51,7 +47,6 @@ as the example in figure \ref{fig:satnogs-ground-station-web}, page \pageref{fig
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{satnogs-ground-station-web.png}
\caption{Ground station viewed on SatNOGS website, example.}
\label{fig:satnogs-ground-station-web}
\end{center}
\end{sidewaysfigure}
@ -72,7 +67,7 @@ can be seen in figure
\begin{center}
\centering
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{video-enclosure-mount-tripod.png}
\caption{SatNOGS Optical ground station prototype.}
\caption{\gls{SatNOGS-Optical} \gls{ground-station} prototype.}
\label{fig:video-enclosure-mount-tripod}
\index{tripod}\index{mount}\index{enclosure}
\end{center}

View File

@ -14,7 +14,7 @@
\index{hardware}
Hardware considerations for a \gls{SatNOGS-Optical} \gls{ground-station}.
Main hardware components in an optical \gls{ground-station}:
Main hardware components in an \gls{optical-ground-station}:
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{itemize}
@ -44,6 +44,7 @@ Other components:
\section{Camera}
\label{sec:hardware-camera}
\index{camera}
% XXX aravis
Cameras being evaluated:
@ -70,7 +71,7 @@ Cameras being evaluated:
\index{lens}
For lenses, the faster the better.
F1.2 works well.
F1.8 is the maxmimum recommended.
F1.8 is the maximum recommended.
Lenses being tested:
@ -171,7 +172,7 @@ See a close up of the front of the enclosure and camera lens in figure
As seen in figure
\ref{fig:video-enclosure-left}, page \pageref{fig:video-enclosure-left},
the left side of the enclosure has a hinge for opening.
The bottom white component is part of the telescope mount.
The bottom white component is part of the \gls{telescope} mount.
\index{mount}
\begin{figure}[h!]
@ -253,7 +254,7 @@ is:
\end{sidewaysfigure}
The top of the enclosure shows weather protection and a sun visor.
\index{enclosure}
\index{enclosure}\index{weather}
See figure \ref{fig:video-enclosure-top}, page \pageref{fig:video-enclosure-top}.
\begin{figure}[h!]
@ -270,7 +271,7 @@ See figure \ref{fig:video-enclosure-top}, page \pageref{fig:video-enclosure-top}
\section{Tripods}
\label{sec:hardware-tripod}
\index{hardware}\index{tripod}\index{camera}
\index{hardware}\index{tripod}\index{camera}\index{pier}
The camera setup can be mounted a wide variety of ways,
from just setting the camera somewhere (worst option), to a heavy duty
@ -335,12 +336,11 @@ Tracking mount options to consider include:
\item [Misc \gls{PTZ}] --- Other security camera \gls{PTZ} mounts.
\end{description}
\end{mdframed}
\index{track}\index{mount}\index{Sky-Watcher}
\index{Yaesu}\index{hamlib}
\index{iOptron}
\index{track}\index{mount}\index{Sky-Watcher}\index{Yaesu}\index{hamlib}\index{iOptron}
\index{G-5500}
Tracking mounts aren't widely used, but there is support for them in
\texttt{stvid} when acquiring data.
\texttt{\gls{stvid}} when acquiring data.
The tracking needs to be set up independently of \texttt{stvid}.
At present, I use \gls{KStars} with Ekos to control a Sky-Watcher EQ6-R Pro
tracking mount.
@ -364,11 +364,11 @@ For tracking, there a few different ways to track:
\end{mdframed}
\subsection{Sidereal Tracking Mounts}
\index{track}
\index{track}\index{mount}
Sidereal tracking (``telescope tracking'') is what \gls{COTS} tracking ``\gls{GoTo}''
\glspl{telescope} from \gls{Celestron} or Sky-Watcher do, for example. They track
the stars, countering the rotation of the Earth to keep the same view
of the sky in the camera's \gls{FOV}. Stars remain as points, even after multi-minute
of the sky in the camera's \gls{FoV}. Stars remain as points, even after multi-minute
or multi-hour imaging. This is what is used for ``pretty'' pictures
of stars, nebula, galaxies, etc.
This is the most common tracking set up, as it has been widely used in
@ -381,7 +381,7 @@ Within sidereal tracking mounts, there are yet more options:
\item [Fork] --- Fork mount.
\item [\gls{EQ} fork] --- Fork on \gls{EQ} mount.
\item [German \gls{EQ}] --- Most common \gls{EQ} mount.
\item [More] --- Endless variety of available telescope mounts.
\item [More] --- Endless variety of available \gls{telescope} mounts.
\end{description}
\end{mdframed}
\index{German \gls{EQ}}\index{fork} %XXX
@ -393,8 +393,8 @@ tracking, but for our uses all three will be included under sidereal tracking.
To use a sidereal tracking mount for imaging satellites, the camera
must ``leap frog'' the satellite.
At present, my practice is to use a sidereal mount, point at a location with \gls{KStars},
start stvid. Then stop stvid, move to new location using \gls{KStars},
start stvid.
start \gls{stvid}. Then stop \gls{stvid}, move to new location using \gls{KStars},
start \gls{stvid}.
\index{track}\index{camera}
See Software section \ref{sec:software-tracking}, \pageref{sec:software-tracking}
@ -410,7 +410,7 @@ It requires, such as:
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{description}
\item [Time] --- Accurate time, such as from \gls{GNSS}.
\item [Time] --- Accurate time, such as from \gls{GNSS} or \gls{NTP}.
\item [Location] --- Accurate location, also available from \gls{GNSS}.
\item [\gls{TLE}] --- Need to know the \glspl{satellite}' orbit (accurately!).
\item [Variable speed tracking] --- \Glspl{satellite} are moving at different
@ -432,16 +432,15 @@ speed will be too slow for satellite tracking.
Variable speed tracking (XXX phrase?) is needed for tracking satellites if
the goal is to keep the satellite in the (near) center of the image frame
and leave \glspl{star-trail}. The speed the mount moves needs to be calculated
based upon a recent orbit calcuation, such as from a \gls{TLE}.
based upon a recent \gls{orbit} calcuation, such as from a \gls{TLE}.
There are highly skilled amateur astronomers that have captured detailed
pictures of artificial satellites, such as the \gls{ISS} and astronauts doing
space walks, using hand guided \glspl{telescope} with low cost \gls{CCD} imagers.
% XXX ref
There are few options for satellite tracking mounts.
Some new iOptron telescope mount \gls{firmware} supports tracking
Some new iOptron \gls{telescope} mount \gls{firmware} supports tracking
satellites. This has been largely untested so far, but at present
is likely the best option, if a satellite tracking mount is wanted.
\index{iOptron}\index{track}\index{mount}

View File

@ -11,8 +11,7 @@
\section{Overview of Satellite Identification}
\label{sec:overview-identify}
\index{identify}
\index{identify}\index{locate}
The \gls{LSF} is developing a project called \gls{SIDLOC},
for \gls{satellite} identification and localization. With the
@ -26,7 +25,7 @@ for \gls{SSA}.
The best tool for identifying \glspl{satellite} from \gls{FITS} files
is the \texttt{process.py}
script from \texttt{stvid}, available here:
script from \texttt{\gls{stvid}}, available here:
* \url{https://github.com/cbassa/stvid}
@ -36,8 +35,7 @@ My fork is here:
\section{Identifying Satellites with \texttt{satid}}
\index{identify}
\index{Giza}
\index{identify}\index{Giza}
The deprecated \gls{C} application, \texttt{satid} from the \texttt{\gls{sattools}}
package can help identify \glspl{satellite}.
@ -56,7 +54,6 @@ My fork is here:
\begin{center}
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{satid-giza-3.png}
\caption{\texttt{satid} example.}
\label{fig:satid-giza-3}
\end{center}
\end{figure}
@ -65,7 +62,7 @@ My fork is here:
\section{Identification with stvid}
\index{identify}
See section \ref{sec:satellite-detection}, page \pageref{sec:satellite-detection}
for details on identification with stvid.
for details on identification with \gls{stvid}.
The detection and identification steps are both done in one script.
See figure \ref{fig:stvid-process}, page \pageref{fig:stvid-process}
@ -98,7 +95,7 @@ See figure \ref{fig:stvid-unidentified}, page \pageref{fig:stvid-unidentified},
One is on the left, the other two on the right, next to each other.
See figures \ref{fig:stvid-unidentified-90000}, \ref{fig:stvid-unidentified-90001}, and \ref{fig:stvid-unidentified-90002}, pages \pageref{fig:stvid-unidentified-90000}, \pageref{fig:stvid-unidentified-90001}, and \pageref{fig:stvid-unidentified-90002},
to see an example of \texttt{stvid} labelling three identified satellites
to see an example of \texttt{\gls{stvid}} labelling three identified satellites
with \glspl{NORAD-ID} \texttt{90000}, \texttt{90001}, \texttt{90002}.
\begin{sidewaysfigure}[p!]
@ -115,7 +112,6 @@ with \glspl{NORAD-ID} \texttt{90000}, \texttt{90001}, \texttt{90002}.
\index{unidentified}
\end{sidewaysfigure}
\begin{sidewaysfigure}[p!]
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{id-new-sats/2022-08-23T11:18:12.531_90001_unid.png}
\caption{stvid processed image, with three unidentified satellites, the second labeled with NORAD ID \texttt{90001}.}
@ -123,7 +119,6 @@ with \glspl{NORAD-ID} \texttt{90000}, \texttt{90001}, \texttt{90002}.
\index{unidentified}
\end{sidewaysfigure}
\begin{sidewaysfigure}[p!]
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{id-new-sats/2022-08-23T11:18:12.531_90002_unid.png}
\caption{stvid processed image, with three unidentified satellites, the third labeled with NORAD ID \texttt{90002}.}
@ -139,13 +134,13 @@ Airplanes are noise in the data.
Airplanes will appear not infrequently in images.
See figure \ref{fig:stvid-airplane1}, page \pageref{fig:stvid-airplane1}
for an example with an airplane in the left side, forming two parallel
lines from the aircrafts' lights.
trails from the aircrafts' lights.
In figure \ref{fig:stvid-airplane2}, page \pageref{fig:stvid-airplane2},
is shown an example image with an airplane with a very distinct blinking light.
In figure \ref{fig:stvid-airplane3}, page \pageref{fig:stvid-airplane3},
airplane solid parallel lights can be seen with blinking lights.
airplane solid parallel trails can be seen with blinking lights.
\begin{sidewaysfigure}[p!]
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{airplane/2022-08-23T04:17:27.161.fits.png}
@ -208,19 +203,34 @@ where they should.
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{stvid/2022-09-04T03:40:07.923.fits.png}
\caption{\texttt{stvid} processed image, alignment off due to use of old TLE.}
\label{fig:stvid-process-bad-tle}
\end{sidewaysfigure}
\subsection{Image Acquired During Slew}
\index{acquire}
See figured \ref{fig:stvid-process-bad-slew}, page \pageref{fig:stvid-process-bad-slew},
for an example image that is bad due to slewing during acquisition.
for an example image that is bad due to \gls{slew}[ing] during acquisition.
\begin{sidewaysfigure}[p!]
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{stvid/2022-09-04T04\:56\:37.072.fits.png}
\caption{\texttt{stvid} processed image, trails due to slewing during acquire.}
\label{fig:stvid-process-bad-slew}
\end{sidewaysfigure}
\subsection{Light Outside FoV Artifact}
\index{acquire}
See figured \ref{fig:stvid-light-fov}, page \pageref{fig:stvid-light-fov},
for an example of an artifact, visible crossing the left and center,
generated by light outside the \gls{FoV}, in
this case the moon!%
\footnote{Pierros in SatNOGS Optical Matrix}
This is also an example image that detects classified satellites.
This is how the main upstream \texttt{\gls{stvid}} works.
\begin{sidewaysfigure}[p!]
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{stvid/stvid-light-fov.png}
\caption{\texttt{stvid} processed image, with classified satellites and light artifact.}
\label{fig:stvid-light-fov}
\end{sidewaysfigure}

View File

@ -12,7 +12,6 @@
The SatNOGS Optical Unofficial Guide documents how to set up and run an
\gls{optical-ground-station} for the \gls{LSF}'s \gls{SatNOGS} network.
% https://network.satnogs.org/
\begin{figure}[h!]
\begin{framed}
@ -20,7 +19,6 @@ The SatNOGS Optical Unofficial Guide documents how to set up and run an
\includegraphics[keepaspectratio=true,height=0.60\textheight,width=0.60\textwidth,angle=0]{satnogs-network-web.png}
\caption{SatNOGS Network.}
\label{fig:satnogs-network-web}
\end{framed}
\end{figure}
@ -32,7 +30,7 @@ A cursory review of \glspl{satellite} and existing \gls{RF} \glspl{ground-statio
will be followed by a big picture view of acquiring and processing
images of \glspl{satellite}. Hardware is reviewed, then software to run
on it, with many options, including what is best. Finally,
what to do with the data (\gls{IDK}!).
what to do with the data.
The chapters that follow are listed below.
@ -40,47 +38,44 @@ The chapters that follow are listed below.
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{description}
\item [\Glspl{satellite}] --- What are we looking at?
\item [Ground Stations] --- How Earth talks to \glspl{satellite} and back.
\item [\Glspl{ground-station}] --- How Earth talks to \glspl{satellite} and back.
\item [\Gls{toolchain} and Process] --- The big picture of what
hardware and software is needed to set up an optical ground station
hardware and software is needed to set up an \gls{optical-ground-station}
for use on the network.
\item [Hardware] --- Details on appropriate hardware configurations,
and example setups.
\item [Software] --- A look at the myriad software related to \glspl{satellite},
and what works best at present for SatNOGS Optical.
and what works best at present for \gls{SatNOGS-Optical}.
\item [Acquire] --- Convert \glspl{photon} to bits. Pointing a camera at the
sky works.\index{camera}
\item [Solve] --- Pictures of stars reveal the time and location of
the photo. Plate solvers reviewed.\index{plate solver}
\item [Detect] --- The plate solver says where the photo is,
the photo. \Glspl{plate-solver} reviewed.
\item [Detect] --- The \gls{plate-solver} says where the photo is,
now detect if are there moving trails that aren't \glspl{star-trail} that could
be \glspl{satellite}.
\item [Identify] --- With time, location, \gls{satellite} detection, \glspl{TLE}
are overlaid and compared with detected \glspl{satellite}.\index{identify}
\Gls{satellite} identification by computers and humans.
\item [Upload] --- When ready, data will be pushed to the SatNOGS network.
\item [Upload] --- When ready, data will be pushed to the \gls{SatNOGS} network.
\item [Support] --- Where development is occurring and questions answered!
\end{description}
\end{mdframed}
\index{process}\index{hardware}\index{software}
\index{acquire}\index{solve}\index{detect}\index{identify}\index{upload}
\index{support}\index{plate solver}
\index{acquire}\index{detect}\index{identify}\index{upload}
\index{support}
\section{Libre Space Foundation}
The \gls{LSF} supports
``free and accessible space for all, creating \gls{open-source} space technologies.''%
\footnote{\url{https://libre.space}}
\begin{figure}[h!]
\begin{framed}
\centering
\includegraphics[keepaspectratio=true,height=0.60\textheight,width=0.60\textwidth,angle=0]{lsf-web.png}
\caption{Libre Space Foundation Website.}
\label{fig:lsf-web}
\end{framed}
\end{figure}
@ -98,8 +93,7 @@ Select \gls{LSF} projects:
\section{SatNOGS Network}
SatNOGS is the \gls{LSF}'s global network of \gls{satellite} ground stations.
\gls{SatNOGS} is the \gls{LSF}'s global network of \gls{satellite} ground stations.
\begin{figure}[h!]
\begin{framed}
@ -107,15 +101,13 @@ SatNOGS is the \gls{LSF}'s global network of \gls{satellite} ground stations.
\includegraphics[keepaspectratio=true,height=0.60\textheight,width=0.60\textwidth,angle=0]{satnogs-web.png}
\caption{SatNOGS Website.}
\label{fig:satnogs-web}
\end{framed}
\end{figure}
\section{Optical Network Status}
The SatNOGS \gls{RF} network has been running successfully for years.
Adding an optical network is a new development. At present there
The \gls{SatNOGS} \gls{RF} network has been running successfully for years.
Adding a \gls{SatNOGS-Optical} network is a new development. At present there
are zero nodes on the network.
Some software already exists,
@ -123,4 +115,3 @@ some is being ported from \gls{C} to \gls{Python}, and other parts remain to be
There is software available for acquiring optical data of \glspl{satellite}.
There is no facility at present for pushing data back to the network.

View File

@ -79,7 +79,6 @@ leftmargin=1cm,rightmargin=1cm
\setmonofont{LMMono12-Regular}
% Linux Biolinum
\setsansfont[Ligatures=TeX]{Linux Biolinum O}
%%% END PREAMBLE FONTS %%%
%%% MISC %%%
@ -217,19 +216,98 @@ leftmargin=1cm,rightmargin=1cm
%%% GLOSSARY %%%
\let\printindex\relax % or conflicts with memoir
\usepackage[nonumberlist,record=hybrid,index,abbreviations,toc,indexcrossrefs,translate=babel,acronym]{glossaries-extra}
\renewcommand{\abbreviationsname}{List of Abbreviations}
\renewcommand{\acronymname}{List of Acronyms}
\usepackage[
automake, % Automatically create glossary files when compiling
acronyms, % Allow the use of acronyms as a separate glossary type
abbreviations, % Allow the use of abbreviations as a separate glossary type
nonumberlist,record=hybrid,index,toc,indexcrossrefs,translate=babel, % TODO comment what each of these does
]{glossaries-extra}
%%% Multiple Columns (Abbreviations)
\usepackage{glossary-mcols}
\renewcommand{\abbreviationsname}{List of Abbreviations} % Change the default name of the abbreviations
\makeindex
% Specify the in-text glossary abbreviation style for each glossary type
\setabbreviationstyle{long-short}
\GlsXtrLoadResources[src={Glossary.bib},sort={en-US},type=main]
\GlsXtrLoadResources[src={Acronyms.bib},sort={letter-nocase},type=acronym]
\GlsXtrLoadResources[src={Abbreviations.bib},sort={letter-nocase},type=abbreviations]
\setabbreviationstyle[acronym]{long-short} % The first time an acronym is used in text, display it as <long> (<short>), e.g. "Network Time Protocol (NTP)"
% Load all glossary type entries from separate .bib files. Acronyms and abbreviations are input using @dual<acronym/abbreviation> entries which the code below duplicates and puts into 2 separate glossary types: 1) acronym/abbreviation and 2) main. The former populate the acronyms/abbreviations and the latter populates the main glossary.
% Main glossary
\GlsXtrLoadResources[
src={Glossary.bib},
sort={en-US}, % Default sorting
type=main, % Glossary type of main (primary) entries (e.g. @entry)
dual-sort={combine}, % TODO this should be working but it's not >_< it also doesn't work in \GlsXtrLoadResources for the main glossary where it might need to go instead
dual-sort-field={sort}, % TODO not working
]
% Acronyms
\GlsXtrLoadResources[
src={Acronyms.bib}, % Source bib file containing acronym entries
sort={letter-nocase}, % Default sorting
type=acronym, % Glossary type of main (primary) entries (e.g. @acronym)
dual-type=main, % Glossary type of dual (secondary) entries, dual entries are only created with @dual* entries in the .bib file
dual-abbrv-map={{long}, {name}}, % Map the long field in the @dualacronym entry to the name field used in the main glossary
abbreviation-sort-fallback={name}, % Sort entries by the long field (check this in .glstex by looking at the dual entry sort= values)
dual-sort={combine}, % TODO this should be working but it's not >_< it also doesn't work in \GlsXtrLoadResources for the main glossary where it might need to go instead
dual-sort-field={sort}, % TODO not working
]
% Abbreviations
\GlsXtrLoadResources[
src={Abbreviations.bib}, % Source bib file containing abbreviations entries
sort={letter-nocase}, % Default sorting
type=abbreviations, % Glossary type of main (primary) entries (e.g. @abbreviation)
dual-type=main, % Glossary type of dual (secondary) entries, dual entries are only created with @dual* entries in the .bib file
dual-abbrv-map={{long}, {name}}, % Map the long field in the @dualabbreviation entry to the name field used in the main glossary
abbreviation-sort-fallback={name}, % Sort entries by the long field (check this in .glstex by looking at the dual entry sort= values)
dual-sort={combine}, % TODO this should be working but it's not >_< it also doesn't work in \GlsXtrLoadResources for the main glossary where it might need to go instead
dual-sort-field={sort}, % TODO not working
]
% Another approach that uses just the normal @abbreviation and @acronym entries but doesn't format entries in the main glossary correctly
%\GlsXtrLoadResources[
% src={Glossary.bib},
% sort={en-US}, % Default sorting
% type=main, % Glossary type of main (primary) entries (e.g. @entry)
%]
%% Acronyms
%\GlsXtrLoadResources[
% src={Acronyms.bib}, % Source bib file containing acronym entries
% sort={letter-nocase}, % Default sorting
% type=acronym, % Glossary type of main (primary) entries (e.g. @acronym)
% secondary={en-US:long:main},
%]
%% Abbreviations
%\GlsXtrLoadResources[
% src={Abbreviations.bib}, % Source bib file containing abbreviations entries
% sort={letter-nocase}, % Default sorting
% type=abbreviations, % Glossary type of main (primary) entries (e.g. @abbreviation)
% secondary={en-US:long:main},
%]
\GlsXtrEnableIndexFormatOverride
\glsdefpostname{acronym}{ (\glsentryshort{\glscurrententrylabel})} % Add " (<short>) to acronym entries in the main glossary
\glsdefpostname{abbreviation}{ (\glsentryshort{\glscurrententrylabel})} % Add " (<short>) to abbreviation entries in the main glossary
% Define a new glossary style that outputs short and long fields from glossary entries in a description list environment
\newglossarystyle{shortlongglossary}{%
% Put glossary entries into a description environment
\renewenvironment{theglossary}{
\begin{multicols}{2}
\begin{description}
}{
\end{description}
\end{multicols}
}%
% Define which fields are output for each glossary entry
\renewcommand*{\glossentry}[2]{%
\item[\glstarget{##1}{\glsentryshort{##1}}] \glsentrylong{##1} % Each glossary entry is output as a description item in the format: \item[<short>] <long>
}%
}
% Adds acronym to index like:
% World Coordinate System (WCS), 67, 116
% Adds glossary to index like:
@ -248,11 +326,11 @@ leftmargin=1cm,rightmargin=1cm
}
% OK, ACRONYM shows description, then short.
% Show short first better.
% Shows both when long=short, only one needed...
\renewcommand*{\glsxtrpostdescacronym}{%
\space(\glsentrylong{\glscurrententrylabel})%
}
% Showshort first better.
% Shows both when desc=long, only one needed...
% OK, but me. XXX borken?
%\glsdefpostname{acronym}{TEST} % This outputs something after the name, e.g. NTPTEST
%\renewcommand*{\glsxtrpostdescacronym}{\glsentrylong{\glscurrententrylabel}} % This outputs something after the description
% crossref for see:
\renewcommand*{\glsxtrpostdescgeneral}{%
@ -267,7 +345,7 @@ leftmargin=1cm,rightmargin=1cm
\glssetcategoryattribute{acronym}{dualindex}{hyperpage}
% First letter upper
\glssetcategoryattribute{general}{glossname}{firstuc}
%\glssetcategoryattribute{general}{glossname}{firstuc}
%%% END GLOSSARY %%%
%%% DEBUG %%%
@ -380,6 +458,10 @@ leftmargin=1cm,rightmargin=1cm
%\include{Acknowledgements}
%%% END ACKNOWLEDGEMENTS PAGE %%%
%%% ACRONYM %%%
\printunsrtglossary[type={acronym}, style={shortlongglossary}]
%%% END ACRONYM %%%
% Format:
% \chapterconf{Name of file to include}{Title of Chapter}
\chapterconf{Introduction}{Introduction}{SatNOGS Optical}
@ -424,15 +506,11 @@ leftmargin=1cm,rightmargin=1cm
%%% END APPENDIX %%%
%%% ABBREVIATIONS %%%
\printunsrtglossary[type={abbreviations}]
\printunsrtglossary[type={abbreviations}, style={shortlongglossary}]
%%% END ABBREVIATIONS %%%
%%% ACRONYM %%%
\printunsrtglossary[type={acronym}]
%%% END ACRONYM %%%
%%% GLOSSARY %%%
\printunsrtglossary[style={indexgroup}]
\printunsrtglossary[type={main}, style={indexgroup}]
%%% END GLOSSARY %%%
%%% BIBLIOGRAPHY %%%

View File

@ -12,17 +12,16 @@
\label{sec:optical-howto}
\gls{SatNOGS-Optical} is the nascent distributed network of optical
ground stations.
\glspl{ground-station}.
This chapter gives a top level review what is needed in terms of hardware and
software to build an operating optical ground station.
software to build an operating optical \gls{ground-station}.
\index{hardware}\index{software}
\section{Toolchain}
\label{sec:toolchain}
See below for a \gls{SatNOGS-Optical} Process Overview.%
\footnote{\url{https://spacecruft.org/spacecruft/SNOPO}}
See figure \ref{fig:snopo}, page \pageref{fig:snopo}, described below.
@ -38,14 +37,12 @@ See figure \ref{fig:snopo}, page \pageref{fig:snopo}, described below.
\end{description}
\end{mdframed}
\index{hardware}\index{software}\index{acquire}\index{detect}\index{identify}
\index{embedded system}\index{camera}\index{plate solver}
\index{plate solver}
\index{camera}
\begin{sidewaysfigure}[p!]
\begin{center}
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{SNOPO.png}
\caption{SatNOGS Optical Process Overview}
\caption{\gls{SatNOGS-Optical} Process Overview}
\label{fig:snopo}
\index{process}
\end{center}
@ -60,7 +57,7 @@ explored. More explicit instructions of a particular hardware installation
can be see in section \ref{sec:hardware-overview}, page \pageref{sec:hardware-overview}.
Discussed below are camera options, for details on \glspl{embedded-system} and other parts,
also see hardware in section \ref{sec:hardware-overview}, page \pageref{sec:hardware-overview}
\index{embedded system}\index{camera}
\index{camera}
For the purposes here, there are three main categories of hardware. Depending which
category of equipment is selected, it impacts everything else, such as the
@ -81,13 +78,12 @@ If available, using motion video cameras will work best for
detecting \glspl{satellite} with the developing \gls{SatNOGS} \gls{toolchain}.
Examples of motion video camera sources that could be used:
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{description}
\item [The Imaging Source Cameras based on IMX174] --- Known to work. Recommended.
High quality cameras, believed to be usable following \gls{DFSG}.
\item [ZWO ASI based on IMX174] --- Known to work. Not \gls{DFSG} compatible.
Uses proprietary \gls{SDK}. Currently in prototype development.
Uses proprietary \gls{SDK}. Currently in prototype development. \index{proprietary}
\item [\gls{UVC}/\gls{V4L2}] --- ``Any'' video camera that works with the \gls{Linux} kernel.
Typically, the device will appear similar to \texttt{/dev/video0}. A camera
that works with the software isn't necessarily sensitive enough to detect
@ -96,23 +92,21 @@ Examples of motion video camera sources that could be used:
To work well, they need to be sensitive.
\item [\gls{Raspberry-Pi}] --- The PiCamera can be used. A good lower cost option.
Recommended. Many non-\gls{Raspberry-Pi} devices, such as Odroid are also compatible with the Pi
\gls{MIPI} interface.
\gls{MIPI} interface.\index{PiCamera}\index{Odroid}
\end{description}
\end{mdframed}
\index{The Imaging Source}\index{ZWO ASI}
\index{Odroid}
Still cameras can also be used productively. The current \gls{Python} \gls{toolchain}
is in very early development and not completely usable yet.
See the list below for still camera options:
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{description}
\item [\Glspl{telescope}] --- Can definitely take images of \glspl{satellite}.
Not the best tool at present, as it isn't well integrated into the \gls{SatNOGS-Optical} toolchain.
The \gls{FOV} is generally too small. The mounts are optimized for
The \gls{FoV} is generally too small. The mounts are optimized for
different types of tracking than satellites. This is changing, and longer
term could be well-supported. Using \gls{RASA} style \glspl{astrograph}
is likely the best option.
@ -131,10 +125,7 @@ See the list below for still camera options:
used with \gls{gPhoto}.
\end{description}
\end{mdframed}
\index{Ekos}\index{track}\index{mount}
\index{Canon}\index{Nikon}
\index{Ekos}\index{track}\index{mount}\index{Canon}\index{Nikon}
Considering the hardware options above, they need to be matched with
corresponding software. Not all options work (at all), and some cannot be
@ -166,12 +157,11 @@ There are also broader ``paths'' that need to be considered:
the basis for future \gls{SatNOGS-Optical} development.
The difficulty with all sky cameras is the \gls{plate-solver} isn't
written to use images from the ``fish-eye'' view of an all sky camera.
\item [Other] --- There are many other satellite and telescope software
\item [Other] --- There are many other satellite and \gls{telescope} software
packges freely available on the Internet. Perhaps some could be adapted for
usage.
\end{description}
\end{mdframed}
\index{motion video}
\index{still camera}\index{allsky}\index{stphot}\index{allsky}
\index{plate solver}

View File

@ -19,18 +19,16 @@ antention to ones using \gls{amateur-radio} bands.
\section{SatNOGS DB}
\label{sec:satnogs-db}
The SatNOGS \gls{DB} is a database that lists \glspl{satellite},
many of which can be tracked by ground station operators on the
The \gls{SatNOGS-DB} is a database that lists \glspl{satellite},
many of which can be tracked by \gls{ground-station} operators on the
\gls{SatNOGS} network.
\index{SatNOGS DB}
\begin{figure}[h!]
\begin{framed}
\centering
\includegraphics[keepaspectratio=true,height=0.80\textheight,width=0.80\textwidth,angle=0]{satnogs-db-web.png}
\caption{SatNOGS DB website.}
\caption{\gls{SatNOGS-DB} website.}
\label{fig:satnogs-db-web}
\index{SatNOGS DB}
\end{framed}
\end{figure}
@ -42,7 +40,7 @@ Individual \glspl{satellite} can be viewed, such as the RamSat \Gls{cubesat}.
\begin{framed}
\centering
\includegraphics[keepaspectratio=true,height=0.60\textheight,width=0.60\textwidth,angle=0]{satnogs-db-ramsat-web.png}
\caption{SatNOGS DB RamSat CubeSat web page.}
\caption{\gls{SatNOGS-DB} RamSat \gls{cubesat} web page.}
\label{fig:satnogs-db-ramsat-web}
\index{RamSat}
\end{framed}
@ -56,7 +54,7 @@ See the RamSat \gls{telemetry} dashboard.
\begin{sidewaysfigure}[p!]
\centering
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{satnogs-telemetry-ramsat-web.png}
\caption{SatNOGS DB RamSat CubeSat telemetry web page.}
\caption{\gls{SatNOGS-DB} RamSat \gls{cubesat} \gls{telemetry} web page.}
\label{fig:satnogs-telemetry-ramsat-web}
\index{RamSat}
\end{sidewaysfigure}
@ -97,21 +95,21 @@ for a example list of observations of the RamSat \Gls{cubesat}.%
\begin{framed}
\centering
\includegraphics[keepaspectratio=true,height=0.80\textheight,width=0.80\textwidth,angle=0]{satnogs-obs-list-ramsat-web.png}
\caption{List of observations of the RamSat CubeSat, example.}
\caption{List of observations of the RamSat \gls{cubesat}, example.}
\label{fig:satnogs-obs-list-ramsat-web}
\index{RamSat}\index{observation}
\end{framed}
\end{figure}
Individual \gls{RF} observations are uploaded to the SatNOGS network,
as can be seen in the example observation of the RamSat \gls{cubesat} by SatNOGS
ground station ``2380 - Piszkesteto \gls{UHF}'' run by volunteer bcsak (username).
Individual \gls{RF} observations are uploaded to the \gls{SatNOGS} network,
as can be seen in the example observation of the RamSat \gls{cubesat} by \gls{SatNOGS}
\gls{ground-station} ``2380 - Piszkesteto \gls{UHF}'' run by volunteer bcsak (username).
\index{RamSat}\index{bcsak}
\begin{sidewaysfigure}[p!]
\centering
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{satnogs-obs-6401760-web.png}
\caption{Sample observation of RamSat CubeSat on SatNOGS website.}
\caption{Sample observation of RamSat \gls{cubesat} on SatNOGS website.}
\label{fig:satnogs-obs-6401760-web}
\index{RamSat}\index{observation}
\end{sidewaysfigure}
@ -120,7 +118,6 @@ ground station ``2380 - Piszkesteto \gls{UHF}'' run by volunteer bcsak (username
\section{Satellite Orbits}
\label{sec:satellite-orbits}
Satellite \glspl{orbit}.
See \gls{SGP} and \gls{SDP}.

View File

@ -26,7 +26,7 @@ for a diagram with an overview of the software process.
back arrow distance=0.75,
}
\smartdiagram[flow diagram:horizontal]{Acquire, Process, Analyze, Upload}
\caption{SatNOGS Optical Operation Pipeline}
\caption{\gls{SatNOGS-Optical} Operation Pipeline}
\label{fig:operation}
\index{operation}
% \end{framed}
@ -38,7 +38,7 @@ for a diagram with an overview of the software process.
\label{sec:software-setup}
\index{software}
HOWTO set up and configure a \gls{SatNOGS-Optical} \gls{ground-station} prototype.
Note: the SatNOGS network is not yet ready for optical data.
Note: the \gls{SatNOGS} network is not yet ready for optical data.
For a description of installation using \gls{Docker}, see
section \ref{sec:software-docker}, page \pageref{sec:software-docker}.
@ -62,19 +62,17 @@ sudo apt install python3-virtualenv python3-pip python3-dev \
astrometry-data-tycho2-08 astrometry-data-tycho2-09 \
astrometry-data-tycho2-10-19
\end{minted}
\index{virtualenv}
\index{virtualenv}\index{PIP}
\index{Giza}\index{Source Extractor}
Next, install the \texttt{\gls{hough3d-code}} dependency.
\begin{minted}{sh}
git clone https://gitlab.com/pierros/hough3d-code
cd hough3d-code
make all
sudo cp -p hough3dlines /usr/local/bin/hough3dlines
\end{minted}
\index{hough3dlines}
Install \texttt{\gls{satpredict}} from using either the cbassa or spacecruft
\gls{software-repository}.
@ -90,7 +88,7 @@ make
sudo make install
\end{minted}
Now install \texttt{stvid}, the main acquisition and processing
Now install \texttt{\gls{stvid}}, the main acquisition and processing
application. It is written in \gls{Python}. Either use the spacecruft
\texttt{git} \gls{software-repository} or the cbassa one.
\index{acquire}
@ -170,7 +168,7 @@ st-password = bar
# Path to source-extractor
sex_config = /usr/share/source-extractor/default.sex
\end{minted}
\index{Source Extractor}\index{COSPAR}
\index{Source Extractor}\index{COSPAR}\index{TLE}
Store downloads here:
@ -189,24 +187,22 @@ export ST_OBSDIR=$HOME/satobs
export ST_LOGIN="identity=foo@no:pass"
\end{minted}
Set \texttt{astrometry.net} to run in parallel, assuming you have enough \gls{RAM}:
(This doesn't appear to work? Breaks?).
\begin{minted}{sh}
sudo vim /etc/astrometry.cfg
# Uncomment:
inparallel
\end{minted}
\index{astrometry.net}
\section{skymap}
\label{sec:skymap}
Use \gls{skymap} for viewing \gls{satellite} \glspl{orbit} trails
projected on a map of of the sky. Skymap is part of \gls{sattools}.
projected on a map of of the sky. \Gls{skymap} is part of \gls{sattools}.
\Gls{skymap} isn't a required part of the \gls{toolchain}, but it is useful
to see what \glspl{satellite} are visible at a particular time and
location.
@ -222,9 +218,8 @@ My fork:
\begin{sidewaysfigure}[p!]
\begin{center}
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{skymap-giza-21.png}
\caption{\texttt{skymap} example screenshot.}
\label{fig:skymap-giza-21}
\caption{\texttt{\gls{skymap}} example screenshot.}
\label{fig:skymap-giza-21}
\end{center}
\end{sidewaysfigure}
@ -236,7 +231,6 @@ My fork:
}
}
Described below is how to build and install my fork of \gls{sattools} to use
\gls{skymap} instead of upstream. \Gls{upstream} requires non-\gls{libre} software which
also happens to be very difficult for most users to compile. My fork uses the
@ -310,7 +304,6 @@ Visualize satellites on a map of the sky.
\end{minted}
\section{Tracking Software}
\label{sec:software-tracking}
\index{track}\index{software}\index{mount}
@ -354,14 +347,63 @@ Software that can be used with \gls{telescope} tracking mounts:
Using \gls{INDI} with \gls{KStars} and Ekos on a Sky-Watcher or \gls{Celestron}
\gls{telescope} mount is a known working solution.
\index{Sky-Watcher}
\index{Sky-Watcher}\index{Ekos}
\gls{Celestron} \glspl{telescope} are widely used and available for many years.
There is a variety of software written to control the mounts. The below list
covers the drivers (e.g. \gls{INDI}), not the software on top (e.g \gls{KStars}).
\gls{Celestron} Nexstar \gls{telescope} tracking mount drivers:%
\footnote{\url{https://www.indilib.org/telescopes/celestron.html}}%
\footnote{\url{https://github.com/indigo-astronomy/libnexstar}}%
\footnote{\url{https://github.com/indigo-astronomy/indigo/blob/master/indigo_drivers/mount_nexstar/README.md}}
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{description}
\item [Celestron INDI] --- \gls{Celestron} \gls{INDI}
\item [libnexstar INDIGO] --- libnexstar INDIGO.
\end{description}
\end{mdframed}
Sky-Watcher EQ6-R Pro \gls{telescope} tracking mount drivers:%
\footnote{\url{https://www.indilib.org/telescopes/skywatcher.html}}%
\footnote{\url{https://www.indilib.org/telescopes/skywatcher/eqmod.html}}%
\footnote{\url{https://www.indilib.org/telescopes/skywatcher/synscan-telescope.html}}
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{description}
\item [EQMod Mount INDI] --- Drives Sky-Watcher protocol.
\item [Synscan INDI] --- Drives Synscan hand controller.
\gls{INDI} recommends using EQMod Mount over Synscan.
\item [libnexstar INDIGO] --- libnexstar INDIGO.
\end{description}
\end{mdframed}
\subsection{INDI}
\gls{INDI} does much, \gls{KStars}, etc.
One option to consider is making \gls{stvid} an \gls{INDI} client.
\subsection{INDIGO}
INDIGO%
\footnote{\url{https://www.indigo-astronomy.org/}}
works with libnexstar, which supports many mounts:%
\footnote{\url{https://github.com/indigo-astronomy/libnexstar}}
\begin{quote}
This library implements the serial commands supported by the Celestron
NexStar hand control (HC) and SkyWatcher/Orion SynScan HC. This applies
to the Celestron: NexStar GPS, NexStar GPS-SA, NexStar iSeries, NexStar
SE Series, NexStar GT, CPC, SLT, Advanced-VX, Advanced-GT, CGE, CGEM etc.
SkyWatcher: EQ5, HEQ5, EQ6 (Pro), AZ-EQ5 GT, AZ-EQ6 GT, EQ8 etc. and the
corresponding Orion mounts.
\end{quote}
\subsection{Antenna Tracking Software}
At present, for the \gls{SatNOGS} network \gls{RF} \glspl{ground-station},
hamlib is typically used for tracking, if directional \glspl{antenna} are
used. Hamlib was originally created for \gls{amateur-radio} equipment, but has
expanded to control many more devices.
expanded to control many more devices. Hamlib can be used for some
telescope mounts.
\index{hamlib}
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
@ -370,12 +412,23 @@ expanded to control many more devices.
\end{description}
\end{mdframed}
\subsection{Hamlib}
I don't know of anyone prototyping a satellite tracking mount with hamlib,
but it should be possible using the ``leap frog'' method, perhaps on the
same mount as existing \gls{SatNOGS} \glspl{antenna}. The mount may not
be steady enough.
\index{hamlib}\index{mount}\index{track}
Hamlib lists support for the following tracking mounts, usually
used with \glspl{telescope}.%
\footnote{Output from version 4.3.1 of \texttt{rotctl --list}}
\begin{minted}{sh}
1401 Celestron NexStar 20110821.0 Untested ROT_MODEL_NEXSTAR
1801 Meade LX200/Autostar 20200610.0 Stable ROT_MODEL_MEADE
1901 iOptron iOptron 20191209.0 Alpha ROT_MODEL_IOPTRON
\end{minted}
\subsection{Camera Tracking Software}
@ -394,8 +447,7 @@ at present.
\section{GNSS with \texttt{gpsd}}
\label{sec:software-gnss}
\index{Galileo}\index{Beidou}
\index{Galileo}
\gls{GNSS} is used for time synchronization and for (somewhat)
accurately determining the location of the observation.
@ -403,7 +455,7 @@ accurately determining the location of the observation.
\gls{GNSS} collectively includes the USA \gls{GPS}, Europe's Galileo,
Russia's \gls{GLONASS}, and China's \gls{BDS}, as well as other
regional systems.
\index{Galileo}\index{Beidou}
\index{Galileo}
\index{USA}\index{Europe}\index{Russia}\index{China}
A basic, widely available \gls{COTS} \gls{USB} \gls{GNSS} device
@ -415,12 +467,10 @@ purposes here. See various U-Blox devices, for example.
In \gls{Debian} \gls{GNSS} service with a \gls{USB} device can be provided
by the \texttt{\gls{gpsd}} application.
\begin{minted}{sh}
sudo apt install gpsd gpsd-tools
\end{minted}
Edit the configuration file, \texttt{/etc/default/gpsd} like:
\begin{minted}{sh}
@ -452,7 +502,6 @@ systemctl edit --full gpsd.socket
And create a \gls{gpsd} configuration like this (I have \gls{IPv6} disabled, in this case):
\begin{minted}{sh}
[Unit]
Description=GPS (Global Positioning System) Daemon Sockets
@ -533,7 +582,6 @@ In \gls{Debian} there are a few options for \gls{NTP}.
The best is to use a hardware \gls{GNSS} (\gls{GPS}), with \gls{PPS} for improved
accuracy. The easiest is to just use \gls{NTP}.
All systems in the \gls{pipeline} need to have the correct time and
location. It is best if they all pull from the same \gls{NTP}
server, or even better than best if they all run \gls{GNSS}
@ -555,6 +603,9 @@ sudo ntpdate time.mit.edu
# Get time from local server, such as router (made up IP):
sudo ntpdate 192.168.1.1
# If above complains, to do an initial sync at boot (force ntpdate):
sudo ntpdate -b 192.168.1.1
# Restart daemon
sudo systemctl start ntp
\end{minted}
@ -569,7 +620,7 @@ sure they all have accurate time or processing will be off.
\index{software}\index{track}\index{mount}
\index{Ekos}
\gls{KStars} is an application that has been used for years in the astronomy
community. It is well established, well supported and included in \gls{Debian}.
community. It is well established, well supported, and included in \gls{Debian}.
\gls{KStars} has multiple uses for imaging \glspl{satellite}.
One main use is to control a \gls{telescope} tracking mount, such as the
@ -609,16 +660,15 @@ page \pageref{fig:kstars-skychart}.
When mount control is functioning, a location on the \gls{sky-chart}, such as a star,
can be clicked on and the mount will \gls{GoTo} that location and optionally track it.
Using this, a \gls{telescope} mount can be used to easily point the camera at a location
and track it to observe \glspl{telescope}. It should also provide a superior \gls{FITS} file
for extracting data than using a static mount (XXX made up).
and track it to observe \glspl{satellite}. It should also provide a superior \gls{FITS} file
for extracting data than using a static mount with \glspl{star-trail} (XXX made up).
\index{mount}\index{track}
\index{camera}
To use a \gls{telescope} tracking mount for use with \texttt{stvid}, the following steps need to be performed in
To use a \gls{telescope} tracking mount for use with \texttt{\gls{stvid}}, the following steps need to be performed in
roughly this order, assuming everything has been configured.
An overview of steps:
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{enumerate}
\item Physically mount all hardware.
@ -628,7 +678,8 @@ An overview of steps:
See section \ref{sec:software-gnss}, page \pageref{sec:software-gnss}.
\item Confirm time is correct on all systems in the \gls{toolchain}
(e.g. \texttt{date}).
See section \ref{sec:software-ntp}, page \pageref{sec:software-ntp}.
See section \ref{sec:software-ntp}, page \pageref{sec:software-ntp},
for information about \gls{NTP}.
\item Run camera configuration script (e.g. \texttt{v4l2-ctl} commands).
\item Start \texttt{indiserver} on the \gls{embedded-system}, using scripts to
include a camera (such as \texttt{indi\_v4l2\_ccd}.
@ -645,12 +696,12 @@ An overview of steps:
resets the size.
\item Hit close on the screen with the \gls{INDI} devices.
\item Click the mount icon, and start tracking.
\item Perhaps do some focusing... XXX
\item Perhaps do some focusing... XXX \index{focus}
\item Click the solver icon.
\item Click the Sync radio button.
\item Click Capture and Solve. XXX what is it.
\item If everything is tracking happily, good.
\item If not, do all the alignment steps.
\item If not, do all the alignment steps. \index{alignment}
\item When alignment is good and tracking is accurate, stop Ekos and close it.
\item Stop the \texttt{indiserver} running on the \gls{embedded-system}.
\item Start the \texttt{indiserver} on the \gls{embedded-system},
@ -661,12 +712,12 @@ An overview of steps:
\item Confirm all is ok in hardware tabs, then hit close.
\item Now in the \gls{KStars} \gls{sky-chart} window there is
control of the mount without interfering with the camera.
\item Start \texttt{stvid}. See XXX for more info.
\item When done capturing that part of the sky with \texttt{stvid},
stop \texttt{stvid}
\item Start \texttt{\gls{stvid}}. See XXX for more info.
\item When done capturing that part of the sky with \texttt{\gls{stvid}},
stop \texttt{\gls{stvid}}
\item Go to the \gls{KStars} \gls{sky-chart} and right-click
on the new location, and \gls{slew} to it.
\item Start \texttt{stvid} again, pointing at the new location.
\item Start \texttt{\gls{stvid}} again, pointing at the new location.
\item Repeat the last few steps each time a new sky location is desired.
\end{enumerate}
\end{mdframed}
@ -674,12 +725,10 @@ An overview of steps:
\index{lsusb}\index{cgps}\index{indiserver}
\index{Ekos}\index{Sky-Watcher}\index{The Imaging Source}
\begin{sidewaysfigure}[p!]
\begin{center}
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{kstars-skychart.png}
\caption{KStars sky chart, example screenshot.}
\caption{\gls{KStars} \gls{sky-chart}, example screenshot.}
\label{fig:kstars-skychart}
\end{center}
\end{sidewaysfigure}
@ -687,8 +736,7 @@ An overview of steps:
\begin{sidewaysfigure}[p!]
\begin{center}
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{kstars-profile-edit-v4l2.png}
\caption{KStars using V4L2, example screenshot.}
\caption{\gls{KStars} using \gls{V4L2}, example screenshot.}
\label{fig:kstars-profile-edit-v4l2}
\end{center}
\end{sidewaysfigure}
@ -696,8 +744,7 @@ An overview of steps:
\begin{sidewaysfigure}[p!]
\begin{center}
\includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{kstars-profile-edit-simulator.png}
\caption{KStars using simulated CCD, example screenshot.}
\caption{\gls{KStars} using simulated \gls{CCD}, example screenshot.}
\label{fig:kstars-profile-edit-simulator}
\end{center}
\end{sidewaysfigure}
@ -715,7 +762,7 @@ Bus 001 Device 003: ID 067b:23d3 Prolific Technology, Inc. USB-Serial Controller
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
\end{minted}
\index{The Imaging Source}
\index{The Imaging Source}\index{Sky-Watcher}
Note the \texttt{The Imaging Source Europe GmbH DMK 33UX174} device is the
camera and the

View File

@ -11,17 +11,15 @@
\section{Plate Solver}
\label{sec:plate-solver}
\index{plate solver}
A ``\gls{plate-solver}'' will take an image of stars and detect the time and place
of the picture. There are two main steps:
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{enumerate}
\item Extract stars from an image, such as a \gls{FITS} file generated by \texttt{stvid}.
\item Extract stars from an image, such as a \gls{FITS} file generated by \texttt{\gls{stvid}}.
\item ``Solve'' the image of the stars in the image against vast databases in a
\gls{star-catalogue}.
\end{enumerate}
\end{mdframed}
@ -48,7 +46,7 @@ See below for a list of \glspl{plate-solver} that can be used.
\item Watney.
\end{itemize}
\end{mdframed}
\index{astap}\index{Watney}
\index{astap}\index{Watney}\index{astrometry.net}
\section{Source Extractor}
@ -66,7 +64,7 @@ widely used for many years.
Astrometry.net is a website and software that can be run locally to solve
a plate of stars that has been extracted from \texttt{Source Extractor}. XXX
\index{Source Extractor}
\index{Source Extractor}\index{astrometry.net}
% https://nova.astrometry.net/
\begin{figure}[h!]
@ -75,25 +73,21 @@ a plate of stars that has been extracted from \texttt{Source Extractor}. XXX
\includegraphics[keepaspectratio=true,height=0.60\textheight,width=0.60\textwidth,angle=0]{astrometry-web.png}
\caption{nova.astrometry.net website.}
\label{fig:astrometry-web-web}
\end{framed}
\end{figure}
\fbox{
\parbox{\linewidth}{
\textcolor{red}{NOTICE:} \\
Using astrometry.net online requires an account with non-\gls{libre} services.
The astrometry.net software can be installed locally to avoid this.
\index{proprietary}
\index{proprietary}\index{astrometry.net}
}
}
\section{Star Catalogues}
\label{sec:star-catalogues}
\index{star-catalogue}\index{plate solver}
To use a \gls{plate-solver}, you will need \glspl{star-catalogue}. They can get large.
The \texttt{stvid} application includes a basic \gls{star-catalogue}.
XXX The \texttt{4200} index series is also recommended.
@ -101,23 +95,19 @@ XXX The \texttt{4200} index series is also recommended.
\section{World Coordinate System}
\label{sec:wcs}
\gls{WCS} info. XXX
\section{SIP}
\label{sec:sip}
\gls{SIP} info. XXX
\section{Plate Solving with \texttt{stvid}}
\label{sec:plate-solving-stvid}
\index{plate solver}\index{process}
\index{process}
Use the \texttt{process.py} scripts described in section \ref{sec:plate-solver},
page \pageref{sec:plate-solver}, to solve plates
with \texttt{stvid}.
with \texttt{\gls{stvid}}.

View File

@ -11,9 +11,7 @@
\section{Support}
\label{sec:support}
\index{community}
\index{support}
\index{forum}
\index{community}\index{support}\index{forum}\index{help}
\setlength{\parindent}{0pt}
How to get help.

View File

@ -24,17 +24,16 @@ The following file extensions are in use:
\begin{mdframed}[backgroundcolor=blue!10,linecolor=blue!30]
\begin{description}
\item [.cal] --- Cal % XXX
\item [.cat] --- Cat % XXX
\item [.cal] --- Cal % XXX \index{.cal}
\item [.cat] --- Cat % XXX \index{.cat}
\item [.csv] --- \gls{CSV}
\item [.dat] --- Data.
\item [.dat] --- Data. \index{.dat}
\item [.fits] --- \gls{FITS}.
\item [.png] --- \gls{PNG}.
\end{description}
\end{mdframed}
\section{Data Files}
\label{sec:upload-data}
\index{data}\index{process}\index{acquire}
@ -68,15 +67,15 @@ on sample rate, frame size, and \gls{binning}.
\index{acquire}\index{process}
\index{frame size}\index{sample rate}
The \texttt{stvid} program creates it's customized \gls{FITS} format
The \texttt{\gls{stvid}} program creates it's customized \gls{FITS} format
file, which is a stack up of multiple images.
I'll leave explanation of the \texttt{stvid} \gls{FITS} file structure
I'll leave explanation of the \texttt{\gls{stvid}} \gls{FITS} file structure
to the program's author, Cees Bassa:
\begin{quote}
With stvid, I typically store 10 seconds worth of video frames, 100 frames at 10 \gls{Hz} frame rate or 250 frames at 25 \gls{Hz} frame rate into a so-called ``four frame''. Here, for each pixel of the initial 100 or 250 frames, the mean, standard deviation, maximum and argmax are stored, each as its own frame. Objects that move will stand out because they will have a high (max - mean) / standard deviation, which allows me to detect trails. Once a trail is detected, the argmax frame tells me the frame number and hence the motion of the trail, and using the timestamps of the individual 100 or 250 frames, I can reconstruct the pixel position as a function of time during the 10 second exposure, using only 4 frames instead of the 100 or 250 individual video frames.
With \gls{stvid}, I typically store 10 seconds worth of video frames, 100 frames at 10 \gls{Hz} frame rate or 250 frames at 25 \gls{Hz} frame rate into a so-called ``four frame''. Here, for each pixel of the initial 100 or 250 frames, the mean, standard deviation, maximum and argmax are stored, each as its own frame. Objects that move will stand out because they will have a high (max - mean) / standard deviation, which allows me to detect trails. Once a trail is detected, the argmax frame tells me the frame number and hence the motion of the trail, and using the timestamps of the individual 100 or 250 frames, I can reconstruct the pixel position as a function of time during the 10 second exposure, using only 4 frames instead of the 100 or 250 individual video frames.
\end{quote}
\index{Bassa, Cees}\index{four frame}\index{trail}
\index{Bassa, Cees}\index{four frame}
\index{.fits}
@ -104,7 +103,7 @@ Sample data from \texttt{.cal} file, just the top select lines of a 577 line fil
\subsection{\texttt{.cat} CAT Files}
\index{.cat}
\texttt{stvid} generates \texttt{.cat} files, generated from \gls{FITS} files, such as:\\
\texttt{\gls{stvid}} generates \texttt{.cat} files, generated from \gls{FITS} files, such as:\\
\texttt{2022-08-23T04:16:26.633.fits.cat} \\
Sample data from \texttt{.cat} file, just the top select lines of a 1,033 line file:
@ -134,7 +133,7 @@ Sample data from \texttt{.cat} file, just the top select lines of a 1,033 line f
\subsection{\texttt{.fits.png} FITS PNG Files}
\index{.fits.png}
The \texttt{stvid} application can generate multiple \gls{PNG} files,
The \texttt{\gls{stvid}} application can generate multiple \gls{PNG} files,
depending how many satellites it finds. In every case it creates at
least one \gls{PNG} file, with a name like:
@ -145,9 +144,9 @@ no detected satellites are indicated.
The blue lines are from the ``Catalog'', which in this case means \glspl{TLE}.
The blue lines are drawn whether no, a few, or many satellites are detected.
They are generated by taking data from the \gls{plate-solver} about where the picture
\gls{FOV} is, and overlaying satellite \glspl{orbit} that are calculated from
\gls{FoV} is, and overlaying satellite \glspl{orbit} that are calculated from
\glspl{TLE}.
\index{detect}\index{plate solver}
\index{detect}
The main blue line is slightly offset from where the satellite is calculated to
appear.
@ -159,9 +158,8 @@ If it is unknown, it will be given the number \texttt{90000} or larger.
\begin{figure}[h!]
\begin{center}
\includegraphics[keepaspectratio=true,height=0.85\textheight,width=0.85\textwidth,angle=0]{stvid/data/2022-08-23T04:16:26.633.fits.png}
\caption{\texttt{stvid} PNG.}
\caption{\texttt{\gls{stvid}} PNG.}
\label{fig:stvid-png}
\end{center}
\end{figure}
\index{.fits.png}
@ -170,7 +168,7 @@ If it is unknown, it will be given the number \texttt{90000} or larger.
\subsection{\texttt{catalog.png} catalog PNG Files}
\index{detect}\index{identify}
When \texttt{stvid} identifies a satellite, it creates a new \gls{PNG} file for each
When \texttt{\gls{stvid}} identifies a satellite, it creates a new \gls{PNG} file for each
satellite detected in the image. A file name example follows, with satellite
\gls{NORAD-ID} 48473 identified, also shown in figure
\ref{fig:stvid-png-48473-catalog}, page \pageref{fig:stvid-png-48473-catalog}.
@ -180,9 +178,8 @@ satellite detected in the image. A file name example follows, with satellite
\begin{figure}[h!]
\begin{center}
\includegraphics[keepaspectratio=true,height=0.85\textheight,width=0.85\textwidth,angle=0]{stvid/data/2022-08-23T04:16:26.633_48473_catalog.png}
\caption{\texttt{stvid} PNG of the satellite trail of NORAD ID 48473 identified in red.}
\caption{\texttt{\gls{stvid}} \gls{PNG} of the satellite trail of \gls{NORAD-ID} 48473 identified in red.}
\label{fig:stvid-png-48473-catalog}
\end{center}
\end{figure}
\index{identify}
@ -196,7 +193,7 @@ The file name is:
\begin{figure}[h!]
\begin{center}
\includegraphics[keepaspectratio=true,height=0.85\textheight,width=0.85\textwidth,angle=0]{stvid/data/2022-08-23T04:16:26.633_52718_catalog.png}
\caption{\texttt{stvid} PNG of the satellite trail of NORAD ID 52718 identified in red.}
\caption{\texttt{\gls{stvid}} \gls{PNG} of the satellite trail of \gls{NORAD-ID} 52718 identified in red.}
\label{fig:stvid-png-52718-catalog}
\index{identify}
\end{center}
@ -206,32 +203,31 @@ The file name is:
\subsection{\texttt{unid.png} Unidentified PNG Files}
\index{unidentified}
As shown previously, \texttt{stvid} will create a new \gls{PNG} with a
As shown previously, \texttt{\gls{stvid}} will create a new \gls{PNG} with a
red line when it identifies a satellite.
When \texttt{stvid} finds a trail it can't identify in the
When \texttt{\gls{stvid}} finds a trail it can't identify in the
\gls{TLE} catalogs, it gives it a \gls{NORAD-ID} starting with \texttt{90000},
incrementing by one.
See figure \ref{fig:stvid-png-90000-unid}, page \pageref{fig:stvid-png-90000-unid},
for an example of \texttt{stvid} marking an unidentified trail red.
In this case, the trail was created by an airplane, but \texttt{stvid} would
for an example of \texttt{\gls{stvid}} marking an unidentified trail red.
In this case, the trail was created by an airplane, but \texttt{\gls{stvid}} would
do the same with an unidentified satellite trail.
\index{airplane}
\index{airplane}\index{unidentified}
\begin{figure}[h!]
\begin{center}
\includegraphics[keepaspectratio=true,height=0.85\textheight,width=0.85\textwidth,angle=0]{stvid/data/2022-08-23T04:16:26.633_90000_unid.png}
\caption{\texttt{stvid} PNG of an unidentified trail in red.}
\caption{\texttt{\gls{stvid}} \gls{PNG} of an unidentified trail in red.}
\label{fig:stvid-png-90000-unid}
\end{center}
\end{figure}
\end{figure}\index{unidentified}
\subsection{\texttt{.dat} Data Files}
\index{.dat}
For each trail detected as shown in previous sections, such as for which
a \gls{PNG} file was created,
\texttt{stvid} will output a \texttt{.dat} file. The \texttt{.dat} filenames
\texttt{\gls{stvid}} will output a \texttt{.dat} file. The \texttt{.dat} filenames
corresponding to the figures at \ref{fig:stvid-png-48473-catalog}, \ref{fig:stvid-png-52718-catalog},
and \ref{fig:stvid-png-90000-unid} are:
@ -254,6 +250,7 @@ The \texttt{.dat} file contents look like this, for \gls{NORAD-ID} 48473:
XXX This is the IOD ? XXX
The first field is the \gls{NORAD-ID}. The fourth field looks like COSPAR. XXX
Large number starting with 2022 is date and time stamp.
\index{IOD}\index{COSPAR}
The \texttt{.dat} file contents look like this, for \gls{NORAD-ID} 52718:
\index{.dat}
@ -273,7 +270,7 @@ The \texttt{.dat} file contents look like this, for the unidentified trail
\subsection{\texttt{stvid} \texttt{.csv} Files}
\index{.csv}\index{hough}\index{predict}\index{threshold}
During processing, \texttt{stvid} generates (at least!) three \gls{CSV} files.
During processing, \texttt{\gls{stvid}} generates (at least!) three \gls{CSV} files.
For the observation discussed above, staring with figure \ref{fig:stvid-png},
the following \gls{CSV} files are generated:
@ -295,6 +292,7 @@ ax,ay,az,bx,by,bz,n
1297.660777,432.469965,52.989399,0.923059,0.193205,0.332617,283
\end{minted}
\subsubsection{\texttt{stvid} \texttt{predict.csv} Files}
\index{.csv}\index{predict}
The \texttt{2022-08-23T04:16:26.633\_predict.csv} is 3,764 lines long.
@ -326,7 +324,7 @@ satno,cospar,mjd,ra,dec,state,tlefile,age
\subsubsection{\texttt{stvid} \texttt{threshold.csv} Files}
\index{.csv}\index{threshold}
\texttt{stvid} creates a \texttt{threshold.csv} file with a filename like:
\texttt{\gls{stvid}} creates a \texttt{threshold.csv} file with a filename like:
\texttt{2022-08-23T04:16:26.633\_threshold.csv}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1024 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.