... "Меня терзают смутные сомнения" насчет двух проходов (туда и обратно). ...
... Да, Вы правы, длительность импульсной характеристики увеличивается, амплитуда уменьшается, но не очень сильно. Однако, есть существенное преимущество в отсутствии групповой задержки. ...
... На рисунке - фильтр Баттерворта 4-го порядка, до 0.5 Hz, ...
Уважаемый
Программер, благодарю за очередные наглядные картинки. Плз, отмените автоудаление – эти картинки прекрасно иллюстрируют суть однопроходовой и двухпроходовой фильтрации, а также связь частотной фильтрации и усреднения по времени, и, возможно, на них еще придется ссылаться.
Я сегодня наконец смог спокойно обдумать проблему фильтрации ускорения, с учетом дефицита Вашего времени. Так что можем выйти на финишную прямую по оптимизации восстановления ускорения из записи приборной скорости.
В частности, я разобрался с двухпроходовой фильтрацией в фильтрах нижних частот (ФНЧ) и убедился, что мои "сомнения" были обоснованы, но преувеличены: такая фильтрация для нас приемлема, хотя и с некоторыми оговорками. Получился трактат «Оптимизация восстановления ускорения по приборной скорости» (2 страницы текста). Этот трактат далеко не всем будет интересен, и, чтобы не засорять форум, я его целиком привожу только во вложенном файле.
Ниже связно повторены для общества те тезисы, которые ранее были раскиданы по нескольким моим предыдущим постам на эту тему.
Вычисление продольного ускорения из записи приборной скорости, без специального сглаживания или фильтрации этой записи, непригодно для каких-либо выводов о подробностях динамики разгона самолета уже из-за дискретности записи скорости. Если выполняются условия т.н. "рандомизации" (а здесь они выполняются), то
дискретизация записи скорости 1 м/с эквивалентна шуму со среднеквадратичным значением 0,28 м/с.
При периоде выборок скорости 0,5 с это
дает среднеквадратичный шум ускорения (корень из 2)х0,28м/с:0,5с =
0,8 м/с2, т.е.,
среднеквадратичную ошибку восстановления результирующей
продольной силы около 4,5 тонн!
Эта ошибка может быть значительно уменьшена, ценой умеренного ухудшения детализации динамики во времени,
применением сглаживания скорости - усреднением в «скользящем окне» или же частотной фильтрацией. Полоса фильтра определяет подавление шума, а время усреднения определяет сглаживание подробностей динамики.
Усреднение и фильтрация – это формально альтернативные методы, которые математически могут быть преобразованы друг в друга.
Шум дискретизации скорости – т.н. "белый", т. е., его спектральная плотность не зависит от частоты вплоть до максимальной частоты его спектра, равной половине частоты выборок (здесь – 0,5х2Гц = 1 Гц), а далее спадает. Однако
при дифференцировании скорости ее белый шум преобразуется в шум, у которого спектральная плотность пропорциональна частоте вплоть половины частоты выборок.
При фильтрации ускорения фильтром нижних частот (ФНЧ) с порядком не менее 2, среднеквадратичный
шум ускорения убывает пропорционально полосе ФНЧ в степени 3/2.
Так,
ФНЧ с полосой 0,5 (или 0,4) Гц должен уменьшить этот шум в 2,8 (или 4) раза – до 0,28 (или 0,2) м/с2, а среднеквадратичную ошибку в силе – до 1,6 (или 1,1) тонн.
Эффективное время усреднения у ФНЧ зависит от его типа и,
для «разумных» фильтров с полосой 0,5 Гц,
находится в пределах от 0,7 с до 1,0 с или чуть больше, что сравнимо с периодом дискретизации скорости 0,5 с.
Правильный выбор конкретного типа ФНЧ для фильтрации скорости (или весовой функции для сглаживания «скользящим окном»)
должен обеспечивать минимально возможное время усреднения при заданной полосе (или минимально возможную полосу при заданном времени усреднения – это то же самое).
Остальное – во вложении.
Мне вот этот софт нравится )
Посмотрел ссылку - привлекательно. Однако не нашел даже упоминания об оптимальных для нас фильтрах Бесселя
- хотя вроде они покрываются то ли эллиптическими фильтрами, то ли фильтрами Гаусса (разбираться сейчас не хочется).
Мы примерно в 2005 г. пытались пользовать предыдущую версию и тогда разочаровались. Но у нас была очень специфическая задача - оптимизация полосовых фильтров с заданной ЧХ групповой задержки, и это не решалось никаким доступным (даже за приличные деньги) чужим софтом. Пришлось писать свой софт - благо в моей лаборатории нашелся весьма крутой энтузиаст.