|
Как можно уменьшить реакцию на ступеньку в цифровом фильтре ? |
|
|
|
Dec 3 2013, 08:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992

|
ИМХО- 1. в аналоге получить 48дБ это слишком круто по крайней мере для таких частот, фильтры на линиях задержки думаю в аналоге там не могут быть, сами знаете почему. 2. если все же там такой крутой фильтр, который не выдает колебаний,значит там есть нелинейности либо фильтр имеет очень неравномерную АЧХ в полосе пропускания (что-то типа 50 RC фильтров каскадно ??? ) Вам важна амплитуда сигнала на выходе датчика или важно только только "есть/нет"? если 2-е, то 1. примените ограничитель максимальной амплитуды на входе и сигнал большой амплитуды не даст больших колебаний на выходе и "принимайте" на выходе сигнал с уровнем только выше чем уровень выбросов, или 2. примените динамическое ограничение амплитуды на входе или выходе (типа АРУ). или 3. можно много чего еще придумать. кстати сигнал с датчика синус? меандр? труегольник, шум? - без знания этого алгоритм не придумать. только теперь это не просто "фильтрация", а обработка сигнала. Цитата(MSP430F @ Dec 3 2013, 12:41)  Сейчас стоит задача реализовать такой же датчик в цифре. Отсюда и родилась эта тема, так как первые попытки моделирования цифрового фильтра с крутым спадом АЧХ показали, что затухания у него длятся заметно дольше, чем у аналогового конкурента. реализацию фильтра хотя бы 10-го порядка в аналогедавайте представим, если это только не спец ИС, которые имеют фильтр внутри - получается же нескольких штук ОУ + куча резисторов и конденсаторов..в принципе реализуемо, но все же врядли имеются крутые спады без колебаний ПХ. ПС- ваше требование 0,5Гц весьма проблематично укладывается в программе расчета ПФ, подозреваю, что в аналоговом прототипе вашего изделия использован ФНЧ 0-300Гц + последовательно простой разделительный конденсатор, отсекающий постоянную составляющую. Тогда фильтр становится много проще и возможно колебания в ФНЧ будут быстрее заканчиваться и/или иметь меньший уровень.
|
|
|
|
|
Dec 3 2013, 15:54
|
Знающий
   
Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458

|
Цитата(MSP430F @ Dec 3 2013, 10:41)  ...Просто есть живой аналогичный датчик (аналоговый) с крутым спадом АЧХ и небольшим выбросом-хвостом затухающих колебаний при прекращении вибрации. Возможно, там есть какие-то нелинейности, но схема неизвестна. Сейчас стоит задача реализовать такой же датчик в цифре. Отсюда и родилась эта тема, так как первые попытки моделирования цифрового фильтра с крутым спадом АЧХ показали, что затухания у него длятся заметно дольше, чем у аналогового конкурента. А вы измеряли на этом датчике реальные значения крутизны спада АЧХ и ее равномерности в заданном диапазоне частот? Уменьшить время затухания ПХ можно если снизить требования либо к крутизне спада, либо к равномерности АЧХ в полосе пропускания. Если при заданных крутизне спада и неравномерности АЧХ измеренное время затухания меньше, чем расчетное - думайте, кто-то вас надул. В аналоге гораздо труднее сделать нужную АЧХ чем в цифре. И если у вас даже в цифре не получается - что-то не так.
|
|
|
|
Guest_TSerg_*
|
Dec 3 2013, 20:12
|
Guests

|
Иногда "прямые" или "нелинейные" методы от "чисто" DSP не помогают. Помогают методы, взятые от систем управления ( управление по модели, управление конечным состоянием, те же fuzzy )
Вспоминаю один из таких эпизодов. Имелся очень точный и чувствительный датчик, связанный с механической системой и сам, являющийся ее подмножеством, но нам никак не удавалось победить его паразитную мех. составляющую. Традиционная фильтрация не спасала, стоял звон.
В итоге, проблему удалось решить комплексированием точного, но "беспокойного" датчика и грубого, но без-инерционного. В общем-то, стандартная ситуация аля "Фильтр Брауна"
Точный датчик был исследован и сняты динамические характеристики, создана мат. модель (2-3 порядка, колебательное затухающее звено), ну так - по памяти. Грубый датчик заводил данные на мат. модель, а ее выход вычитался из данных точного датчика. Остатки дофильтровывались. До Калмана мы не докатились, он оказался лишним.
|
|
|
|
|
Dec 4 2013, 21:35
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 11-02-09
Пользователь №: 44 698

|
Цитата(MSP430F @ Nov 25 2013, 16:29)  Всем доброго времени суток! Вот такая задача, коллеги. Спроектрировал цифровой БИХ ФВЧ. Частота дискретизации 800 Гц, частота среза 0,5 Гц. Полоса частот 0,5 - 300 Гц. Крутизна спада - 48 дБ/октава. Чебышев II рода 6-го порядка. Коэффициенты и вся арифметика будет с двойной точностью (double), так что с устойчивостью, думаю, будет все в порядке. По любому, полюса - внутри единичной окружности. Пытался КИХ-фильтр посмотреть, там получается порядок 6500, отношение коэффициентов 8 порядков (десятичных !), так что опять только double, а контроллер нужен небольшой, вобщем, не прокатило. Речь, собственно, вот о чем. Переходная характеристика фильтра (реакция на ступеньку) получилась весьма затянутая. А заказчик требует, чтобы ее в идеале вообще не было. Короче, надо как-то ее задавить. Типа сдемпфировать. Только как ? Репу чешу, ничего путного в голову не приходит. Но допускается сделать задержку сигнала. Типа оценили за 1-2 секунды текущее временное окно, скорректировали, и потом выдали на выход с той же частотой 800 Гц. И так непрерывно. Вот только это и придумал пока. А что же это должен быть за хитрый такой алгоритм демпфирования, не соображу ?  На графике - реакция фильтра на ступеньку. Инициализировать фильтр первым отсчетом. т.е начальные значения не нулевые, а такие какие установились бы при бесконечно долгой подаче первого отсчета
|
|
|
|
Guest_TSerg_*
|
Dec 5 2013, 18:21
|
Guests

|
>А что же это должен быть за хитрый такой алгоритм демпфирования,
Это уже не фильтрация и даже не обработка сигналов, это адаптивное управление динамической измерительной системой (вплоть до перестройки ее структуры) в переходных режимах. Иногда это достигается управлением конечным состоянием с заданными ограничениями, а, в частных случаях - задача решается комплексированием датчиков, о чем говорил выше и пр.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|