Практикум 3

На главную

Разложение функции в ряд Фурье и её восстановление из разных наборов гармоник.

Команда для создания функции: python3 compile-func.py -g 20,3,4.6+10,2,6+20,3,7.4+30,2,12+30,2,20+30,2,21+20,3,26

Рис. 1. График получившейся функции. Молекула из трёх атомов, молекула из одного, двух и снова одного атома.

Команда для разложения функции на гармоники Фурье: python2 func2fourier.py -i func.txt -o clean_data

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


Рис. 2. По всем гармоникам функция восстанавливается идеально.

Я написал небольшой скрипт, который перебрал все наборы гармоник 0-1, 0-6, 0-11, ..., 0-41 и сохраняет получившиеся картинки. Вот он
Вот результаты.

Рис. 3. Функция восстановленная по 1 гармонике.


Рис. 4. Функция восстановленная по 11 гармоникам.


Рис. 5. Функция восстановленная по 21 гармонике.


Рис. 6. Функция восстановленная по 26 гармоникам.


Рис. 7. Функция восстановленная по 31 гармонике.


Рис. 8. Функция восстановленная по 41 гармонике.

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

Если брать с 10% шумом по фазам


Рис. 3. Функция восстановленная по 1 гармонике.


Рис. 4. Функция восстановленная по 11 гармоникам.


Рис. 5. Функция восстановленная по 21 гармонике.


Рис. 6. Функция восстановленная по 26 гармоникам.


Рис. 7. Функция восстановленная по 31 гармонике.


Рис. 8. Функция восстановленная по 41 гармонике.

Даже с шумом пики хорошо различимы на 26 гармониках, а на 31 почти идеально. Значит разложение по Фурье устойчиво к шуму.

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

Давайте зафиксируем последнию гармонику - 31 и будем убирать по одной с начала до 5.

Рис. 9. Функция восстановленная по 1-31 гармонике.


Рис. 10. Функция восстановленная по 2-31 гармонике.


Рис. 11. Функция восстановленная по 3-31 гармонике.


Рис. 12. Функция восстановленная по 4-31 гармонике.


Рис. 13. Функция восстановленная по 5-31 гармонике.

Интересно, что пики всё ещё различимы при удалении первых четырёх гармоник, а при удалении 5 они уже мешаются с шумом. Видимо, гармоники с бОльшим индексом отвечают за мелкий "рельеф" функции, а с меньшим - за более крупный.

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

Давайте зафиксируем последнию гармонику - 41 и будем убирать по 5, 10 и 15 гармоник, начиная с 5, 10 и 15 гармоники.

Рис. 14. Функция восстановленная по 0-5,10-41 гармонике.


Рис. 15. Функция восстановленная по 0-5,15-41 гармонике.


Рис. 16. Функция восстановленная по 0-5,20-41 гармонике.


Рис. 17. Функция восстановленная по 0-10,15-41 гармонике.


Рис. 18. Функция восстановленная по 0-10,20-41 гармонике.


Рис. 19. Функция восстановленная по 0-10,25-41 гармонике.


Рис. 20. Функция восстановленная по 0-15,20-41 гармонике.


Рис. 21. Функция восстановленная по 0-15,25-41 гармонике.


Рис. 22. Функция восстановленная по 0-15,30-41 гармонике.

Видно, что именно в нашем случае именно средние гармоники после 5-й играют самую важную роль в узнаваемости сигнала глазами. При их удалении (первые 3 картинки) функция очень сильно искажается.
Таблица 1. Восстановление функции электронной плотности по разложению в ряд Фурье
Набор гармоник (индексация, как в Питоне) Разрешение (ангстремы) Полнота данных (%) Шум амплитуды (% от величины F) Шум фазы (% от величины P) Качество восстановления
0-499 0.06 100 0 0 Отличное
0-1 30 100 0 0 плохое
0-11 2.7 100 0 0 среднее
0-21 1.42 100 0 0 среднее
0-26 1.15 100 0 0 отличное
0-31 0.97 100 0 0 отличное
0-41 0.73 100 0 0 отличное
1-31 1 96.7 0 0 отличное
3-31 1.07 90 0 0 отличное
5-31 1.15 83.9 0 0 хорошее
0-1 30 100 10 0 плохое
0-11 2.7 100 10 0 среднее
0-21 1.42 100 10 0 среднее
0-26 1.15 100 10 0 отличное
0-31 0.97 100 10 0 отличное
0-41 0.73 100 10 0 отличное
0-5, 15-41 0.97 75.6 0 0 среднее
0-10, 20-41 0.97 75.6 0 0 хорошее
0-15, 25-41 0.97 75.6 0 0 среднее

Дата последнего обновления: 20.05.2015
© Роман Кудрин