Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Самодельный дозиметр.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2
rudy_b
Цитата(ukpyr @ Dec 26 2010, 18:17) *
yes, поэтому приходится ждать по пол-минуты..минуте до конца измерения, и наблюдать прыгающие показания. при усреднении периода получим плавное изменение показаний и быструю реакцию.

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

Оценка погрешности очень проста, если за некоторый период времени вы зарегистрировали N импульсов, то среднеквадратичный разброс отсчетов будет sqrt(N). От этого вы никуда не уйдете.

Оптимизация сводится только к тому что можно чаще измерять, правильно усреднять и учитывать предыдущие отсчеты, т.е. оптимизировать именно изменение сигнала правильно сочетая его с ранее измеренным средним значением. Это можно делать по разному, цифровая фильтрация - наиболее простой и хорошо отработанный метод. При этом абсолютно безразлично что вы измеряете период или частоту.
Tanya
Цитата(ukpyr @ Dec 26 2010, 18:17) *
yes, поэтому приходится ждать по пол-минуты..минуте до конца измерения, и наблюдать прыгающие показания. при усреднении периода получим плавное изменение показаний и быструю реакцию.

И что же мы быстрее и точнее измерим таким образом?
Убедите нас всех.... Скорее. Что скорее... Что скорее?
777777
Цитата(ukpyr @ Dec 26 2010, 17:29) *
пример: 2 и 3 импульса за 100мс, или в среднем 43300 и 31020 тиков таймера между импульсами. где больше точность ?


Чтобы получить 2.5 импульса используют фильтрацию y(n) = K*x(n) + (1-K)*y(n-1), K<1
В целочисленном виде, конечно.

Цитата(Tanya @ Dec 26 2010, 18:00) *
Почему-то Вашу оригинальную идею не используют...
Нигде.

"Никогда не говори нигде" sm.gif Я использую вычисление периода для определения скорости вращения вала, этот способ действительно дает большую точность. Но здесь это не годится, периоды все равно будут очень разными и без фильтрации не обойтись, но еще придется и деление выполнять.

Цитата(ukpyr @ Dec 26 2010, 18:17) *
yes, поэтому приходится ждать по пол-минуты..минуте до конца измерения, и наблюдать прыгающие показания. при усреднении периода получим плавное изменение показаний и быструю реакцию.

Чтобы не ждать полминуты можно считать на 1 секунду. Я считаю, как я уже писал, за 0.1 секунду, хотя во многих отсчетах получаются нулевые значения, после фильтрации получаются достаточно ровные дробные числа. Можно поставить последовательно два фильтра и получиль лучшее сглаживание при той же скорости реакции на скачек.
rudy_b
Цитата(777777 @ Dec 26 2010, 21:14) *
...Чтобы не ждать полминуты можно считать на 1 секунду. Я считаю, как я уже писал, за 0.1 секунду, хотя во многих отсчетах получаются нулевые значения, после фильтрации получаются достаточно ровные дробные числа. Можно поставить последовательно два фильтра и получиль лучшее сглаживание при той же скорости реакции на скачек.

Маленький (10 см) стандартный гейгер дает на естественном фоне порядка 15-20 импульсов в минуту. Смысл в секундных измерениях невелик. Хотя, при нормальном фильтре, тоже будет работать.
777777
Цитата(rudy_b @ Dec 26 2010, 21:28) *
Маленький (10 см) стандартный гейгер дает на естественном фоне порядка 15-20 импульсов в минуту. Смысл в секундных измерениях невелик. Хотя, при нормальном фильтре, тоже будет работать.

Смысл в секундных измерениях в том, чтобы отражался каждый пришедший импульс в тот момент, когда он пришел, а не через полминуты. В этом случае через 3-4 отсчета с нулевым значением будет следовать один с единичным. После фильтрации результат выглядит примерно так:
Нажмите для просмотра прикрепленного файла
rudy_b
QUOTE (777777 @ Dec 27 2010, 08:37) *

Это стандартная ошибка. Если на график нанести верхнюю и нижнюю границы погрешности, сразу станет очевидной бессмысленность индикации каждого импульса.

Если вы пропустите то, что нарисовали еще через один-два сглаживающих фильтра, то график станет только информативнее - исчезнет "борода" высокочастотных отклонений, при этом время реакции останется разумным, а точность отсчетов возрастет.
777777
Цитата(rudy_b @ Dec 27 2010, 16:31) *
Это стандартная ошибка. Если на график нанести верхнюю и нижнюю границы погрешности, сразу станет очевидной бессмысленность индикации каждого импульса.

