[an error occurred while processing this directive] [an error occurred while processing this directive]
Имеется ввиду, что коэффициент передачи у данного фильтра равен 1. Поэтому ничего не надо делить (или множить).
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Бендер++ 11 февраля 2002 г. 13:06
В ответ на: Ответ: Но ведь я же и прошу совета... отправлено Хрустик 11 февраля 2002 г. 09:05

Это класическая формула. Если на вход такого фильтра подать то же значение, которое он имеет на выходе (т.е. X=Y), то получим то же самое значение (без масштабного коэффициента).
Деление в любом случае не нужно. Коэффициент T (и 1) умножаете (мысленно) на 2^16, а у результата Y используете только старшие 16 разрядов из 32 (что эквивалентно делению на 2^16).
Пример: T=0,7
0,7 -- 0,7*65536=45875
0,3 -- 65536-45875=19661

Y=hiword(Y*45875*X*19661)

Если хотите задавать постоянную времени не в абстрактных единицах 0..1, а, например, в секундах, то
T=e^(-dt/tau), где dt-время дискретизации (темп поступления выборок), а tau - постоянная времени фильтра. При большом соотношении tau/dt, кажется, можно считать T=tau/(dt+tau). Проверьте сами.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru