[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]

Отправлено kons 07 февраля 2002 г. 20:31
В ответ на: Не получается цифровая фильтрация отправлено Хрустик 07 февраля 2002 г. 16:37

Увеличить надо количество м л а д ш и х разрядов.
Пишу по разделениям (short - 16 бит, long - 32 бит):
short filtr(short x)
{
static long y;
long xl;

xl=x*65536;
y=y+(xl-y)*1/T; //T - постоянная времени, если кратно 2 - сдвиг
return y/65536;
}

На asm пишется совсем просто.

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

Ответы



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

E-mail: info@telesys.ru