2014 dxdy logo

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

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




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


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

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


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

 Профиль  
                  
 
 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
9904
Москва
В общем, там можно поиграться с начальной фазой, начальной частотой и дрейфом частоты.

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


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

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


11/03/08
9904
Москва
Выкладывать на любой файлохостинг, а потом давать ссылку, окружённую тегами 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
3788
Бурашево
Изображение

Я тоже вслед за вами рассматриваю сигнал $$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
3788
Бурашево
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
3788
Бурашево
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  След.

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



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

Сейчас этот форум просматривают: YandexBot [bot]


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

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