|
|
  |
Ультразвуковой термометр, Он же анемометр и указатель направления ветра |
|
|
|
Aug 28 2009, 07:03
|
Участник

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644

|
Нет. Я точно напутал. Но идея такая - перевести значение каждого измерения в код Грея, а уже в нем усреднять. Т.е. использовать свойство кода Грея в отличии любого соседнего значения только на один младший разряд.
--------------------
Время не придет. Время уходит.
|
|
|
|
|
Aug 28 2009, 07:16
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Но идея такая - перевести значение каждого измерения в код Грея, а уже в нем усреднять. Т.е. использовать свойство кода Грея в отличии любого соседнего значения только на один младший разряд. Причем тут код Грея? Достаточно того, что разность между двумя измерениями стремится к 0. Ху из разность? Правильно, производная. Значит, чтобы получить среднее по всем измерениям, надо дважды проинтегрировать разности соседних измерений (сначала получить интеграл производной, т.е. собственно значение измерения, но уже без переполнения, т.к. производная мала (помещатеся в signed char), а интегратор - достаточно широк, например, 16 бит для простоты), а затем - проинтегрировать (усреднить) уже полученные "непереполняющиеся" значения измерения.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Sep 7 2009, 08:50
|
Участник

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644

|
2 Rst7
Т.е. так?
Интегратор(16бит) += (Текущее_измерение - Предидущее_значение);
... повторям много раз
Фактическое_значение = Интегратор/количество_отсчетов
--------------------
Время не придет. Время уходит.
|
|
|
|
|
Sep 7 2009, 12:36
|
Участник

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644

|
ЭЭЭэээ... А разве это не одно и то же? Разве нельзя сократить Цитата Интегратор1(16бит) += (Текущее_измерение - Предидущее_значение); Интегратор2(32бита) += Интегратор1;
... повторям много раз
Фактическое_значение = Интегратор2/количество_отсчетов до Интегратор2(32бита) += (Текущее_измерение - Предидущее_значение); ... повторям много раз Фактическое_значение = Интегратор2/количество_отсчетов ?? Или Интегратор1 тоже static?
Сообщение отредактировал Altair - Sep 7 2009, 12:54
--------------------
Время не придет. Время уходит.
|
|
|
|
|
Sep 7 2009, 14:26
|
Участник

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644

|
Цитата(Rst7 @ Sep 7 2009, 16:08)  Конечно. Где Вы видели интегратор не static?  - Семен Семеныч!!! - Ах да, да... :-))
--------------------
Время не придет. Время уходит.
|
|
|
|
|
Oct 2 2016, 12:59
|
Группа: Новичок
Сообщений: 2
Регистрация: 2-10-16
Из: Ukraine.First capital.
Пользователь №: 93 569

|
Уважаемый RST7, а можно взглянуть на ваш вариант программной реализации? Собственно интересует сам механизм измерения сдвига фазы
--------------------
Опыт, прямопропорционален количеству аппаратуры, выведенной из строя...(С)
|
|
|
|
|
Oct 7 2016, 08:12
|
Группа: Новичок
Сообщений: 2
Регистрация: 2-10-16
Из: Ukraine.First capital.
Пользователь №: 93 569

|
Цитата(Rst7 @ Oct 4 2016, 15:55)  Так вроде все описано выше. Конкретно код там довольно специфический и нечитабельный, по большому счету. из описанного выше вполне понятно как обработать полученный результат, а я будучи латышОм, не совсем понимаю сам механизм работы ацп в данном решении, потому даже не читаемый код был бы хорошим подспорьем, на чем еще учиться как ни на работе профи!?
--------------------
Опыт, прямопропорционален количеству аппаратуры, выведенной из строя...(С)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|