metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-01-27 11:07 am

Неравномерные отсчеты и DSP

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

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

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

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

[identity profile] jarud-bra0n.livejournal.com 2011-01-27 09:35 am (UTC)(link)
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 версия тоже имеется.

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

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

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

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