Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

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

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

Ортогональность полиномов Цернике в окружности единичного радиуса и их несложная форма позволяют перейти от описания оптической поверхности через координаты ограниченного количества узлов к описанию через коэффициенты первых  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).

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


Tags: волновой фронт, гартманнограмма, цернике
Subscribe

  • Чем бы таким заменить STM32F072C8T6?

    Полез сейчас на али цены посмотреть, а там… В среднем уже по 600-700 рублей за штучку просят! Вообще охамели. И это - гарантированно БУшные ведь!.. А…

  • Понаблюдал, блин!

    Опять у нас что-то с сетью поломали. Хотел было протестировать, как наша подвесная часть оптоволоконного спектрографа работает, а из дома связь с…

  • Липовые STM32F303CBT6

    Купили недавно на али на работу десяток вышеупомянутых МК (причем, недешево: около 600р за штучку при красной цене в 200р!). И вот, сижу, на своей…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments