2014 dxdy logo

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

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




На страницу Пред.  1, 2
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 22:22 
Аватара пользователя
Ещё один совет. Метод Прони всегда выдаст Вам столько гармонических составляющих, сколько Вы «попросите». При этом, если реально в сигнале их, скажем, 10, а Вы будете искать 20 — это не страшно, «лишние» можно распознать и отсеять по очень малым амплитудам. Но если, наоборот, их там 20, а Вы ищете 10 — это приводит к ошибкам, говорю по опыту. Конкуренция между синусоидами примерно одной амплитуды за попадание в список ни к чему хорошему не приводит.

Вывод: если даже Вам нужна только одна гармоника, но Вы подозреваете, что другие гармонические составляющие в сигнале есть, то лучше заказать побольше, а потом оставить ту, у которой максимальная амплитуда, чем искать одну, а всё остальное считать шумом. К сожалению, это уже потребует применения метода Прони в полном объёме — см. книгу Марпла-младшего.

 
 
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 22:56 
Аватара пользователя
Можно ещё предварительно спектр посчитать, Фурье. Увидеть, есть ли пики в спектре, кроме искомого.

 
 
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 23:22 
Цитата:
Вывод: если даже Вам нужна только одна гармоника, но Вы подозреваете, что другие гармонические составляющие в сигнале есть, то лучше заказать побольше, а потом оставить ту, у которой максимальная амплитуда, чем искать одну, а всё остальное считать шумом. К сожалению, это уже потребует применения метода Прони в полном объёме — см. книгу Марпла-младшего.

Да, в исходном сигнале конечно же может (и будет) большое количество кратных гармоник с меньшими амплитудами. Изначально пробовал Фурье, потом Герцеля, но наблюдалось растекание спектра:
Цитата:
искомая частота может не попасть на "зуб гребёнки частот"

Частота основной гармоники приблизительно известна (но она медленно плавает в небольших пределах).

Суть задумки в том, чтобы "быстро" (скажем на основании отcчетов за четверть периода) определять амплитуду основной гармоники, пересчитывая ее на каждом новом отсчете и определять разность между выделенной гармоникой и исходным сигналом. При этом "медленно" следить и за частотой, корректируя по ней выделение основной гармоники.

Читаю Марпла, но думаю будут еще вопросы.
Спасибо.

 
 
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 23:32 
Аватара пользователя
А сколько примерно у Вас отсчётов на период (или сколько на четверть)?

 
 
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 23:51 
А данные возможно выложить?
Терзают меня смутные сомнения, что COUENNE сама найдет оптимальное решение за несколько секунд без подсказок.

 
 
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение20.05.2015, 00:05 
Цитата:
А сколько примерно у Вас отсчётов на период (или сколько на четверть)?


Частота дискретизации будет зависеть в итоге от сложности вычислений, но изначально планировал порядка 250 отсчетов за четверть периода.

 
 
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение20.05.2015, 01:11 
Аватара пользователя
Есть такая опасность. Посмотрите на картинку.
Изображение
Значения, измеренные за четверть периода (красные точки), на самом деле соответствуют зелёной синусоиде (с небольшим аддитивным шумом). Но они не хуже ложатся и на синюю синусоиду, у которой частота в полтора раза меньше.

Место такое неудачное есть у синусоиды, участок почти прямого подъема или спуска, где вторая производная близка к нулю. Там возможны большие погрешности в определении частоты. Поэтому я думаю, что четверть периода — это маловато.

 
 
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение20.05.2015, 08:25 
Частота основной гармоники не может меняться скачкообразно, поэтому ее буду считать "медленно", например на основании отсчетов за целый период, а амплитуду "быстро" - по данным за четверть периода (уточняя частотой определение амплитуды).

Если конечно на все это хватит мощностей, в чем есть сомнения.

 
 
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение20.05.2015, 08:36 
Аватара пользователя
А не лучше ли тут, ввиду переменности частоты, использовать нечто вроде автоподстройки частоты и автоматической регулировки усиления? Куда-то в сторону алгоритмов из теории электросвязи порыть?

 
 
 [ Сообщений: 24 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group