Плохая синусоида с waveform и плохой curve fit

Простейшие вопросы в области инженерной разработки
Ответить
dakishi
assistant
assistant
Сообщения: 120
Зарегистрирован: 05 сен 2019, 21:01
Версия LabVIEW: 2019
Контактная информация:

Плохая синусоида с waveform и плохой curve fit

Сообщение dakishi »

Добрый день!

Проблема в следующем.
Вывожу с Basic Function Generator синусоиду, подаю на XY Graph без фиттинга и после Nonlinear curve fit.
Обнаруживаю, что период синуса у оригинала немного плывет (см. рис, белая кривая) в сторону увеличения, а Nonlinear curve fit (красная кривая) не может подобрать параметры фита - фитовая частота в районе 1 (на оригинале было 1, 10, 20, 30 - без разницы), амплитуда очень маленькая. При этом Tolerance 10E-8 - т.е. он не должен выдавать результат с такими большими (на порядки установленного) отклонениями от точек оригинала, как я понимаю, ведь это Tolerance и определяет.

При этом, фиту в качестве начальных параметров я подавал также данные, точно соответствующие начальным данным базового синуса. (на рисунке стоит а2 = 1, а не 10 просто).

*Аналогичный результат получен, если использовать "хороший" синус из математических функций - программа точно такая же, просто генератор синуса заменил на цикл с мат. функцией. Фит тоже не работает - график примерно тот же.


Почему
1) Базовый синус так себя ведёт ?
2) Все же это синус визуально (допустим, зашумленный) - почему фит совсем не помогает ?
2)* Почему он не помогает даже в случае "хорошего синуса" ?
3) Почему фит вообще выдает такие результаты при Tolerance 10E-8 ?

PS. До этого похожие коды (на базе такого, и на базе интерактивного curve fit - с окошком который - та же синусоида фитилась 1 в 1 при этих параметрах) - работали. Может я конечно сделал что то не так (хотя, вроде всё правильно). Единственное, что изменилось - я поставил на компьютер labview 2019 - до того был 2018. При этом 2018-ю версию пока оставил на компьютере.
Вложения
Capture.JPG
Untitled 1.vi
(18.51 КБ) 102 скачивания
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Плохая синусоида с waveform и плохой curve fit

Сообщение Artem.spb »

dakishi писал(а):Может я конечно сделал что то не так (хотя, вроде всё правильно). Единственное, что изменилось - я поставил на компьютер labview 2019 - до того был 2018. При этом 2018-ю версию пока оставил на компьютере.
определённо не так:
писать в профиле, что версия 16, а выкладывать в 19 - неразумно. Далеко не все гонятся за новинками
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Плохая синусоида с waveform и плохой curve fit

Сообщение Artem.spb »

dakishi писал(а):Обнаруживаю, что период синуса у оригинала немного плывет (см. рис, белая кривая) в сторону увеличения.
С синусом всё в порядке, у вас оригинальный (и не правильный) способ вычислять X, практически числа Фибоначчи. Потому всё и плывёт
wave.PNG
dakishi
assistant
assistant
Сообщения: 120
Зарегистрирован: 05 сен 2019, 21:01
Версия LabVIEW: 2019
Контактная информация:

Re: Плохая синусоида с waveform и плохой curve fit

Сообщение dakishi »

Artem.spb писал(а):определённо не так:
писать в профиле, что версия 16, а выкладывать в 19 - неразумно. Далеко не все гонятся за новинками
Извините, забыл. А почему числа Фибоначчи - шаг по времени же задан в сигнале ? Как это запихнуть тогда именно в XY Graph ?
Последний раз редактировалось dakishi 27 мар 2020, 10:02, всего редактировалось 2 раза.
dakishi
assistant
assistant
Сообщения: 120
Зарегистрирован: 05 сен 2019, 21:01
Версия LabVIEW: 2019
Контактная информация:

Re: Плохая синусоида с waveform и плохой curve fit

Сообщение dakishi »

dt returns the time interval in seconds between data points in the waveform.

Y returns the data values of the waveform.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Плохая синусоида с waveform и плохой curve fit

Сообщение Artem.spb »

dakishi писал(а): А почему числа Фибоначчи - шаг по времени же задан в сигнале ? Как это запихнуть тогда именно в XY Graph ?
Потому что надо использовать ИЛИ умножение, ИЛИ суммирование, а не и то и другое (как у вас)
x.png
x.png (8.13 КБ) 2391 просмотр
Попробуйте нарисовать ваши Х на графике, сразу стане понятно, что там не прямая.
dakishi
assistant
assistant
Сообщения: 120
Зарегистрирован: 05 сен 2019, 21:01
Версия LabVIEW: 2019
Контактная информация:

Re: Плохая синусоида с waveform и плохой curve fit

Сообщение dakishi »

Artem.spb писал(а): Потому что надо использовать ИЛИ умножение, ИЛИ суммирование, а не и то и другое (как у вас)
Untitled 1.vi
(13.55 КБ) 117 скачиваний
Попробуйте нарисовать ваши Х на графике, сразу стане понятно, что там не прямая.
Увидел сумму, спасибо.

Это VI в 2016 и картинка, если кто то будет скачивать (в отдельное сообщение не крепится). Ошибок теперь вроде нет, параметры аппроксимации те же что и у базового синуса - однако результат совершенно отличен от синуса.
Вложения
Problem appriximation.JPG
Ответить

Вернуться в «Для чайников»