[an error occurred while processing this directive]
Фильтрует, только в путь (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 27 сентября 2006 г. 21:36
В ответ на: Бью челом! Хоть одним глазком... (+) отправлено <font color=gray>ASergej_R19</font> 27 сентября 2006 г. 20:43

остается постоянка по абсолютному значению равная 1266, что есть -124 дб относительно 2^31.


long sat_shl(long a)
{

if ((a & 0x80000000) == ((a & 0x40000000) << 1))
return a << 1;
else
return a < 0 ? 0x80000000 : 0x7FFFFFFF;
}


long z00,z01,z10,z11;

long mul(long a, long b)
{
__int64 tmp;

tmp = ((__int64)a)*((__int64)b);
tmp += 0x40000000UI64;

return tmp >> 31;

}


/*
B0 = 0,99881593277769 = 1072470442
B1 = -1,99763186555538 = -2144940883
B2 = 0,99881593277769 = 1072470442
A0 = 1
A1 = -1.99763046353970 = -2144939378
A2 = 0.99763326757106 = 1071200564


*/

long filter (long data) // 1.31
{

long acc; // 2.30

acc = mul( 1072470442, data);
acc += mul(-2144940883, z00);
acc += mul( 1072470442, z01);
acc -= mul(-2144939378, z10);
acc -= mul( 1071200564, z11);

acc = sat_shl(acc);

z01 = z00;
z00 = data;
z11 = z10;
z10 = acc;

return acc;

}


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

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание