Электронная плотность

Задание функции

Для компьютерного эксперимента была использована модель со следующими характеристиками::


Для создания функции использовался скрипт compile-func.py:
 python compile-func.py -g 20,3,6+30,3,7+10,3,8+15,3,13+25,3,14
В результате был получен файл func.txt с координатами точек и изображение смоделированной функции:

Расчет амплитуд и фаз сигналов

Амплитуды и фазы рассчитываются по созданной функции ЭП. При этом учитывается, что в эксперименте определяются амплитуды не для всех сигналов, что интенсивности сигналов и амплитуды определяются с ошибкой и что фазы определятся для всех измененных сигналов с ошибкой.
Для разложение гауссовской функции в ряд Фурье был использован скрипт func2fourier.py, которому на вход подается полученный выше файл func.txt. В результате был получен файл func_ft.txt, содержащий 499 гармоник.

Восстановление функции ЭП по амплитудам и фазам части сигналов

Для отбора минимального числа гармоник, необходимых для хорошего восстановления исходной функции ЭП, были использованы скрипты fourier-filter.py и fourier2func.py. Первый скрипт использовался для отбора гармоник от 0 до n-й (10 < n < 50), а второй — для восстановления функции по отобранным гармоникам. Для каждого из 9 наборов гармоник была восстановлена ЭП с использованием команд (результаты на изображениях ниже). Из изображений видно, что уже при n = 30 количество атомов и их положение определяются достаточно однозначно, но все же числом гармоник, нужным для отличного восстановления, было решено считать n = 40, т.к. тогда возможно точно определить максимумы каждого из пиков, а шумы практически исчезают.
python fourier-filter.py -r 0-n
python fourier2func.py -f func.txt -i func_ft_filtered.txt

Однако, все это верно только для идеального эксперимента, в котором отсутствуют ошибки в измерении интенсивности сигналов (амплитуд) и фаз. Поэтому далее к амплитудам (параметр -F <число>) и фазам (-P <число>) был искусственно введен гауссовский шум, который искажает все вычисленные амплитуды и фазы. Для этого были использованы команды, указанные ниже, а результаты представлены на изображениях ниже.
python func2fourier.py -i func.txt -F % -P %
python fourier-filter.py -r 0-40
python fourier2func.py -f func.txt -i func_ft_filtered.txt
При рассмотрении изображений видно, что при шуме по амплитудам 20% уже сложно определить положение атомов. При введении шума по обоим параметрам сразу на уровнях шума 20% появляются ложные пики, сопоставимые по размерам с наименьшими истинными.

Восстановление функции электронной плотности по неполным наборам гармоник

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

Если сравнить с картинками, полученными для ограниченного числа гармоник, можно сделать вывод, что отсутствие гармоник меньшего порядка более критично, чем отсутствие гармоник из середины или конца набора.

Итоговая таблица

Результаты по качеству восстановления функции ЭП из различных рассмотренных наборов гармоник приведены в таблице 1.

Для сравнения восстановленной функции с исходной использовались следующие "критерии качества":

  • Отличное восстановление — по графику восстановленной функции можно определить положение максимума всех гауссовых слагаемых функции ("атомов");
  • Хорошее восстановление — можно угадать положение всех максимумов, зная число слагаемых ("атомов"), хотя на восстановленной функции максимумы от атомов не отличимы от шума;
  • Среднее восстановление — положение каких-то атомов определить по восстановленной функции нельзя, других - можно;
  • Плохое восстановление — положение атомов определить не представляется возможным; можно только предсказать примерный размер "молекулы".

  • Полнота набора гармоник определяется как % гармоник (k штук) от полного числа гармоник (от 0 до n-й).

    Harmonics set Resolution (Å) Completness of set (%) Amplitude noise (%) Phase noise (%) Reconstruction quality (perfect, good, medium, bad)
    Complete harmonics sets
    0-10 3 100 0 0 Bad
    0-20 1.5 100 0 0 Medium
    0-25 1.2 100 0 0 Good
    0-30 1 100 0 0 Perfect
    0-30 1 100 20 0 Perfect
    0-30 1 100 0 20 Medium
    0-30 1 100 20 20 Medium
    Incomplete harmonis sets
    1-10 1 80 0 0 Good
    15-20 1 87 0 0 Perfect
    0-30,40 1 100 0 0 Perfect

    Источники:

    [1] Wiki


    © Avdiunina Polina, 2017