<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="research-article">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">JSSS</journal-id><journal-title-group>
    <journal-title>Journal of Sensors and Sensor Systems</journal-title>
    <abbrev-journal-title abbrev-type="publisher">JSSS</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">J. Sens. Sens. Syst.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">2194-878X</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/jsss-15-47-2026</article-id><title-group><article-title>Adaptive accuracy enhancement for a simultaneously firing optical position sensor</article-title><alt-title>Adaptive accuracy enhancement for a simultaneously firing optical position sensor</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Burian</surname><given-names>Eduard</given-names></name>
          <email>eduard.burian@gmail.com</email>
        </contrib>
        <aff id="aff1"><label>1</label><institution>LOX Technologies s.r.o, Rusovská 7, Bratislava, 85101, Slovakia</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Eduard Burian (eduard.burian@gmail.com)</corresp></author-notes><pub-date><day>18</day><month>March</month><year>2026</year></pub-date>
      
      <volume>15</volume>
      <issue>1</issue>
      <fpage>47</fpage><lpage>52</lpage>
      <history>
        <date date-type="received"><day>1</day><month>December</month><year>2024</year></date>
           <date date-type="rev-recd"><day>3</day><month>November</month><year>2025</year></date>
           <date date-type="accepted"><day>11</day><month>December</month><year>2025</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Eduard Burian</copyright-statement>
        <copyright-year>2026</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026.html">This article is available from https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026.html</self-uri><self-uri xlink:href="https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026.pdf">The full text article is available as a PDF file from https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e74">An algorithm for adaptive accuracy enhancement of lateral position sensing based on quadrature spatio-temporal modulation is presented, and its application in a prototype micropower optical position sensor with simultaneously firing infrared emitters is reported. Substantial (<inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula>) improvement in measurement accuracy over a basic detection method has been observed using an automated test stand where partial incapacity on one of the emitter channels has been simulated.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e96">A micropower active optical position sensor measuring one-dimensional displacements lateral to the optical axis over decimeter-wide gaps has recently been presented (Burian, 2023). Quadrature spatio-temporal modulation involving four simultaneously firing infrared emitters and a diffuse reference primer has been utilized in order to reduce the ON time for signal processing circuitry, allowing up to 2 years of continual battery operation. However, variations in the geometry of emitters due to the manufacturing process, as well as degradation of the primer due to industrial conditions and aging, may result in worsening readout accuracy. To address both issues, an adaptive algorithm for the determination of gains and crosstalk in a signal path involving emitters, a primer, and acquisition circuitry has been proposed and implemented in firmware of the prototype device. In this paper, a theoretical background comprising an adaptive displacement detection algorithm and results obtained with an automated test stand with a linear drive and precision position readout are laid out.</p>
      <p id="d2e99">Methods for minimizing quadrature detection errors are routinely applied in a wide field of linear and angular position measurement techniques, including in resolvers, optical encoders, and magnetic encoders, as well as in optical interferometry, particularly interferometric position sensors (Berkovic and Shafir, 2012). A traditional approach for the parameterization of elliptical distortion in interferometer output is Heydemann's correction (Heydemann, 1981). More recently, harmonic calibration techniques (Ferrero and Bellon, 2022) have gained ground, utilizing sinusoidal input for the determination of higher-order nonlinearities, improving corrections to quadrature errors beyond elliptical distortion. While optical interferometry lies in a somewhat distant realm from the investigated position-sensing method, we can still compare the performance of applied corrections in the relative improvement of the position readout. A similar comparison has been made for performances of calibration methods developed for a similar field of analog resolvers and sinusoidal encoders. The comparison of accuracy gains observed for particular correction methods and a discussion on the performance and limits of our algorithm are also laid out in this paper.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Spatio-temporal modulation</title>
      <p id="d2e110">The lateral-position-sensing method implemented in the prototype device (Fig. 1) is based on spatio-temporal modulation involving four infrared emitters equipped with collimating lenses, simultaneously illuminating a reference primer pattern in four distinct spots with mutual spatial phase shifts of 90° (Fig. 2). The pattern, printed on a diffuse strip, is numerically optimized into the specific “Copacabana” shape to minimize harmonic distortion in the modulation of the reflected light.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e115">Prototype position sensor with four collimated IR emitters under an acrylic cover. The laser module is solely for the adjustment of the sensor optical axis.</p></caption>
        <graphic xlink:href="https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026-f01.jpg"/>

      </fig>

      <fig id="F2"><label>Figure 2</label><caption><p id="d2e126">Two spatial periods of the reference “Copacabana” primer with an indication of emitter positions at the zero spatial phase.</p></caption>
        <graphic xlink:href="https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026-f02.png"/>

      </fig>

      <p id="d2e136">The principle of position sensing is illustrated in Fig. 3. At the emitter side, a reference oscillator is gated for a defined time interval to provide four phase-shifted current bursts supplied to infrared LED emitters. Incident light is then modulated and reflected depending on the lateral displacement of the sensor relative to the primer pattern. As a result of the spatial modulation, a temporal phase shift to the overall reflected light is induced, revealing lateral displacement within one spatial period. Reflected light received in a set of infrared detectors is amplified, converted, and synchronously detected in the digital domain, resulting in a complex value with a phase angle directly proportional to the lateral displacement of the primer. Finally, differences in the detected phase are re-integrated to provide position information, limited solely by the length of the primer strip.</p>

      <fig id="F3"><label>Figure 3</label><caption><p id="d2e141">Principle of operation. Oscillator (1) gated for defined burst length provides reference frequency for phase shifters (2) and for synchronous detector (8). Sources (3) supply phase-shifted current bursts to infrared LED emitters equipped with collimator lenses (4), simultaneously illuminating the primer pattern (5) in four distinct spots. Overall reflected light is then sensed in a photodiode array (6), amplified, and converted within an acquisition circuitry (7) and synchronously detected within the digital domain. The phase of the complex detector output, scaled to length per radian, provides measured displacement of the primer within one spatial period.</p></caption>
        <graphic xlink:href="https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026-f03.png"/>

      </fig>

