16+
Воскресенье
20 января
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Кибернетика

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
SciFi  (05.09.2018 12:02) , в ответ на Проверял? автор: Codavr
Этот яр вместо умножений навтыкал мне сдвигов и сложений-вычитаний. Тот самый случай, когда я пытался заставить его использовать инструкцию MUL. Что характерно космик сделал всё правильно. 
/*
 * 11-tap low pass root raised cosine
 * Fpass = 0.138 Fsample
 * Alpha = 0.15
 * Unsigned 6 bits, right justify
 */
static int8_t
lpf11(int8_t invar, uint8_t states[10])
{
    int16_t sum = 0;
    uint8_t i;
    sum -=  4 * states[0];
    sum -=  2 * states[1];
    sum +=  3 * states[2];
    sum += 10 * states[3];
    sum += 16 * states[4];
    sum += 19 * states[5];
    sum += 16 * states[6];
    sum += 10 * states[7];
    sum +=  3 * states[8];
    sum -=  2 * states[9];
    for (i = 0; i < 9; i++)
    {
        states[i] = states[i + 1];
    }
    states[9] = (uint8_t)(128 + invar);
    sum -= 4 * states[9];
    sum >>= 6;
    sum = (sum <   0 ?   0 : sum);
    sum = (sum > 255 ? 255 : sum);
    return (int8_t)(sum - 128);
}
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXIX