Alex_AZ 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Приветствую, уважаемые знатоки! Думаю, многие представляют и делали переход от аналогового прототипа фильтра к его цифровой БИХ реализации. Типовые решения, описанные в литературе предполагают, что частота сэмплирования данных постоянна. А мне сейчас пришлось столкнулся с задачей фильтрации сигнала, где временные интервалы между поступлением новых отсчетов непостоянны, при этом информация о времени прихода каждого отсчета есть. Для фильтра первого порядка все вроде бы ясно - можно модифицировать традиционную структуру фильтра исправляя коэффициенты фильтра в зависимости от интервала времени между приходом отсчетов. Для фильтров более высокого порядка сложнее - в традиционной структуре остается память о нескольких отсчетах выхода системы, интервал между которыми отличается от вновь принятого. И сейчас я не знаю можно ли как-то модифицировать эту структуру для решения своей задачи. Подскажите пожалуйста литературу или методики расчета структур, с помощью которых можно отфильтровать сигнал дискретизированный с непостоянным интервалом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 22 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба А мне сейчас пришлось столкнулся с задачей фильтрации сигнала, где временные интервалы между поступлением новых отсчетов непостоянны, при этом информация о времени прихода каждого отсчета есть. Подскажите пожалуйста ... методики расчета структур, с помощью которых можно отфильтровать сигнал дискретизированный с непостоянным интервалом. Например, так: Интерполятор -> Фильтр -> Интерполятор. После первого интерполятора отсчеты, ессно, идут с равными интервалами. Второй интерполятор нужен только если необходимо снова вернуться к отсчетам с неравными интервалами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_AZ 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба В общем-то такой вариант можно использовать. Но видится, что при таком решении может существенно возрасти объем вычислений. Входные данные приходят сравнительно редко, но есть моменты когда частота прихода новых значений возрастает примерно в 30 раз. Не хочется запускать фильтр на частоте в 30 раз выше необходимой в обычном режиме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 22 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Не хочется запускать фильтр на частоте в 30 раз выше необходимой в обычном режиме. А кто сказал, что после первого интерполятора "частота в 30 раз выше необходимой"..? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_AZ 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба То есть предлагаете интерполировать полиномом на определенном интервале времени и затем рассчитать значения в требуемых точках? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 22 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба То есть предлагаете интерполировать полиномом на определенном интервале времени и затем рассчитать значения в требуемых точках? Да, именно это и предлагаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_AZ 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Спасибо за вариант решения проблемы. Возможно им и воспользуюсь. Просто кажется, что должен быть какой-то математический аппарат для построения цифровых фильтров с неравномерным временем прихода отсчетов по заданному аналоговому прототипу. По идее, решение задачи связано с решением дифф. уравнений для исходного аналогового фильтра. А для него выходной сигнал однозначно определен в любой момент времени при задании конкретных начальных условий и входного сигнала. Несколько статей получилось нагуглить по запросу "non-uniform sample rate filter", но пока в голове полного понимания не складывается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Можно отфильтровать средствами ДПФ-ОДПФ, генерируя опорные синусоиды с сеткой отсчетов, соответствующей входной. Но нужны предположения, что происходит с сигналом между редкими отсчетами Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 22 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Несколько статей получилось нагуглить по запросу "non-uniform sample rate filter", но пока в голове полного понимания не складывается. Надо гуглить: farrow-structures. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Наверное, для порядка выше первого это будет не слишком эффективно. Коэффициенты фильтров, вычисляющих коэффициенты полинома, придется каждый раз пересчитывать. Проще напрямую вычислять коэффициенты полинома Лагранжа, как мне кажется Надо гуглить: farrow-structures. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_AZ 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Возможно, я конечно усложняю решение. По Лагранжу, боюсь, что при существенно неравномерном распределении времени прихода отсчетов и интерполятор будет сильно ошибаться. Надо будет попробовать на записи реального сигнала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Всё будет определяться тем, как соотносятся частота отсчетов и макс. частота процесса, которому эти отсчеты соответствуют Возможно, я конечно усложняю решение. По Лагранжу, боюсь, что при существенно неравномерном распределении времени прихода отсчетов и интерполятор будет сильно ошибаться. Надо будет попробовать на записи реального сигнала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Милливольт 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Подскажите пожалуйста литературу или методики расчета структур, с помощью которых можно отфильтровать сигнал дискретизированный с непостоянным интервалом. У нас возникала практически такая же задача. Перестраивать коэффициенты фильтра даже не пытались вследствие трудоемкости такого подхода. Применяли интерполяцию с передискретизацией по реальным и интерполированным отсчетам. Наихудшие результаты были получены для Лагранжа, наилучшие - с большим отрывом - для кубического глобально заданного сплайна. Его достоинства в том, что этот алгоритм изначально пригоден для неэквидистантных отсчетов. Разумеется, нельзя использовать его экстраполяцию, и работает такой метод только для отсчетов, описывающих реальный аналоговый процесс (а не случайную цифровую последовательность). При этом очень желательно, чтобы частота Котельникова была превышена раз в несколько. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Обработка сигналов при непостоянной частоте дискретизации - "ласковая" тема. Теоретически, в практическом смысле, решена давно, практически - тоже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 0 22 октября, 2015 Опубликовано 22 октября, 2015 · Жалоба Вы бы хоть ссылки какие-нибудь привели, статьи, монографии, а то получилась реплика в ключе "усталость профессионалов". Обработка сигналов при непостоянной частоте дискретизации - "ласковая" тема. Теоретически, в практическом смысле, решена давно, практически - тоже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться