ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Четверг
4 июня
/868900
Топик полностью
SciFi (05.09.2018 12:02, просмотров: 16) в ответ на Проверял? - автор: 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); }
Ответить
Ответы