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

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

Отправлено SM 29 июля 2003 г. 12:16
В ответ на: Ну и? Взять среднее из двух соседних - сколько это займет? отправлено L.A. 29 июля 2003 г. 11:51

делаем так (phase - 32-х битное, таблица 256 самплов, 16 бит Q15):

phase += freq;

int s1 = sin_table((phase>>24) & 0xFF);
int s2 = sin_table(((phase>>24)+1)&0xFF);
unsigned int coeff = (phase >> 8) & 0xFFFF;
int sample = s1 + (((s2-s1)*coeff) >> 16);

Это займет практически на любом DSP 7-12 тактов. Это много или мало?

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

Ответы


Отправка ответа

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

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

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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

E-mail: info@telesys.ru