</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Algorithm for irregular gains</title>
      <p id="d2e158">Because of irregularities in emitter circuitry and collimator geometries, as well as due to aging and field conditions, detected in-phase and quadrature components can face irregular distortion observed as affine (shift, scale, ev. rotation) transformation on a complex plane. This distortion leads to phase errors and consequently to position measurement errors, with reported magnitudes of 0.5–1.2 mm for sensing gaps of 25–185 mm (Burian, 2023). To account for the irregularities, a model for spatio-temporal modulation and a subsequent synchronous demodulation process with distinct channel gains is introduced as

          <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M2" display="block"><mml:mrow><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>T</mml:mi></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>T</mml:mi></mml:munder><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>n</mml:mi></mml:munder><mml:msub><mml:mi>G</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mi>I</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mi>I</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>t</mml:mi><mml:mo>/</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M3" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula> is the detector output; <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> is the arbitrary (presumably known) gain for the <inline-formula><mml:math id="M5" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula>th channel; and <inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:mi>I</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>i</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> is the biased cosine function supplying both spatial and temporal intensity modulation, governed by spatial and temporal modulation phases <inline-formula><mml:math id="M7" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mi>l</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>+</mml:mo><mml:mi>n</mml:mi><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mi>t</mml:mi><mml:mo>/</mml:mo><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:mi>n</mml:mi><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> with periods <inline-formula><mml:math id="M9" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M10" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, respectively. After the separation of spatio-temporal modulation from channel-dependent phase shifts and integration over time, we obtain 

          <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M11" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>n</mml:mi></mml:munder><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mn mathvariant="normal">8</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mi>z</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:msup><mml:mi>z</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:mi>i</mml:mi><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi>i</mml:mi><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>z</mml:mi><mml:mn mathvariant="normal">16</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi>z</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mn mathvariant="normal">16</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

        where <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mi>l</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> is the spatial modulation factor dependent on displacement <inline-formula><mml:math id="M13" display="inline"><mml:mi>l</mml:mi></mml:math></inline-formula>.</p>
      <p id="d2e650">The terms in Eq. (2) suggest that the set of detected values can be geometrically interpreted as a complex-plane ellipse, with offset and eccentricity given by irregularities in channel gains. With regard to the <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msup><mml:mi>z</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mo>∗</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> identity, Eq. (2) can be solved as a pair of first-order algebraic equations, which for the given detector output <inline-formula><mml:math id="M15" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula> result in

          <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M16" display="block"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="italic">Re</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">8</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>i</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="italic">Im</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">8</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        with evident contributions of channel gain values in offset and scale corrections to the detector output.</p>
      <p id="d2e773">The measured relative lateral position <inline-formula><mml:math id="M17" display="inline"><mml:mi>l</mml:mi></mml:math></inline-formula> can then be evaluated by re-integrating changes in the phase of the found spatial modulation factor using

          <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M18" display="block"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>L</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>arg⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mi>z</mml:mi></mml:mfenced><mml:mo>≈</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>L</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="italic">Im</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi>z</mml:mi><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>l</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where the last expression maintains the numerical stability of re-integration for differences smaller than <inline-formula><mml:math id="M19" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>L</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Adaptive enhancement of gains</title>
      <p id="d2e872">To reveal information about actual channel gains, the terms in Eq. (2) can be isolated by utilizing Fourier analysis of the detector output at basic spatial frequencies. The Fourier components for <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mfenced open="〈" close="〉"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> can be found as integrals

          <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M21" display="block"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>L</mml:mi></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>L</mml:mi></mml:munder><mml:mi>D</mml:mi><mml:msup><mml:mi>z</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:math></disp-formula>

        evaluated numerically for one or multiple spatial periods. This of course implies that the sensor moves relative to the primer for at least one length <inline-formula><mml:math id="M22" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula>. Applying Fourier transformation to the terms in Eq. (2), we obtain

              <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M23" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E6"><mml:mtd><mml:mtext>6</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">16</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E7"><mml:mtd><mml:mtext>7</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:mi>i</mml:mi><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi>i</mml:mi><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

        and

          <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M24" display="block"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">16</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        By solving Eqs. (6)–(8), we get enhanced approximations to gains as

          <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M25" display="block"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mi mathvariant="italic">Re</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        Enhanced channel gain values can then be supplied as gains in Eq. (3) for evaluation of the next set of position values, resulting in a lesser position-sensing error, which in turn leads to more accurate integration of Fourier components. This process consecutively leads to the enhancement of position accuracy and adaptation of gains for changing field conditions.</p>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Addressing crosstalk</title>
      <p id="d2e1166">Further irregularities in emitter/collimator geometries can result in channel crosstalk, observable as unwanted correlation between real and imaginary components of the detector output. To address this issue, we resorted to  rotation of the detector signal prior to gain correction. The crosstalk error is detected as an anomalous imaginary part in the <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> component, and the correction angle that provides detector output rotation <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>←</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>i</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:msup><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> is accumulated according to the formula

          <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M28" display="block"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="italic">Im</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mi mathvariant="italic">Re</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        with <inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>≅</mml:mo><mml:mn mathvariant="normal">0.02</mml:mn></mml:mrow></mml:math></inline-formula> maintaining stable results.</p>
</sec>
<sec id="Ch1.S6">
  <label>6</label><title>Testing</title>
      <p id="d2e1272">To assess the performance of the proposed detection algorithm, an automated test stand with a linear drive and precision position measurement has been readied (Fig. 4). A 400 mm wide primer strip glued to a separate plane, allowing configurable sensing gap distances, enabled an effective sensor travel length of <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">6</mml:mn><mml:mi>L</mml:mi></mml:mrow></mml:math></inline-formula>. Serial data from the tested optical position sensor and precision position reference with 0.01 mm resolution have been fused in the drive control unit and captured in a PC application with a 10 Hz rate.</p>

      <fig id="F4"><label>Figure 4</label><caption><p id="d2e1289">Automated test stand. Inset image: Front side of tested optical sensor with simulated incapacity.</p></caption>
        <graphic xlink:href="https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026-f04.jpg"/>

      </fig>

      <p id="d2e1298">In approx. 30 min, the test performed at a 125 mm sensing gap distance, and sensor incapacity was simulated by partially blocking one of the emitter channels. The captured complex detector values forming a circular trajectory are shown in Fig. 5, and results for the sensor position measurement error and performance of the gain adaptation algorithm can be seen in Figs. 6 and 7.</p>

      <fig id="F5"><label>Figure 5</label><caption><p id="d2e1304">Complex plot of gain- and crosstalk-corrected synchronous detector output for nominal and incapacitated regimes.</p></caption>
        <graphic xlink:href="https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026-f05.png"/>

      </fig>

      <fig id="F6"><label>Figure 6</label><caption><p id="d2e1315">Position error and standard deviation evaluated from preceding 200 samples.</p></caption>
        <graphic xlink:href="https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026-f06.png"/>

      </fig>

      <fig id="F7"><label>Figure 7</label><caption><p id="d2e1326">Adaptation of channel gains with indication of initial and channel incapacity conditions.</p></caption>
        <graphic xlink:href="https://jsss.copernicus.org/articles/15/47/2026/jsss-15-47-2026-f07.png"/>

      </fig>

      <p id="d2e1335">Initially, as gains were set to equal values of 100, a standard position error of 0.8–1 mm is indicated. Later, with a sufficient amount of detector data integrated, adaptation of gains started, resulting in a gradual enhancement in position accuracy to less than 0.2 mm. At that point, the corrected detector data showed minimal deviation from the unit circle (blue dots in Fig. 5).</p>
      <p id="d2e1338">In the next phase, we used a 1 cm<sup>2</sup> paper strip to partially block one of the infrared emitters, simulating the possible effect of harsh field conditions on sensor optics (inset image in Fig. 4). The subsequent elliptical distortion in the plot of detector data (red dots in Fig. 5) and a surge in measurement error to approx. <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:mn mathvariant="normal">10</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula>  the nominal value could be observed; however, as channel gains adapted, distortion and measurement error dropped again to almost the previous levels. The adaptation process took approx. 5 min (3000 iterations) to reach 90 % of the settled gain values, with the strongest response at the incapacitated emitter channel (Fig. 7). A similar behavior with return to original settled levels could be observed after strip removal.</p>
</sec>
<sec id="Ch1.S7">
  <label>7</label><title>Results and discussion</title>
      <p id="d2e1369">In Table 1, reported results in the improvement of position readout errors for a range of sensor techniques are listed and compared with the presented approach. As a measure of performance, we first calculated the percentage of reported uncorrected and corrected position residuals (if available) relative to the principal pitch of the physical medium (half wavelength for interferometry or one circle for angular resolvers). Then, the correction performance coefficient is calculated as a ratio of the residual values.</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e1375">Performances of corrections to quadrature detection distortion for various types of position sensing (HD – Heydemann, MRWLS – modified recursive weighted least squares, FB – Fourier based, ANN – artificial neural network).</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="9">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="left" colsep="1"/>
     <oasis:colspec colnum="6" colname="col6" align="left"/>
     <oasis:colspec colnum="7" colname="col7" align="left"/>
     <oasis:colspec colnum="8" colname="col8" align="left"/>
     <oasis:colspec colnum="9" colname="col9" align="left"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Type</oasis:entry>
         <oasis:entry colname="col2">Correction</oasis:entry>
         <oasis:entry colname="col3">Principal</oasis:entry>
         <oasis:entry namest="col4" nameend="col5" align="center" colsep="1">Uncorrected </oasis:entry>
         <oasis:entry namest="col6" nameend="col7" align="center">Corrected </oasis:entry>
         <oasis:entry colname="col8">Correction</oasis:entry>
         <oasis:entry colname="col9">Source</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">method</oasis:entry>
         <oasis:entry colname="col3">pitch</oasis:entry>
         <oasis:entry rowsep="1" namest="col4" nameend="col5" align="center" colsep="1">residual </oasis:entry>
         <oasis:entry rowsep="1" namest="col6" nameend="col7" align="center">residual </oasis:entry>
         <oasis:entry colname="col8">performance</oasis:entry>
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4">Absolute</oasis:entry>
         <oasis:entry colname="col5">Relative</oasis:entry>
         <oasis:entry colname="col6">Absolute</oasis:entry>
         <oasis:entry colname="col7">Relative</oasis:entry>
         <oasis:entry colname="col8"/>
         <oasis:entry colname="col9"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Interferometer</oasis:entry>
         <oasis:entry colname="col2">HD</oasis:entry>
         <oasis:entry colname="col3">316 nm</oasis:entry>
         <oasis:entry colname="col4">25 nm</oasis:entry>
         <oasis:entry colname="col5">7.9 %</oasis:entry>
         <oasis:entry colname="col6">3 nm</oasis:entry>
         <oasis:entry colname="col7">0.95 %</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mn mathvariant="normal">8.3</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col9">Gregorčič et al. (2009)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Interferometer</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">777 nm</oasis:entry>
         <oasis:entry colname="col4">5 nm</oasis:entry>
         <oasis:entry colname="col5">0.64 %</oasis:entry>
         <oasis:entry colname="col6">2 nm</oasis:entry>
         <oasis:entry colname="col7">0.26 %</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mn mathvariant="normal">2.5</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col9">Hwang and Park (2019)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Resolver</oasis:entry>
         <oasis:entry colname="col2">MRWLS</oasis:entry>
         <oasis:entry colname="col3">360°</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
         <oasis:entry colname="col6">1.85°</oasis:entry>
         <oasis:entry colname="col7">0.51 %</oasis:entry>
         <oasis:entry colname="col8"/>
         <oasis:entry colname="col9">Hoseinnezhad et al. (2007)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Resolver</oasis:entry>
         <oasis:entry colname="col2">FB</oasis:entry>
         <oasis:entry colname="col3">2 <inline-formula><mml:math id="M35" display="inline"><mml:mi mathvariant="italic">π</mml:mi></mml:math></inline-formula> rad</oasis:entry>
         <oasis:entry colname="col4">0.035 rad</oasis:entry>
         <oasis:entry colname="col5">0.56 %</oasis:entry>
         <oasis:entry colname="col6">0.01 rad</oasis:entry>
         <oasis:entry colname="col7">0.16 %</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.5</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col9">Faber et al. (2013)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Encoder</oasis:entry>
         <oasis:entry colname="col2">ANN</oasis:entry>
         <oasis:entry colname="col3">360°</oasis:entry>
         <oasis:entry colname="col4">6<sup>′</sup></oasis:entry>
         <oasis:entry colname="col5">0.028 %</oasis:entry>
         <oasis:entry colname="col6">0.65<sup>′</sup></oasis:entry>
         <oasis:entry colname="col7">0.003 %</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:mn mathvariant="normal">9.2</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col9">Dhar et al. (2010)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Optical lateral</oasis:entry>
         <oasis:entry colname="col2">presented</oasis:entry>
         <oasis:entry colname="col3">50.8 mm</oasis:entry>
         <oasis:entry colname="col4">0.85 mm</oasis:entry>
         <oasis:entry colname="col5">1.7 %</oasis:entry>
         <oasis:entry colname="col6">0.2 mm</oasis:entry>
         <oasis:entry colname="col7">0.39 %</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:mn mathvariant="normal">4.3</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col9">Burian (2023) and this study</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e1729">While some of the listed least-squares and multi-parametric methods offer better relative residual and correction figures, the presented correction method based on online computation of three basic Fourier components shows rather solid performance, without the need to resort to extensive computation resources found in advanced DSP or FPGA devices. The approach can present an advantage, particularly in low-power and low-cost sensor segments.</p>
      <p id="d2e1733">A particular bottleneck of our detection method lies in the necessity for adjustment of the optical axis to the center of the primer pattern. While slight cross shifts resulting in elliptical distortion will be corrected in the adaptation process, offsets larger than <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> of the primer width lead to breakdown of the method. Thus, our intention for future work is to investigate the usability of more robust patterns, like simple vertical and diagonal stripes, which might lead to more complex Fourier-based correction algorithms as well. Another topic for future investigation is the robustness of the method against larger degradation of the integrity of the primer, like ruptures and aging-related loss of contrast.</p>