В чем именно ошибка? И откуда взять погрешности чтобы их нанести? И в чем, наконец, бессмысленность если благодаря этому график меняется сразу как только меняется счет импульсов, а не через полминуты?
Цитата(rudy_b @ Dec 27 2010, 16:31) *
Если вы пропустите то, что нарисовали еще через один-два сглаживающих фильтра, то график станет только информативнее - исчезнет "борода" высокочастотных отклонений, при этом время реакции останется разумным, а точность отсчетов возрастет.

Разумеется, я об этом писал - если воспользоваться фильтром более высокого порядка, то благодаря более крутому спаду его характеристики шум можно значительно уменьшить одновременно сохранив время реакции на изменение счета.
Tanya
Цитата(777777 @ Dec 27 2010, 21:03) *
В чем именно ошибка?
... если воспользоваться фильтром более высокого порядка, то благодаря более крутому спаду его характеристики шум можно значительно уменьшить одновременно сохранив время реакции на изменение счета.

Лучше скажите, зачем фильтр вообще? Что мы будем иметь после фильтра? Вы видели когда-нибудь реальный дозиметр?
rudy_b
Цитата(777777 @ Dec 27 2010, 21:03) *
...И откуда взять погрешности чтобы их нанести? И в чем, наконец, бессмысленность если благодаря этому график меняется сразу как только меняется счет импульсов, а не через полминуты?

Про ошибку я уже писал в 51 сообщении. Именно из-за неё ваш график будет непрерывно изменяться даже при постоянном радиационном уровне. А вы будете разглядывать эти колебания и думать, что это реальные изменения уровня фона.

А погрешность определяется легко - если вы подсчитываете число импульсов за 10 секунд (если грубо - то это постоянная интегрирования вашего фильтра, примерно соответствующая его времени отклика), то, при реальной частоте 20 импульсов в минуту, будете, при среднем значении 3.3, иметь непрерывные колебания в 1.8, т.е. более 50% от значения. Т.е. погрешность измерения при такой постоянной времени - 50%. А если смотреть не раз в 10 секунд, а раз в секунду...
777777
Цитата(Tanya @ Dec 27 2010, 22:19) *
Лучше скажите, зачем фильтр вообще? Что мы будем иметь после фильтра? Вы видели когда-нибудь реальный дозиметр?

Если он предназначен для выдачи щелчков в наушники, то тут, разумеется, даже контроллер не нужен. Если же у него есть хотя бы стрелочный индикатор, то на него придется выдавать некое напряжение, пропорциональное числу импульсов в единицу времени. Вот для получения такого напряжения и нужен фильтр.

Цитата(rudy_b @ Dec 28 2010, 00:33) *
Про ошибку я уже писал в 51 сообщении. Именно из-за неё ваш график будет непрерывно изменяться даже при постоянном радиационном уровне. А вы будете разглядывать эти колебания и думать, что это реальные изменения уровня фона.

А погрешность определяется легко - если вы подсчитываете число импульсов за 10 секунд (если грубо - то это постоянная интегрирования вашего фильтра, примерно соответствующая его времени отклика), то, при реальной частоте 20 импульсов в минуту, будете, при среднем значении 3.3, иметь непрерывные колебания в 1.8, т.е. более 50% от значения. Т.е. погрешность измерения при такой постоянной времени - 50%. А если смотреть не раз в 10 секунд, а раз в секунду...

Вот, сразу видно теоретика...
Все знают, что радиоактивный распад - процесс вероятностный. Но только поработав на практике с измерением радиоактивности, начинаешь понимать что это такое на самом деле. Вы наверное думаете, что если счет составляет 20 импульсов в минуту, то каждые три секунды вы будете регистрировать импульс? Как бы не так! Ведь процесс этот - вероятностный и счет в 20 импульсов в минуту - это лишь наибольшая вероятность получить за минуту именно такой счет. На самом деле их число каждую минуту будет разным, и очень существенно. И, что самое важное - уменьшить разброс в измерениях невозможно! Можно увеличить время регистрации, если регистрировать две минуты, то может показаться, что счет стал стабильнее. Но если вы понаблюдаете дольше, то увидите, что разброс показаний остался таким же, но просто крайние значения встречаются реже. То же самое наблюдается и при применении фильтра: можно увеличить постоянную времени фильтра, от этого кривая станет ровнее. Но если понаблюдать за ней дольше, то можно увидеть, что ее колебания остались такими же по амплитуде, просто уменьшилась частота этих колебаний. Я пробовал разные способы фильтрации и могу с уверенностью заявить, что фильтрация по вышеприведенной формуле дает такие же результаты по разбросу значений, что и простое суммирование за единицу времени если постоянную времени в той формуле задать такую же, что и время суммирования. Чтобы задавать постоянную времени в реальных секундах, коэффициент в той формуле вычисляется следующим образом:

K = 1 - exp(-T/tau)

