2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Разложение в ттригонометрический ряд
Сообщение11.09.2008, 15:32 


11/09/08
6
Есть покзания снятые с датчика(1024 шт) необходимо разложить в ттригонометрический ряд.Прошу подсказать как это сделать или скинуть ссылку. Также если есть возможность то можете подсказать программку для выполнения данной работы.

 Профиль  
                  
 
 
Сообщение12.09.2008, 03:14 
Заслуженный участник


11/05/08
32166
В программу Matlab специально для этого встроена функция fft ("быстрое преобразование Фурье" -- fast Fourier trasformation или что-то типа, не помню).

 Профиль  
                  
 
 
Сообщение12.09.2008, 14:05 


11/09/08
6
В этом вы правы, но она раскладывает не в тригеометрический ряд а в комплексный, а как с него перейти в тригонометрческий ряд не подскажете?

 Профиль  
                  
 
 
Сообщение12.09.2008, 14:18 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
bamper писал(а):
В этом вы правы, но она раскладывает не в тригеометрический ряд а в комплексный, а как с него перейти в тригонометрческий ряд не подскажете?
По формуле $e^{it}  = \cos t + i\sin t$

 Профиль  
                  
 
 
Сообщение12.09.2008, 14:43 


11/09/08
6
Сорри я немного не правильно выразился как перейти с комплексного в Тригонометрический ряд Фурье Изображение

 Профиль  
                  
 
 
Сообщение12.09.2008, 15:16 
Заслуженный участник


11/05/08
32166
bamper писал(а):
В этом вы правы, но она раскладывает не в тригеометрический ряд а в комплексный, а как с него перейти в тригонометрческий ряд не подскажете?

bamper писал(а):
В этом вы правы, но она раскладывает не в тригеометрический ряд а в комплексный, а как с него перейти в тригонометрческий ряд не подскажете?

Да просто сверните комплексные экспоненты в синусы и косинусы:

$$c_ke^{2\pi ikx)+c_{-k}e^{-2\pi ikx)=(c_k+c_{-k})\cos(2\pi kx)+(c_k-c_{-k})i\,\sin(2\pi kx),$$

откуда

$$a_k=c_k+c_{-k})$$ и $$b_k=i(c_k-c_{-k})$$.

С учётом периодичности коэффициентов, конечно: $c_{-k}\equiv c_{n-k}$, где $n=1024$.

Тут, правда, есть один ньюанец: при чётном количестве узлов последняя гармоника фактически не используется. Ну что ж тут поделаешь -- такая вот особенность дискретных преобразований Фурье.

 Профиль  
                  
 
 
Сообщение17.09.2008, 15:40 


11/09/08
6
Какой день уже бьюсь, но никак не выходит разложить в ряд=(
Для того чтобы разобраться взял простейшую функцию
sin(x).
x=0:0.5:2*3.1416
y=sin(x)
При помощи matlab разложил в комплексный ряд
-0,061715
0,60525 - 6,3486i
-0,12569 + 0,28599i
-0,11497 + 0,14104i
-0,11211 + 0,081619i
-0,11101 + 0,043863i
-0,1106 + 0,013925i
-0,1106 - 0,013925i
-0,11101 - 0,043863i
-0,11211 - 0,081619i
-0,11497 - 0,14104i
-0,12569 - 0,28599i
0,60525 + 6,3486i
Итак, получилось что коэффициенты таковы:
\[
\begin{gathered}
  c_1  = 6.37 \hfill \\
  c_2  = 0.312 \hfill \\
  c_3  = 0.182 \hfill \\
  c_4  = 0.1382 \hfill \\
  . \hfill \\
  . \hfill \\
  . \hfill \\
  c_{13}  = {\text{6}}{\text{,3774}} \hfill \\ 
\end{gathered} 
\]
после этого нахожу коэф-ты \[a_k\] и \[b_k\] по формулам привиденным выше:
\[
\begin{gathered}
  a_1  = c_1  + c_{ - 1}  = c_1  + c_{13 - 1}  = c_1  + c_{12}  = 6.37 + 0.31 = 6.68 \hfill \\
  b_1  = c_1  - c_{ - 1}  = c_1  - c_{13 - 1}  = c_1  - c_{12}  = 6.37 - 0.31 = 6.06 \hfill \\
  a_2  = c_2  + c_{ - 2}  = c_2  + c_{13 - 2}  = 0.49 \hfill \\
  b_2  = c_2  - c_{ - 2}  = c_2  - c_{13 - 2}  = 0.13 \hfill \\
  a_3  = 0.44 \hfill \\
  b_3  = 0.18 \hfill \\
  . \hfill \\
  . \hfill \\
  . \hfill \\
  a_{13}  = 6.31 \hfill \\
  b_{13}  = 6.43 \hfill \\ 
\end{gathered} 
\]
В итгоге получаю следующий ряд:
\[
{\text{f(x) =  - 0}}{\text{.06 + 6}}{\text{.68cos(x) + 6}}{\text{.05sin(x) + 0}}{\text{.49cos(2x) + 0}}{\text{.13sin(2x) + 0}}{\text{.44cos(3x) + 0}}{\text{.18sin(3x) + }}...{\text{6}}{\text{.31cos(13x) + 6}}{\text{.43sin(13x)}}
\]
Но данное разложение не равно \[\sin (x)\] которое было изначально. Подскажите, где допускаю ошибку.

 Профиль  
                  
 
 
Сообщение18.09.2008, 03:06 
Заслуженный участник


11/05/08
32166
Шаг 0.5 неправильный -- узлы должны быть равноотстоящими. Т.е. последний должен совпадать с правым концом (но не должен использоваться). Вы фактически раскладываете синус на промежутке от 0 до 6.5.

 Профиль  
                  
 
 
Сообщение18.09.2008, 14:57 


11/09/08
6
Попробовал поменять шаг но ничег не получилось.
\[
\begin{gathered}
  x = 0:\pi/6:2*\pi \hfill \\
  y = \sin (x) \hfill \\ 
\end{gathered} 
\]
но само значение \[\sin (x)\] при \[x = 2\pi\], как вы мне сказали не стал включать в комплексый ряд.Ряд получился таков:
\[
\begin{gathered}
  {\text{  - 0}}{\text{.0000}} \hfill \\
  {\text{ 0}}{\text{.0000  -  6}}{\text{.0000i }} \hfill \\
  {\text{ - 0}}{\text{.0000  +  0}}{\text{.0000i }} \hfill \\
  {\text{ - 0}}{\text{.0000  +  0}}{\text{.0000i }} \hfill \\
  {\text{ - 0}}{\text{.0000  +  0}}{\text{.0000i}} \hfill \\
  {\text{ - 0}}{\text{.0000  +  0}}{\text{.0000i}} \hfill \\
  {\text{   - 0}}{\text{.0000 }} \hfill \\
  {\text{  - 0}}{\text{.0000  -  0}}{\text{.0000i }} \hfill \\
  {\text{ - 0}}{\text{.0000  -  0}}{\text{.0000i }} \hfill \\
  {\text{ - 0}}{\text{.0000  -  0}}{\text{.0000i}} \hfill \\
  {\text{  - 0}}{\text{.0000  -  0}}{\text{.0000i }} \hfill \\
  {\text{ 0}}{\text{.0000  +  6}}{\text{.0000i}} \hfill \\ 
\end{gathered} 
\]
коэф-ты получаются следующие:
\[
\begin{gathered}
  {\text{a}}_{\text{1}} {\text{ = a}}_{{\text{11}}} {\text{ = c}}_{\text{1}} {\text{ + c}}_{{\text{12 - 1}}} {\text{ = c}}_{\text{1}} {\text{ + c}}_{{\text{11}}} {\text{ = 6 + 6 = 12}} \hfill \\
  {\text{a}}_{\text{2}}^{} {\text{ = a}}_{\text{3}} {\text{ = }}...{\text{ = a}}_{{\text{10}}} {\text{ = 0}} \hfill \\
  b_1  = b_2  = ... = b_{11}  = 0 \hfill \\ 
\end{gathered} 
\]
\[
f(x) = 12\cos x + 12\cos (12*x)
\]
И опять выходит что полученная функуция не равняется исходной.

 Профиль  
                  
 
 
Сообщение18.09.2008, 17:42 
Заслуженный участник


11/05/08
32166
ну, положим, у Вас получается всё же не косинус икса, а именно синус -- при вычитании цэ первого и одиннадцатого. Двенадцатой гармоники в этом разложении вообще нет как класса (максимум пятая, и ещё половинка шестой -- половинка в том смысле, что она комплексная, стандартная неприятность ДПФ при разложении по чётному количеству узлов). Что же до того, почему получается не один синус, а двенадцать -- ничего сказать не могу, надо смотреть по хелпу точный синтаксис команды fft, я нюансов не помню, а Матлаба здесь у меня при себе нет (т.е. дистрибутив-то есть, да разворачивать -- жаба душит, и по времени, и винчестер не шибко велик).

 Профиль  
                  
 
 
Сообщение18.09.2008, 17:46 


11/09/08
6
Все равно большое спасибо

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group