2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Коэффициенты Фурье
Сообщение01.07.2011, 22:50 
Привет,

Помогите разобраться, как решить следующую задачу. У меня есть распределение точек на плоскости,

Изображение

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

Мне не совсем понятно, как подойти к решению. Пока идея такая. Что бы "стянуть" это распределение в окружность можно передвигаться маленькими секторами, например, 1', считать сколько точек в секторе, таким образом получать вес точки на окружности, по моему представлению этот вес соответствует значению некоторой функции, у которой в качестве аргумента угол. Далее нужно определить коэффициенты Фурье, т.е. посчитать интегралы вида,

$a_0 = \frac 1 {2 \pi} \int \limits_0^{2 \pi} {f(\theta) d \theta}$
$a_m = \frac 1 { \pi} \int \limits_0^{2 \pi} {f(\theta) \cos(m \theta) d \theta}$
$b_m = \frac 1 { \pi} \int \limits_0^{2 \pi} {f(\theta) \sin(m \theta) d \theta}$

Как лучше вычислить эти интегралы? Можно прямоугольниками вычислить,

$\int \limits_0^{2 \pi} {f(\theta) \cos(m \theta) d \theta}  = \sum \Delta f(\Delta n) \cos(m \Delta n)$

Или лучше в комплексном виде считать?

Может кто знает пакет, в котором это можно сделать безболезненно?

 
 
 
 Re: Коэффициенты Фурье
Сообщение01.07.2011, 23:12 
Можно в качестве интеграла просто брать среднее арифметическое значений $f(\theta_i)\cos m\theta_i$, умноженное на $2\pi$ и т.п. А сколько там точек?

 
 
 
 Re: Коэффициенты Фурье
Сообщение01.07.2011, 23:31 
Примерно, $40 \cdot 10^3$.

А как Вам в целом подход к решению? я просто с такими задачами не сталкивался раньше. Мне кажется, что для быстро осциллирующих гармоник могут возникнуть проблемы. Может есть программы, которые фитируют сразу как ряд Фурье?

 
 
 
 Re: Коэффициенты Фурье
Сообщение01.07.2011, 23:48 
Можно в действительном виде, можно в комплексном. По сложности это должно быть примерно одинаково. И почему кстати, точка центра произвольная, в это есть какой-то смысл? Естественно было взять центр масс.

Да, для больших $m$ величина $\Delta n$ должна быть достаточно маленькой. Чтобы об этом не задумываться, как раз можно брать среднее арифметическое. Хотя так дольше считать, если коэффициентов много. Насчет программ не знаю.

 
 
 
 Re: Коэффициенты Фурье
Сообщение02.07.2011, 01:12 
Да, центр масс логично, но над этим еще нужно подумать, поэтому пока произвольно.
Спасибо!

 
 
 
 Re: Коэффициенты Фурье
Сообщение02.07.2011, 07:48 
Если разбивать на участки одинаковой длины, то можно применить дискретное преобразование Фурье. Реализовано во многих мат. пакетах.

 
 
 
 Re: Коэффициенты Фурье
Сообщение03.07.2011, 17:10 
Наивная мысля: сначала центрируем выборку (перемещаем центр тяжести в начало координат); затем вычисляем для каждой точки полярный угол и инкрементируем соответствующий этому углу счетчик; потом к полученному набору счетчиков (гистограмме) применяем FFT.

 
 
 
 Re: Коэффициенты Фурье
Сообщение06.07.2011, 20:21 
Circiter,

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

$f=0.1 \cos(t+0.1) + 0.2 \cos(2 t+0.2) + ... + 0.8 \cos(8 t + 0.8)$

FFT графики для нее (10 периодов по 10 тысяч точек в каждом),

Изображение

Амплитуда и частота получаются с хорошей точностью, а у фазы ошибка 3-5%. Причем, ошибка фазы зависит от числа точек на период, а амплитуды в основном от количества периодов. Но большое число точек на период я не могу брать, иначе у меня в такой маленький сектор будет попадать одна точка и получится равномерное распределение. Как тут лучше поступить?

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group