2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1 ... 3, 4, 5, 6, 7  След.
 
 Re: Рекуррентная формула для синуса
Сообщение16.04.2013, 08:45 
Заслуженный участник
Аватара пользователя


11/03/08
6186
Москва
Вот тут пример, на скорую руку смоделированый на Экселе:
http://yadi.sk/d/ug3Xjx_m458M8

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение16.04.2013, 09:37 


11/04/13
14
Евгений Машеров в сообщении #710657 писал(а):
будет кажущееся падение амплитуды ...

Оно не связано с частотой дискретизации. Это принципиальная погрешность.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение16.04.2013, 09:57 
Заслуженный участник
Аватара пользователя


11/03/08
6186
Москва
Я имею в виду следующий эффект:
при частоте сигнала $\omega/2$, где $\omega$ - частота дискретизации, существует вероятность того, что отсчёты будут приходиться на пересечения нуля, и "видимая амплитуда" будет нулевой, как и вероятность, что отсчёты придутся на минимумы и максимумы, и кажущаяся амплитуда будет равна номинальной. Если же рассматривать среднюю амплитуду со случайным выбором фазового сдвига, то снижение составит $\frac 2 \pi=0.6366$
При меньшей частоте сигнала будут наблюдаться перемежающиеся колебания кажущейся амплитуды

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение16.04.2013, 17:42 
Заслуженный участник
Аватара пользователя


11/03/08
6186
Москва
Вообще, таким образом можно сделать изменение частоты по любому желаемому полиному. Ценой двух ячеек памяти, четырёх умножений и двух сложений на степень.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение18.04.2013, 10:43 


11/04/13
14
Евгений Машеров в сообщении #710900 писал(а):
Вот тут пример, на скорую руку смоделированый на Экселе:
http://yadi.sk/d/ug3Xjx_m458M8

Сегодня-завтра внимательно изучу. Сейчас - острейший цейтнот.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение18.04.2013, 11:44 
Заслуженный участник
Аватара пользователя


11/03/08
6186
Москва
В общем, там можно поиграться с начальной фазой, начальной частотой и дрейфом частоты.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение18.04.2013, 23:14 


11/04/13
14
Евгений Машеров
Поиграюсь завтра. А сегодня воспроизвёл в маткаде Ваши формулы. Большое спасибо. Очень похоже на правду.
Сделал принтскрин, но пока не разузнал, как тут файлы размещать.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение19.04.2013, 07:40 
Заслуженный участник
Аватара пользователя


11/03/08
6186
Москва
Выкладывать на любой файлохостинг, а потом давать ссылку, окружённую тегами IMG.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение19.04.2013, 15:55 


11/04/13
14
Евгений Машеров
Если качать частоту от 20Гц до 20000 увеличивая частоту линейно, то получается время развёртки 6,9 секунд. Да и не информативно на частотах около 20кГц прибавлять частоту по единичке. Короче, вернулся к идее изменения частоты по экспоненте.

Принтскрин http://files.mail.ru/D3FC3A652F474C018C7B905E19DBCCA2?t=1

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение19.04.2013, 20:28 
Модератор
Аватара пользователя


16/02/11
3672
Бурашево
Изображение

Я тоже вслед за вами рассматриваю сигнал $$y(t)=\cos(\omega_0 t+kt^2).$$ Соответствующий дискретный сигнал $$y_n=\cos(\omega_0 nT+k(nT)^2)=\cos((\omega_0T+kTnT)n)=\cos((\omega_0T+n\Delta\omega T)n)=\cos(n\omega),$$ где $\Delta\omega=kT,\omega=\omega_0T+n\Delta\omega T$.
Общее рекуррентное выражение для косинуса $$x_n=\cos(\omega n+\varphi)$: $$x_n=2\cos(\omega)x_{n-1}-x_{n-2},$$ $$x_0=\cos(\varphi),$$ $$x_1=-\cos(\omega-\varphi)+2\cos(\omega)\cos(\varphi).$$ Будем нечестно считать $\omega$ постоянной и для рассматриваемого сигнала запишем: $$y_n=2\cos(\omega)y_{n-1}-y_{n-2},$$ $$y_0=1,$$ $$y_1=\cos(\omega).$$ Теперь вспомним, что $\omega$ переменна и рекуррентное выражение перепишем в виде: $$y_n=2K_ny_{n-1}-y_{n-2},$$ где $K_n=\cos(\omega)=\cos(\omega_0T+n\Delta\omega T)=\cos(\omega'n+\varphi')$, $\omega'=\Delta\omega T$,$\varphi'=\omega_0T$.
Для последовательности $K_n$ можем записать: $$K_n=2\cos(\omega')K_{n-1}-K_{n-2}=2\cos(\Delta\omega T)K_{n-1}-K_{n-2},$$ $$K_0=\cos(\varphi')=\cos(\omega_0T),$$ $$K_1=-\cos(\omega'-\varphi')+2\cos(\omega')\cos(\varphi')=-\cos(\Delta\omega T-\omega_0T)+2\cos(\Delta\omega T)\cos(\omega_0T).$$ Полученная таким образом последовательность $y_n$ показана на рисунке синим цветом. Да - происходит убывание амплитуды.