</sec>
<sec id="Ch1.S8" sec-type="conclusions">
  <label>8</label><title>Conclusions</title>
      <p id="d2e1756">In this paper, we proposed a modification to a basic detection algorithm for a novel active optical position sensor based on quadrature spatio-temporal modulation. The adaptive algorithm has been found to be effective in maintaining both hardware-related and environmentally induced gain irregularities and channel crosstalk, enhancing the accuracy of position sensing down to 0.2 mm at <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula> mm sensing gap distances. In comparison to methods applied for assessing quadrature-phase distortion in interferometric and resolver-based position sensing, where advanced solutions offer almost <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:mn mathvariant="normal">10</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula> improvement in readout accuracy, the presented method shows solid <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula> accuracy gain without the need for larger computational resources.</p>
</sec>

      
      </body>
    <back><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e1793">Both the software code and the data are courtesy of LOX Technologies s.r.o. Data can be shared upon request to the author.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e1799">The author has declared that there are no competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e1805">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. The authors bear the ultimate responsibility for providing appropriate place names. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.</p>
  </notes><notes notes-type="sistatement"><title>Special issue statement</title>

      <p id="d2e1812">This article is part of the special issue “Eurosensors 2024”. It is a result of the EUROSENSORS XXXVI, Debrecen, Hungary, 1–4 September 2024.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e1818">This paper was edited by Péter Fürjes and reviewed by two anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><mixed-citation>Burian, E.: Micropower Active Optical Position Sensor for Decimeter-Range Sensing Gaps, in: 2023 IEEE SENSORS, IEEE, 1–3, ISBN 979-8-3503-0387-2, <ext-link xlink:href="https://doi.org/10.1109/SENSORS56945.2023.10324868" ext-link-type="DOI">10.1109/SENSORS56945.2023.10324868</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><mixed-citation>Berkovic, G. and Shafir, E.: Optical methods for distance and displacement measurements, Adv. Opt. Photonics, 4, 441–471, <ext-link xlink:href="https://doi.org/10.1364/AOP.4.000441" ext-link-type="DOI">10.1364/AOP.4.000441</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><mixed-citation>Dhar, V. K., Tickoo, A. K., Kaul, S. K., Koul, R., and Dubey, B. P.: Artificial Neural Network-based error compensation procedure for low-cost encoders, Meas. Sci. Technol., 21, 015112, <ext-link xlink:href="https://doi.org/10.1088/0957-0233/21/1/015112" ext-link-type="DOI">10.1088/0957-0233/21/1/015112</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><mixed-citation>Faber, J., Stulrajter, M., and Vittek, J.: Self-Calibration of the Resolver Sensor in Servo Drive Application, Commun.-Sci. Lett. Univ. Zilina, 15, 17–22, <ext-link xlink:href="https://doi.org/10.26552/com.C.2013.2A.17-22" ext-link-type="DOI">10.26552/com.C.2013.2A.17-22</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><mixed-citation>Ferrero, B. and Bellon, L.: Harmonic calibration of quadrature phase interferometry, EPL, 139, 55002, <ext-link xlink:href="https://doi.org/10.1209/0295-5075/ac8761" ext-link-type="DOI">10.1209/0295-5075/ac8761</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><mixed-citation>Gregorčič, P., Požar, T., and Možina, J.: Quadrature phase-shift error analysis using a homodyne laser interferometer, Opt. Express, 17, 16322–16331, <ext-link xlink:href="https://doi.org/10.1364/OE.17.016322" ext-link-type="DOI">10.1364/OE.17.016322</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><mixed-citation>Heydemann, P. L. M.: Determination and correction of quadrature fringe measurement errors in interferometers, Appl. Opt., 20, 3382–3384, <ext-link xlink:href="https://doi.org/10.1364/AO.20.003382" ext-link-type="DOI">10.1364/AO.20.003382</ext-link>, 1981.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><mixed-citation>Hoseinnezhad, R., Bab-Hadiashar, A., and Harding, P.: Calibration of Resolver Sensors in Electromechanical Braking Systems: A Modified Recursive Weighted Least-Squares Approach, IEEE Trans. Ind. Electron., 54, 1052–1060, <ext-link xlink:href="https://doi.org/10.1109/TIE.2007.893049" ext-link-type="DOI">10.1109/TIE.2007.893049</ext-link>, 2007. </mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><mixed-citation>Hwang, J.-H. and Park, C.-S.: Quadrature-detection-error Compensation in a Sinusoidally Modulated Optical Interferometer Using Digital Signal Processing, Curr. Opt. Photonics, 3, 204–209, <ext-link xlink:href="https://doi.org/10.3807/COPP.2019.3.3.204" ext-link-type="DOI">10.3807/COPP.2019.3.3.204</ext-link>, 2019.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Adaptive accuracy enhancement for a simultaneously firing optical position sensor</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
      
Burian, E.: Micropower Active Optical Position Sensor for Decimeter-Range
Sensing Gaps, in: 2023 IEEE SENSORS, IEEE, 1–3, ISBN 979-8-3503-0387-2,
<a href="https://doi.org/10.1109/SENSORS56945.2023.10324868" target="_blank">https://doi.org/10.1109/SENSORS56945.2023.10324868</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
      
Berkovic, G. and Shafir, E.: Optical methods for distance and displacement
measurements, Adv. Opt. Photonics, 4, 441–471, <a href="https://doi.org/10.1364/AOP.4.000441" target="_blank">https://doi.org/10.1364/AOP.4.000441</a>,
2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
      
Dhar, V. K., Tickoo, A. K., Kaul, S. K., Koul, R., and Dubey, B. P.: Artificial
Neural Network-based error compensation procedure for low-cost encoders,
Meas. Sci. Technol., 21, 015112, <a href="https://doi.org/10.1088/0957-0233/21/1/015112" target="_blank">https://doi.org/10.1088/0957-0233/21/1/015112</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
      
Faber, J., Stulrajter, M., and Vittek, J.: Self-Calibration of the Resolver
Sensor in Servo Drive Application, Commun.-Sci. Lett. Univ. Zilina, 15,
17–22, <a href="https://doi.org/10.26552/com.C.2013.2A.17-22" target="_blank">https://doi.org/10.26552/com.C.2013.2A.17-22</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
      
Ferrero, B. and Bellon, L.: Harmonic calibration of quadrature phase
interferometry, EPL, 139, 55002, <a href="https://doi.org/10.1209/0295-5075/ac8761" target="_blank">https://doi.org/10.1209/0295-5075/ac8761</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
      
Gregorčič, P., Požar, T., and Možina, J.: Quadrature
phase-shift error analysis using a homodyne laser interferometer, Opt.
Express, 17, 16322–16331, <a href="https://doi.org/10.1364/OE.17.016322" target="_blank">https://doi.org/10.1364/OE.17.016322</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
      
Heydemann, P. L. M.: Determination and correction of quadrature fringe
measurement errors in interferometers, Appl. Opt., 20, 3382–3384,
<a href="https://doi.org/10.1364/AO.20.003382" target="_blank">https://doi.org/10.1364/AO.20.003382</a>, 1981.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
      
Hoseinnezhad, R., Bab-Hadiashar, A., and Harding, P.: Calibration of Resolver
Sensors in Electromechanical Braking Systems: A Modified Recursive Weighted
Least-Squares Approach, IEEE Trans. Ind. Electron., 54, 1052–1060,
<a href="https://doi.org/10.1109/TIE.2007.893049" target="_blank">https://doi.org/10.1109/TIE.2007.893049</a>, 2007.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
      
Hwang, J.-H. and Park, C.-S.: Quadrature-detection-error Compensation in a
Sinusoidally Modulated Optical Interferometer Using Digital Signal
Processing, Curr. Opt. Photonics, 3, 204–209, <a href="https://doi.org/10.3807/COPP.2019.3.3.204" target="_blank">https://doi.org/10.3807/COPP.2019.3.3.204</a>,
2019.

    </mixed-citation></ref-html>--></article>
