An Optimal Polarization Tracking Algorithm for
Lithium-Niobate-based Polarization Controllers
Joaquim D. Garcia and Gustavo C. Amaral

arXiv:1603.06751v1 [] 12 Mar 2016

February 27, 2018
Abstract
We present an optimal algorithm for the three-stage arbitrary polarization tracking using LithiumNiobate-based Polarization Controllers: device calibration, polarization state rotation, and stabilization. The theoretical model representing the lithium-niobate-based polarization controller is derived
and the methodology is successfully applied. Results are numerically simulated in the MATLAB
environment.

1

Introduction

Keeping the polarization state stable in long-haul fiber optical communication links is a difficult task
due to the local changes in the silica structure along the fiber which induces bi-refringence and, therefore,
variation of the polarization state [1, 2]. Although until the early 1990’s most optical communication links
did not account for it, Polarization Mode Dispersion (PMD) has been a more serious threat to modern
optical links as the bit rate grows [3]. In this context, polarization control has gained much attention,
specially with the development PMD-compensation techniques [4] and of the so-called Polarization Shift
Keying [5].
Lithium-niobate (LiN bO3 ) is a material capable of altering its refractive index upon application of a
difference of potential between its terminals [6]. This device represented a huge step in the polarization
stabilization and control technology since it allowed extremely fast polarization controlling and tracking
devices to be developed, once no mechanical structures were necessary [7]. In this work, we present a
complete algorithm for polarization control and stabilization that relies on the use of the aforementioned
LiN bO3 structures, more specifically, the EOSpace Polarization Controller Module [8]. The polarization
control itself is composed of two main steps: firstly, an analytical rotation along the Poincaré Sphere
relying on basic analytic geometry [9] and quaternion arithmetic [10]; secondly, stabilization method
based on adaptive filtering to achieve fine adjustment [11]. A state estimator that is fundamental for the
good functioning of the rotation algorithm is also presented.

2

Mathematical representation of polarization

The state of polarization of light has been represented mathematically as Jones Vectors and Stokes
Vectors [12]. We shall stick to the Stokes representation since visualization in the Poincaré Sphere is direct.
Neverthelees, the conversion between these two representations require straightforward computations.
Stokes vectors are 4-dimensional vectors that carry information about the State of Polarization (SOP) of
light. Since the first component (S0 ) is associated to the total light intensity, it is common to normalize the
Stokes Vector by dividing it by S0 . In the case of coherent light, the 3-dimensional Stokes Vector formed
of the remaining three normalized components of the former 4-dimensional vector, has norm 1. Since we
have 3-dimensional normalized vectors representing the SOP, it is usual to represent it graphically in a
3-sphere known as the Poincaré sphere. Since all SOPs are mapped bijectively in the 3-sphere, we shall
treat, from now on, an SOP as a point in the 3-sphere.
SOP changes that do not affect the light intensity can be represented by rotations in 3-space. These
rotations are a class of unitary transformations and can be represented by orthonormal matrices [13].
Even though, polarisers do affect the light intensity and, as such, cannot be represented by orthonormal
1

matrices, they can be represented by projection matrices. The rotation matrix in 3-space has a very
interesting characterization via the Spectral Theorem: they always have 3 eigenvalues (since they are
normal); all of the eigenvalues have norm 1; one of the eigenvalues is always equal to 1 and its eigenvector is
the rotation axis, e; the remaining eigenvalues are complex conjugate numbers whose real part correspond
to the cosine of the rotation angle, θ, and whose imaginary part correspond to the sine of the rotation
angle.
The quaternions are a number system that extend the complex numbers. Since the unitary quaternions
are homeomorphically mapped to the 3-space rotation matrices [14], it is possible to use them to perform
3-space rotations for which they were shown to be way more stable [15]. For the aforementioned reasons,
our algorithm will rely on quaternions representation instead of on the matrix representation.

3

Lithium-Niobate-based Polarization Controller Characteristics

Literature around polarization control is very rich and diverse techniques were proposed and verified
along the last years: [16] shows that three elements, two quarter wave plates and one half wave plate,
are sufficient to reach any SOP from any other SOP; other methods appear in [17, 18, 19]. As mentioned
before our methodology focuses on the electro-optic LiN bO3 EOSpace Polarization Controller Module
(PCM). Such device is available commercially as a multi-stage component but, for simplicity, we are
going to develop an algorithm that uses a single stage. The algorithm is easily extended to account for
the multi-stage version to reduce the input voltage that may vary within a ±70 Volts range.
A single stage of the PCM has 3 electrodes [8] and realizes an arbitrary Linear Retarder : linear
wave plates that induce relative phase differences between the TE and TM modes of the propagating
electromagnetic field due to the variation of the refractive index in both axes as a function of the applied difference of potential which causes birefringence and, thus, altering the polarization state. Linear
Retarders have a main polarization axis, also known as eigen-mode, e ∈ {v ∈ R3 |z = 0}, and a characteristic phase delay, θ ∈ [0, 2π). It is possible to show that, by changing the eigen-mode and the
phase delay of a linear retarder, one can shift from one SOP to any other SOP. The proof of this is
actually constructive and our algorithm provides such construction. In order to set the eigen-mode to
e = (cos(α/2), sin(α/2), 0) and the phase delay to θ = 2πδ the electrodes voltages must be set to:
Va = 2V0 δsin(α) − Vπ δcos(α) + Vab

(1)

Vb = 0

(2)

Vc = 2V0 δsin(α) − Vπ δcos(α) +

Vcb

(3)

where Vπ is the voltage required to induce a 180o phase shift between the TE and TM modes for a single
stage, V0 is the voltage required to rotate all power from the TE to the TM mode, or vice versa, for a
single stage, and Vab and Vcb are the bias voltages required on electrodes A and C, respectively, in order to
achieve zero birefringence between the TE and TM modes [8]. Even though the data-sheet of the device
provides the range within which V0 , Vπ ,Vab and Vcb should be, their actual values for an arbitrary stage
must be determined via a calibration procedure. The calibration procedure adopted in our methodology
is presented in [20].

4

Analytical Rotation Algorithm

The feasible eigen-modes of Linear retarders are linear SOPs, hence their name, so the rotation axis
must lie in the s1 -s2 plane, i.e., along the equator of the Poincaré Sphere. Therefore, given two polarization
states represented by sin and starget , we must find a rotation axis lying on the s1 -s2 plane and a rotation
angle such that the corresponding linear transformation converts sin into starget . Since the possibility of
measuring the output SOP after a transformation is of paramount importance of our adaptive algorithm,
we assume, throughout the development, that a polarimeter such as the one described in [21] is included
in the control loop.
We start the rotation step by defining the following vectors: v1 , orthogonal to the rotation axis; v2 ,
the normalized cross-product between v1 and s3 (supposing v1 is not parallel to s3 ); v3 , the centre of the
2

rotation, i.e., the point in the rotation plane that intersects the line parallel to the rotation axis. In the
case that v1 is parallel to s3 , we use the first of these that is not parallel to v1 : sin , starget or s1 . Now,
we set: v4 = sin − v3 ; and v5 = starget − v3 where one can imagine v4 and v5 as two clock arrows where
the rotation angle, θ, is the oriented angle between them. The cosine of θ is given by:
cos(θ) =

hv4 , v5 i
||v4 ||2 ||v5 ||2

(4)

Note that the angle −θ has the same cosine as θ. To determine which rotation direction is the right one,
we take the sign of the cross product between v4 and v5 with the following implication: if its negative,
then θ = −θ and v3 = −v3 ; if its positive, then do nothing. After all those computations, θ is the rotation
angle and v3 is the rotation axis. Fig. 1 presents the graphical interpretation on the 3-space Poincaré
Sphere of the determination of both rotation axis and rotation angle given two arbitrary SOPs for sin
and starget .

Figure 1: Rotation example: input SOP in green, target SOP in black, output SOP in red, rotation axis
in black, rotation circle in pink. The rotation arc is the smaller arc (least angular distance) defined by
the points in the pink circle.

5

Stabilization algorithm

Generally, non-linear optimization problems such as the one presented suffer from an intrinsic issue:
finding a rotation that changes from one polarization state to another is extremely useful when the
SOPs are distant but become highly unstable when sin and starget are close to each other. Taking the
Levenberg-Marquadt procedure as inspiration [], we devise a two-step control algorithm that alternates
between rotation and stabilization depending on the distance between SOPs. The stabilization step
also helps eliminating problems involving measurement errors and numerical approximations that may
influence the stability. For this step, we resort to an old optimization algorithm known as the Gradient
Descent, which has been successfully applied to adaptive filtering [22] and machine learning [23].
3

Given a cost function J(x) to be minimized, where x is a n-dimensional vector, the Gradient Descent
algorithm updates x in the direction of the negative (descending) gradient, in search for the minimum of
the functional, with the rule x = x − α∇J(x), where α is a step size parameter that must be calibrated
[24]. Since the cost function depends non-linearly on the input and target SOP’s, there is no simple
analytical form for the gradient and it must be estimated by measurements with intrinsic error. This
measurement error is the reason why we employ a variant of the algorithm known as the Stochastic
Gradient Descent (SGD) [25].
It is possible to estimate all the components of the gradient ∇J(x) by using the well-known secant
method. Given ei , the ith element of the canonical basis of Rn , we can perturb the current value x by a
small value , and accounting for measurement imprecisions by evaluating the cost function m times for
ˆ
a better estimate, the ith component of ∇J(x)
is approximated by:
m

X J k (x + ei ) − J k (x − ei )
ˆ i≈ 1
∇J(x)
m


(5)

k=1

When the gradient is estimated instead of being computed analytically, the descending path is way
less smoother, and it is usual to see some roaming around the local minimum []. For our problem,
x = [Va , Vc ]> and J(x) = ||Sout (x) − Sin ||22 since the 3-Space output Stokes Vector is a function of the
linear retarder input voltages. The algorithm was simulated numerically via MATLAB with the step α
empirically set as directly proportional to the error between starget and sin .

6

State estimation

For a given calibration, we have estimates of the values V0 , Vπ ,Vab and Vcb . Thus, at any time, if we
know the voltages Va and Vc applied to the PCM stage’s electrodes, we can obtain α and δ by solving a
2 × 2 non-linear system which has an analytical solution. With the pair (α, δ), we can easily obtain the
pair (e, θ) and figure out the rotation implemented by the stage and, by taking its inverse and applying
on Sout , we can obtain an estimate of Sin . Let A = 2V0 , B = −Vπ , C = Va − Vab , and D = Vc − Vcb .
Then:
q
2
2
δ = ((C + D) / (2A)) + ((C − D) / (2B))
(6)
2α = f ((C + D) / (2Aδ) , (C − D) / (2Bδ))

(7)

where f (·, ·) is the function that receives cos(α) and sin(α) and returns α. It is worth emphasizing that
an analogous procedure can be performed if the calibration resorts on LUTs [26].
The complete two-stage methodology to control and to stabilize polarization making use of the rotation
algorithm , the stochastic gradient descent algorithm and, the state estimator is presented in Fig.2 in
the form of a workflow chart. It contains two main loops that compute the voltages to be applied to the
Polarization Controller stage’s electrodes. The choice for which pair of voltages to be used depends on
the distance ε between the output SOP and the target SOP: when Sout and Starget are distant, the SGD
algorithm may take a long time to reach stability so the rotation algorithm is employed; on the other
hand, if they are close enough, the rotation algorithm can be unstable so the SGD is employed.

7

Simulation Results

In our simulation procedure, two issues were taken into account: the polarization drift of sin , which is
inherent to fiber optical communication systems; and the necessity of shift between two or more starget ’s.
To clearly depict the algorithm’s performance through the simulation results, we present, in Fig. 3, the
Poincaré Sphere and, in it, the green dots represent the wandering state of polarization at the input of
the controlling apparatus and the red dots represent the output state of polarization. The algorithm is
capable of maintaining the polarization stable in the vicinity of the set of starget defined by the three
main linear states of polarization states: horizontal; vertical; diagonal; and anti-diagonal.
In Fig. 4, we present the values of each component of sout and starget , as well as the associated
error between starget and sout , as a function of time. We observe that the algorithm uses the rotation
4

Figure 2: Workflow chart diagram of the proposed three-stage control algorithm.
step only after the shifts in starget , while the SGD is responsible for stabilizing the polarization around
its value while sin drifts. This result is in correspondence to the expected behaviour of the algorithm,
and confirms its good performance and applicability since the associated error is very small, i.e., even
though the vicinity into which the algorithm keeps the output state of polarization in relation to the
target polarization state seems large when observing Fig. 3, we see that, in the majority of time, inside
a smaller vicinity define as the algorithm’s error tolerance.

Figure 4: Simulation of real-time polarization control considering both the inherent polarization drift in
the output of the controller and the target polarization shift. All graphs are in the same horizontal scale
displayed at the bottom of the figure. The first three graphs display the values of the Stokes parameters
that compose the SOP vector. The bottom two graphs display the associated error between sout and
starget , where the second one is a re-scaled version of the first to clarify that the error does not exceed
the threshold between SGD and the rotation step except in the cases of target polarization shift.
The time scale was determined based on the time responses of off-the-shelf Analog-to-Digital and
Digital-to-Analog Converters (ADC and DAC, respectively), of General Photonic’s Polarimeter module,
and of the EOSpace Polarization Controller Module [27, 28, 29, 8]. It yielded an overall control loop

5

Figure 3: Simulation of real-time polarization control considering both the inherent polarization drift in
the output of the controller and the target polarization shift. The green dots represent the wandering
state of polarization at the input of the controlling apparatus and the red dots represent the output state
of polarization. The algorithm is capable of maintaining the polarization stable in the vicinity of starget .
iteration of approximately 1 µs. The polarization shift was set to match a Polarization Shift Keying
system working at 50 × 103 symbols per second. The drift in polarization was set at 6 krad/s, a value
well that attempts to mimic the operation of an optical communication system under severe conditions.

8

Conclusion

We presented a three-step methodology to calibrate a Lithium-Niobate-based polarization controller
module, to control the polarization and to stabilize the output SOP. Calibration, rotation algorithm, the
Stochastic Gradient Descent and the state estimation algorithm were successfully tested in MATLAB
simulations. The algorithms presented take simple forms and are readily embeddable in an FPGA or
micro-controlled unit so we leave it as a future point of investigation.

Acknowledgment
The authors would like to thank brazilian agency CNPq for financial support. The authors are
indebted to F. Calliari and V. Lima for help with the polarimeter unit and with the electronic circuitry,
specially the analog-to-digital and digital-to-analog converters.

Supplemental Material
The authors provide digital supplemental material to accompany the article: a video file depicting the
simulation run of the algorithm can be accessed in [30]; and the Matlab source files necessary for running
the algorithm and the simulation are available at [31].

References
[1] G. P. Agrawal, Fiber-Optic Communication Systems, 2nd ed.

John Wiley & Sons, 2002.

[2] D. Derickson, Fiber Optics: Tests and Measurements, 1st ed.

Prentice Hall, 1998.

[3] N. Gisin, J. P. von der Weid, J.-P. Pellaux et al., “Polarization mode dispersion of short and long
single-mode fibers,” Lightwave Technology, Journal of, vol. 9, no. 7, pp. 821–827, 1991.
6

[4] J. Gordon and H. Kogelnik, “Pmd fundamentals: Polarization mode dispersion in optical fibers,”
Proceedings of the National Academy of Sciences, vol. 97, no. 9, pp. 4541–4550, 2000.
[5] S. Benedetto and P. Poggiolini, “Theory of polarization shift keying modulation,” Communications,
IEEE Transactions on, vol. 40, no. 4, pp. 708–721, 1992.
[6] A. J. Van Haasteren, J. J. Van der Tol, M. O. Van Deventer, and H. J. Frankena, “Modeling and
characterization of an electrooptic polarization controller on linbo 3,” Lightwave Technology, Journal
of, vol. 11, no. 7, pp. 1151–1157, 1993.
[7] B. Koch, A. Hidayat, H. Zhang, V. Mirvoda, M. Lichtinger, D. Sandel, and R. Noé, “Optical endless
polarization stabilization at 9 krad/s with fpga-based controller,” Photonics Technology Letters,
IEEE, vol. 20, no. 12, pp. 961–963, 2008.
[8] EOSpace, “Lithium niobate polarization controller,” http://www.hanamuraoptics.com/device/
EOSPACE/PC030123 EO.pdf, accessed: 2016-01-22.
[9] S. K. Stein, “Calculus and analytic geometry,” AMC, vol. 10, p. 12, 1977.
[10] J. B. Kuipers, Quaternions and rotation sequences.
vol. 66.

Princeton university press Princeton, 1999,

[11] S. Haykin, “Adaptive filters,” Signal Processing Magazine, vol. 6, 1999.
[12] B. E. Saleh, M. C. Teich, and B. E. Saleh, Fundamentals of photonics.
vol. 22.
[13] G. Strang, Linear Algebra and Its Applications.
[14] M. D. Crossley, Essential topology.

Wiley New York, 1991,

Wellesley, MA: Wellesley-Cambridge Press, 2009.

Springer Science & Business Media, 2006.

[15] M. Karlsson and M. Petersson, “Quaternion approach to pmd and pdl phenomena in optical fiber
systems,” Lightwave Technology, Journal of, vol. 22, no. 4, pp. 1137–1146, 2004.
[16] F. Heismann, “Analysis of a reset-free polarization controller for fast automatic polarization stabilization in fiber-optic transmission systems,” Lightwave Technology, Journal of, vol. 12, no. 4, pp.
690–699, 1994.
[17] T. Imai, K. Nosu, and H. Yamaguchi, “Optical polarisation control utilising an optical heterodyne
detection scheme,” Electronics Letters, vol. 21, no. 2, pp. 52–53, 1985.
[18] R. Noé, H. Heidrich, and D. Hoffmann, “Automatic endless polarization control with integratedoptical ti: Linbo 3 polarization transformers,” Optics letters, vol. 13, no. 6, pp. 527–529, 1988.
[19] F. Heismann, “Integrated-optic polarization transformer for reset-free endless polarization control,”
Quantum Electronics, IEEE Journal of, vol. 25, no. 8, pp. 1898–1906, 1989.
[20] L. Xi, X. Zhang, X. Tang, X. Weng, and F. Tian, “A novel method to calibrate linbo3-based
polarization controllers,” Chinese Optics Letters, vol. 8, no. 8, pp. 804–806, 2010.
[21] F. Calliari, Electrical Engineering, PUC-Rio 2014 Monography, “Desenvolvimento de interface gráfica
para análise do estado de polarização da luz através de plataforma fpga,” http://www.maxwell.vrac.
puc-rio.br/23790/23790.PDF, accessed: 2016-01-22.
[22] B. Widrow, J. M. McCool, M. G. Larimore, and C. R. Johnson Jr, “Stationary and nonstationary
learning characteristics of the lms adaptive filter,” Proceedings of the IEEE, vol. 64, no. 8, pp.
1151–1162, 1976.
[23] C. Burges, T. Shaked, E. Renshaw, A. Lazier, M. Deeds, N. Hamilton, and G. Hullender, “Learning
to rank using gradient descent,” in Proceedings of the 22nd international conference on Machine
learning. ACM, 2005, pp. 89–96.

7

[24] S. Haykin, Adaptive Filter Theory, ser. Prentice-Hall information and system sciences series.
Prentice Hall, 1996. [Online]. Available: https://books.google.com.br/books?id=l78QAQAAMAAJ
[25] J. J. Shynk, Probability, random variables, and random processes: theory and signal processing
applications. John Wiley & Sons, 2012.
[26] A. Hidayat, B. Koch, H. Zhang, V. Mirvoda, M. Lichtinger, D. Sandel, and R. Noé, “High-speed
endless optical polarization stabilization using calibrated waveplates and field-programmable gate
array-based digital controller,” Optics express, vol. 16, no. 23, pp. 18 984–18 991, 2008.
[27] Texas Instruments, “Adc324x dual-channel, 14-bit, 25-msps to 125-msps, analog-to-digital converters,” http://www.ti.com/lit/ds/symlink/adc3242.pdf, accessed: 2016-01-22.
[28] General Photonics, “High-speed polarimeter – poladetect: Pod-201,” http://www.generalphotonics.
com/wp-content/uploads/2015/05/POD-201-5-8-15.pdf, accessed: 2016-01-22.
[29] Texas Instruments, “Dac3484 quad-channel, 16-bit, 1.25 gsps digital-to-analog converter,” http:
//www.ti.com/lit/ds/symlink/dac3484.pdf, accessed: 2016-01-22.
[30] Optoelectronics Laboratory – Gustavo C. Amaral and Joaquim D. Garcia, “Polarization tracking algorithm – simulation run in youtube,” https://www.youtube.com/channel/
UCcfPvWdcMmyhIS7lmXIhm-w, accessed: 2016-02-01.
[31] Optoelectronics Laboratory – Joaquim D. Garcia and Gustavo C. Amaral, “Matlab source files,”
https://github.com/joaquimg/PolarizationControl, accessed: 2016-02-01.

8

