-
- Это я второго умножения не разглядел. То есть ситуация ещё хуже.
Где-то приходится хранить промежуточную величину, которая в
несколько раз превышает выходную - так вам никакой разрядной сетки
не напасёшься. По-людски (то есть на Паскале) этот алгоритм
выглядит так: Kpoк(157 знак., 01.12.2024 12:04)
- Не надо надувать щеки, такой порядок вычисления в целых числах откатан поколениями программеров и является оптимальным. Так
сказать - "истинно, потому что оно верно". - IBAH(01.12.2024 13:09)
- Поколения программистов на языке Ц - это как поколения литераторов
на мове. Ничего путного они не могли родить. Просто поверьте. Моя
формула удобней. Особенно для ДСПИКов. - Kpoк(02.12.2024 17:53)
- Ну нельзя быть таким упрямым. Еще раз. Y:=Y+(X-Y)*a a<1 В
целых вычислить невозможно! даже если умножение на а<1
заменить деление или сдвиг. IBAH(46 знак., 02.12.2024 18:36)
- 0,5000 enc(266 знак., 02.12.2024 21:31)
- = 1/2. В целых числах. PS кстати, иногда удобнее вычислять по
формуле Y = Y - a*(Y - X) - argus98(02.12.2024 19:33)
- Очень интересно... а когда удобнее? - IBAH(02.12.2024 19:50)
- Зависит от системы команд МК и коэффициента а. (Я про ассемблер,
естественно). PS я неправильно выразился - не "удобнее", а
"быстрее" - argus98(02.12.2024 19:56)
- По любому теряем значащие разряды, звено становится нелинейным - IBAH(02.12.2024 19:59)
- А коэффициент нелинейности можно? - Kpoк(02.12.2024 20:30)
- Коэф. нелинейных искажений? еврейский вопрос - при какой амплитуде
сигнала? - IBAH(02.12.2024 20:48)
- Амплитуда сигнала - полный размах АЦП (ну без полшишечки, чтоб упора не было) - Kpoк(02.12.2024 23:14)
- Коэф. нелинейных искажений? еврейский вопрос - при какой амплитуде
сигнала? - IBAH(02.12.2024 20:48)
- Приписываем справа любое (сколько нужно или сколько нравится)
кол-во байт и ничего (почти) не теряется. PS Есть такое понятие как
ЦМР argus98(462 знак., 02.12.2024 20:13)
- Зачем делать стараться делать качественный алгоритм, давайте
опустим критерий качества! Те. а=1/2 теряем один разряд выходного
сигнала. Для связи может быть и применимо, а для измерений... - IBAH(02.12.2024 20:34)
- Старые люди бают, что у целых чисел разрядность на один байт больше, чем у плавающих. Как правило. - Kpoк(02.12.2024 23:16)
- Кто заставляет терять целый разряд?! Можно терять 1/256 разряда, можно 1/65536 разряда, можно 1/4294967296 разряда итд. Всё зависит от кол-ва байт справа. PS твоя любимая плавучка, кстати, тоже считается в целых числах (внутри процессора). С конечной разрядностью - argus98(02.12.2024 21:02)
- Зачем делать стараться делать качественный алгоритм, давайте
опустим критерий качества! Те. а=1/2 теряем один разряд выходного
сигнала. Для связи может быть и применимо, а для измерений... - IBAH(02.12.2024 20:34)
- А коэффициент нелинейности можно? - Kpoк(02.12.2024 20:30)
- По любому теряем значащие разряды, звено становится нелинейным - IBAH(02.12.2024 19:59)
- Зависит от системы команд МК и коэффициента а. (Я про ассемблер,
естественно). PS я неправильно выразился - не "удобнее", а
"быстрее" - argus98(02.12.2024 19:56)
- Очень интересно... а когда удобнее? - IBAH(02.12.2024 19:50)
- 0011 1111 1111 1111 - Kpoк(02.12.2024 19:33)
- Это кусок картины? IBAH(1 знак., 02.12.2024 19:54, картинка)
- Это 1/2 в представлении Крока - argus98(02.12.2024 20:00)
- Это кусок картины? IBAH(1 знак., 02.12.2024 19:54, картинка)
- Ну нельзя быть таким упрямым. Еще раз. Y:=Y+(X-Y)*a a<1 В
целых вычислить невозможно! даже если умножение на а<1
заменить деление или сдвиг. IBAH(46 знак., 02.12.2024 18:36)
- Поколения программистов на языке Ц - это как поколения литераторов
на мове. Ничего путного они не могли родить. Просто поверьте. Моя
формула удобней. Особенно для ДСПИКов. - Kpoк(02.12.2024 17:53)
- Ты хуйню написал. Проверь. - Cкpипaч(01.12.2024 12:08)
- Запятые плохо расставил или Паскаль надо с маленькой буквы? Так что
хуйню пока что ты написал - в ней смысла нет. Укажи на ошибку. - Kpoк(01.12.2024 12:23)
- ....навел резкость. пардон, похоже все норм. Никогда не сталкивался
с такой формой записи БИХ-фильтра. - Cкpипaч(01.12.2024 12:31)
- в матмоделировании, в дифурах, это называется метод Эйлера LordN(31 знак., 01.12.2024 13:48 - 16:12)
- Ну и хуй с ним! :) Cкpипaч(167 знак., 01.12.2024 14:31, ссылка)
- С большой буквы! :-( - Kpoк(01.12.2024 14:10)
- я исправился! - LordN(01.12.2024 16:12)
- Битва за такты. - Kpoк(01.12.2024 13:11)
- Может на вашем хуторе это хуйня, а в нашем мегаполисе это та же
самая хуйня, но при таком порядке вычислений
(y=y+(((x-y)*a)>>b); где а - число с фиксированной
точкой, b - положение фикс. точки) происходит потеря значащих
разрядов. Хотя физическому смыслу такая запись более соответствует. - IBAH(01.12.2024 13:02)
- Избыточно. Или умножайте на число меньшее единицы или сдвигайте вправо. - Kpoк(01.12.2024 13:11)
- в матмоделировании, в дифурах, это называется метод Эйлера LordN(31 знак., 01.12.2024 13:48 - 16:12)
- ....навел резкость. пардон, похоже все норм. Никогда не сталкивался
с такой формой записи БИХ-фильтра. - Cкpипaч(01.12.2024 12:31)
- Запятые плохо расставил или Паскаль надо с маленькой буквы? Так что
хуйню пока что ты написал - в ней смысла нет. Укажи на ошибку. - Kpoк(01.12.2024 12:23)
- Не надо надувать щеки, такой порядок вычисления в целых числах откатан поколениями программеров и является оптимальным. Так
сказать - "истинно, потому что оно верно". - IBAH(01.12.2024 13:09)
- А если с другой стороны посмотреть, то это модель интегрирующей
RC-цепочки. ЫЫyкпy(90 знак., 01.12.2024 04:49)
- это смотря как отображать цифровой мир на аналоговый. В аналоговом мире это звено имеет ноль передаточной характеристики, в параллель апериодическому звену включено пропорциональное с коэф передачи альфа. Или последовательно с конденсатором стоит сопротивление - IBAH(01.12.2024 13:32)
- Согласен, я тоже так же считал. Оно не учитывает всякие цифровые артефакты типа sinx/x, но при малом alfa для оценки более чем достаточно - ar-elec(01.12.2024 11:22)
- Это я второго умножения не разглядел. То есть ситуация ещё хуже.
Где-то приходится хранить промежуточную величину, которая в
несколько раз превышает выходную - так вам никакой разрядной сетки
не напасёшься. По-людски (то есть на Паскале) этот алгоритм
выглядит так: Kpoк(157 знак., 01.12.2024 12:04)