Теперь рассматриваем другой способ. Сигнал представим как действительную часть комплексного сигнала $$z(t)=e^{j(\omega_0t+kt^2)}.$$ Соответствующий дискретный сигнал $$z_n=e^{j(\omega_0 nT+k(nT)^2)}=e^{j(\omega_0T+kTnT)n}=e^{j(\omega_0T+n\Delta\omega T)n}=e^{jn\omega}.$$ Рекурентное выражение $$z_n=z_{n-1}e^{j\omega},z_0=1.$$ Вводя изменение частоты, запишем $$z_n=z_{n-1}p_n,$$ где $p_n=e^{j\omega}=e^{j(\omega_0T+n\Delta\omega T)}=e^{j\omega_0T}e^{jn\Delta\omega T}$ даётся рекурсией $p_n=p_{n-1}e^{j\Delta\omega T}$, $p_0=e^{j\omega_0T}$
Последовательность $x_n=\operatorname{Re}z_n$ показана на рисунке красным цветом.
А вот чёрным цветом на рисунке показан график сигнала $$y(t)=\cos\left(\omega_0 t+\frac{kt^2}{2}\right).$$ Почему совпадение при $\frac{kt^2}{2}$ - для меня так и осталось загадкой. Графики построены при $\omega_0T=\frac{\pi}{50},\Delta\omega T=0,01\omega_0T$ Файл маткада здесь: http://zalil.ru/34451959 и будет хранится в течение 10 дней после последнего скачивания.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение20.04.2013, 08:26 
Модератор
Аватара пользователя


16/02/11
3672
Бурашево
profrotter в сообщении #712886 писал(а):
Почему совпадение при - для меня так и осталось загадкой.
Понял в чём фокус. Следует рассматривать мгновенную частоту $\omega=\frac{d}{dt}\omega_0t+kt^2=\omega_0+2kt$. После дискретизации $\Delta\omega=2kT$ - приращение частоты за период дискретизации.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение21.04.2013, 12:48 


11/04/13
14
profrotter
Полученная таким образом последовательность показана на рисунке синим цветом. Да - происходит убывание амплитуды.
Странно. Задал частоту дискретизации в 100 раз выше - ничего не изменилось... Что-то упустили.

Возможно, погрешность выползает в приближении:
Будем нечестно считать постоянной и для рассматриваемого сигнала запишем

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение21.04.2013, 12:53 
Модератор
Аватара пользователя


16/02/11
3672
Бурашево
Dimqin в сообщении #713549 писал(а):
Возможно, погрешность выползает в приближении:
Будем нечестно считать постоянной и для рассматриваемого сигнала запишем
Не без этого. Но дело в том, что это допущение имеет место и в первом и втором способе (а именно второй реализовал Евгений Машеров в Exel), но убывание амплитуды имеем только в первом.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение21.04.2013, 13:14 


11/04/13
14
Что такое ряд? Это упрощённое представление непрерывной функции в нашем случае: бесконечно малое приращение мы подменяем реальным дискретным. Коэффициент связи 2 $\cos(\omega)$ мы запросто меняем по ходу. А вот как быть со стартовым значением $\sin(\omega)$, где аргумент синуса - мгновенная частота... Мы ломаем производную. Потому и возникает уход амплитуды.

 Профиль  
                  
 
 Re: Рекуррентная формула для синуса
Сообщение21.04.2013, 14:16 


11/04/13
14
Однако, перхожу на частоту $y(t)=sin((w_0+e^{kt$})t)$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 95 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7  След.

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



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

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


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

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