[an error occurred while processing this directive]
Подскажите, плиз, как реализовать вот такой КИХ-фильтр в ассемблерной процедуре, вызываемой из программы на Си ? (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено vinogradov aleksei 23 октября 2006 г. 15:49

Все понятно. Не могу сообразить, как передать в асм-функцию адреса массивов с отсчетами и коэффициентами:

unsigned char low_pass_filter (unsigned char sample)
{
unsigned long int out_lp;
unsigned char i;
//Выходной отсчет, помноженный на 4096
out_lp=0;

//Buffer_Lp - массив отсчетов входного сигнала
//Coeffs_Lp - массив коэффициентов ЦФ

buffer_lp[offset_input]=sample;
for (i=0;i<32;i++) out_lp=out_lp + buffer_lp[(offset_input-i)&0x1f]*coeffs_lp[i];

offset_input=(offset_input+1)&0x1f;
return (out_lp>>12); //Деление выходного отсчета на 4096
}

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

Ответы


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

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

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


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