где T- время в течение которого подсчитываются импульсы, tau - постоянная времени в секундах, T < tau. При этом совершенно не важно само значение этого времени, хоть 1 секунда, хоть 0.1 - результат на графике будет таким же несмотря на то, что в последнем случае большинство отсчетов будут нулевыми.
demiurg_spb
Цитата(777777 @ Dec 28 2010, 10:37) *
можно увеличить постоянную времени фильтра, от этого кривая станет ровнее. Но если понаблюдать за ней дольше, то можно увидеть, что ее колебания остались такими же по амплитуде, просто уменьшилась частота этих колебаний
Заблуждаетесь.
Вспомните ТАУ и на чём основан метод гармонической линеариазии нелинейных систем.
При правильно выбранном фильтре, пусть даже первого порядка, все частоты выше частоты среза будут достаточно неплохо задавлены (помните о декадак, о 20log(k)???).
И ещё, не было ни разу чтобы теория расходилась с практикой.

А все ваши измышления основаны на том, что по-сути вы используете АЦП с хреновым разрешением и тут филтьруй не фильтруй всё равно получишь лишь 2^N устойчивых состояний полезного сигнала (где N - разрядность АЦП).
Ну а в случае с дозиметром, насколько я понимаю, "разрядность АЦП" определяется лишь длительностью окна регистрации.
777777
При правильно выбранном фильтре высокие частоты можно подавить сколь угодно сильно, но это лишь означает, что кривая становится более гладкой, без мелких зубчиков. Но расброс значений от одного к другому никуда не денется, т.е. показания все равно будут колебаться, только с меньшей частотой - ведь высокие частоты мы задавили фильтром. Ведь счет импульсов подчиняется закону нормального распределения, т.е. подсчитывая число импульсов в минуту можно лишь найти наиболее вероятное значение, допустим 20 импульсов в минуту. Но в следующую минуту их может оказаться 19 или 21 причем с не намного меньшей вероятностью. Подождав не очень долго можно найти интервал в котором окажется 10 или 40 импульсов. И даже 0 или 100 - хотя вероятность этого очень мала, но она не равна нулю! Если считать не одну, а пять минут, то вероятность получить 0 или 100 импульсов в минуту резко уменьшается. Это эквивалентно уменьшению зубчиков на кривой, но поскольку до нуля вероятность не падает никогда, это лишь означает уменьшение частоты флуктуаций. Но не амплитуды! Поэтому какой способ фильтрации ни выбирай, а от разброса значений не избавишься. Особенно если частота импульсов не велика, что имеет место при измерении естественной радиоактивности.

А сравнение с АЦП здесь совершенно не катит.
rudy_b
Цитата
Вот, сразу видно теоретика...

Спасибо за разъяснения. Вообще-то моя выпускная специальность - экспериментальная ядерная физика. А уж сколько разнообразных дозиметров довелось делать я уж и не сосчитаю.

Вы совершенно неправы. Если я буду использовать фильтр с постоянной интегрирования 1 минута (скорость счета 20 имп/минуту) я получу разброс отсчетов 20%, если 10 минут - 7% и т.д. Т.е. чем больше постоянная интегрирования фильтра (время усреднения) тем меньше колебания на выходе и выше точность измерения. Но и время реакции изменяется соответственно.
demiurg_spb
Цитата(777777 @ Dec 28 2010, 16:16) *
А сравнение с АЦП здесь совершенно не катит.
Да ну?!
Ох как непросто с Вами разговаривать...
Вы вообще прочитали мой предыдущий пост, в части посыла обратится к теории ТАУ?
Что есть сказать по этому поводу?
777777
Цитата(rudy_b @ Dec 28 2010, 16:31) *
Если я буду использовать фильтр с постоянной интегрирования 1 минута (скорость счета 20 имп/минуту) я получу разброс отсчетов 20%

То есть все отсчеты будут отличаться не более чем на 20%? Да невозможно это исходя из накона нормального распределения! Можно говорить лишь о бОльшей части отсчетов, допустим: 90% или 95% отсчетов имеют разброс 20%. Но бОльшие разбросы неизбежно встретятся, хотя и с меньшей вероятностью. То же самое происходит и при цифровой фильтрации: если поставить большую постоянную времени, то показания будут почти гладкими, но если подождать несколько минут, то можно дождаться гораздо бОльших отклонений.

Цитата(demiurg_spb @ Dec 28 2010, 20:43) *
Вы вообще прочитали мой предыдущий пост, в части посыла обратится к теории ТАУ?
Что есть сказать по этому поводу?

