169 похожих чатов

Каким способом или матричным методом можно аппроксимировать коэффициенты смеси сигнала

и тренда (полинома n-й степени)? Мне нужно по множеству синхронных реализаций отделить одинаковый паттерн сигнала от медленно меняющегося тренда.
using Plots
using Random
Random.seed!(0)

gaus_impulse(x, μ, σ) = exp(-(((x - μ)/σ)^2) / 2)/ (σ * sqrt(2π))

function generate_poly(x, coeffs)
broadcast(x) do xi
sum(c * xi^(i-1) for (i, c) in enumerate(coeffs))
end
end

x = -100:100
x0 = 15
width = 10
g = gaus_impulse.(x, x0, width) .* 25

plot(x, g)

p = generate_poly(x, [1, -0.01, 0.0002])
plot!(x, p .+ g .* 1.5)

p = generate_poly(x, [2, 0.02, -0.0001])
plot!(x, p .+ g .* 1.0)

p = generate_poly(x, [3, -0.02, 0.00001])
plot!(x, p .+ g .* 0.6)

p = generate_poly(x, [4, 0.01, 0.00001])
plot!(x, p .+ g .* 0.8)

13 ответов

17 просмотров

Вот такое нашлось. По сути, метод наименьших квадратов, как я понял https://habr.com/ru/articles/448848/

Сигнал периодический?

Viktor-G. Автор вопроса
Alexandr Svetlichnyi
Сигнал периодический?

Нет, сигнал нелинейный, тренд нелинейный

Viktor G.
Нет, сигнал нелинейный, тренд нелинейный

Периодический линейным и не бывает

Viktor-G. Автор вопроса
Alexandr Svetlichnyi
Периодический линейным и не бывает

Сам паттерн сложной формы, но он повторяется, поэтому можно синхронизировать участки по корреляциям, применив грубые ВЧ-фильтры.

Viktor G.
Сам паттерн сложной формы, но он повторяется, поэт...

Я бы просто скользящее окно по периоду сделал бы, а потом продифференцировал бы, чтобы получить тренд

Viktor-G. Автор вопроса
Artem Korzhimanov
Вот такое нашлось. По сути, метод наименьших квадр...

Это не прокатит, т.к. у сигнала (импульса) среднее не нулевое.

Viktor-G. Автор вопроса
Artem Korzhimanov
Вот такое нашлось. По сути, метод наименьших квадр...

Ну разве что одну из функций задать как среднее значение всех реализаций, и итеративно пересчитывать после вычитания аппроксимации тренда.

Viktor G.
Сам паттерн сложной формы, но он повторяется, поэт...

Может вейвлеты применить? Была популярная тема, лет 15 назад.

Можно попробовать вот этот метод https://ru.wikipedia.org/wiki/Empirical_Mode_Decomposition как делают в https://ieeexplore.ieee.org/document/9691539 или гибридные медианные КИХ-фильтры как делают авторы http://rt.nure.ua/article/view/246466

Может быть, надо усреднять в пределах скользящего окна - это будет текущее среднее, т.е. тренд

Сигналы в каналах наблюдения как отличаются? У них есть высокая,взаимосвязь?

Viktor G.
Сам паттерн сложной формы, но он повторяется, поэт...

P-splines или GAM , соответствующим базисом не пробовали? https://en.m.wikipedia.org/wiki/Generalized_additive_model

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта