powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / подскажите алгоритм определения амплитуды синусоиды
16 сообщений из 16, страница 1 из 1
подскажите алгоритм определения амплитуды синусоиды
    #34092236
Пользователь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
---
есть напряжение U(t)=Uo*sin(t/Т+Ф)+U1 (Т - период, Ф - фаза))
после дискретизации - имеем N измерений U в течении периода:
Un=U(t=n*T/N)
-------
собственно вопрос:
- как определить Uo, U1 и Ф - используя M измеренных точек [Un,..U(n+M)] (обязательно используя все точки)
- желателен рекурсивный алгоритм:
когда известны значения Uo,U1 и Ф (определенные по точкам [Un,..U(n+M)]) - как определить Uo,U1 и Ф при добавлении еще одной точки U(n+M+1)
(используя при расчетах только предыдущие Uo,U1 и Ф и новую точку U(n+M+1) )
-----------
Где подобные алгоритмы описаны?
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34092410
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем измерять еще M точек, если первых N уже достаточно?
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34092412
zz118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пахнет Фурье
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34092720
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне видится два варианта:
Простой: если измерения можно считать точными (погрешностью можно пренебречь), то достаточно всего лишь 3-х точек! Просто составляешь систему из трёх уравнений и решаешь её.
Сложный: если измерения выполнены с погрешностью, то мы приходим к весьма популярному методу наименьших квадратов! Где про него читать спроси у гугля:)

I Live Again!

P.S.: а Фурье тут совсем не пахнет:)
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34092734
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Впрочем как и методом наименьших квадратов.. Зависимость то никак не линейная.
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34092739
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mysterioЗависимость то никак не линейная.Я заметил, что нелинейная:) Только как это мешает применению МНК?
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34095589
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я заметил, что нелинейная:) Только как это мешает применению МНК?

Спасибо, хорошая шутка в начале рабочего дня весчь незаменимая. И ведь действительно, чёрт побери, формально ничего не мешает! Если точек будет достаточно много и они будут браться на синусоиде произвольным образом, я даже сразу риску предсказать результат применения МНК в таком случае: y(x) = 0 :-))))
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34096011
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhail_nСпасибо, хорошая шутка в начале рабочего дня весчь незаменимая.Совершенно с Вами согласен!
mikhail_nИ ведь действительно, чёрт побери, формально ничего не мешает! Если точек будет достаточно много и они будут браться на синусоиде произвольным образом, я даже сразу риску предсказать результат применения МНК в таком случае: y(x) = 0 :-))))Согласно слов автора:
авторесть напряжение U(t)=Uo*sin(t/Т+Ф)+U1 (Т - период, Ф - фаза))
после дискретизации - имеем N измерений U в течении периодавырисовывается примероно следующая картинка:
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34096012
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhail_n...я даже сразу риску предсказать результат применения МНК в таком случае: y(x) = 0 :-))))Если Вы рискуете предсказать, что по МНК получиться, наилучшим описанием всех этих точек на картинке является y(x) = 0, то Вы, Сударь, большой шутник
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34098662
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ok, my bad. y(x) = U1 получится, что для определения U0 и Ф имеет такую же ценность как и y(x) = 0.
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34099137
Пользователь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AsPiroМне видится два варианта:

А кто сталкивался с синхронными фазовыми детекторами?
Эту штуку U(t)=Uo*sin(t/Т+Ф)
можно представить как сумму Uo*A*sin(t/T)+Uo*B*cos(t/T)
A=cos(Ф), B=sin(Ф)
---------
и тогда если умножить U(t)
на эталонные sin(t/T) и cos(t/T) (относительно которых и определяем фазу Ф)
и каждое произведение проинтегрировать за время n*T (n - целое)
то вроде мы получим все что хотим
----------
С этим кто нибудь знаком?
(в смысле это будет работать?)
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34099142
Пользователь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПользовательU(t)=Uo*sin(t/Т+Ф)

тут где то 2*пи пропущено:sin(2*пи*t/Т+Ф)
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34099369
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь ПользовательU(t)=Uo*sin(t/Т+Ф)

тут где то 2*пи пропущено:sin(2*пи*t/Т+Ф)Я сразу догадался:)
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34099372
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhail_nOk, my bad. y(x) = U1 получится, что для определения U0 и Ф имеет такую же ценность как и y(x) = 0.Жжоте уважаемый! Такое может получиться если метод решения полученной по МНК системы уравнений разойдётся!
Я не поленился и накидал простенький вариант решения задачки автора.
Надеюсь у Вас MathCAD (от ver 6.0 и старше) найдётся под рукой...
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34102334
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жжоте уважаемый! Такое может получиться если метод решения полученной по МНК системы уравнений разойдётся!

Нет, такое может получится если неизвестная кривая представленная набором точек аппроксимируется прямой линией, что не противоречит МНК и является одним из его вариантов.

Я не поленился и накидал простенький вариант решения задачки автора.
Надеюсь у Вас MathCAD (от ver 6.0 и старше) найдётся под рукой...

Нет, уважаемый, не найдётся, я не инженер и этой штукой не пользуюсь. Я не знаю что именно реализовано в MathCAD, но классический МНК, по крайней мере как он описан в любом учебнике по вычматам аппроксимирует неизвестную кривую полиномом n-ой степени, где n может быть и 1. Если лично Вы не видите проблем с аппроксимацией периодической функции функцией непериодической - это Ваш выбор. За неимением софта не могу открыть Ваш файл, однако подозреваю что Вы там взяли либо полпериода или только один полный период синусоиды. Попробуйте периодов ну скажем 30 - 40. Должно быть интересно.
...
Рейтинг: 0 / 0
подскажите алгоритм определения амплитуды синусоиды
    #34102594
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhail_nНет, уважаемый, не найдётся, я не инженер и этой штукой не пользуюсь.Будем надеяться, что у автора топика и других заинтересованных лиц найдётся...

mikhail_nЯ не знаю что именно реализовано в MathCAD, но классический МНК, по крайней мере как он описан в любом учебнике по вычматам аппроксимирует неизвестную кривую полиномом n-ой степени, где n может быть и 1."Класический" МНК обычно применяется когда неизвестен аналитический вид искомой зависимости. Типа: провели эксперимент, намерили кучу точек, а на какую кривую (синусоиду, экспоненту, гиперболу...) они должны лечь мы не знаем! Когда по каким-либо соображениям вид зависимости известен, то...
У меня тоже нет под рукой "любого" учебника вычмата, но на этом весьма авторитетном сайте рассказано как применять МНК в случае неполиномиальных зависимостей.

mikhail_nЕсли лично Вы не видите проблем с аппроксимацией периодической функции функцией непериодической - это Ваш выбор.Это не только мой выбор - это "выбор профессионалов" (с)
На том же авторитеном сайте показан пример для функции содержащей cos(x)
Единственной проблемой здесь является то, что полученные нелинейные системы уравнений иногда трудно решить...

mikhail_nЗа неимением софта не могу открыть Ваш файл, однако подозреваю что Вы там взяли либо полпериода или только один полный период синусоиды.
Именно так и сделал! Это проистекает из условия задачи:
авторимеем N измерений U в течении периода
mikhail_nПопробуйте периодов ну скажем 30 - 40. Должно быть интересно.Попробовал - при правильном выборе начальных приближений система решается! Если кому интересно могу выложить MathCAD-ий файл с соответствующими изменениями.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / подскажите алгоритм определения амплитуды синусоиды
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]