Я уже говорил, но модератор удалил ответ вместе с "бездумным", по его мнению, цитированием. ТАУ (теория автоматического управления?) не имеет к этому вопросу никакого отношщения. Эти процессы описываются матстатистикой.
demiurg_spb
Цитата(777777 @ Dec 29 2010, 08:56) *
Я уже говорил, но модератор удалил ответ вместе с "бездумным", по его мнению, цитированием. ТАУ (теория автоматического управления?) не имеет к этому вопросу никакого отношения. Эти процессы описываются матстатистикой.
Не успел прочитать Ваш ответ. Статистика статистикой, а фильтрация и синтез фильтров (aka регуляторов) чистейшей воды ТАУ и ЦОС.
Вы всё упираете на статистику - пусть так. Попробую говорить с Вами на Вашем языке. И поэтапно.
Начнём перво-наперво с этого:
Подчиняется ли закону нормального распределения результаты физических измерений дозиметром?
777777
Цитата(demiurg_spb @ Dec 29 2010, 14:05) *
Подчиняется ли закону нормального распределения результаты физических измерений дозиметром?

Не могу ничего сказать про дозиметры, но количество импульсов, регистрируемых датчиком, безусловно подчиняется.
rudy_b
Цитата(777777 @ Dec 29 2010, 08:56) *
То есть все отсчеты будут отличаться не более чем на 20%? Да невозможно это исходя из накона нормального распределения!

20% это дисперсия отсчетов (точнее - корень квадратный из нее, жаргон), т.е. среднеквадратичное отклонение. Ессно, что будут и большие и меньшие отклонения в соответствии с рапределением вероятности - Пуассона для малых скоростей счета или нормального рапределения для больших.
demiurg_spb
Цитата(777777 @ Dec 29 2010, 14:19) *
Не могу ничего сказать про дозиметры, но количество импульсов, регистрируемых датчиком, безусловно подчиняется.
Хорошо. Тогда Вы наверное в курсе, что 99,65% замеров будут попадать в доверительный интервал = 3сигма.
А остальные "совсем неудачные" отсчёты, коих наберется менее 0,5% можно с лёгкостью отсеивать медианным фильтром, воспринимая их как импульсную помеху. Далее появляется смысл в сглаживании оставшихся "мелких пульсаций" хотя бы фильтром первого порядка (экспоненциальное сглаживание - пример простейшего фильтра).
Даже применив эти тривиальные действия можно добиться весьма и весьма сносного качества измерения.
Всё! Финита ля комедия! Какие тут ещё могут быть каверзы?
rudy_b
Вот только отбрасывать ничего не нужно, тут же получите дополнительную систематическую ошибку. Это стандартная ошибка тех, кто мало работал с чисто статистическими данными. Такие вещи допустимы при стандартных измерениях, со ссылкой на ошибку оператора или сбой системы, но не при накоплении статистики. В гейгере сигнал очень большой, помех, практически, не бывает, а реальные отсчеты могут далеко выходить за 3 сигмы (и выходят, но, соответственно, редко) и это нормально.
M._V._PAV
Цитата(sseett @ Oct 10 2006, 05:01) *
Самодельный дозиметр.
Что теперь используют в качестве датчика. Доставабельно и недорого. Есть ли альтернатива трубке Гейгера. Как обрабатывать датчик.
Ссылки на примеры приветствуются.

Чего парится вообще. Если нужен - советую Polimaster, часы + дозиметер. Купил себе. Для информации-достаточно.
demiurg_spb
Цитата(rudy_b @ Dec 29 2010, 23:49) *
Вот только отбрасывать ничего не нужно, тут же получите дополнительную систематическую ошибку. Это стандартная ошибка тех, кто мало работал с чисто статистическими данными. Такие вещи допустимы при стандартных измерениях, со ссылкой на ошибку оператора или сбой системы, но не при накоплении статистики. В гейгере сигнал очень большой, помех, практически, не бывает, а реальные отсчеты могут далеко выходить за 3 сигмы (и выходят, но, соответственно, редко) и это нормально.
Хорошо. Буду знать. Таким образом, получается, что единственный способ, повышающий качество измерений в случае выраженного стохастического поведения наблюдаемого сигнала, остаётся увеличение ширины временного окна наблюдения?
С чего начали к тому и приплыли:-)
rudy_b
Цитата(demiurg_spb @ Dec 30 2010, 13:54) *
...Таким образом, получается, что единственный способ, повышающий качество измерений в случае выраженного стохастического поведения наблюдаемого сигнала, остаётся увеличение ширины временного окна наблюдения?

В данном случае, к сожалению, именно так, слишком "случаен" сигнал, его поведение не предсказывается.

Правильный фильтр может несколько уменьшить время установки показаний при некотором, приемлемом, увеличении шума. Ну или правильно учесть старые и новые отсчеты. Т.е. выжать все возможное из поступивших ранее входных данных. Но разница, по сравнению с простым счетом за то же время, практически отсутствует, только удобство и правильный учет предыстории.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.