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

Отправлено Хрустик 11 февраля 2002 г. 09:05
В ответ на: Y=Y*T+X(1-T); где X-входной сигнал,Y-выходной, а 1>T>0. И ничего не надо делить. А если Вам говорят, что Ваш фильтр кривой, то надо бы задуматься, вмесо того, чтобы обижаться. отправлено Бендер++ 08 февраля 2002 г. 14:18

...и если знаете ответ, то подскажите. Если видите недостатки, то укажите на них конкретно, объясните почему так и что реально нужно сделать, чтобы их устранить. Ведь для этого я и полез в конференцию. Я еще раз подчеркиваю, что вычисления целочисленные 16-разрядные (исходные данные и результат, промежуточные вычисления -32-разрядные). Плавающую точку не надо. (математически формула фильтра правильная, но на целых числах работает действительно криво) Используется 8-разрядный микроконтроллер. Проблем с операциями умножения и деления нет, нужен только реально работающий алгоритм. Ошибка в результате допустима +-1. Частота дискретизации порядка 50 Гц, сигнал постоянного тока (медленно меняется-температура). Ваша формула - это математическая трансформация моей (полностью идентичны), только ваша представлена в общем виде, а моя уже в виде вычислительного алгоритма. Что по-вашему значит ничего не надо делить? Если Т=(2 в степени -N) то соглашусь. Иначе без деления не обойтись (ведь не плавающая точка!). Но подчеркиваю, что проблем с операцией деления нет. Если знаете, то подскажите ответ, буду благодарен.

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

Ответы



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

E-mail: info@telesys.ru