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

Простейшие вопросы в области инженерной разработки

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

Postby dakishi on 26 Mar 2020, 16:08

Добрый день!

Проблема в следующем.
Вывожу с 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-ю версию пока оставил на компьютере.
Attachments
Capture.JPG
Untitled 1.vi
(18.51 KiB) Downloaded 7 times
dakishi
user
user
 
Posts: 86
Joined: 05 Sep 2019, 21:01
LabVIEW Version: 2019
Karma: 0

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

Postby Artem.spb on 26 Mar 2020, 22:22

[quote=="dakishi"]Может я конечно сделал что то не так (хотя, вроде всё правильно). Единственное, что изменилось - я поставил на компьютер labview 2019 - до того был 2018. При этом 2018-ю версию пока оставил на компьютере.[/quote]
определённо не так:
писать в профиле, что версия 16, а выкладывать в 19 - неразумно. Далеко не все гонятся за новинками
Artem.spb
expert
expert
 
Posts: 1755
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 270
CLD hardware I/O VIP freelance

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

Postby Artem.spb on 26 Mar 2020, 22:29

[quote=="dakishi"]Обнаруживаю, что период синуса у оригинала немного плывет (см. рис, белая кривая) в сторону увеличения.[/quote]
С синусом всё в порядке, у вас оригинальный (и не правильный) способ вычислять X, практически числа Фибоначчи. Потому всё и плывёт
wave.PNG
Artem.spb
expert
expert
 
Posts: 1755
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 270
CLD hardware I/O VIP freelance

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

Postby dakishi on 27 Mar 2020, 09:51

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

Извините, забыл. А почему числа Фибоначчи - шаг по времени же задан в сигнале ? Как это запихнуть тогда именно в XY Graph ?
Last edited by dakishi on 27 Mar 2020, 10:02, edited 2 times in total.
dakishi
user
user
 
Posts: 86
Joined: 05 Sep 2019, 21:01
LabVIEW Version: 2019
Karma: 0

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

Postby dakishi on 27 Mar 2020, 09:55

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

Y returns the data values of the waveform.
dakishi
user
user
 
Posts: 86
Joined: 05 Sep 2019, 21:01
LabVIEW Version: 2019
Karma: 0

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

Postby Artem.spb on 28 Mar 2020, 00:07

[quote=="dakishi"] А почему числа Фибоначчи - шаг по времени же задан в сигнале ? Как это запихнуть тогда именно в XY Graph ?[/quote]
Потому что надо использовать ИЛИ умножение, ИЛИ суммирование, а не и то и другое (как у вас)
x.png
x.png (8.13 KiB) Viewed 109 times

Попробуйте нарисовать ваши Х на графике, сразу стане понятно, что там не прямая.
Artem.spb
expert
expert
 
Posts: 1755
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 270
CLD hardware I/O VIP freelance

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

Postby dakishi on 28 Mar 2020, 13:46

[quote=="Artem.spb"][quote==="dakishi"] А почему числа Фибоначчи - шаг по времени же задан в сигнале ? Как это запихнуть тогда именно в XY Graph ?[/quote]
Потому что надо использовать ИЛИ умножение, ИЛИ суммирование, а не и то и другое (как у вас)
Untitled 1.vi
(13.55 KiB) Downloaded 2 times

Попробуйте нарисовать ваши Х на графике, сразу стане понятно, что там не прямая.[/quote]

Увидел сумму, спасибо.

Это VI в 2016 и картинка, если кто то будет скачивать (в отдельное сообщение не крепится). Ошибок теперь вроде нет, параметры аппроксимации те же что и у базового синуса - однако результат совершенно отличен от синуса.
Attachments
Problem appriximation.JPG
dakishi
user
user
 
Posts: 86
Joined: 05 Sep 2019, 21:01
LabVIEW Version: 2019
Karma: 0


Return to Для чайников

Who is online

Users browsing this forum: No registered users and 3 guests

cron