<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s120404074</article-id>
<article-id pub-id-type="publisher-id">sensors-12-04074</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Equations for Solar Tracking</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Merlaud</surname><given-names>Alexis</given-names></name><xref ref-type="aff" rid="af1-sensors-12-04074"><sup>1</sup></xref><xref ref-type="corresp" rid="c1-sensors-12-04074"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>De Mazière</surname><given-names>Martine</given-names></name><xref ref-type="aff" rid="af1-sensors-12-04074"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Hermans</surname><given-names>Christian</given-names></name><xref ref-type="aff" rid="af1-sensors-12-04074"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Cornet</surname><given-names>Alain</given-names></name><xref ref-type="aff" rid="af2-sensors-12-04074"><sup>2</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-12-04074">
<label>1</label> Belgian Institute for Space Aeronomy, Avenue Circulaire 3, 1180 Brussels, Belgium; E-Mails: <email>martine@aeronomie.be</email> (M.D.M.); <email>christh@oma.be</email> (C.H.)</aff>
<aff id="af2-sensors-12-04074">
<label>2</label> Institute of Condensed Matter and Nanosciences, UCL, Chemin du Cyclotron 2, 1348 Louvain-La-Neuve, Belgium; E-Mail: <email>alain.cornet@uclouvain.be</email></aff>
<author-notes>
<corresp id="c1-sensors-12-04074">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>alexis.merlaud@aeronomie.be</email>; Tel.: +32-2-373-03-82; Fax: +32-2-374-84-23.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2012</year></pub-date>
<pub-date pub-type="epub">
<day>27</day>
<month>3</month>
<year>2012</year></pub-date>
<volume>12</volume>
<issue>4</issue>
<fpage>4074</fpage>
<lpage>4090</lpage>
<history>
<date date-type="received">
<day>9</day>
<month>2</month>
<year>2012</year></date>
<date date-type="rev-recd">
<day>16</day>
<month>3</month>
<year>2012</year></date>
<date date-type="accepted">
<day>16</day>
<month>3</month>
<year>2012</year></date></history>
<permissions>
<copyright-statement>© 2012 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2012</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>Direct sunlight absorption by trace gases can be used to quantify them and investigate atmospheric chemistry. In such experiments, the main optical apparatus is often a grating or a Fourier transform spectrometer. A solar tracker based on motorized rotating mirrors is commonly used to direct the light along the spectrometer axis, correcting for the apparent rotation of the Sun. Calculating the Sun azimuth and altitude for a given time and location can be achieved with high accuracy but different sources of angular offsets appear in practice when positioning the mirrors. A feedback on the motors, using a light position sensor close to the spectrometer, is almost always needed. This paper aims to gather the main geometrical formulas necessary for the use of a widely used kind of solar tracker, based on two 45° mirrors in altazimuthal set-up with a light sensor on the spectrometer, and to illustrate them with a tracker developed by our group for atmospheric research.</p></abstract>
<kwd-group>
<kwd>solar tracker</kwd>
<kwd>Fourier transform infrared spectrometry</kwd>
<kwd>algorithms</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Spectroscopic analyses of direct incident sunlight are commonly used in atmospheric research. Such experiments make use of the Sun as a light source to quantify molecular absorptions in the atmosphere and then retrieve trace gas abundances. Stratospheric ozone [<xref ref-type="bibr" rid="b1-sensors-12-04074">1</xref>] and greenhouse gases [<xref ref-type="bibr" rid="b2-sensors-12-04074">2</xref>] are routinely measured with this technique from ground-based Fourier transform infrared (FTIR) spectrometers, e.g., within the Network for the Detection of Atmospheric Composition Change (NDACC, <ext-link xlink:href="http://www.ndacc.org/" ext-link-type="uri">http://www.ndacc.org/</ext-link>). In the UV-visible range, light scattering is more important and enables spectroscopic studies of the atmosphere in other geometries such as zenith measurements [<xref ref-type="bibr" rid="b3-sensors-12-04074">3</xref>]. However, direct sunlight is also used [<xref ref-type="bibr" rid="b4-sensors-12-04074">4</xref>,<xref ref-type="bibr" rid="b5-sensors-12-04074">5</xref>], its unique and unambiguous light path making it advantageous for some applications [<xref ref-type="bibr" rid="b6-sensors-12-04074">6</xref>]. Beside the spectrometer, the main part of the involved apparatus in direct sunlight spectrometry is the solar tracker, required to compensate for the Sun's diurnal motion.</p>
<p>Several kinds of trackers, sometimes referred to as heliostats, are used for atmospheric spectrometry, based on setups of one or several rotating mirrors. Some of them are equatorially mounted, like in Table Mountain Facility [<xref ref-type="bibr" rid="b4-sensors-12-04074">4</xref>] or Harestua [<xref ref-type="bibr" rid="b7-sensors-12-04074">7</xref>]. In this case, one rotational axis is parallel to the Earth's axis. It enables a high tracking accuracy without a computer, since only one axis has to be driven at the Earth's rotation speed. To our knowledge, it is the only setup working without feedback on the Sun's position. On the other hand, equatorial mounts are large, need to be aligned accurately and their mechanical design is difficult. Most of the trackers used today are controlled by a computer enabling remote operation and automation. The computer first calculates the Sun position, moves the mirrors to point to the Sun and then controls these mirrors to optimize the signal on some kind of light sensor. For some trackers, the light sensor is attached to the moving part, whether it is a single mirror [<xref ref-type="bibr" rid="b8-sensors-12-04074">8</xref>] or a mount of two mirrors [<xref ref-type="bibr" rid="b9-sensors-12-04074">9</xref>]. Compared to the solution presented below, the retroaction is simplified. The drawback is that the tracking is done some meters away from the spectrometer and is thus less accurate and stable.</p>
<p><xref ref-type="fig" rid="f1-sensors-12-04074">Figure 1</xref> shows a popular altazimuthal tracker design. It consists of two elliptical mirrors held in 45 degrees relative to the vertical, facing each other (M1 and M2). Both M1 and M2 rotate along the azimuthal axis and M2 rotates as well around a horizontal axis (altitude direction). M0, and possibly other fixed mirrors, direct the light beam into the spectrometer optical axis. A 4-quadrant photodiode is used as a position sensor for a closed-loop control of the mirrors position once their positioning towards the Sun has been set with enough accuracy, <italic>i.e.</italic>, once the Sun's image is visible by the photodiode. This altazimuthal setup is used with FTIR systems, e.g., in Kiruna [<xref ref-type="bibr" rid="b10-sensors-12-04074">10</xref>] and Park Falls, Wisconsin [<xref ref-type="bibr" rid="b11-sensors-12-04074">11</xref>]; it has been installed in Harestua to replace the equatorially mounted system [<xref ref-type="bibr" rid="b12-sensors-12-04074">12</xref>]. Compact versions have also been developed for field campaigns [<xref ref-type="bibr" rid="b13-sensors-12-04074">13</xref>,<xref ref-type="bibr" rid="b14-sensors-12-04074">14</xref>]. A commercial version is sold by Bruker to be installed on their FTIR spectrometers [<xref ref-type="bibr" rid="b15-sensors-12-04074">15</xref>]. A recent progress in the pointing accuracy has been reported [<xref ref-type="bibr" rid="b16-sensors-12-04074">16</xref>], replacing the traditional quadrant diode with a CCD camera, but the problems discussed hereafter remain the same.</p>
<p>Because developing a solar tracker is typically a master's thesis work [<xref ref-type="bibr" rid="b10-sensors-12-04074">10</xref>,<xref ref-type="bibr" rid="b13-sensors-12-04074">13</xref>,<xref ref-type="bibr" rid="b14-sensors-12-04074">14</xref>], technical implementations are difficult to access in the literature. Some more information is available about the systems used in solar energy applications but their geometries differ [<xref ref-type="bibr" rid="b17-sensors-12-04074">17</xref>–<xref ref-type="bibr" rid="b20-sensors-12-04074">20</xref>]. Someone building a Sun tracker can quickly find ephemeris calculations in many programming languages, but other issues arise quickly. It is first necessary to characterize the field-of-view (FOV) of the 4-quadrant diode in the considered optical design. This serves two purposes: determining the accuracy needed for the ephemeris's algorithm and making sure this FOV is larger than the Sun's apparent diameter (9 mrad). This last point is important to track constantly the center of the Sun, which reduces the uncertainties in the air mass factor and avoids Doppler shifts on the edges of the Sun ([<xref ref-type="bibr" rid="b16-sensors-12-04074">16</xref>]). A second problem lies in the correction of the tracker orientation compared to the altazimuthal system in which the ephemeris is given, necessary for the calculated mode if the base of the solar tracker is not leveled. Thirdly, the relationship between the quadrant signal and the correction to apply on the mirrors positions depends on the tracker position itself [<xref ref-type="bibr" rid="b16-sensors-12-04074">16</xref>]. Understanding this relationship is compulsory to achieve a smooth tracking. This article deals with these three problems successively.</p></sec>
<sec>
<label>2.</label>
<title>Theoretical Basis</title>
<sec>
<label>2.1.</label>
<title>Ephemeris Accuracy and Field of View of the 4-Quadrant Diode</title>
<p>Calculating the Sun position in the sky given the time of observation and the geographical coordinates is well documented. A reference algorithm is given by Jean Meeus in [<xref ref-type="bibr" rid="b21-sensors-12-04074">21</xref>], for which C([<xref ref-type="bibr" rid="b22-sensors-12-04074">22</xref>]) or Matlab (<ext-link xlink:href="http://www.mathworks.com/matlabcentral/fileexchange/4605-sunposition-m" ext-link-type="uri">http://www.mathworks.com/matlabcentral/fileexchange/4605-sunposition-m</ext-link>) versions are available. This accuracy degrades with larger zenithal angle due to atmospheric refraction, which depends on local meteorological conditions (for an accurate and wavelength dependent refraction formula, see [<xref ref-type="bibr" rid="b23-sensors-12-04074">23</xref>]). Irregular variations in Earth rotation also limit the accuracy of ephemerids independently of refraction. On the other hand, the absolute accuracy of commercial rotation stages used in Sun trackers, e.g., Newport RV-160, is only 0.01°. This reduces the interest of using an accurate but complex algorithm for ephemeris's calculation, which is anyway not necessary providing a closed-loop control is performed on the mirrors' position. In this case, the lowest acceptable accuracy is thus determined by the field of view of the 4-quadrant diode: once the Sun image hits the quadrant, the tracking can be performed in closed-loop.</p>
<p><xref ref-type="fig" rid="f2-sensors-12-04074">Figure 2</xref> shows the typical optical scheme between the tracker and the quadrant diode, the optical axis has been aligned for the sake of clarity. The distance L is measured from the first mirror which reflects the sunlight, <italic>i.e.</italic>, M2 in <xref ref-type="fig" rid="f2-sensors-12-04074">Figure 2</xref>. Close to the spectrometer, a part of the beam from the tracker, with diameter Φ<italic><sub>T</sub></italic> corresponding to the small axis of M1 and M2 on <xref ref-type="fig" rid="f2-sensors-12-04074">Figure 2</xref>, is deflected by a mirror of diameter Φ<italic><sub>M</sub></italic> to a lens which focuses the beam onto the quadrant. The maximum field-of-view seen by the diode (<italic>FOV</italic><sub>1</sub>) depends on the focal length of the lens (<italic>f</italic>) and on the diameter of the quadrant (Φ<italic><sub>D</sub></italic>), according to 
<inline-formula>
<mml:math id="mm1" display="inline">
<mml:semantics id="sm1">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">FOV</mml:mtext>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>arctan</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mo>Φ</mml:mo>
<mml:mi>D</mml:mi></mml:msub></mml:mrow>
<mml:mi>f</mml:mi></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>. The lens L1 is unlikely to reduce the FOV assuming its size superior to the mirror's one. Indeed, the beam is parallel before the lens which implies that distance D can be reduced if necessary. The tracker aperture, in our case defined by the azimuthal stage free aperture, is more important, especially since the diameter of a rotation stage is limited and the distance between the tracker and the deflecting mirror (M4) depends on the observatory configuration. The mirror's FOV due to the tracker is 
<inline-formula>
<mml:math id="mm2" display="inline">
<mml:semantics id="sm2">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">FOV</mml:mtext>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>arctan</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mo>Φ</mml:mo>
<mml:mi>T</mml:mi></mml:msub></mml:mrow>
<mml:mi>L</mml:mi></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>.</p>
<p>Considering our set-up in Brussels, which is a typical FTIR station, the tracker's mirrors are 10 cm (Φ<italic><sub>T</sub></italic>) wide and the optical path to the spectrometer (<italic>L</italic>) 5 m long, which leads to a <italic>FOV</italic><sub>2</sub> of 20 mrad. On the other hand, the quadrant diameter (Φ<italic><sub>D</sub></italic>) is 6 mm while the focal length of the lens ((<italic>f</italic>)) is 200 mm, which gives 30 mrad for <italic>FOV</italic><sub>1</sub>. The actual FOV is the minimum, 20 mrad, limited by the tracker size. This value is superior to the apparent diameter of the Solar disk which is important to track the center of the Sun. A simple algorithm can achieve such an accuracy for the ephemeris calculation, like the one given in the appendix. It is however necessary to take into account the orientation of the tracker, which can lead to pointing errors superior to the FOV.</p></sec>
<sec>
<label>2.2.</label>
<title>Correcting the Tracker Orientation</title>
<p>One source of error, when pointing to the calculated Sun position, is the orientation of the baseplate of the tracker compared to the altazimuthal system. Depending on the observatory configuration, it may be difficult or impossible to align accurately the tracker along the North-South direction. If it was the only problem, the remaining constant offset could be simply fitted and added in the calculated azimuth. However, because the baseplate is never completely leveled either, other offsets are added to the calculated positions, affecting both azimuth and elevation in a way that depends on the pointing direction of the tracker. Some tracker uses an active search method to solve this problem. In practice they reach the calculated position and achieve spiral motion around this point to set the sun spot in the field-of-view of the sensor. Misalignment effect can on the other hand be taken into account in the calculation requires determining the Euler angles of the observatory and the tracker baseplate, respectively, compared to the azimuthal system. We discuss the Euler angles before describing our way to determine them. For the sake of simplicity, we only mention the observatory in the following, considering that the baseplate to be part of it.</p>
<p>Euler angles of an observatory may be seen, as in <xref ref-type="fig" rid="f3-sensors-12-04074">Figure 3</xref>, as consecutive rotations around three orthogonal axes needed to account for the pitch, roll and yaw of this observatory Converting the solar altitude and azimuth to the observatory frame requires thus to compute the multiplication of three rotation matrices along the different axes, <italic>i.e., R<sub>x</sub></italic>(<italic>γ</italic>), <italic>R<sub>y</sub></italic>(<italic>β</italic>) and <italic>R<sub>z</sub></italic>(<italic>α</italic>). The resulting matrix <italic>M<sub>offset</sub></italic> expresses the transformation of coordinates due to the Euler angles.
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm3" display="block">
<mml:semantics id="sm3">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">offsets</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>β</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>β</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>α</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>α</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi>α</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>α</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The calculations leads to:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm4" display="block">
<mml:semantics id="sm4">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">offsets</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>β</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>β</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In Cartesian coordinates, the unit vector (<italic>x<sub>t</sub>,y<sub>t</sub>,z<sub>t</sub></italic>) giving the direction of the Sun in the observatory frame will thus be related to the solar spherical coordinates(<italic>az</italic><sub>0</sub>,<italic>alt</italic><sub>0</sub>) in the altazimuthal system:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">offsets</mml:mtext></mml:mrow></mml:msub>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">az</mml:mtext>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">az</mml:mtext>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Substituting <italic>M<sub>offset</sub></italic> with <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref> we get the following expressions for those coordinates:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm6" display="block">
<mml:semantics id="sm6">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">az</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">az</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">az</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">az</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">az</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi>β</mml:mi>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>These new Cartesian coordinates can then be converted to altitude (<italic>alt<sub>t</sub></italic>) and azimuth (<italic>αz<sub>t</sub></italic>) angles relative to the tracker:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>ρ</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:msqrt></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">alt</mml:mtext>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>atan</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>ρ</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>atan</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In the above equation, <italic>atan</italic><sub>2</sub>(<italic>y, x</italic>), available in many programming languages, stands for the argument of the complex number <italic>x</italic> + <italic>iy</italic>. It is closely related to the arctangent of <italic>y/x</italic> but it indicates unambiguously the quadrant of this angle on the trigonometric circle.</p>
<p>Determining Euler angles accurately by measurements is not easy. An analytical method to estimate them is given in [<xref ref-type="bibr" rid="b17-sensors-12-04074">17</xref>] which basically consists of recording the position of the tracker at three different times and solving <xref ref-type="disp-formula" rid="FD4">Equation (4)</xref>. This is appropriate for the studied case, <italic>i.e.</italic>, a collector for solar energy application installed outside with only one mirror and no closed-loop control. With our considered two-mirror tracker, which does not collect light but directs it toward a spectrometer, other sources of misalignments appear. Indeed, the tracker is also likely to be misaligned compared to the spectrometer, and mirror themselves can be tilted. Other angles can be considered in <italic>M<sub>offsets</sub></italic> and is done in [<xref ref-type="bibr" rid="b10-sensors-12-04074">10</xref>]. In practical applications, despite the three Euler angles, the calculated mode is likely able to reach the Sun within the FOV of the 4-quadrant diode. With the closed-loop control it is easy to track the Sun during a whole clear-sky day providing an operator correctly sets the Sun tracker initially. Euler angles can then be fitted using all the recorded positions of the mirrors during the day. It has the advantage that other sources of misalignment are included: even if only three angles are fitted which may not exactly be the Euler angles, they minimize simultaneously the effects of all offsets. We implement this method in Section 4. This requires the closed-loop control of the tracker on the Sun position.</p></sec>
<sec>
<label>2.3.</label>
<title>Ray Tracing in the Tracker</title>
<p>The photodiode signal indicates that the Sun beam is tilted compared to the optical axis of the spectrometer. The photodiode signals must be converted into angular movements of the altitude and azimuth axes of the tracker to correct the misalignment. If the photodiode was placed on the reference frame of the mirror M2 this conversion would be straightforward, but due to its position after the tracker it depends on the position of the tracker mirrors. A trial-and-error method to correct the misalignment is theoretically possible using analogue electronics without a computer but a smoother tracking can be achieved if the conversion is understood.</p>
<p>The conversion can be expressed once again by a matrix, which transforms in this case a vector hitting mirror M1 to a vector pointing to a direction in the sky given by its altitude and azimuth. It is the opposite of the light direction but is simpler to figure out, and considering Fermat principle, yields the same information.</p>
<p>The rotation of the two motorized stages can be accounted for using rotation matrices as described in the previous section. The reflection on the two mirrors is modeled using another matrix which takes the form:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>I</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>where I is the identity matrix and <italic>n</italic> the normal vector to the mirror surface. At reference position, the mirror are parallel and thus their normal is the same, given by the vector 
<inline-formula>
<mml:math id="mm9" display="inline">
<mml:semantics id="sm9">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt></mml:mrow></mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>. The transformation matrix for the two mirror is thus the same, <italic>M<sub>R</sub></italic>, which is, from <xref ref-type="disp-formula" rid="FD6">Equation (6)</xref>:
<disp-formula id="FD7">
<mml:math id="mm10" display="block">
<mml:semantics id="sm10">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>R</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p><xref ref-type="fig" rid="f4-sensors-12-04074">Figure 4</xref> presents the tracker pointing to an azimuth <italic>θ</italic><sub>1</sub> and a zenith angle of <italic>θ</italic><sub>2</sub>. The reference frames ℜ<sub>1</sub> and ℜ<sub>2</sub> are respectively attached to the mirrors <italic>M</italic><sub>1</sub> and M<sub>2</sub>, with the <italic>x</italic> axes in the direction of their small semi-axes and the <italic>y</italic> axes along the line joining the two mirrors. The optical system inside the frame, with only mirrors <italic>M</italic><sub>1</sub> and <italic>M</italic><sub>2</sub>, can be expressed as a transformation whose matrix <italic>M<sub>tracker</sub></italic> is:
<disp-formula id="FD8">
<label>(7)</label>
<mml:math id="mm11" display="block">
<mml:semantics id="sm11">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">tracker</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>y</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>R</mml:mi></mml:msub>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>y</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mi>R</mml:mi></mml:msub>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>z</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The above formula is derived as follow: (a) the reflection on <italic>M</italic><sub>2</sub> (<italic>M<sub>R</sub></italic>) is expressed in the reference frame of ℜ<sub>1</sub> with a change of basis involving <italic>R<sub>y</sub></italic>(−<italic>θ</italic><sub>2</sub>); (b) this product of three matrices is multiplied on its right side by the preceding (seen from the spectrometer) reflection on <italic>M</italic><sub>1</sub>(<italic>M<sub>R</sub></italic>); (c) another change of basis is performed to express the transformation in ℜ<sub>0</sub>, involving <italic>R<sub>z</sub></italic>(−<italic>θ</italic><sub>1</sub>). <italic>i.e.</italic>,
<disp-formula id="FD9">
<label>(8)</label>
<mml:math id="mm12" display="block">
<mml:semantics id="sm12">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">tracker</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Developing the matrix product yields the matrix of the tracker optical system as a function of the tracker position (<italic>θ</italic><sub>1</sub><italic>,θ</italic><sub>2</sub>):
<disp-formula id="FD10">
<mml:math id="mm13" display="block">
<mml:semantics id="sm13">
<mml:mrow>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">tracker</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>cos</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The transformation expressed by <italic>M<sub>tracker</sub></italic> can now be applied to a vector corresponding to the Sun light beam direction on the spectrometer side of the tracker. It will lead to the position of the Sun in Cartesian coordinates. The vector is built from the 4 diode signals (VA,VB,VC,VD), as represented in <xref ref-type="fig" rid="f5-sensors-12-04074">Figure 5</xref>. Basically an offset position (<italic>ε</italic><sub>1</sub>,<italic>ε</italic><sub>2</sub>) is computed for the Sun spot on the diode plane compared to its center by:
<disp-formula id="FD11">
<label>(9)</label>
<mml:math id="mm14" display="block">
<mml:semantics id="sm14">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>B</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>C</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>A</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>D</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>A</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>B</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>C</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>D</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The spot offset (<italic>ε</italic><sub>1</sub>,<italic>ε</italic><sub>2</sub>) defines 2 coordinates of the beam vector. The last one, Λ, should represent the distance from the diode to mirror M1. Multiplying <italic>M<sub>tracker</sub></italic> by the quadrant vector (<italic>ε</italic><sub>1</sub>,<italic>ε</italic><sub>2</sub>,Λ) would yield accurate Sun angles after conversion to spherical coordinates, but is not practically possible with a diode, contrary to an imaging sensor. The calculated position (<italic>x<sub>s</sub>,y<sub>s</sub>,z<sub>s</sub></italic>) hereafter is thus not absolute but is sufficient to get the sign of the rotations to apply on the axes. Λ can be chosen arbitrarily as long as its absolute value is large enough compared to <italic>ε</italic><sub>1</sub> and <italic>ε</italic><sub>2</sub>. The solar pseudo-coordinates are then:
<disp-formula id="FD12">
<label>(10)</label>
<mml:math id="mm15" display="block">
<mml:semantics id="sm15">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">tracker</mml:mtext></mml:mrow></mml:msub>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>Λ</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In practice, the quadrant vector may differ from (<italic>ε</italic><sub>1</sub>,<italic>ε</italic><sub>2</sub>,Λ) due to reflections such as on the mirrors M0 and M4q on <xref ref-type="fig" rid="f1-sensors-12-04074">Figure 1</xref>, necessary to deviate a part of the beam to the 4-quadrant photodiode. Defining the position vector thus requires to pay attention to the optical path from M1 to the photodiode. In section 4, we explain how we deal with the problem in our particular case.</p>
<p>Developing <xref ref-type="disp-formula" rid="FD12">Equation (10)</xref> yields:
<disp-formula id="FD13">
<label>(11)</label>
<mml:math id="mm16" display="block">
<mml:semantics id="sm16">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>Λ</mml:mo>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>Λ</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>sin</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>Λ</mml:mo>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>It is then possible to calculate roughly an altitude(<italic>θ</italic><sub>2</sub><italic><sub>S</sub></italic>) and azimuth(<italic>θ</italic><sub>1</sub><italic><sub>S</sub></italic>) for the Sun applying the Cartesian to spherical coordinates conversion (<xref ref-type="disp-formula" rid="FD5">Equation (5)</xref>). This position is approximate and relative to the tracker since it does not take into account the Euler angles described in the last section, but what matters are the signs of the differences between these calculated values and the current altitude and azimuth relative to the tracker, defined by <italic>θ</italic><sub>1</sub> and <italic>θ</italic><sub>2</sub>. The angular corrections to apply on the two axes are then:
<disp-formula id="FD14">
<label>(12)</label>
<mml:math id="mm17" display="block">
<mml:semantics id="sm17">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="italic">sgn</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>S</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="italic">sgn</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>S</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>k</italic><sub>1</sub> and <italic>k<sub>2</sub></italic> are the tracking angle steps that should be small to have a smooth tracking, yet large enough for the mechanical resolution of the rotation stages and the apparent movement of the Sun. The azimuth changes for instance at a rate of 15° per hour, assuming 1 second between the steps, <italic>k</italic><sub>1</sub> should not be under 0.004°.</p></sec></sec>
<sec>
<label>3.</label>
<title>Automation Issues</title>
<p>From a control theory perspective, the altazimuthal tracker and its feedback is a non-linear multi-input multi-output (MIMO) system. Indeed, two outputs defining the pointing direction (<italic>θ</italic><sub>1</sub> and <italic>θ<sub>2</sub></italic>) are controlled by two inputs, <italic>i.e.</italic>, the coordinates of the Sun spot on the photodiode(<italic>ε</italic><sub>1</sub> and <italic>ε</italic><sub>2</sub>), and the relationship between the inputs and the outputs varies with the position of the tracker. However, having modeled this relationship in the previous section, it is possible to change the feedback scheme while tracking. In control theory, this is an example of adaptive control.</p>
<p>The correction of the azimuth and altitude angles discussed earlier only takes into account the current error, <italic>i.e.</italic>, the tilt of the solar beam compared to the optical axis of the spectrometer. This is very coarse and can lead to oscillations. A proper feedback loop includes the derivative and integral of the error relative to the time as well, respectively to reduce the overshoot and the residual part of the errors. This involves to tune the three parameters of a proportional-integral-derivative (PID) controller. Considering the two outputs, the setup needs two PID controllers.</p>
<p><xref ref-type="fig" rid="f6-sensors-12-04074">Figure 6</xref> suggests a feedback loop for the tracker. Note that <italic>ε</italic><sub>1</sub><italic><sub>c</sub></italic> and <italic>ε</italic><sub>2</sub><italic><sub>c</sub></italic> are null if the photodiode is correctly aligned compared to the spectrometer optical axis. The adaptive control algorithm on the figure (<italic>f</italic> (<italic>θ</italic><sub>1</sub>(<italic>t</italic>), <italic>θ</italic><sub>2</sub>(<italic>t</italic>))) originates from the formula derived in the previous section. There are 6 parameters to tune to optimize the feedback, which corresponds to the proportional, derivative and integral terms of the two PID controllers. Several methods exist to optimize PID parameters, with different complexity. We think the simple Ziegler-Nichols method could be appropriate. It consists in setting Ki and Kd to 0 and increasing Kp from 0 to the value Kpc with which oscillations occur at constant amplitude, with a period Tc. Three good values for Kp, Ki and Kd can then be derived as:
<disp-formula id="FD15">
<label>(13)</label>
<mml:math id="mm18" display="block">
<mml:semantics id="sm18">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.6</mml:mn>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>d</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>p</mml:mi></mml:msub>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow>
<mml:mn>8</mml:mn></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Considering the latitude of the Reunion Island observatory where the tracker is installed (20.9°S) it is worth considering an issue occurring with the altazimuthal geometry, <italic>i.e.</italic>, the singularity at zenith. As the altitude gets closer to zenith, the azimuth rotation gets more and more difficult to control. At Reunion Island, the maximum altitude is reached around November the 26th and January the 16th. Around this date, the measurement dead time can reach one hour. To our knowledge, there is no good solution to solve the problem. Nevertheless, to limit the measurement dead time around noon, we propose to implement in the adaptive controller another mode starting when the altitude is too high and the problem happens: shifting the azimuth mode from feedback controlled to calculated mode. The elevation is still controlled by the photodiode. This may not be accurate enough to keep the Sun spot in the spectrometer's iris, but it would at least avoid possible incoherent movement of the tracker.</p></sec>
<sec>
<label>4.</label>
<title>Application for a FTIR Measurement Station</title>
<p>Our group has been doing FTIR measurements at Reunion Island for several years ([<xref ref-type="bibr" rid="b24-sensors-12-04074">24</xref>–<xref ref-type="bibr" rid="b26-sensors-12-04074">26</xref>]). The place is interesting since atmospheric measurements are sparse in the tropical and subtropical regions. Aiming at long-term monitoring and cost-effectiveness, a station at Saint-Denis (20.9°S, 55.5°E, 50 m a.s.l.) has been automated [<xref ref-type="bibr" rid="b9-sensors-12-04074">9</xref>], which includes Sun tracking, meteorological logging and FTIR measurements with a Bruker 120M. The solar tracker currently used was developed at Denver University. Since September 2009, this station is officially part of the NDACC network and in Spring 2012 it will move to the new Maido Observatory (21.1°S, 55.4°E, 2200 m a.s.l.).</p>
<p>A second FTIR station has been installed in Saint-Denis in September 2012. This station, which is also automated, is based on a Bruker 125 HR spectrometer, more appropriate to measure CO<sub>2</sub> atmospheric loading, in the framework of the new Total Carbon Column Observing Network (TCCON). The geometry of the Sun tracker is altazimuthal. It was built at our institute and used to validate the methods described in the last section.</p>
<p>This new solar tracker uses a Newport RV-160 rotation stage for the azimuth rotation and a Vexta stepping motor with a gear box for the altitude. Both rotations are driven by a Newport XPS controller, linked to the controlling PC. The tracker mirrors are elliptical with a 10 cm minor axis. The photodiode setup was purchased from Bruker with the spectrometer and is installed at the input window of the spectrometer. It consists of a 1 cm mirror which reflects a small portion of the incoming light to a 18 cm focal length lens which focuses the beam onto the 4-quadrant photodiode. The optical path is shown in <xref ref-type="fig" rid="f7-sensors-12-04074">Figure 7</xref>. The FOV of the 4-quadrant photodiode is 20 mrad (see Section 2.1). The algorithm used to compute the ephemeris is the one given in appendix. During operation, the mirrors positions are refreshed every half second according to the calculated position or to the signal on the 4-quadrant photodiode using the methods described in Section 2.3. From <xref ref-type="fig" rid="f7-sensors-12-04074">Figure 7</xref>, it is clear than the beam from the tracker undergoes two orthogonal reflections before hitting the photodiode, which we take into account multiplying <italic>Mtracker</italic> on its rigth side by the corresponding factors derived from <xref ref-type="disp-formula" rid="FD6">Equation (6)</xref>.</p>
<p><xref ref-type="fig" rid="f8-sensors-12-04074">Figure 8</xref> shows a fit of the Euler Angles. The track was performed on 12 September 2011 in Saint-Denis. The left panel shows the calculated mirror positions neglecting Euler Angles, together with the actual ones when the active tracker was operational. Weather was clear-sky and enabled to record a long Sun path, demonstrating the capacity of the active tracking algorithm described in Section 2.3. Around one hundred points were extracted from the log file of the tracker position and used to fit the Euler Angles with an unconstrained nonlinear minimization. The three angles <italic>α,β</italic> and γ described in Section 2.2 were respectively estimated to be 9.96°, 0.888° and 0.174°. The right panel shows how these fitted angles improve the calculated Sun position. The maximum offset between calculated and actual position is now 0.5°, <italic>i.e.</italic>, 9 mrad, which is under the 20 mrad of the photodiode's FOV. Providing this accuracy in the calculated mode, the tracking system is able to set the Sun's image onto the 4-quadrant photodiode and then start the active tracking without the need of an operator.</p></sec>
<sec sec-type="conclusions">
<label>5.</label>
<title>Conclusions</title>
<p>We have derived the geometrical formulas needed to track the Sun with a kind of altazimuthal tracker widely used in atmospheric remote sensing. The setup is based on two rotating 45° mirrors facing each other and a 4-quadrant photodiode involved in a closed-loop control of the tracker. After discussing the required accuracy for the calculated mode and calculating the FOV of the sensor, we described how to take into account and estimate the Euler angles, representing the orientation of the tracker compared to the ground. These sections can actually be applied to other tracking setups. On the other hand, even if the method is general, the formula for the active tracking depends strongly on the optical configuration and may not be used for other trackers' geometries. We have proposed a control loop with PID to achieve a smooth tracking while reducing overshoot and the residual part of the error. Finally, we have tested the formulas with a custom-built solar tracker that has been installed together with a FTIR spectrometer at Reunion Island in September 2011.</p>
<p>Among the future work will be the improvement of the tracking smoothness, and particularly the tuning of the six parameters of the PID controllers. We will also implement the solution presented in Section 3 and check whether the measurement dead time can be reduced.</p>
<p>A characteristic of the Maido observatory is the very regular cloud cycle. At noon, the clouds reach the observatory almost every day. This is very convenient for clouds studies but less for solar occultation trace gases measurements. On the other hand, the nights are so clear up there that the observatory was first supposed to be dedicated to astronomical research. This is thus a good place to try Moon tracking and we plan to work on that in the future.</p></sec></body>
<back>
<ack>
<p>This work was funded by the Belgian Science Policy (BELSPO). The authors wish to thank Thomas Blumenstock for his advices and for having sent him the work of M. Huster. They also thank Filip Desmet, Bart Dils and Sébastien Henrotin for useful discussions.</p></ack>
<app-group>
<app>
<title>A. Equations for Solar Ephemeris</title>
<p>For the sake of completeness, we reproduce here the simple algorithm we use to calculate the solar coordinates given a date and a position, taken from [<xref ref-type="bibr" rid="b27-sensors-12-04074">27</xref>]. It should be accurate enough for most tracking purposes.</p>
<p>We first compute the fractional year (γ) in radians:
<disp-formula id="FD16">
<label>(14)</label>
<mml:math id="mm19" display="block">
<mml:semantics id="sm19">
<mml:mrow>
<mml:mi>γ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>365</mml:mn></mml:mrow></mml:mfrac>
<mml:mo>∗</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>J</mml:mi>
<mml:mi>D</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>12</mml:mn></mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>JD</italic> stands for the Julian day and <italic>T</italic> for the UTC decimal time.</p>
<p>Then we derive the equation of time (Δ<italic>t</italic>) in minutes:
<disp-formula id="FD17">
<label>(15)</label>
<mml:math id="mm20" display="block">
<mml:semantics id="sm20">
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>229.18</mml:mn>
<mml:mo>∗</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0.000075</mml:mn>
<mml:mo>+</mml:mo>
<mml:mn>0.001868</mml:mn>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>0.032077</mml:mn>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>0.014615</mml:mn>
<mml:mo>cos</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>γ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>0.040849</mml:mn>
<mml:mo>sin</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>γ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The equation of time represents the difference between apparent solar time and mean solar time, which can be as large as 16 min. It is due to the obliquity of the ecliptic and the elliptical form of the earth orbit.</p>
<p>From the fractional year, we also get the solar declination (<italic>δ</italic><sub>⊙</sub>) in radians:
<disp-formula id="FD18">
<label>(16)</label>
<mml:math id="mm21" display="block">
<mml:semantics id="sm21">
<mml:mrow>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mo>⊙</mml:mo></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.006918</mml:mn>
<mml:mo>−</mml:mo>
<mml:mn>0.399912</mml:mn>
<mml:mo>cos</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>0.070257</mml:mn>
<mml:mo>sin</mml:mo>
<mml:mi>γ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>0.006758</mml:mn>
<mml:mo>cos</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>γ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>0.000907</mml:mn>
<mml:mo>sin</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>γ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>0.002697</mml:mn>
<mml:mo>cos</mml:mo>
<mml:mn>3</mml:mn>
<mml:mi>γ</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>0.00148</mml:mn>
<mml:mo>sin</mml:mo>
<mml:mn>3</mml:mn>
<mml:mi>γ</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The declination is the equivalent of the latitude on the celestial sphere.</p>
<p>The offset <italic>T<sub>off</sub></italic> (in minutes) between the UTC time and the true solar time depends on the longitude (in degrees East) and is:
<disp-formula id="FD19">
<label>(17)</label>
<mml:math id="mm22" display="block">
<mml:semantics id="sm22">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">off</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>∗</mml:mo>
<mml:mtext mathvariant="italic">longitude</mml:mtext></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The true solar time (<italic>tst</italic>, in minutes) is then:
<disp-formula id="FD20">
<label>(18)</label>
<mml:math id="mm23" display="block">
<mml:semantics id="sm23">
<mml:mrow>
<mml:mtext mathvariant="italic">tst</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">hour</mml:mtext>
<mml:mo>∗</mml:mo>
<mml:mn>60</mml:mn>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="italic">min</mml:mtext>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="italic">sec</mml:mtext>
<mml:mo>/</mml:mo>
<mml:mn>60</mml:mn>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">off</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>hour, min</italic> and <italic>sec</italic> are the components of the UTC time.</p>
<p>The solar hour angle, in degrees, comes from the true solar time as:
<disp-formula id="FD21">
<label>(19)</label>
<mml:math id="mm24" display="block">
<mml:semantics id="sm24">
<mml:mrow>
<mml:mtext mathvariant="italic">ha</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext mathvariant="italic">tst</mml:mtext></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mn>180</mml:mn></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>For a given latitude, the hour angle and the declination are converted to horizontal coordinates, i.e., solar zenith angle (<italic>ϕ</italic>) and azimuth (<italic>θ</italic>, from south positive eastwards) as:
<disp-formula id="FD22">
<label>(20)</label>
<mml:math id="mm25" display="block">
<mml:semantics id="sm25">
<mml:mrow>
<mml:mi>ϕ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>arccos</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mtext mathvariant="italic">lat</mml:mtext>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mo>⊙</mml:mo></mml:msub>
<mml:mo>+</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mtext mathvariant="italic">lat</mml:mtext>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mo>⊙</mml:mo></mml:msub>
<mml:mo>cos</mml:mo>
<mml:mtext mathvariant="italic">ha</mml:mtext>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD23">
<label>(21)</label>
<mml:math id="mm26" display="block">
<mml:semantics id="sm26">
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>atan</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mtext mathvariant="italic">ha</mml:mtext>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mo>⊙</mml:mo></mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mtext mathvariant="italic">ha</mml:mtext>
<mml:mo>sin</mml:mo>
<mml:mtext mathvariant="italic">lat</mml:mtext>
<mml:mo>cos</mml:mo>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mo>⊙</mml:mo></mml:msub>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mtext mathvariant="italic">lat</mml:mtext>
<mml:mo>sin</mml:mo>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mo>⊙</mml:mo></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Finally, the effect of refraction in arcminutes can be approximated using Sæmundsson's formula [<xref ref-type="bibr" rid="b21-sensors-12-04074">21</xref>]:
<disp-formula id="FD24">
<label>(22)</label>
<mml:math id="mm27" display="block">
<mml:semantics id="sm27">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1.02</mml:mn></mml:mrow>
<mml:mrow>
<mml:mo>tan</mml:mo>
<mml:mspace width="0.2em"/>
<mml:mi>h</mml:mi>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>10.3</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>5.1</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>h</italic> is the unrefracted altitude in degree.</p>
<fig id="f9-sensors-12-04074" position="anchor">
<label>Figure A1.</label>
<caption>
<p>Comparison between the formulas reproduced in appendix and JPL ephemerides.</p></caption>
<graphic xlink:href="sensors-12-04074f9.gif"/></fig>
<p><xref ref-type="fig" rid="f9-sensors-12-04074">Figure A1</xref> shows a comparison between the algorithm presented below and the Jet Propulsion Laboratory HORIZONS (<ext-link xlink:href="http://ssd.jpl.nasa.gov/?horizons" ext-link-type="uri">http://ssd.jpl.nasa.gov/?horizons</ext-link>) ephemeris calculator. We compare the altitude and azimuth of the Sun seen from Brussels (50.85°N,4.35°E) over a 30-year period, between 1990 and 2020. Differences in altitude and azimuth are within 0.5°.</p></app></app-group>
<ref-list>
<title>References</title>
<ref id="b1-sensors-12-04074"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Barret</surname><given-names>B.</given-names></name><name><surname>De Mazière</surname><given-names>M.</given-names></name><name><surname>Demoulin</surname><given-names>P.</given-names></name></person-group><article-title>Retrieval and characterization of ozone profiles from solar infrared spectra at the Jungfraujoch</article-title><source>J. Geophys. Res.</source><year>2002</year><fpage>107</fpage><pub-id pub-id-type="doi">10.1029/2001JD001298</pub-id></citation></ref>
<ref id="b2-sensors-12-04074"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>De Mazière</surname><given-names>M.</given-names></name><name><surname>Vigouroux</surname><given-names>C.</given-names></name><name><surname>Gardiner</surname><given-names>T.</given-names></name><name><surname>Coleman</surname><given-names>M.</given-names></name><name><surname>Woods</surname><given-names>P.</given-names></name><name><surname>Ellingsen</surname><given-names>K.</given-names></name><name><surname>Gauss</surname><given-names>M.</given-names></name><name><surname>Isaksen</surname><given-names>I.</given-names></name><name><surname>Blumenstock</surname><given-names>T.</given-names></name><name><surname>Hase</surname><given-names>F.</given-names></name><name><surname>Kramer</surname><given-names>I.</given-names></name><name><surname>Camy-Peyret</surname><given-names>C.</given-names></name><name><surname>Chelin</surname><given-names>P.</given-names></name><name><surname>Mahieu</surname><given-names>E.</given-names></name><name><surname>Demoulin</surname><given-names>P.</given-names></name><name><surname>Duchatelet</surname><given-names>P.</given-names></name><name><surname>Mellqvist</surname><given-names>J.</given-names></name><name><surname>Strandberg</surname><given-names>A.</given-names></name><name><surname>Velazco</surname><given-names>V.</given-names></name><name><surname>Notholt</surname><given-names>J.</given-names></name><name><surname>Sussmann</surname><given-names>R.</given-names></name><name><surname>Stremme</surname><given-names>W.</given-names></name><name><surname>Rockmann</surname><given-names>A.</given-names></name></person-group><article-title>The exploitation of ground-based Fourier transform infrared observations for the evaluation of tropospheric trends of greenhouse gases over Europe</article-title><source>Environ. Sci.</source><year>2005</year><volume>2</volume><fpage>283</fpage><lpage>293</lpage><pub-id pub-id-type="doi">10.1080/15693430500405179</pub-id></citation></ref>
<ref id="b3-sensors-12-04074"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Van Roozendael</surname><given-names>M.</given-names></name><name><surname>Peeters</surname><given-names>P.</given-names></name><name><surname>Roscoe</surname><given-names>H.K.</given-names></name><name><surname>Backer</surname><given-names>H.D.</given-names></name><name><surname>Jones</surname><given-names>A.E.</given-names></name><name><surname>Bartlett</surname><given-names>L.</given-names></name><name><surname>Vaughan</surname><given-names>G.</given-names></name><name><surname>Goutail</surname><given-names>F.</given-names></name><name><surname>Pommereau</surname><given-names>J.P.</given-names></name><name><surname>Kyro</surname><given-names>E.</given-names></name><name><surname>Wahlstrom</surname><given-names>C.</given-names></name><name><surname>Braathen</surname><given-names>G.</given-names></name><name><surname>Simon</surname><given-names>P.C.</given-names></name></person-group><article-title>Validation of ground-based visible measurements of total ozone by comparison with dobson and brewer spectrophotometers</article-title><source>J. Atmos. Chem.</source><year>1998</year><volume>29</volume><fpage>55</fpage><lpage>83</lpage><pub-id pub-id-type="doi">10.1023/A:1005815902581</pub-id></citation></ref>
<ref id="b4-sensors-12-04074"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cageao</surname><given-names>R.P.</given-names></name><name><surname>Blavier</surname><given-names>J.</given-names></name><name><surname>McGuire</surname><given-names>J.P.</given-names></name><name><surname>Jiang</surname><given-names>Y.</given-names></name><name><surname>Nemtchinov</surname><given-names>V.</given-names></name><name><surname>Mills</surname><given-names>F.P.</given-names></name><name><surname>Sander</surname><given-names>S.P.</given-names></name></person-group><article-title>High-Resolution Fourier-transform ultraviolet-visible spectrometer for the measurement of atmospheric trace species: Application to OH</article-title><source>Appl. Opt.</source><year>2001</year><volume>40</volume><fpage>2024</fpage><lpage>2030</lpage><pub-id pub-id-type="doi">10.1364/AO.40.002024</pub-id><pub-id pub-id-type="pmid">18357206</pub-id></citation></ref>
<ref id="b5-sensors-12-04074"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>S.</given-names></name><name><surname>Pongetti</surname><given-names>T.J.</given-names></name><name><surname>Sander</surname><given-names>S.P.</given-names></name><name><surname>Spinei</surname><given-names>E.</given-names></name><name><surname>Mount</surname><given-names>G.H.</given-names></name><name><surname>Cede</surname><given-names>A.</given-names></name><name><surname>Herman</surname><given-names>J.</given-names></name></person-group><article-title>Direct Sun measurements of NO2 column abundances from Table Mountain, California: Intercomparison of low- and high-resolution spectrometers</article-title><source>J. Geophys. Res.</source><year>2010</year><volume>115</volume><pub-id pub-id-type="doi">10.1029/2009JD013503</pub-id></citation></ref>
<ref id="b6-sensors-12-04074"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Spinei</surname><given-names>E.</given-names></name><name><surname>Mount</surname><given-names>G.H.</given-names></name></person-group><article-title>O2-O2 Absorption Cross Section Derived From Direct Sun Measurements at Different Locations</article-title><conf-name>Presented at the OMI Science Team Meeting nr. 15</conf-name><conf-loc>De Bilt, The Netherlands</conf-loc><conf-date>15-17 June 2010</conf-date></citation></ref>
<ref id="b7-sensors-12-04074"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Galle</surname><given-names>B.</given-names></name><name><surname>Mellqvist</surname><given-names>J.</given-names></name><name><surname>Arlander</surname><given-names>D.W.</given-names></name><name><surname>Floisand</surname><given-names>I.</given-names></name><name><surname>Chipperfield</surname><given-names>M.P.</given-names></name><name><surname>Lee</surname><given-names>A.M.</given-names></name></person-group><article-title>Ground based FTIR measurements of stratospheric species from harestua, norway during Sesame and comparison with models</article-title><source>J. Atmos. Chem.</source><year>1999</year><volume>32</volume><fpage>147</fpage><lpage>164</lpage><pub-id pub-id-type="doi">10.1023/A:1006137924562</pub-id></citation></ref>
<ref id="b8-sensors-12-04074"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wiacek</surname><given-names>A.</given-names></name><name><surname>Taylor</surname><given-names>J.R.</given-names></name><name><surname>Strong</surname><given-names>K.</given-names></name><name><surname>Saari</surname><given-names>R.</given-names></name><name><surname>Kerzenmacher</surname><given-names>T.E.</given-names></name><name><surname>Jones</surname><given-names>N.B.</given-names></name><name><surname>Griffith</surname><given-names>D.W.T.</given-names></name></person-group><article-title>Ground-based solar absorption FTIR spectroscopy: Characterization of retrievals and first results from a novel optical design instrument at a new NDACC complementary station</article-title><source>J. Atmos. Ocean. Technol.</source><year>2007</year><volume>24</volume><fpage>432</fpage><lpage>448</lpage><pub-id pub-id-type="doi">10.1175/JTECH1962.1</pub-id></citation></ref>
<ref id="b9-sensors-12-04074"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Neefs</surname><given-names>E.</given-names></name><name><surname>de Maziere</surname><given-names>M.</given-names></name><name><surname>Scolas</surname><given-names>F.</given-names></name><name><surname>Hermans</surname><given-names>C.</given-names></name><name><surname>Hawat</surname><given-names>T</given-names></name></person-group><article-title>BARCOS, an automation and remote control system for atmospheric observations with a Bruker interferometer</article-title><source>Rev. Sci. Instrum.</source><year>2007</year><volume>78</volume><fpage>035109:1</fpage><lpage>035109:8</lpage></citation></ref>
<ref id="b10-sensors-12-04074"><label>10.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Huster</surname><given-names>M</given-names></name></person-group><article-title>Bau Eines Automatischen Sonnenverfolgers Für Bodengebundene Ir-Absorptionsmessungen</article-title><source>M.Sc. Thesis</source><publisher-name>Institut Für Meteorologie und Klimaforschung</publisher-name><publisher-loc>Karlsruhe, Germany</publisher-loc><year>1998</year></citation></ref>
<ref id="b11-sensors-12-04074"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Washenfelder</surname><given-names>R.A.</given-names></name><name><surname>Toon</surname><given-names>G.C.</given-names></name><name><surname>Blavier</surname><given-names>J.</given-names></name><name><surname>Yang</surname><given-names>Z.</given-names></name><name><surname>Allen</surname><given-names>N.T.</given-names></name><name><surname>Wennberg</surname><given-names>P.O.</given-names></name><name><surname>Vay</surname><given-names>S.A.</given-names></name><name><surname>Matross</surname><given-names>D.M.</given-names></name><name><surname>Daube</surname><given-names>B.C.</given-names></name></person-group><article-title>Carbon dioxide column abundances at the Wisconsin Tall Tower site</article-title><source>J. Geophys. Res.</source><year>2006</year><volume>111</volume><pub-id pub-id-type="doi">10.1029/2006JD007154</pub-id></citation></ref>
<ref id="b12-sensors-12-04074"><label>12.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Merlaud</surname><given-names>A.</given-names></name></person-group><article-title>Development of a Solar Tracker for Monitoring of Atmospheric Gases at Harestua Observatory</article-title><source>Technical Report</source><publisher-name>Chalmers Insitute of Technology</publisher-name><publisher-loc>Guthenburg, Sweden</publisher-loc><year>2006</year></citation></ref>
<ref id="b13-sensors-12-04074"><label>13.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Merlaud</surname><given-names>A.</given-names></name></person-group><article-title>Development of Solar Tracker for Studies of Volcanic Gas Emissions</article-title><source>Master's thesis</source><publisher-name>Ecole Nationale Supérieure de Physique de Grenoble</publisher-name><publisher-loc>Grenoble, France</publisher-loc><year>2004</year></citation></ref>
<ref id="b14-sensors-12-04074"><label>14.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Cordenier</surname><given-names>A.</given-names></name></person-group><article-title>Système Numérique de Régulation en Position de Miroirs Destinés Au Suivi Du Rayonnement Solaire</article-title><source>M.Sc. Thesis</source><publisher-name>Ecole Centrale des Arts et Métiers</publisher-name><publisher-loc>Brussels, Belgium</publisher-loc><year>2004</year></citation></ref>
<ref id="b15-sensors-12-04074"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Geibel</surname><given-names>M.C.</given-names></name><name><surname>Gerbig</surname><given-names>C.</given-names></name><name><surname>Feist</surname><given-names>D.G.</given-names></name></person-group><article-title>A new fully automated FTIR system for total column measurements of greenhouse gases</article-title><source>Atmos. Meas. Tech.</source><year>2010</year><volume>3</volume><fpage>1363</fpage><lpage>1375</lpage><pub-id pub-id-type="doi">10.5194/amt-3-1363-2010</pub-id></citation></ref>
<ref id="b16-sensors-12-04074"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gisi</surname><given-names>M.</given-names></name><name><surname>Hase</surname><given-names>F.</given-names></name><name><surname>Dohe</surname><given-names>S.</given-names></name><name><surname>Blumenstock</surname><given-names>T.</given-names></name></person-group><article-title>Camtracker: A new camera controlled high precision solar tracker system for FTIR-spectrometers</article-title><source>Atmos. Meas. Tech.</source><year>2011</year><volume>4</volume><fpage>47</fpage><lpage>54</lpage><pub-id pub-id-type="doi">10.5194/amt-4-47-2011</pub-id></citation></ref>
<ref id="b17-sensors-12-04074"><label>17.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chong</surname><given-names>K.</given-names></name><name><surname>Wong</surname><given-names>C.</given-names></name></person-group><article-title>General formula for on-axis sun-tracking system and its application in improving tracking accuracy of solar collector</article-title><source>Sol. Energy</source><year>2009</year><volume>83</volume><fpage>298</fpage><lpage>305</lpage><pub-id pub-id-type="doi">10.1016/j.solener.2008.08.003</pub-id></citation></ref>
<ref id="b18-sensors-12-04074"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chong</surname><given-names>K.K.</given-names></name><name><surname>Wong</surname><given-names>C.W.</given-names></name><name><surname>Siaw</surname><given-names>F.L.</given-names></name><name><surname>Yew</surname><given-names>T.K.</given-names></name><name><surname>Ng</surname><given-names>S.S.</given-names></name><name><surname>Liang</surname><given-names>M.S.</given-names></name><name><surname>Lim</surname><given-names>Y.S.</given-names></name><name><surname>Lau</surname><given-names>S.L.</given-names></name></person-group><article-title>Integration of an on-axis general sun-tracking formula in the algorithm of an open-loop sun-tracking system</article-title><source>Sensors</source><year>2009</year><volume>9</volume><fpage>7849</fpage><lpage>7865</lpage><pub-id pub-id-type="doi">10.3390/s91007849</pub-id><pub-id pub-id-type="pmid">22408483</pub-id></citation></ref>
<ref id="b19-sensors-12-04074"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Guo</surname><given-names>M.</given-names></name><name><surname>Wang</surname><given-names>Z.</given-names></name><name><surname>Zhang</surname><given-names>J.</given-names></name><name><surname>Sun</surname><given-names>F.</given-names></name><name><surname>Zhang</surname><given-names>X.</given-names></name></person-group><article-title>Accurate altitude-azimuth tracking angle formulas for a heliostat with mirrorpivot offset and other fixed geometrical errors</article-title><source>Sol. Energy</source><year>2011</year><volume>85</volume><fpage>1091</fpage><lpage>1100</lpage><pub-id pub-id-type="doi">10.1016/j.solener.2011.03.003</pub-id></citation></ref>
<ref id="b20-sensors-12-04074"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wei</surname><given-names>X.</given-names></name><name><surname>Lu</surname><given-names>Z.</given-names></name><name><surname>Yu</surname><given-names>W.</given-names></name><name><surname>Zhang</surname><given-names>H.</given-names></name><name><surname>Wang</surname><given-names>Z.</given-names></name></person-group><article-title>Tracking and ray tracing equations for the target-aligned heliostat for solar tower power plants</article-title><source>Renew. Energy</source><year>2011</year><volume>36</volume><fpage>2687</fpage><lpage>2693</lpage><pub-id pub-id-type="doi">10.1016/j.renene.2011.02.022</pub-id></citation></ref>
<ref id="b21-sensors-12-04074"><label>21.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Meeus</surname><given-names>J.</given-names></name></person-group><source>Astronomical Algorithms</source><edition>2nd ed.</edition><publisher-name>Atlantic Books</publisher-name><publisher-loc>London, UK</publisher-loc><year>1998</year></citation></ref>
<ref id="b22-sensors-12-04074"><label>22.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Reda</surname><given-names>I.</given-names></name><name><surname>Andreas</surname><given-names>A.</given-names></name></person-group><article-title>Solar position algorithm for solar radiation applications</article-title><source>Sol. Energy</source><year>2004</year><volume>76</volume><fpage>577</fpage><lpage>589</lpage><pub-id pub-id-type="doi">10.1016/j.solener.2003.12.003</pub-id></citation></ref>
<ref id="b23-sensors-12-04074"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ciddor</surname><given-names>P.E.</given-names></name></person-group><article-title>Refractive index of air: New equations for the visible and near infrared</article-title><source>Appl. Opt.</source><year>1996</year><volume>35</volume><fpage>1566</fpage><lpage>1573</lpage><pub-id pub-id-type="doi">10.1364/AO.35.001566</pub-id><pub-id pub-id-type="pmid">21085275</pub-id></citation></ref>
<ref id="b24-sensors-12-04074"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>De Mazière</surname><given-names>M.</given-names></name><name><surname>Vigouroux</surname><given-names>C.</given-names></name><name><surname>Bernath</surname><given-names>P.F.</given-names></name><name><surname>Baron</surname><given-names>P.</given-names></name><name><surname>Blumenstock</surname><given-names>T.</given-names></name><name><surname>Boone</surname><given-names>C.</given-names></name><name><surname>Brogniez</surname><given-names>C.</given-names></name><name><surname>Catoire</surname><given-names>V.</given-names></name><name><surname>Coffey</surname><given-names>M.</given-names></name><name><surname>Duchatelet</surname><given-names>P.</given-names></name><name><surname>Griffith</surname><given-names>D.</given-names></name><name><surname>Hannigan</surname><given-names>J.</given-names></name><name><surname>Kasai</surname><given-names>Y.</given-names></name><name><surname>Kramer</surname><given-names>I.</given-names></name><name><surname>Jones</surname><given-names>N.</given-names></name><name><surname>Mahieu</surname><given-names>E.</given-names></name><name><surname>Manney</surname><given-names>G.L.</given-names></name><name><surname>Piccolo</surname><given-names>C.</given-names></name><name><surname>Randall</surname><given-names>C.</given-names></name><name><surname>Robert</surname><given-names>C.</given-names></name><name><surname>Senten</surname><given-names>C.</given-names></name><name><surname>Strong</surname><given-names>K.</given-names></name><name><surname>Taylor</surname><given-names>J.</given-names></name><name><surname>Tétard</surname><given-names>C.</given-names></name><name><surname>Walker</surname><given-names>K.A.</given-names></name><name><surname>Wood</surname><given-names>S.</given-names></name></person-group><article-title>Validation of ACE-FTS v2.2 methane profiles from the upper troposphere to the lower mesosphere</article-title><source>Atmos. Chem. Phys.</source><year>2008</year><volume>8</volume><fpage>2421</fpage><lpage>2435</lpage><pub-id pub-id-type="doi">10.5194/acp-8-2421-2008</pub-id></citation></ref>
<ref id="b25-sensors-12-04074"><label>25.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Senten</surname><given-names>C.</given-names></name><name><surname>De Mazière</surname><given-names>M.</given-names></name><name><surname>Dils</surname><given-names>B.</given-names></name><name><surname>Hermans</surname><given-names>C.</given-names></name><name><surname>Kruglanski</surname><given-names>M.</given-names></name><name><surname>Neefs</surname><given-names>E.</given-names></name><name><surname>Scolas</surname><given-names>F.</given-names></name><name><surname>Vandaele</surname><given-names>A.C.</given-names></name><name><surname>Vanhaelewyn</surname><given-names>G.</given-names></name><name><surname>Vigouroux</surname><given-names>C.</given-names></name><name><surname>Carleer</surname><given-names>M.</given-names></name><name><surname>Coheur</surname><given-names>P.F.</given-names></name><name><surname>Fally</surname><given-names>S.</given-names></name><name><surname>Barret</surname><given-names>B.</given-names></name><name><surname>Baray</surname><given-names>J.L.</given-names></name><name><surname>Delmas</surname><given-names>R.</given-names></name><name><surname>Leveau</surname><given-names>J.</given-names></name><name><surname>Metzger</surname><given-names>J.M.</given-names></name><name><surname>Mahieu</surname><given-names>E.</given-names></name><name><surname>Boone</surname><given-names>C.</given-names></name><name><surname>Walker</surname><given-names>K.A.</given-names></name><name><surname>Bernath</surname><given-names>P.F.</given-names></name><name><surname>Strong</surname><given-names>K.</given-names></name></person-group><article-title>Technical Note: New ground-based FTIR measurements at Ile de La Réunion: Observations, error analysis, and comparisons with independent data</article-title><source>Atmos. Chem. Phys.</source><year>2008</year><volume>8</volume><fpage>3483</fpage><lpage>3508</lpage><pub-id pub-id-type="doi">10.5194/acp-8-3483-2008</pub-id></citation></ref>
<ref id="b26-sensors-12-04074"><label>26.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vigouroux</surname><given-names>C.</given-names></name><name><surname>Hendrick</surname><given-names>F.</given-names></name><name><surname>Stavrakou</surname><given-names>T.</given-names></name><name><surname>Dils</surname><given-names>B.</given-names></name><name><surname>Smedt</surname><given-names>I.D.</given-names></name><name><surname>Hermans</surname><given-names>C.</given-names></name><name><surname>Merlaud</surname><given-names>A.</given-names></name><name><surname>Scolas</surname><given-names>F.</given-names></name><name><surname>Senten</surname><given-names>C.</given-names></name><name><surname>Vanhaelewyn</surname><given-names>G.</given-names></name><name><surname>Fally</surname><given-names>S.</given-names></name><name><surname>Carleer</surname><given-names>M.</given-names></name><name><surname>Metzger</surname><given-names>J.</given-names></name><name><surname>Müller</surname><given-names>J.</given-names></name><name><surname>Roozendael</surname><given-names>M.V.</given-names></name><name><surname>De Mazière</surname><given-names>M.</given-names></name></person-group><article-title>Ground-based FTIR and MAX-DOAS observations of formaldehyde at Réunion Island and comparisons with satellite and model data</article-title><source>Atmos. Chem. Phys.</source><year>2009</year><volume>9</volume><fpage>9523</fpage><lpage>9544</lpage><pub-id pub-id-type="doi">10.5194/acp-9-9523-2009</pub-id></citation></ref>
<ref id="b27-sensors-12-04074"><label>27.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Iqbal</surname><given-names>M.</given-names></name></person-group><source>An Introduction to Solar Radiation</source><publisher-name>Academic Press</publisher-name><publisher-loc>Waltham, MA, USA</publisher-loc><year>1983</year></citation></ref></ref-list>
<fn-group><fn id="fn1-sensors-12-04074">
<p><bold>Classification: PACS</bold> 42.68.Wt;92.60.hd;92.60.hf;42.68.Ay</p></fn></fn-group>
<sec sec-type="display-objects">
<title>Figures</title>
<fig id="f1-sensors-12-04074" position="float">
<label>Figure 1.</label>
<caption>
<p>Geometrical setup of the considered solar tracker, using two 45-degree mirrors, M1 and M2, rotating along orthogonal axes. Mirror M0 directs the Sun light into a spectrometer. A fraction of the light beam is deflected toward a 4-quadrant photodiode enabling a closed-loop control of the mirrors position.</p></caption>
<graphic xlink:href="sensors-12-04074f1.gif"/></fig>
<fig id="f2-sensors-12-04074" position="float">
<label>Figure 2.</label>
<caption>
<p>Optical scheme from the tracker mirrors to the 4-quadrant diode. The field of view seen by the diode depends on the different aperture sizes and path lengths. The green and red beams represent the Sun light path when the tracker is not perfectly aligned on the Sun.</p></caption>
<graphic xlink:href="sensors-12-04074f2.gif"/></fig>
<fig id="f3-sensors-12-04074" position="float">
<label>Figure 3.</label>
<caption>
<p>Illustration of the Euler Angles of an observatory compared to the altazimuthal coordinate system.</p></caption>
<graphic xlink:href="sensors-12-04074f3.gif"/></fig>
<fig id="f4-sensors-12-04074" position="float">
<label>Figure 4.</label>
<caption>
<p>The tracker mirrors and their rotation can be modeled as rotation matrices in their reference frames, which apply to the beam vector. Note that the <italic>z</italic> and <italic>y</italic> axes are the same respectively for (ℜ<sub>0</sub>, ℜ<sub>1</sub>) and (ℜ<sub>1</sub>, ℜ<sub>2</sub>).</p></caption>
<graphic xlink:href="sensors-12-04074f4.gif"/></fig>
<fig id="f5-sensors-12-04074" position="float">
<label>Figure 5.</label>
<caption>
<p>Sun spot hitting the quadrant, not to scale.</p></caption>
<graphic xlink:href="sensors-12-04074f5.gif"/></fig>
<fig id="f6-sensors-12-04074" position="float">
<label>Figure 6.</label>
<caption>
<p>Control loop for an altazimuthal tracker.</p></caption>
<graphic xlink:href="sensors-12-04074f6.gif"/></fig>
<fig id="f7-sensors-12-04074" position="float">
<label>Figure 7.</label>
<caption>
<p>Optical paths of our particular set-up from the tracker to the 4-quadrant diode (not to scale).</p></caption>
<graphic xlink:href="sensors-12-04074f7.gif"/></fig>
<fig id="f8-sensors-12-04074" position="float">
<label>Figure 8.</label>
<caption>
<p>Fit of the Euler Angles to take into account the alignment offsets in the calculation mode. The track was performed on 12 September 2011.</p></caption>
<graphic xlink:href="sensors-12-04074f8.gif"/></fig></sec></back></article>
