Необходимо осуществить фильтрацию сигнала. Сигнал оцифрован с частотой 128кГц. Интересуемый диапазон частот лежит в пределах 1000Гц. Именно до 1000Гц - это интеесующий диапазон частот, в котором не должно быть помех (помехи должны быть минимизированы максимально)
Так же необходимо произвести фильтрацию составляющих до 0.5Гц - максимально эффективно.
На выходе получить интеграл исходного сигнала с полосой 0,5-1000Гц.
Подскажите какие фильтры использовать. Реализация предполагается на процессоре с поддержкой плав. точки.
Требуется реализовать фильтр
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Требуется реализовать фильтр
думаю в вашем случае необходимо снизить частоту сэмплирования. Для интересующего вас диапазона челесообразно использовать 4 кГц не более. В этом случае и фильтр проще реализовать с требуемыми характеристиками. Для 0.5 Гц также надо делать децимацию до частоты сэмплирования 2 Гц. Для этого можно использовать набор каскадов: фильтр - дециматор. Например входной сигнал дискретизирован с частотой 128 кГц. ставим каскад фильтр с частотой среза 0.2 - дециматор в 4 раза и получаем сигнал на выходе продискретизированный с частотой 32 кГц. Повторим еще раз и получим 8 кГц и последний каскад децимируем в 2 раза - получаем 4 кГц. Какие фильтры использовать зависит от задачи и требований к ним (неравномерность в полосе пропускания, допустимый уровень алиасинга, линейность фазы и т.д.). Вариантов много. Аналогично можно понизить частоту сэмплирования до 2 Гц.
Re: Требуется реализовать фильтр
Спасибо, Сергей, что не устаёте отвечать на вопросы.
непонятно зачем понижать частоту до 2Гц? Ведь меня интересует полоса 0,5-1000Гц.
Требования(идеализированые): минимальный алиасинг и линейная фаза.
Если искать компромис то допустимо снизить требования к алиасингу, но не к линейности фазы.
Если стремится к линейности фазы, то, как я понимаю, БИХ нельзя использовать?
И ещё отдельрный вопрос: расскажите или дайте ссылку на практику использования и построения фильтров постояной составляющей.
Заранее спасибо
непонятно зачем понижать частоту до 2Гц? Ведь меня интересует полоса 0,5-1000Гц.
Требования(идеализированые): минимальный алиасинг и линейная фаза.
Если искать компромис то допустимо снизить требования к алиасингу, но не к линейности фазы.
Если стремится к линейности фазы, то, как я понимаю, БИХ нельзя использовать?
И ещё отдельрный вопрос: расскажите или дайте ссылку на практику использования и построения фильтров постояной составляющей.
Заранее спасибо
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Требуется реализовать фильтр
Фильтр постоянной составляющей это интегратор. Можно реализовать его очень просто. Постоянная составляющая это
При N стремящимся в бесконечность оценка стремится к истинной. И вы можете эту оценку вести итерационно. Можно заметить что на некотором N-м шаге оценка будет равна
где m(N-1) - оценка на предыдущем шаге. Таким образом вы можете вести итерационную оценку постоянной составляющей при помощи IIR фильтра первого порядка и чем дольше будете вести эту оценку тем точнее она будет
При N стремящимся в бесконечность оценка стремится к истинной. И вы можете эту оценку вести итерационно. Можно заметить что на некотором N-м шаге оценка будет равна
где m(N-1) - оценка на предыдущем шаге. Таким образом вы можете вести итерационную оценку постоянной составляющей при помощи IIR фильтра первого порядка и чем дольше будете вести эту оценку тем точнее она будет
Re: Трео буется реализовать фильтр
Не понял. Зачем её вести? нужно просто получить сигнал на выходе без пост. составляющей. IIR первого порядка поможет?
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Требуется реализовать фильтр
поможет. то что я написал и есть фильтр первого порядка