eddy_em: (Default)
eddy_em ([personal profile] eddy_em) wrote2012-08-22 01:16 pm

Восстановление волнового фронта путем разложения по полиномам Цернике

Так как простейшие методы интегрирования градиента волнового фронта не показали себя надежными, попробую следующий шаг — разложение по полиномам Цернике.

Ортогональность полиномов Цернике в окружности единичного радиуса и их несложная форма позволяют перейти от описания оптической поверхности через координаты ограниченного количества узлов к описанию через коэффициенты первых  N полиномов.

Для восстановления волнового фронта, исходя из знаний лишь о его градиентах в конечном количестве точек, необходимо разложить матрицу градиентов по производным полиномов Цернике. Однако, эти производные не являются ортогональными, поэтому разложение может быть неточным. Поэтому в разложении поля градиентов волнового фронта по конечному набору полиномов используется такой набор ортогональных многочленов, из которых можно арифметическими операциями получить производные многочленов Цернике.

В некоторых случаях вместо многочленов Цернике могут применяться другие многочлены, ортогональные на кругу или на кольце (для зон с центральным экранированием).

В нотации Нолля (Noll) полиномы Цернике записываются так:

\begin{displaymath}\begin{cases}\left.\begin{aligned}Z_{2j} &= \sqrt{n+1}R_n......}\right\}& m\ne0;\\Z_j = \sqrt{n+1}R_n^0(r) &m=0;\end{cases}\end{displaymath} (1)

где
\begin{displaymath}R_n^m(r) = \sum_{s=0}^{(n-m)/2} \frac{(-1)^s(n-s)!}{s!\bigl[(n+m)/2-s\bigr]! \bigr[(n-m)/2-s\bigl]!}\cdot r^{n-2s}.\end{displaymath}

Здесь Zx — полином Цернике индекса x; n — степень радиальной координаты; m — множитель угловой координаты (m ≤ n и (n-m) должно быть четным числом).

Продифференцировав (1), получим:

\begin{displaymath}\begin{cases}\left.\begin{aligned}\partder{Z_{2j}}{r} &= ......\partder{Z_j}{r} = \partder{Z_j}{\theta} = 0, &m=0;\end{cases}\end{displaymath} (2)

где
\begin{displaymath}\overline{R}_n^m(r) = \sum_{s=0}^{(n-m)/2} \frac{(-1)^s(n-2s......bigl[(n+m)/2-s\bigr]! \bigr[(n-m)/2-s\bigl]!}\cdot r^{n-2s-1}.\end{displaymath}

Эти градиенты полиномов Цернике не являются ортогональными (см. Жао, 2007). Следуя Жао, построим ортонормированный векторный базис на основе метода ортогонализации Грэма-Шмидта (Gram-Schmidt), используя декартово представление (2). Так как grad Z₁=0, в построении полиномов будут использоваться градиенты с индексом, большим 1. Для всех j при n=m получим:

\begin{displaymath}\vec S_j = \frac1{\sqrt{2n(n+1)}}\grad Z_j,\end{displaymath} (3)

а для всех j при n ≠ m
\begin{displaymath}\vec S_j = \frac1{\sqrt{4n(n+1)}}\Bigl(\grad Z_j - \sqrt\frac{n+1}{n-1} \grad Z_{j'(n'=n-2, m'=m)}\Bigr),\end{displaymath} (4)

где j-j' четно при m ≠ 0.

Так как градиенты полиномов Цернике являются линейной комбинацией этих полиномов, а базис Sj является линейной комбинацией градиентов, то этот базис является линейной комбинацией полиномов Цернике:

\begin{displaymath}\begin{aligned}S_{jx} &= C_aZ_{j_a(n-1, m-1)}+ C_{a'}Z_{j_{...... C_bZ_{j_b(n-1, m-1)}+ C_{b'}Z_{j_{a'}(n-1, m+1)}\end{aligned}\end{displaymath}

Для вычисления коэффициентов, а также индексов при соответствующих полиномах Цернике, Жао предложил табличный способ, поддающийся алгоритмизации.

Раскладывая векторную функцию V(x,y), заданную на единичной окружности, по базисуSj, можно из(3) и (4) определить скалярный базис φ, для которого Sj=grad φ. Для всех j при n=m

\begin{displaymath}\phi_j = \frac1{\sqrt{2n(n+1)}} Z_j,\end{displaymath}

и для всех j при n ≠ m
\begin{displaymath}\phi_j = \frac1{\sqrt{4n(n+1)}}\Bigl(Z_j - \sqrt\frac{n+1}{n-1} Z_{j'(n'=n-2, m'=m)}\Bigr),\end{displaymath}

где j-j' четно при m ≠ 0.

Итак, пусть волновой фронт представлен функцией Ф(x,y), заданной на единичной окружности и нам известно поле градиентов этой функции, V=grad Ф. Найдя разложение этого поля по конечному количеству членов базиса, S, получим коэффициенты разложения, αj: Vj=2n αjSj. Используя эти коэффициенты восстанавливается функция Ф с точностью до постоянного слагаемого.

Недостатком векторного базиса S, определенного через градиент скалярного поля является то, что ротор этого поля равен нулю (это имеет значение в интерферометрии, но не в гартманновском восстановлении волнового фронта), т.е. в этом базисе нельзя будет разложить ротороподобную функцию. Создать полноценный векторный базис можно, добавив к S компоненту T = rot P (Жао, 2008).

Теперь остается изучить существующие алгоритмы разложения волнового фронта по полиномам Цернике, модифицировать наиболее простой из них для разложения градиентов по описанному ортонормированному векторному базису (для начала — хотя бы без роторной компоненты), а затем уже провести реконструкцию. О результатах буду писать.



Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org