Как минимизировать функцию ошибок, включая только измеренные сигналы в MatLab? - PullRequest
0 голосов
/ 20 февраля 2019

Я хотел бы использовать оптимизацию для следующей задачи.

У меня есть измеренный опорный сигнал, давайте назовем его RefSignal, который представляет собой массив двойных чисел.Кроме того, у меня есть массив с экспериментальными данными, давайте назовем это ExpSignal.Из теории я знаю, что сумма двух разных сдвинутых RefSignal приводит к ExpSignal.Refsignal и ExpSignal одинаково длинные.Я хотел бы добиться оптимизации алгоритма, который минимизирует функцию ошибки:

ErrFunc=ExpSignal-param(1).*(circshift(RefSignal,-param(2))+circshift(RefSignal,param(2)))

Принимая во внимание, что параметр включает параметр оптимизации namley param (1) амплитуду и параметр (2) самого сдвига.

Я добился определенных результатов, используя fminsearch, который нуждается в теоретической функции RefSignal.Однако экспериментальные данные не являются идеальными, поэтому я хотел бы использовать измеренный RefSignal.Он работает вручную, изменяя каждый параметр индивидуально, но я хотел бы автоматизировать весь процесс.

Как я могу минимизировать функцию ошибки, когда выдаются только дискретные сигналы?Будем благодарны за любые подсказки и предложения.

Я приложил использованные данные и результат, которого я достиг, вручную.https://www.dropbox.com/sh/alqehlczws5inx3/AABd8FzDRKRyOcSz54ZYi7XDa?dl=0

...