Что за алгоритм?

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
kolyay

Что за алгоритм?

Сообщение kolyay »

Ребята, кто в асме хорошо разбирается, подскажите? Это какой то фильтр, но хитрый. Сначала некое число(16-разрядное) складывется 8 раз в 32-х разрядную переменную r16,r17,r18,r19. Потом как обычно три сдвига вправо каждого регистра. А вот потом ещё пять сдвигов только младших двух регистров r16,r17. Что это за фильтр такой?
kolyay

Сообщение kolyay »

Это получается если вначале переменная была меньше 0х20, то результат будет "0". Так что ли?
Аватара пользователя
Старый ржавый электронщик
Говорящий с текстолитом
Сообщения: 1507
Зарегистрирован: Чт дек 15, 2005 17:34:48
Откуда: Петрозаводск
Контактная информация:

Сообщение Старый ржавый электронщик »

1. нормально опиши проблему (с примером кода)
2. регистрируйся :)
3. темы называй грамотно
путь наименьшего сопротивления проходит по пути наитолстого провода (с) Сергей Соболь
ksp4
Открыл глаза
Сообщения: 52
Зарегистрирован: Чт фев 09, 2006 19:59:06
Откуда: Москва

Сообщение ksp4 »

Такая наивная гипотеза: если число сложить восемь раз с собой,
а потом сдвинуть на 3 вправо, то при условии, если есть место
для старших разрядов-переполений (а так оно по описанию kolyay), по идее должно получится оно
само. Или все не так просто?
kolyay_

Сообщение kolyay_ »

ksp4 писал(а):Такая наивная гипотеза: если число сложить восемь раз с собой,
а потом сдвинуть на 3 вправо, то при условии, если есть место
для старших разрядов-переполений (а так оно по описанию kolyay), по идее должно получится оно
само. Или все не так просто?

Да, почти так только это число изначально есть результат преобразования, сделанного при помощи тамера1 и аналог.компаратора. По этому каждый раз (из 8) будет небольшая разница.(если конечно нет резких изменений сигнала). Преобразования делаются постоянно с частотой около 120гц. Это импульсный металлоискатель.
Аватара пользователя
Alexey_B
Нашел транзистор. Понюхал.
Сообщения: 186
Зарегистрирован: Чт янв 12, 2006 00:17:30
Откуда: Новосибирск, ИФП СО РАН
Контактная информация:

Сообщение Alexey_B »

До конца не понимаю всего алгоритма, но сложить 8 чисел, а потом три сдвига вправо, даст простое усреденение по 8 точкам. Ещё пять сдвигов предназначены думаю для того чтоб загнать переменную обратно в 16 разрядный формат.
Ответить

Вернуться в «Разные вопросы по МК»