Главная страница Обучение Обо мне Ссылки

Разложение функции в ряд Фурье

Задание функции электронной плотности

Функция электронной плотности для двух молекул, состоящих из трех атомов каждая и находящихся на расстоянии ~ 4 Å, была задана на отрезке [0,30] с помощью скрипта compile-func.py. Скрипт был запущен с параметрами 30,3,9+20,3.2,10.2+10,3,11.5+25,3.1,15.5+45,3,17+20,3.0,18 - суммой шести гауссовских функций, где в каждом слагаемом-тройке первое число (30, 20, 10, 25, 45, 20) отражает величину каждого пика, второе число (3, 3.2, 3, 3, 3.1, 3.0) - ширину пика, а третье - точку максимума для каждого пика (9, 10.2, 11.5, 15,5, 17, 18). В результате был получен файл func.txt, а также построен график функции электронной плотности (Рис. 1).

Рис 1. Одномерная функция электронной плотности для двух молекул из трех атомов.

Разложение функции в ряд Фурье

Функция электронной плотности была разложена в ряд Фурье с помощью скрипта func2fourier.py. На выходе был получен файл fourier.txt, содержащий значения амплитуды (F) и фазы (phi) для каждой из 499 гармоник, которые при суммировании дают функцию, показанную на Рис. 1.

Затем подбиралось минимально необходимое количество гармоник, по которым можно было бы точно восстановить исходную функцию электронной плотности. Для выбора необходимого множества гармоник использовался скрипт fourier-filter.py, а для построения по ним функции - скрипт fourier2func.py. В результате были получены графики с наложением искомой функции и функции по первым гармоникам, чью количество варьировалось от 0 до 60 (Рис.2).

Рис 2. Восстановление функции электронной плотности по различному числу гармоник. Сплошной линией показана искомая электронная плотность, пунктирной - восстанавливаемая по гармоникам. Над каждым графиком указано количество гармоник, использованных для восстановления электронной плотности (N).

Исходя из полученных графиков на Рис. 2, можно заключить, что примерное расположение молекул и количество в них атомов различимо уже на первых 5 гармониках. Количество и положение атомов в каждой молекуле может быть неточно определено по первым 20-25 гармоникам, хотя положения максимумов по ним ниже, чем в истинной функции электронной плотности, а также сильно выражены шумовые пики, которые можно принять за отдельные атомы. На 30 гармониках шум между двумя молекулами пропадает, хорошо определяется положение каждого атома, а высота каждого пика соответствует высоте в искомой функции. Таким образом, восстановление по 30 гармоникам уже можно считать весьма хорошим. Но еще более точным я бы назвала восстановление по 40 гармоникам, поскольку там отсутствует шум. Поэтому минимальным необходимым для отличного восстановления электронной плотности количеством гармоник будем считать N = 40 гармоник, и, соответственно, в дальнейшей работе использовался набор из 40 первых гармоник.

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

На наборе из первых 40 гармоник был проверен эффект внесения гауссовского шума в амплитуды и фазы по отдельности и одновременно. Для этого применялись последовательно команды:
python func2fourier.py -F X -P Y -i func.txt -o file_noise.txt
python fourier-filter.py -r 0-40 -i file_noise.txt -o file_noise.txt
python fourier2func.py -f func.txt -i file_noise.txt -o fpXY.txt
,
где X - значение (%) шума по амплитудам, а Y(%) - по фазам. Результаты показаны на Рис. 3.

Рис 3. Восстановление функции электронной плотности по 40 гармоникам со внесенными шумами. Параметры вносимого шума указаны над соответствующими графиками. Сплошной линией показана искомая электронная плотность, пунктирной - восстанавливаемая по гармоникам.

В целом, можно заметить, что шумы в амплитуде больше влияют на величину пиков, тогда как зашумление фазы приводит к нестабильности "нулевой линии", то есть уровня отсутствия электронной плотности. При сохранении величины пиков (30% шум от F) можно, хоть и не точно, определить положение молекулы, тогда как изменение уровня нуля (30% шум от φ) приводит к неоднозначному распознаванию пиков. При зашумлении обоих параметров положения атомов определить нельзя - слишком высокий и различающийся в зависимости от координаты уровень шума, появляется много дополнительных шумовых пиков, которые в особенности затрудняют определение маленьких атомов.
Интересно также сравнить восстановление функции электронной плотности при разных уровнях зашумленности фазы и амплитуды. Так, при низком (10%) уровне шума в F и высоком (30%) в фазе наблюдается значительное смещение координат атомов (меняется "нулевой уровень"), тогда как в противоположной ситуации - высоком шуме в амплитуде и низком в фазе есть возможность оценить положение молекулы и приблизительное количество в ней атомов, поскольку шум хоть и вырос, но остается постоянным. Такая ситуация позволяет восстановить функцию со средней точностью. Таким образом, можно заключить, что зашумление параметра фазы значительно сильнее влияет на качество восстановления функции электронной плотности, чем зашумление амплитуды.

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

Были проварьированы условия выбора множества гармоник из первых 40, необходимых для качественного восстановления функции электронной плотности. Сначала были убраны первые 1, 2 или 5 гармоник. Затем было исключено 20, 8 и 5 гармоник из середины множества, а затем, наоборот, было взято 5 гармоник из середины множества (17 - 23), по 5 гармоник из разных частей множества (0-5, 20-25 и 35-40), и, наконец, полное множество с добавлением гармоники под номером 50. Результаты представлены на Рис. 4.

Рис 4. Восстановление функции электронной плотности по неполным наборам гармоник. Количество использованных для восстановления гармоник указанонад соответствующими графиками. Сплошной линией показана искомая электронная плотность, пунктирной - восстанавливаемая по гармоникам. По горизонтали: первый ряд - удаление 1/2/5 первых гармоник, второй ряд - удаление гармоник из середины, третий ряд - слева построение по гармоникам из середины (17 - 23), в центре восстановление по 5 первым, 5 из середины и 5 последним гармоникам, справа - построение по первым 40 гармоникам + 50-ой.

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

Построение функции электронной плотности без гармоник середины набора наблюдается высокий уровень шума, хотя пики еще различимы. Можно заметить, что использование "крайних" гармоник набора - первых 10 и последних 10 приводит к более низкому шуму, однако и к более "размазанным" пикам. Тем не менее, качество восстановления в обоих случаях хорошее.

Интересно, что если использовать для построения только 5 гармоник из центра, восстановить структуру не удастся - будет лишь понятно, где приблизительно находятся молекулы, однако отличить атомы структуры от шума довольно сложно. При этом добавление в набор первых и последних гармоник существенно улучшает качество восстановления структуры. Наконец, использование еще одной гармоники с номером на 10 выше, чем последняя гармоника полного набора, не влияет на качество восстановления электронной плотности существенно.

Результаты анализа представленных графиков приведены в Таблице 1 (pdf-файл).


На страницу седьмого семестра

© Alexandra Boyko, 2014. Faculty of Bioengineering and Bioinformatics, MSU.