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

1 просмотр

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

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

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

а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
Вот например простой пример, как получить стоимость хешрейта монеты монеро с сайта whattomine.com c использование сеарилизатора при парсинге JSON TaskProfit := TTask.Run(proc...
Delphi Coder
2
ну так че, сделать програмулину, в которую можно добавлять в Едиты свои строчки кода(закладки) а потом по ним прыгать. ну и сохраняться они естественно будут той програмуленно...
Kraszx
15
Приветствую всех!)) Подскажите, а кто мог бы написать на делфи движок (самую базу) интерпретатора очень легковесного и минималистичного языка программирования? Язык - проце...
Моринаро
8
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
#include <stdlib.h> #include <stdio.h> #include <math.h> #include <assert.h> #include <limits.h> long long avg3(long long a, long long b, long long c) { if (a == b && b =...
Malformed C
4
Карта сайта