metaclass: (Default)
[personal profile] metaclass
А вот скажите, как правильно делать FFT, цифровую фильтрацию и тому подобное, если отсчеты сигнала идут неравномерно во времени? Вся теория, которую я когда либо изучал, обычно заточена под постоянный период отсчетов.
В принципе, можно было бы в лоб интерполировать равномерные отсчеты, исходя из неравномерных данных, но может есть еще какие-нибудь вуду-оккультные методы?

Date: 2011-01-27 09:16 am (UTC)
From: [identity profile] aamonster.livejournal.com
Более конкретную задачу поставьте, ребе. Чего именно надо добиться?

FFT, скорее всего, не получится в принципе (там вся оптимизация основана на регулярности отсчётов), а вот преобразование Фурье проблем не вызовет. FIR/IIR станут посложнее, чем для равномерных отсчётов (коэффициенты придётся вычислять каждый раз, а не брать из таблицы), но терпимо.

Date: 2011-01-27 09:30 am (UTC)
From: [identity profile] psilogic.livejournal.com
я бы не заморачивался, интерполировал

Date: 2011-01-27 09:41 am (UTC)
From: [personal profile] ex0_planet
интерполяция - уже неявное наложение фильтра, в этом-то и проблема.

Date: 2011-01-27 09:46 am (UTC)
From: [identity profile] psilogic.livejournal.com
да. но если неравномерность отсчетов не очень большая, то сильно хуже не будет. такая интерполяция "сгладит" возможные всплески длительностью порядка максимального расстояния между отсчетами. это
будет как фильтр отсекающий очень высокие частоты - в районе предельных для FFT, которые все равно вряд ли удастся засечь

Date: 2011-01-27 09:50 am (UTC)
From: [personal profile] ex0_planet
Ну единичные выколотые отсчеты, как мне кажется, FFT и так сожрет (в том смысле, что погрешность размажется по спектру и ее вклад будет небольшой). Вопрос в том, что делать, когда таких много.

Date: 2011-01-27 09:53 am (UTC)
From: [personal profile] ex0_planet
А интерполяция - наверное проще будет сразу поделить на ноль устроить децимацию и тупо отрезать кусок спектра фильтром, и дальше работать с уменьшенной частотой отсчетов - один хрен в высоких частотах мусор.

Date: 2011-01-27 01:59 pm (UTC)
From: [identity profile] nivanych.livejournal.com
Неявное наложение фильтра на отсутствующие данные.

Date: 2011-01-27 02:05 pm (UTC)
From: [identity profile] nivanych.livejournal.com
Можно, конечно, любой фильтр ассоциировать с интерполятором.
Если этот фильтр ещё и высокие частоты убирать будет, тогда даже интуитивно будет похож на интерполятор.
Но только, с неравномерными отсчётами, спектр этого фильтра получится ну очень непохож на отсекание по частоте.

Date: 2011-01-27 09:35 am (UTC)
From: [identity profile] jarud-bra0n.livejournal.com
Numerical Recipes, параграф 13.8, "Spectral Analysis of Unevenly Sampled
Data": http://www.mpi-hd.mpg.de/astrophysik/HEA/internal/Numerical_Recipes/f13-8.pdf
и еще десять верхних ссылок с гугла. FAST версия тоже имеется.

Date: 2011-01-27 09:45 am (UTC)
From: [personal profile] ex0_planet
Наш бывший декан в свое время этим занимался, даже книжку написал:
http://window.edu.ru/window_catalog/pdf2txt?p_id=28533&p_page=1 но там в основном расчет автокорелляций всяческих.

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

Date: 2011-01-27 02:08 pm (UTC)
From: [identity profile] nivanych.livejournal.com
Вавлет быстрый можно сделать методом, похожим на схему лифтинга, причём даже, для отображения любого метрического в линейное.
Если базовые всплески имеют компактный носитель, что в данном случае, попросту говоря, означает, что на пределами некой области они обращаются в ноль, или же, для практики достаточно, чтобы были достаточно малы, как какие-нибудь гауссианы.

Date: 2011-01-27 06:39 pm (UTC)
From: [identity profile] nicka-startcev.livejournal.com
А нужно ли тут именно _F_FT?
Может имеет смысл тупо свёртывать с (ко)синусоидами? Метод, формально, процессороёмче, но на практике выкидывается интерполяция, то есть, надо аккуратно считать сложность. Или не заморачиваться сложностью, если явно есть запас производительности.

Date: 2011-01-27 06:50 pm (UTC)
From: [identity profile] metaclass.livejournal.com
А, действительно, можно ж в лоб сворачивать. Производительность в данном случае пофигу.

Date: 2011-01-27 06:53 pm (UTC)
From: [identity profile] nicka-startcev.livejournal.com
Причём, сворачивать не со всем базисом сразу, а только с нужными частотами.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 19th, 2025 09:07 pm
Powered by Dreamwidth Studios