LINUX.ORG.RU
ФорумTalks

Signal processing для нубов

 ,


2

3

Здравствуйте, я Axon, и я нуб в обработке сигналов.

И это начинает меня угнетать.
Вот есть у меня данные такого вида: http://i.imgur.com/qi6sRli.png
И знаете, что? Я не умею с ними работать, а мне надо. Поиск базовой линии, поиск локальных экстремумов, отбор событий по критерию схожести с шаблоном - это всё то, к чему я не знаю с какой стороны подойти. Ещё хочется как-нибудь причесать шум на базовой линии, не затронув при этом пики (в идеале, вообще никак). Какие техники для всего этого обычно используются? Что про них почитать с максимально низким отношением матана к практическим советам? Помоги отеческим советом, научно-инженерный ЛОР.

★★★★★

Последнее исправление: Axon (всего исправлений: 1)

отбор событий по критерию схожести с шаблоном

Спектральные преобразования, корреляционный анализ.

Sadler ★★★
()
Ответ на: комментарий от alegz

Там всё заточено под другие типы сигналов, судя по всему. И нет ни слова про всякие вейвлет-преобразования и интерполяцию сплайнами, а её я даже уже слегка поюзал.

Axon ★★★★★
() автор топика
Ответ на: комментарий от mentalmenza

Спасибо, посмотрю.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

Для детектирования пиков в данном конкретном случае детектор пишется в 2 строчки же, зачем там вейвлеты и интерполяция?

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 1)
Ответ на: комментарий от theNamelessOne

От, точно! Правда, там, судя по программе, фокус на сигналах другого типа.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Sadler

Спектральные преобразования, корреляционный анализ.

А поподробнее?

Для детектирования пиков в данном конкретном случае детектор пишется в 2 строчки же, зачем там вейвлеты и интерполяция?

Ваши две строчки можно посмотреть? Отсечку по порогу не предлагать.

Axon ★★★★★
() автор топика
Ответ на: комментарий от Axon

А поподробнее?

А чего там подробнее? Gabor Transform и Cross-Correlation в википедии.

Ваши две строчки можно посмотреть? Отсечку по порогу не предлагать.

У Вас все пики характерной формы с приблизительно одинаковым временем затухания. Кросскорреляция как раз с таким хорошо справляется.

Sadler ★★★
()
Ответ на: комментарий от Sadler

Спасибо, это ценно. А то в scipy есть даже специальная хитрая функция, но то ли я не осилил параметры, то ли она для данного случая не подходит, потому что детектит непонятно что. А для чего тут Габор? Это же, вроде, для периодических сигналов?

Axon ★★★★★
() автор топика
Последнее исправление: Axon (всего исправлений: 1)
Ответ на: комментарий от Axon

Для пиков, имхо, можно было элементарно пройтись по сигналу (скользящее окно), считая для каждого отсчёта изменение относительно предыдущего. И получить простой фильтр вида

for (int i=1;i<len;i++) { k = 0.99*k + 0.01*abs(x[i]-x[i-1]); if (k>X) dosomething(); }
А порог уже задавать для k. Конечно, это примитивно, но обычно этого достаточно.

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 2)

Какие техники для всего этого обычно используются?

ЦОС: книжки и журналы.

Ещё хочется как-нибудь причесать шум на базовой линии

Хемминг Р.В. Цифровые фильтры.

не затронув при этом пики (в идеале, вообще никак).

Ранговая фильтрация, например Левин Б. Р. Теоретические основы статистической радиотехники:
13.8.3. Порядковые статистики.
13.8.4. Ранговые статистики.

quickquest ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.