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 ответов

10 просмотров

Вот такое нашлось. По сути, метод наименьших квадратов, как я понял 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

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта