Вычислить на ОМК

AA>>> Да я вроде понял. AA>>> А в случае логарифма, там вообще просто получается. AA>>> Hо у него тут есть оффсет, а это "ставит повторяемость функции" AA>>> в довольно сложное положение.;) DEO>> у логарифма повторяемость тоже такая же DEO>> только она повторяться будет на диапазоне основания. AA> У логарифма-то да. Только я бы сразу переходил (вычислил значения AA> в исходных точках) от X к Y. Те, чтобы результат получался без всяких AA> дополнительных промежуточных вычислениий. AA> у неужели 130 байт во флеше, или даже еепром, (а может и много меньше) AA> жалко выделить на такое дело? AA> Тут "народ" такими ресурсами не глядя кидается ;) изначальный вопрос был "как сократить таблицы" почему их надо сокращать - дело десятое

DEO>> то тут можно поиграться (но таблицу надо собирать для такого DEO>> диапазона чтобы результат масштабировтаь только в бОльшую сторону) AA> Да понятно, что всё это работает на аналитических функциях. да логарифм под данную методику плоховато ложится (по кр. мере с одним табличным преобразованием)

AA> у опять же, если нужны какие-то вычисления от нескольких переменных, AA> а функция логарифмируемая (как в данном случае), то ИМХО опять же самое AA> простое, составить таблицу(ы), как я предлагал, для функции каждой AA> переменной, AA> логарифмы сложить (со знаками) и антилогарифмировать. AA> икаких умножений, а уж тем более делений. см выше про постановку задачи

AA>>> Можно подумать ты недавно тут...;) DEO>> я тут от силы неделю :) AA> е знаю, как именно тут, но я твою фамилию уже много лет AA> знаю, ещё до переезда Сотника... во всяком случае. ну это возможно по другим рассылкам, окололинуксовым например ;)

Reply to
Dmitry E. Oboukhov
Loading thread data ...

Fri Aug 04 2006 13:56, Kirill Frolov wrote to Vladimir Vassilevsky:

KF> Афтар жжот. KF>

formatting link
-- ценный йад, прямо KF> исходник генерировать умеет. KF> Ещё на сайте микрочипа раздают тулзы с исключительно дружественным KF> интерфейсом, но я не вникал особо.

"Машина - это усилитель, а не заменитель мозгов" (c) Винер

VLV

"Что даст мне свет, чего я сам не знаю?" (c) Гете "Фауст"

Reply to
Vladimir Vassilevsky

Hello, Kirill! You wrote to Andrej Arnold on Fri, 04 Aug 2006 14:07:42 +0600:

DO>>>>> я так понял линеаризация в нескольких диапазонах ??>> ??>> Только число диапазонов не произвольное, а кратное степени ??>> числа ??>> два и длина каждого одинакова. KF>>> Я ничего не понял. Впрочем и не вникал. Хочу только сказать, ??>> Вижу, что хочешь. А отлаженный исходник где?;) KF> Hе люблю разбираться с чужими исходниками. Зато я люблю. Выкладывай. ;) KF> Чаще лучше иметь изложение алгоритма на человеческом языке и проще KF> заново переписать. Если речь идёт, конечно, о чём-то относительно KF> простом. Там настолько детальное описание, что детальней не бывает. Подробней только сказка про дедку с репкой. KF>>> что ничто не мешает отсортировать список аргументов функции и её KF>>> значений и искать двоичным поиском за log2(N) времени, что для KF>>> 4096 элементов даст всего-то 12 операций сравнения. ??>> А это значит _в общем случае_ - каждый раз сохранять регистры в ??>> стеке, загружать регистры элементами сравнения, потом снова ??>> регистры восстанавливать. Воно тоби треба? KF> Если не "пикоманством" заниматься, то судьба десятка отдельно KF> взятых регистров, эндцати байт стека и лишней тысячи тактов мало KF> интересна. Задача достаточно частого и быстрого перевода потоков данных из одного формата в другой стоит довольно часто, и "сильные ругательства" этому делу не помагают, а вот непосильный труд разобраться в пяти строчках программы прожжённого линуксоида не красит. А как же опенсауреса и прочие святые коровы?

With best regards, Andrej Arnold. E-mail: snipped-for-privacy@aol.com

Reply to
Andrej Arnold

Hello, Dmitry! You wrote to Andrey Arnold on Fri, 04 Aug 2006 16:20:22 +0600:

AA>> Да я вроде понял. AA>> А в случае логарифма, там вообще просто получается. AA>> Hо у него тут есть оффсет, а это "ставит повторяемость функции" AA>> в довольно сложное положение.;) DEO> у логарифма повторяемость тоже такая же DEO> только она повторяться будет на диапазоне основания. У логарифма-то да. Только я бы сразу переходил (вычислил значения в исходных точках) от X к Y. Те, чтобы результат получался без всяких дополнительных промежуточных вычислениий. Ну неужели 130 байт во флеше, или даже еепром, (а может и много меньше) жалко выделить на такое дело? Тут "народ" такими ресурсами не глядя кидается ;) DEO> а вот чтобы отмасштабировать результат табличный до нужного надо DEO> подумать, похоже надо будет в степень основания вводить или корень DEO> брать. корень сложнее, а вот если основание и правда взять равным двум, DEO> то тут можно поиграться (но таблицу надо собирать для такого DEO> диапазона чтобы результат масштабировтаь только в бОльшую сторону) Да понятно, что всё это работает на аналитических функциях. DEO> мм DEO> умножение

DEO> надо подумать может масштабирование заменить аналогичным DEO> действием? то есть две таблицы - логарифм и масштаб Ну опять же, если нужны какие-то вычисления от нескольких переменных, а функция логарифмируемая (как в данном случае), то ИМХО опять же самое простое, составить таблицу(ы), как я предлагал, для функции каждой переменной, логарифмы сложить (со знаками) и антилогарифмировать. Никаких умножений, а уж тем более делений. AA>> Можно подумать ты недавно тут...;) DEO> я тут от силы неделю :) Не знаю, как именно тут, но я твою фамилию уже много лет знаю, ещё до переезда Сотника... во всяком случае. DO>>> нафиг искать в гугле? AA>> Так обычно быстрее получается. DEO> да но результат в почтовик не загрузишь, Это ещё почему? Там есть и отображение в оригинальном формате, а сохранить можно и в текстовом формате.

With best regards, Andrej Arnold. E-mail: snipped-for-privacy@aol.com

Reply to
Andrej Arnold

Hello Wladimir!

02 Aug 06 09:27, you wrote to All:

WT> Y=А*Log(В*X) Y=A*Log(B) + A*Log(X); WT> Где А,В - константы Значит, достаточно взять один логарифм. WT> Это вообще реально, на процессоре рангом пониже iP ? Конечно. Делишь X пополам, каждый раз прибавляя A*Log(2) к Y, (либо наоборот умножаешь на 2 и вычитаешь), пока не вобьешь его в диапазон, скажем, от 128 до

256, затем используешь X-128 как индекс в таблице, где у тебя заранее занесены предвычисленные значения логарифма, умноженного на A. Если при 128-256 недостаточно точности - делаешь таблицу побольше. Дальнейшие трюки с уменьшением таблицы можно проделать при желании.

WT> 20000 в секунду. WT> входе), на вход которого приходят прямоугольные импульсы постоянной WT> амплитуды и длительности, но переменного периода следования от 0,1 WT> сек, до 50 мкСек. WT> Результат с выхода этого ФHЧ и есть Х1. Опрос сотояния фильтра 4 раза WT> в секунду. WT> Так-же нужно реализовать программно ФHЧ (интегратор с симматором на WT> Это я предпологаю собрать на реверсивном счетчике. Во время действия WT> импульсов он инкрементируется, в паузах дикрементируется. Каждые 0,25 WT> секунды его значение делиться на 5000 (типа интеграл взяли) и WT> полученное чило идет далее.

Поскольку длина и амплитуда постоянны, твой интеграл пропорционален просто к-ву импульсов, и достаточно просто любого счетчика твоего микропроцессора, который считывается и сбрасывается 4 раза в сек.

Anatoly

Reply to
Anatoly Mashanov

Fri Aug 04 2006 11:08, Slav Matveev wrote to Vladimir Vassilevsky:

VV>> Даже ряд не нужен. Log2 в диапазоне аргумента [1...2) это почти VV>> линейная функция. Прекрасно апроксимируется.

SM> Линейной функцией апроксимируется с точностью до первого знака SM> после запятой. Ты случаем не с аэромеха, у которых SM> все что меньше 10 сравнимо с единицей? Нет, не с аэромеха. Если видишь мудака - знай, что он с ФРТК (это про меня). Двоечникам с мехмата простительно не знать про апроксимацию по Чебышеву. VLV

"Что даст мне свет, чего я сам не знаю?" (c) Гете "Фауст"

Reply to
Vladimir Vassilevsky

Hello Dmitry!

03 Aug 06 19:09, you wrote to Vladimir Vassilevsky:

DO> а разве это не тот же ряд будет? чем вычисление log2 от log3 в DO> реализации будет отличаться? (никогда не интересовался этим вопросом) Тем, что для приведения аргумента в диапазон от 1 до 2 достаточно сдвигов, а для приведения аргумента в диапазон от 1 до 3 понадобится умножение или деление на 3.

Anatoly

Reply to
Anatoly Mashanov

Hi Dimmy, hope you are having a nice day!

04 Авг 06, Dimmy Timchenko wrote to Alexey V Bugrov:

DT> Hу а исходное письмо ты считаешь допустимым? И ответ на него в DT> подобном же стиле не заставил себя ждать, и тоже остался без реакции DT> модератора. DT> Думаю, не одному мне хотелось бы знать, это случайность DT> или часть необсуждаемой политики модерирования?

Считай, что часть политики. Впрочем, на самом деле зависит от того, в какой форме происходит конфликт. VLV не первый раз и не только здесь ругается с SM, вроде бы они друг на друга из-за этого не обижаются. Я бы даже сказал, что это у них форма общения такая. :)

AVB>> И что мешало тебе написать тоже самое мне нетмейлом? DT> Вообще-то ты сам должен замечать подобные эксцессы и оперативно на DT> них реагировать.

Торопливость нужна только при ловле блох.

DT> Без подсказок нетмейлом. Раз уж взялся за гуж.

Я счел данный инцедент малозначительным. У всех желающих есть право и возможность высказаться по данному вопросу в нетмейл.

Да, сразу скажу, просто за отдельные матные слова я наказывать никого не буду, мы не в детском саду. Однако это не значит, что матом можно "разговаривать". Данные положения в правилах обозначены.

p.s. Hа этом дискуссию сворачиваем.

WBR, AVB

Reply to
Alexey V Bugrov

DO> Однофамилец я в fido после ~5 летнего перерыва вернулся. суммарно может месяц прошел как :)

Reply to
Dmitry E. Oboukhov

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Andrej Arnold! You wrote in conference fido7.ru.embedded to Dmitry E. Oboukhov on Fri, 04 Aug 2006 20:14:53 +0400:

AA>>> Можно подумать ты недавно тут...;) DEO>> я тут от силы неделю :) AA> Не знаю, как именно тут, но я твою фамилию уже много лет знаю, ещё AA> до переезда Сотника... во всяком случае.

Однофамилец или очередной кло[у]н?

dima

formatting link

Reply to
Dmitry Orlov

AVB>> VLV не первый раз и не только здесь AVB>> ругается с SM, вроде бы они друг на друга из-за этого не обижаются. Я бы AVB>> даже сказал, что это у них форма общения такая. :) VV>

VV> Совершенно верно. Мы выражаем взаимное почтение в изысканнейших выражениях VV> :) мне например не понравилось когда один другого назвал идиотом за правильное в общем-то высказывание

Reply to
Dmitry E. Oboukhov

Fri Aug 04 2006 23:39, Alexey V Bugrov wrote to Dimmy Timchenko:

DT>> Hу а исходное письмо ты считаешь допустимым? И ответ на него в DT>> подобном же стиле не заставил себя ждать, и тоже остался без реакции DT>> модератора.

AVB> VLV не первый раз и не только здесь AVB> ругается с SM, вроде бы они друг на друга из-за этого не обижаются. Я бы AVB> даже сказал, что это у них форма общения такая. :)

Совершенно верно. Мы выражаем взаимное почтение в изысканнейших выражениях :)

VLV

"Что даст мне свет, чего я сам не знаю?" (c) Гете "Фауст"

Reply to
Vladimir Vassilevsky

Это НЕ ТОТ Дима Обухов. Петрович в Калифорнии живет, и силовой электроникой не занимается.

Reply to
Arcady Schekochikhin

Hello Slav!

04 Aug 06 09:34, you wrote to Vladimir Vassilevsky:

VV>> Логарифм по любому основанию элементарно считается через log2. SM> пшелнах. ? SM> А log2 с любой точностью ты все равно будешь искать через подобный SM> этому ряд: SM> arg = arg * ((((((b6 * z + b5) * z + b4) * z + b3) * z + b2) * z + SM> b1) * SM> z + b0);

Это в микроконтроллере-то я буду считать через ряд с невероятным количеством умножений с плавучкой? Hет уж. Если мне это приспичит, мне придется делать что-то вроде таблицы, а если потребуется более высокая точность, то с линейной (или даже нелинейной, если очень надо) аппроксимацией промежуточных значений. SM>>> Я таким образом в отсутствии SM>>> библиотек и наличии компилятора просчитал синусы/косинусы. SM>>> Мне хватило четырех слагаемых в ряду. А ты не учел, что твои 4 слагаемых в ряду тащат за собой: преобразование целого в плавучку, плавающее умножение и плавающее сложение? И что эти преобразования занимают места примерно столько же, сколько таблица?

Anatoly

Reply to
Anatoly Mashanov

Hello All!

04 Aug 06 09:34, Slav Matveev wrote to Vladimir Vassilevsky:

VV>> А найти log2 с любой точностью - дело техники.

Я как-то решал задачу: Вычислить время, за которое известный конденсатор зарядился через известный резистор от источника с известным напряжением до измеренного на нем напряжения. Задача эта эквивалентна логарифмированию. Решалась методом, эквивалентным взятию логарифма по основанию 1+1/16. Дело в том, что после приведения аргумента к промежутку от 1 до 1+1/16 кривую логарифма на таком коротком отрезке можно аппроксимировать прямой. Получилась точность, достаточная для обработки данных с 10-битного АЦП ПИКа.

Anatoly

Reply to
Anatoly Mashanov

Пpивет, Anatoly!

*** 05 Aug 06 09:44, Anatoly Mashanov wrote to Slav Matveev:

AM> Это в микроконтроллере-то я буду считать через ряд с невероятным AM> количеством умножений с плавучкой? Hет уж.

А почему и нет ? Компилятор делает именно это. И на ASM я делал так же (логарифмы заняли 113 слов программной памяти AVR, а базовый набор 32-битной плавучки - меньше 400 слов). Если нет особых требований к быстродействию - проще сделать стандартно и не выеживаться...

с уважением Владислав

Reply to
Vladislav Baliasov

AM>> Это в микроконтроллере-то я буду считать через ряд с невероятным AM>> количеством умножений с плавучкой? Hет уж. VB>

VB> А почему и нет ? Компилятор делает именно это. И на ASM я делал так же VB> (логарифмы заняли 113 слов программной памяти AVR, а базовый набор VB> 32-битной плавучки - меньше 400 слов). Если нет особых требований к VB> быстродействию - проще сделать стандартно и не выеживаться... добавлю: если сделать стандартно, то проблем с изменением кода особых не будет. типа изменить формулу по которой считаем :)

Reply to
Dmitry E. Oboukhov

С чего бы это? Отмасштабируй и считай с фиксированной точкой - только целочисленные умножения - хотя конечно иногда и это дорого - но не в данном случае. Заодно будет повод хорошенько подумать над "вычислительностью" твоих алгоритмов.

Reply to
Arcady Schekochikhin

DO>>> Однофамилец DEO>> я в fido после ~5 летнего перерыва вернулся. DEO>> суммарно может месяц прошел как :) AT>

AT> Просто здесь раньше был Дима Обухов из Калифорнии. Hеужели это ты? :) в Калифорнии если я когда-нидь и буду то только как турист ну или как солдат. то есть обо мне никогда нельзя будет сказать что я из калифорнии :)

Reply to
Dmitry E. Oboukhov

Hello, Dmitry! You wrote to Dmitry Orlov on Fri, 04 Aug 2006 23:21:34 +0400:

DO>> Однофамилец DEO> я в fido после ~5 летнего перерыва вернулся. DEO> суммарно может месяц прошел как :)

Просто здесь раньше был Дима Обухов из Калифорнии. Неужели это ты? :)

With best regards, Alexander Torres. E-mail: snipped-for-privacy@yahoo.com [ Жамству бой !]

Reply to
Alexander Torres

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.