Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
18.12.2007, 16:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,535
Сказал спасибо: 698
Сказали Спасибо 4,313 раз(а) в 1,977 сообщении(ях)
|
Да именно так, все очень просто.
|
|
|
|
18.12.2007, 17:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сообщение от alkl
|
static unsigned int_dec=256;
...
if (--int_dec == 0) ...
result = ... ›› 4;
|
Кто-нибудь объяснит, почему усреднение 256-и результатов получается делением на 16?
|
|
|
|
18.12.2007, 19:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,535
Сказал спасибо: 698
Сказали Спасибо 4,313 раз(а) в 1,977 сообщении(ях)
|
Это не усреднение а оверсэмплинг для увеличения разрядности АЦП. На каждый дополнительный разряд надо в 4 раза больше измерений. Читайте ссылки.
|
|
|
|
18.12.2007, 20:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сообщение от Kabron
|
... Читайте ссылки.
|
Поскольку были предложены не сами ссылки, а способ получить кучу ссылок на поисковиках, ссылаться я могу только на предложенный текст проги. А этот текст выглядит так:
1. обнуление накопителя
2. 256 сложений измеренной величины в накопитель
3. Деление накопленной суммы на 16
4. инициализация перед повтором цикла
Сейчас посмотрю атмеловскую апноту, канешна, как без этого, но чудес-то не бывает - в одном из двух мест ашипка, 4 младших разряда должны иметь в 16 раз меньшие веса...
|
|
|
|
18.12.2007, 21:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Ну, всё правильно - в описании (атмеловском) оверсэмплинга еще определен коэффициент, на который следует делить (с сохранением дробной части) полученный результат сдвига, чтобы получить собственно результат. Для 256 измерений, этот коэффициент как раз и равен 16-ти - то есть, сумму 256 измерений сначала делим на 16 целочисленно, а затем снова на 16, но уже с сохранением сдвинутых разрядов - это и приводит к повышению разрядности.
Трудно было так и объяснить?
|
|
|
|
18.12.2007, 22:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,535
Сказал спасибо: 698
Сказали Спасибо 4,313 раз(а) в 1,977 сообщении(ях)
|
"Трудно было так и объяснить? "
Я предпочитаю учиться по первоисточникам.
Еще и виноват...
К тому же ваше объяснение неправильно. Но это уже без меня.
|
|
|
|
18.12.2007, 22:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Звезды, на сцену..
Как малые дети, ей богу...
|
|
|
|
18.12.2007, 22:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сообщение от Kabron
|
Еще и виноват...
|
Нее, переиначивать меня не надо - я говорил о том, что объяснить кажущуюся нестыковку было бы короче, чем набирать такую длинную и ничего не объясняющую фразу, как:
Сообщение от Kabron
|
Это не усреднение а оверсэмплинг для увеличения разрядности АЦП. На каждый дополнительный разряд надо в 4 раза больше измерений. Читайте ссылки.
|
Я лишь поделился соображением, упрекать и не думал. Да и смайлы иногда не следует игнорировать.
Сообщение от Kabron
|
К тому же, ваше объяснение неправильно.
|
Это не моё объяснение - атмеловское. При случае, передам им. Итак, цитирую:
Цитата:
|
...increasing the resolution from 10-bits to 12-bits requires the summation of 16 10-bit values. A sum of 16 10-bit values generates a 14-bit result where the last two bits are not expected to hold valuable information. To get ‘back’ to 12-bit it is necessary to scale the result. The scale factor, sf, given by Equation 3-2, is the factor, which the sum of 4n samples should be divided by, to scale the result properly.
|
Разница лишь в количестве бит - в их примере - по 2 бита, в том, что был у alkl - по 4. Первый подчёркнутый фрагмент касается отбрасываемых двух бит, второй - сохраняемых.
Сообщение от Kabron
|
Но это уже без меня.
|
Вольному, разумеется, воля, но по-моему - напрасно.
|
|
|
|
18.12.2007, 23:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
tempora, ты здесь со всеми поссорился, кроме меня.. Со мной трудно поссориться, я инженер атс и с клиентами работаю.. ну это лирика.. А я лично не вижу, где в твоей цитате увеличение разрядности, ведь берется 14 - разрядное значение и делается 10 -или 12 разрядное...
Членами меряться - вещь неблагодарная и ненужная... Кусок кода - вполне достаточно.. Опять подчеркиваю - напишешь 1 раз - оно ведь отгуглится...
|
|
|
|
18.12.2007, 23:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сначала о неважном, чтобы оно не мешало говорить об основном...
Сообщение от urry
|
Опять подчеркиваю - напишешь 1 раз - оно ведь отгуглится...
|
Не вижу в своих словах ничего, чего следовало бы стыдиться. Поясню своё понимание, раз уж так обернулось. Вот представь - ты задаешь вопрос, ответить на который можно двумя словами, а в ответ получаешь длинную фразу, которая не является ответом, а лишь отсылает к какому-то документу. Иногда, когда пояснения пространны, действительно проще дать ссылку на доку. Но в данном случае, как я понял, прямой ответ был короче линка - о чем я и сказал. Понимая, что человек мог не видеть короткого ответа, я высказал лишь свое предположение - ничего утверждать не стал. ![Идея!](images/smilies/icon_idea.gif) Наверное, если бы я написал "розово-лиловое слушали/постановили", типа, "уважаемый Каброн, мне кажется, что Вы могли бы сэкономить своё и моё время, объяснив кажущуюся пропажу 4 сдвигов необходимостью масштабирования результата на 1/16-ю", - он бы не стал искать в моих словах упрек (но, фиг знает - мог бы заподозрить в издевке..), но я-то писал без задней мысли, а потому совершенно не рассматривал такую возможность...
Но, в целом ты прав - это-таки лирика.
Теперь о разрядности, об увеличении которой цитата. Для начала просто сравним количество разрядов - каждый отсчет - 10 битный, сумма 16 отсчетов - 14 бит, после отбрасывания 2 бит остается 12, что, несомненно, больше 10, не так ли? То есть, берется-таки 10-разрядное, а получается - 12-ти...
Теперь посмотрим, отражен ли этот момент в цитате...
Про первые два бита (которые отбрасываются) там написано, что они "are not expected to hold valuable information", то бишь, не содержат значимой информации. А про вторые два сказано, что для получения собственно результата сумму отсчетов нужно масштабировать. Я уверен, что ты это и сам прекрасно понимаешь, тогда нафига спрашиваешь - проверяешь, понимаю ли я? ![Подмигивание](images/smilies/icon_wink.gif) Ну, хорошо, раз ты встречаешь по одежке (все так делают, не буду удивляться), я проиллюстрирую. Итак, предположим для краткости, что младшему биту соответствует ровно единица измеряемой величины, тогда просуммировав 16 10-битных отсчетов и сдвинув на 2 бита вправо, получаем 12-битную величину, которую еще нужно масштабировать в 1/4-ю. То есть, младшие два разряда из единиц и двоек становятся половинками и четвертями. Вот и оно - увеличение разрядности (*). Целая часть, по-прежнему, 10-битная, но теперь есть дробная часть, состоящая из 2 бит. То есть, если раньше измерения были с точностью до 1.0, то теперь - до 0.25.
Неужели кажется таким невероятным, что человек может это понимать, несмотря даже на то, что прочел об этом только-что? 8O
(*) Формально, разрядность увеличена и без масштабирования - из 10, 12 же бит стало, но это только формально.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:21.
|
|