Восстановление функции ЭП от одной переменной


Получение модели, описывающей электронную плотность атомов

Модель соответствует следующим требованиям: имеется две молекулы, состоящие из 5 атомов на отрезке [0 Å, 30 Å]; связь между атомами — ковалентная, расстояние между атомами — 1-1.5 Å, расстояние между молекулами — 3-5 Å; максимум ЭП в центре атома приблизительно пропорционален числу электронов в атоме.
При помощи скрипта compile-func.py была создана функция ЭП, описывающая модель, описанная выше.
Был получен файл func.txt, содержащий координаты точек, а также изображение смоделированной функции ЭП, проиллюстрированное ниже. По оси X отложены координаты атомов в Å, а по оси Y — значение электронной плотности атомов (приблизительно пропорционально количеству электронов в атоме).

Расчет амплитуд и фаз сигналов, моделирующих экспериментальные данные

Значения амплитуд и фаз рассчитываются по созданной функции ЭП. При этом учитывается, что в эксперименте имеют место ошибки: амплитуда определяется не для всех сигналов; само значение амплитуды определяется с ошибкой; значение фазы также определяется с ошибкой.
Для разложения функции ЭП был использован скрипт func2fourier.py. На вход скрипту подавался func.txt и значения гауссовского шума. Был получен func_ft.txt, содержащий значения амплитуды и фазы, а также содержащий 1001 гармонику. Для восстановления исходной ЭП использовался скрипт fourier2func.py.

Количество гармоник влияет на качество восстановления функции ЭП

Был произведен отбор гармоник для файла без шума (от 0 до 40 — 40, а не 30 бралось как максимальное значение, так как было интересно посмотреть на поведение функции ЭП при таком высоком занчении количества гармоник) при помощи скрипта fourier-filter.py. Для каждого набора была восстановлена функция ЭП. Результаты проиллюстрированы ниже. Верхний ряд — 0-1, 0-5, 0-10 гармоник; нижний — 0-20, 0-30, 0-40 гармоник.

Из результатов, представленных выше, видно, что при 30 гармониках положение атомов уже определяется достаточно однозначно, даже несмоятря на наличие шума. При 40 гармониках наблюдаем еще лучший результат, однако не намного отличающийся, от того, что видели при 30. Значит, существует максимальное значение количества гармоник, после которого не имеется смысл повышать n (количество гармоник).

Гауссовский шум влияет на качество восстановления функции ЭП

Было проанализировано влияние гауссовского шума, добавленного к амплитуде и/или фазе. Результаты представлены ниже.
Первая строка — изменение только фазы с шагом в 10 (от 0 до 20), вторая — изменение только амплитуды с шагом 10 (от 0 до 20), третья строка — изменение и фазы, и амплитуды (0-0, 10-20б 20-10 соответственно слева направо).

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

Более полный набор гармоник позволяет лучше восстанавливать функцию ЭП. Порядок гармоники крайне важен при восстановлении функции

Зачастую по ходу эксперимента не удается получить полный набор гармоник. Для того, чтобы смоделировать это, был использован исходный набор гармоник, из которого выбирались различные множества гармоник при помощи вышеописанных скриптов. Результаты проиллюстрированы ниже. Первая строка — 0-40, 0-30 и 10-40 слева направо (0-30 — выбирались первые 30 гармоник, 10-40 — выбирались последние 30 гармоник). Вторая — 0-20 и 20-40 (0-20 — выбирались первые 20 гармоник, 20-40 — выбирались последние 20 гармоник).

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