Rst7 5 28 августа, 2009 Опубликовано 28 августа, 2009 · Жалоба Или я что то неправильно понимаю? Мне кажется, что да. Попробуйте написать код. Не весь, а только расчетные выражения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Altair 0 28 августа, 2009 Опубликовано 28 августа, 2009 · Жалоба Нет. Я точно напутал. Но идея такая - перевести значение каждого измерения в код Грея, а уже в нем усреднять. Т.е. использовать свойство кода Грея в отличии любого соседнего значения только на один младший разряд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 28 августа, 2009 Опубликовано 28 августа, 2009 · Жалоба Но идея такая - перевести значение каждого измерения в код Грея, а уже в нем усреднять. Т.е. использовать свойство кода Грея в отличии любого соседнего значения только на один младший разряд. Причем тут код Грея? Достаточно того, что разность между двумя измерениями стремится к 0. Ху из разность? Правильно, производная. Значит, чтобы получить среднее по всем измерениям, надо дважды проинтегрировать разности соседних измерений (сначала получить интеграл производной, т.е. собственно значение измерения, но уже без переполнения, т.к. производная мала (помещатеся в signed char), а интегратор - достаточно широк, например, 16 бит для простоты), а затем - проинтегрировать (усреднить) уже полученные "непереполняющиеся" значения измерения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Altair 0 7 сентября, 2009 Опубликовано 7 сентября, 2009 · Жалоба 2 Rst7 Т.е. так? Интегратор(16бит) += (Текущее_измерение - Предидущее_значение); ... повторям много раз Фактическое_значение = Интегратор/количество_отсчетов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 7 сентября, 2009 Опубликовано 7 сентября, 2009 · Жалоба Нет. Не так. Интегратор1(16бит) += (Текущее_измерение - Предидущее_значение); Интегратор2(32бита) += Интегратор1; ... повторям много раз Фактическое_значение = Интегратор2/количество_отсчетов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Altair 0 7 сентября, 2009 Опубликовано 7 сентября, 2009 (изменено) · Жалоба ЭЭЭэээ... А разве это не одно и то же? Разве нельзя сократить Интегратор1(16бит) += (Текущее_измерение - Предидущее_значение); Интегратор2(32бита) += Интегратор1; ... повторям много раз Фактическое_значение = Интегратор2/количество_отсчетов до Интегратор2(32бита) += (Текущее_измерение - Предидущее_значение); ... повторям много раз Фактическое_значение = Интегратор2/количество_отсчетов ?? Или Интегратор1 тоже static? Изменено 7 сентября, 2009 пользователем Altair Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 7 сентября, 2009 Опубликовано 7 сентября, 2009 · Жалоба Или Интегратор1 тоже static? Конечно. Где Вы видели интегратор не static? ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Altair 0 7 сентября, 2009 Опубликовано 7 сентября, 2009 · Жалоба Конечно. Где Вы видели интегратор не static? ;) - Семен Семеныч!!! - Ах да, да... :-)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 7 сентября, 2009 Опубликовано 7 сентября, 2009 · Жалоба Только если быть до конца точным, то должно быть Int1+=(signed char)(cur_val-prev_val); Обратите внимание на приведение типа именно к 8ми битам со знаком. Если его не написать, то компилятор исполнит integer promotion и все пойдет по женскому половому органу ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
techlab 0 2 октября, 2016 Опубликовано 2 октября, 2016 · Жалоба Уважаемый RST7, а можно взглянуть на ваш вариант программной реализации? Собственно интересует сам механизм измерения сдвига фазы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 4 октября, 2016 Опубликовано 4 октября, 2016 · Жалоба Уважаемый RST7, а можно взглянуть на ваш вариант программной реализации? Собственно интересует сам механизм измерения сдвига фазы Так вроде все описано выше. Конкретно код там довольно специфический и нечитабельный, по большому счету. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
techlab 0 7 октября, 2016 Опубликовано 7 октября, 2016 · Жалоба Так вроде все описано выше. Конкретно код там довольно специфический и нечитабельный, по большому счету. из описанного выше вполне понятно как обработать полученный результат, а я будучи латышОм, не совсем понимаю сам механизм работы ацп в данном решении, потому даже не читаемый код был бы хорошим подспорьем, на чем еще учиться как ни на работе профи!? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 9 октября, 2016 Опубликовано 9 октября, 2016 · Жалоба не совсем понимаю сам механизм работы ацп в данном решении В данном решении не используется АЦП, только компаратор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться