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

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

Отправлено ASergej_R19 25 октября 2006 г. 13:27
В ответ на: Злосчастные HP фильтры... (+) отправлено <font color=gray>ASergej_R19</font> 24 октября 2006 г. 14:26

Вот уже на компе имеется такой дубовый алгоритм, осталось разве что на деревянных счетах считать:

B0 = (__int32) 1072470442;
B1 = (__int32) -2144940883;
B2 = (__int32) 1072470442;
A1 = (__int32) -2144939378;
A2 = (__int32) 1071200564;

x_n = Sample;
y_n = (__int64) B0 * (__int64) x_n;
y_n += (__int64) B1 * (__int64) x_n_1;
y_n += (__int64) B2 * (__int64) x_n_2;
y_n -= (__int64) A1 * (__int64) y_n_1;
y_n -= (__int64) A2 * (__int64) y_n_2;
x_n_2 = x_n_1;
x_n_1 = x_n;
y_n_2 = y_n_1;
y_n_1 = (__int32) ((y_n+0x20000000)>>30);
Sample = y_n_1;

Все имеет 32-х битную разрядность кроме y_n = 64 бита...
И Вы будете смеяться - не работает! :-(( То есть фильтрует и все-такое, но как только уровень сигнала подать с амплитудой меньше 2^12-2^11 - начинает возбуждаться и вырастает постоянка опять...

Если не опускаться ниже этих значений - все зашибись... :-/ Может просто глаз "замылился" на ощибки - ничего не могу понять...

Или может тут я округление не так делаю... Не знаю даже, вообще до базовых вещей спустился уже...

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

Ответы


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

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

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


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