Two completely independent systematic approaches for designing algorithms
are presented. One approach uses recursion rules to generate a new algorithm
from an old one, only with an insensitivity to more error sources. The other
approach uses a least-squares method to optimize the noise performance of an
algorithm while constraining it to a desired set of properties. These
properties might include insensitivity to detector nonlinearities as high as a
certain power, insensitivity to linearly varying laser power, and
insensitivity to some order to the piezoelectric transducer voltage ramp with
the wrong slope. A noise figure of merit that is valid for any algorithm is
also derived. This is crucial for evaluating algorithms and is what is
maximized in the least-squares method. This noise figure of merit is a
certain average over the phase because in general the noise sensitivity
depends on it. It is valid for both quantization noise and photon noise. The
equations that must be satisfied for an algorithm to be insensitive to various
error sources are derived. A multivariate Taylor-series expansion in the
distortions is used, and the time-varying background and signal
amplitudes are expanded in Taylor series in time. Many new algorithms and
families of algorithms are derived.

You do not have subscription access to this journal. Citation lists with outbound citation links are available to subscribers only. You may subscribe either as an Optica member, or as an authorized user of your institution.

You do not have subscription access to this journal. Cited by links are available to subscribers only. You may subscribe either as an Optica member, or as an authorized user of your institution.

You do not have subscription access to this journal. Figure files are available to subscribers only. You may subscribe either as an Optica member, or as an authorized user of your institution.

You do not have subscription access to this journal. Article tables are available to subscribers only. You may subscribe either as an Optica member, or as an authorized user of your institution.

You do not have subscription access to this journal. Equations are available to subscribers only. You may subscribe either as an Optica member, or as an authorized user of your institution.

α is the phase step,
w are the weights, θ is the phase, and
|Σ w_{j}|/(Σ
|w_{j}|
^{2})^{1/2} is the noise
figure of merit.

Table 2

Summary of Recursion Relations for Creating a New Algorithm with Weights w̅_{j} from an Existing One with Weights
w_{j}a

α = 2πm/n Subset

Property to Which Insensitivity Is Increased for New w̅_{j}

PZT Distortion and Signal Drift

Background Drift

Detector Nonlinearity

n divisible by 4

w_{j} + w_{j+n/4}

n divisible by 2

Σ w_{j + k} for k = 0 to n/2 - 1

w_{j} + w_{j+n/2}

No restriction

Σ w_{j + k} for k = 0 to n - 1

Σ w_{j + k} for k = 0 to n - 1

Σ w_{j + k} for k = 0 to n - 1

No restriction

e^{-iβ
}w_{j}
+ e^{
iβ
}w_{j+Δj}

e^{-iβ
}w_{j} + e^{
iβ
}w_{j
+Δj}

β = (π/2 - Δjα)

β = (π - Δjα)/2

No restriction

a_{-}w_{j-Δj} + a_{0}w_{j}
+ a_{+}w_{j+Δj}

a_{-}w_{j-Δj} + a_{0}w_{j} + a_{+}w_{j +Δj}

a_{-}, a_{+},
a_{0} real,
a_{-} = a_{+}

a_{-}, a_{+}, a_{0} real, a_{-} = a_{+}

a_{0} + 2a_{+} cos(2Δjα) = 0

a_{0} + 2a_{+} cos(Δjα) = 0

α is the phase step,
j varies from -∞ to +∞, and the
new w̅_{j}
are given by the table entries. In the last row of entries, Δj is any nonzero integer.

Table 3

Family of Algorithms with Phase Step 2π/3
Generated
by w̅_{j} = w_{j} + w_{j+1} + w_{j+2}a

P = 3

1

1

1

P = 5

1

2

3

2

1

P = 7

1

3

6

7

6

3

1

P = 9

1

4

10

16

19

16

10

4

1

P = 11

1

5

15

30

45

51

45

30

15

5

1

This increases the distortion
insensitivity index by 1 each time it is applied. The family is sensitive to
all powers of detector nonlinearity.

Table 4

Family of Algorithms with Phase Step π/2
Generated by w̅_{j} = w_{j} + w_{j + 1}a

P = 4

1

1

1

1

P = 5

1

2

2

2

1

P = 6

1

3

4

4

3

1

P = 7

1

4

7

8

7

4

1

P = 8

1

5

11

15

15

11

5

1

P = 9

1

6

16

26

30

26

16

6

1

P = 10

1

7

22

42

56

56

42

22

7

1

P = 11

1

8

29

64

98

112

98

64

29

8

1

P = 12

1

9

37

93

162

210

210

162

93

37

9

1

P = 13

1

10

46

130

255

372

420

372

255

130

46

10

1

This increases the distortion
insensitivity index by 1 each time it is applied. The family is insensitive to
a quadratic detector nonlinearity.

Table 5

Family of Algorithms with Phase Step π/3
Generated
by w̅_{j} = w_{j} + w_{j +1} + w_{j + 2}a

P = 6

1

1

1

1

1

1

P = 8

1

2

3

3

3

3

2

1

P = 10

1

3

6

8

9

9

8

6

3

1

P = 12

1

4

10

17

23

26

26

23

17

10

4

1

This increases the distortion
insensitivity index by 1 each time it is applied. The family is insensitive to
detector nonlinearities with powers up to and including the fourth
power.

Table 6

Family of Algorithms with Phase Step π/4
Generated
by w̅_{j} = w_{j} + w_{j+2}a

P = 8

1

1

1

1

1

1

1

1

P = 10

1

1

2

2

2

2

2

2

1

1

P = 12

1

1

3

3

4

4

4

4

3

3

1

1

P = 14

1

1

4

4

7

7

8

8

7

7

4

4

1

1

P = 16

1

1

5

5

11

11

15

15

15

15

11

11

5

5

1

1

This increases the distortion
insensitivity index by 1 each time it is applied. The family is insensitive to
detector nonlinearities with powers as high as and including the sixth
power.

Table 7

Comparison of Algorithm Generated with Recursion
Rules with Algorithm Generated with Least-Squares Methoda

Least Squares

Recursion Rule

-1.116771628155 + 2.961574053933i

-1 + i

+4.806376479712 + 2.586172699807i

+1 + 3i

+1.822030515151 + 2.586172699807i

+3 + 3i

+7.745178623018 + 2.961574053933i

+5 + i

+6.628406994863

+4

+6.628406994863

+4

+6.628406994863

+4

+6.628406994863

+4

+7.745178623017 - 2.961574053933i

+5 - i

+1.822030515151 - 2.586172699807i

+3 - 3i

+4.806376479712 - 2.586172699807i

+1 - 3i

-1.116771628155 - 2.961574053933i

-1 - i

Both are π/4
P = 12 algorithms that have a distortion
insensitivity index of 2 and that are insensitive to linear background drift
and to detector nonlinearities up to and including the sixth power. The
algorithms created with the least-squares method and with the recursion rules
have the noise figures of merit of 2.609 and 2.412,
respectively.

Table 8

Sums
Σj^{
r
}w_{j}
exp(imφ_{j}) for
Onodera’s6 Algorithm; Phase Step
α = π/2a

m

Σ w_{j}
exp(imφ_{j})

m

Σ w_{j} exp(imφ_{j})

r

Σ j^{
r
}w_{j} exp(-iφ
_{j})

Σ j^{
r
}w_{j} exp(-2iφ_{j})

0

16

1

0

0

-1

0

1

$-8\sqrt{2}$

2

$-12\sqrt{2}$

-16

-2

0

2

0

-3

$+8\sqrt{2}$

3

0

-4

-16

4

-16

The note in Ref.
6 is important for obtaining the correct weights 2
+ i, 4 - i, 2 - 2i, 2 + 2i, 4 +
i, 2 -
i.

Table 9

Sums
Σ j^{r}w_{
j
}
exp(imφ_{
j})
for the P = 11
α = π/2 Algorithm from Table 4a

m

Σ w_{j} exp(imφ_{j})

m

Σ w_{j} exp(imφ
_{j})

m

Σ jw_{j} exp(imφ
_{j})

m

Σ jw_{j} exp(imφ
_{j})

r

Σ j^{
r
}w_{j} exp(-iφ_{j})

Σ j^{
r}w_{j} exp(-2iφ_{j})

0

512

0

0

1

-32i

0

-1

0

1

0

-1

-32i

1

32i

2

-256

0

-2

0

2

0

-2

0

2

0

3

1120i

0

-3

0

3

0

-3

32i

3

32i

4

2048

0

-4

512

4

512

-4

0

4

0

5

48i

0

6

57344

0

7

-29600i

0

8

1015808

-80640

Weight w = 1
8 29 64 98 112 98 64 29 8 1.

Tables (9)

Table 1

Summary of P = 3
Algorithms for α = 2π/3, π/2, π/3, and
π/4a

α is the phase step,
w are the weights, θ is the phase, and
|Σ w_{j}|/(Σ
|w_{j}|
^{2})^{1/2} is the noise
figure of merit.

Table 2

Summary of Recursion Relations for Creating a New Algorithm with Weights w̅_{j} from an Existing One with Weights
w_{j}a

α = 2πm/n Subset

Property to Which Insensitivity Is Increased for New w̅_{j}

PZT Distortion and Signal Drift

Background Drift

Detector Nonlinearity

n divisible by 4

w_{j} + w_{j+n/4}

n divisible by 2

Σ w_{j + k} for k = 0 to n/2 - 1

w_{j} + w_{j+n/2}

No restriction

Σ w_{j + k} for k = 0 to n - 1

Σ w_{j + k} for k = 0 to n - 1

Σ w_{j + k} for k = 0 to n - 1

No restriction

e^{-iβ
}w_{j}
+ e^{
iβ
}w_{j+Δj}

e^{-iβ
}w_{j} + e^{
iβ
}w_{j
+Δj}

β = (π/2 - Δjα)

β = (π - Δjα)/2

No restriction

a_{-}w_{j-Δj} + a_{0}w_{j}
+ a_{+}w_{j+Δj}

a_{-}w_{j-Δj} + a_{0}w_{j} + a_{+}w_{j +Δj}

a_{-}, a_{+},
a_{0} real,
a_{-} = a_{+}

a_{-}, a_{+}, a_{0} real, a_{-} = a_{+}

a_{0} + 2a_{+} cos(2Δjα) = 0

a_{0} + 2a_{+} cos(Δjα) = 0

α is the phase step,
j varies from -∞ to +∞, and the
new w̅_{j}
are given by the table entries. In the last row of entries, Δj is any nonzero integer.

Table 3

Family of Algorithms with Phase Step 2π/3
Generated
by w̅_{j} = w_{j} + w_{j+1} + w_{j+2}a

P = 3

1

1

1

P = 5

1

2

3

2

1

P = 7

1

3

6

7

6

3

1

P = 9

1

4

10

16

19

16

10

4

1

P = 11

1

5

15

30

45

51

45

30

15

5

1

This increases the distortion
insensitivity index by 1 each time it is applied. The family is sensitive to
all powers of detector nonlinearity.

Table 4

Family of Algorithms with Phase Step π/2
Generated by w̅_{j} = w_{j} + w_{j + 1}a

P = 4

1

1

1

1

P = 5

1

2

2

2

1

P = 6

1

3

4

4

3

1

P = 7

1

4

7

8

7

4

1

P = 8

1

5

11

15

15

11

5

1

P = 9

1

6

16

26

30

26

16

6

1

P = 10

1

7

22

42

56

56

42

22

7

1

P = 11

1

8

29

64

98

112

98

64

29

8

1

P = 12

1

9

37

93

162

210

210

162

93

37

9

1

P = 13

1

10

46

130

255

372

420

372

255

130

46

10

1

This increases the distortion
insensitivity index by 1 each time it is applied. The family is insensitive to
a quadratic detector nonlinearity.

Table 5

Family of Algorithms with Phase Step π/3
Generated
by w̅_{j} = w_{j} + w_{j +1} + w_{j + 2}a

P = 6

1

1

1

1

1

1

P = 8

1

2

3

3

3

3

2

1

P = 10

1

3

6

8

9

9

8

6

3

1

P = 12

1

4

10

17

23

26

26

23

17

10

4

1

This increases the distortion
insensitivity index by 1 each time it is applied. The family is insensitive to
detector nonlinearities with powers up to and including the fourth
power.

Table 6

Family of Algorithms with Phase Step π/4
Generated
by w̅_{j} = w_{j} + w_{j+2}a

P = 8

1

1

1

1

1

1

1

1

P = 10

1

1

2

2

2

2

2

2

1

1

P = 12

1

1

3

3

4

4

4

4

3

3

1

1

P = 14

1

1

4

4

7

7

8

8

7

7

4

4

1

1

P = 16

1

1

5

5

11

11

15

15

15

15

11

11

5

5

1

1

This increases the distortion
insensitivity index by 1 each time it is applied. The family is insensitive to
detector nonlinearities with powers as high as and including the sixth
power.

Table 7

Comparison of Algorithm Generated with Recursion
Rules with Algorithm Generated with Least-Squares Methoda

Least Squares

Recursion Rule

-1.116771628155 + 2.961574053933i

-1 + i

+4.806376479712 + 2.586172699807i

+1 + 3i

+1.822030515151 + 2.586172699807i

+3 + 3i

+7.745178623018 + 2.961574053933i

+5 + i

+6.628406994863

+4

+6.628406994863

+4

+6.628406994863

+4

+6.628406994863

+4

+7.745178623017 - 2.961574053933i

+5 - i

+1.822030515151 - 2.586172699807i

+3 - 3i

+4.806376479712 - 2.586172699807i

+1 - 3i

-1.116771628155 - 2.961574053933i

-1 - i

Both are π/4
P = 12 algorithms that have a distortion
insensitivity index of 2 and that are insensitive to linear background drift
and to detector nonlinearities up to and including the sixth power. The
algorithms created with the least-squares method and with the recursion rules
have the noise figures of merit of 2.609 and 2.412,
respectively.

Table 8

Sums
Σj^{
r
}w_{j}
exp(imφ_{j}) for
Onodera’s6 Algorithm; Phase Step
α = π/2a

m

Σ w_{j}
exp(imφ_{j})

m

Σ w_{j} exp(imφ_{j})

r

Σ j^{
r
}w_{j} exp(-iφ
_{j})

Σ j^{
r
}w_{j} exp(-2iφ_{j})

0

16

1

0

0

-1

0

1

$-8\sqrt{2}$

2

$-12\sqrt{2}$

-16

-2

0

2

0

-3

$+8\sqrt{2}$

3

0

-4

-16

4

-16

The note in Ref.
6 is important for obtaining the correct weights 2
+ i, 4 - i, 2 - 2i, 2 + 2i, 4 +
i, 2 -
i.

Table 9

Sums
Σ j^{r}w_{
j
}
exp(imφ_{
j})
for the P = 11
α = π/2 Algorithm from Table 4a