реклама на сайте
подробности

 
 
9 страниц V  « < 6 7 8 9 >  
Reply to this topicStart new topic
> Измерение временных интервалов, с высокой точностью
singlskv
сообщение Oct 23 2006, 11:51
Сообщение #106


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(=GM= @ Oct 23 2006, 15:16) *
Хотел ответить в одном сообщении, да больно тематика постов разная(:-).
Цитата(singlskv @ Oct 22 2006, 20:16) *

Цитата(GetSmart @ Oct 21 2006, 05:45) *

Цитата
Вопрос в другом, как мерять импульсы и интервалы между ними от 1 мкс и выше? Есть предложения(:-)?
Для этого Найдите форум полных извращенцев smile.gif

А в чем проблема мерить импульсы длительностью от 1 такта ? blink.gif
Цепляем сигнал к двум таймерам (Timer1 и Timer3 на Mega128) одновременно, один ловит фронт
другой спад smile.gif

Пошел искать форум полных извращенцев ... biggrin.gif

Не надо никуда ходить. Если импульсы идут с периодом в 1 мкс, на втором импульсе ваша система заткнется, не успеет переварить(:-).

Заметьте, я говорил только про импульсы а не про ИНТЕРВАЛЫ между ними.
Очевидно что такая система заткнется и при интервалах между импульсами в 30-40 тактов,
так как просто не будет успевать обработать полученные данные.
А вот для одиночных импульсов с достаточно большими промежутками между ними,
такая система (с двумя таймерами) вполне работоспособна.

Цитата
А вообще, хочу вас, коллеги, огорчить(:-(. Весь сыр-бор разгорелся из-за вопроса, можно ли измерить секундный интервал с точностью 1 мкс, используя 1МГц атмегу.

Так вот ответ неутешительный: НЕЛЬЗЯ! Максимальная ошибка равна ПЛЮС-МИНУС ОДНА микросекунда, что в итоге составляет 2 мкс. Правы были товарищи, которые говорили нельзя, а мы не поверили коллективному разуму(:-(.

Ну это вообщем-то правда точность действительно +-1 мкс.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 23 2006, 13:09
Сообщение #107


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Уйду я от вас. ##пые вы :-(

Кто сказал 2 мкс ??? На самом деле для любого изменения состояния ошибка 0..1 мкс. Не может захват сработать раньше прихода строба!!! А вот уже для двух изменений будет +-1. Это именно запрашиваемая точность. И вообще, категоричность - признак ##пости.

Сообщение отредактировал GetSmart - Oct 23 2006, 13:12


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 23 2006, 13:10
Сообщение #108


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



singlskv Заметьте, я говорил только про импульсы а не про ИНТЕРВАЛЫ между ними.
Очевидно что такая система заткнется и при интервалах между импульсами в 30-40 тактов,
так как просто не будет успевать обработать полученные данные. А вот для одиночных импульсов с достаточно большими промежутками между ними, такая система (с двумя таймерами) вполне работоспособна.


Для пачки (порядка 100-200-300) коротких импульсов время обработки можно снизить до 10 тактов, но это все же не 1 такт(:-(.

GM А вообще, хочу вас, коллеги, огорчить(:-(. Весь сыр-бор разгорелся из-за вопроса, можно ли измерить секундный интервал с точностью 1 мкс, используя 1МГц атмегу. Так вот ответ неутешительный: НЕЛЬЗЯ! Максимальная ошибка равна ПЛЮС-МИНУС ОДНА микросекунда, что в итоге составляет 2 мкс. Правы были товарищи, которые говорили нельзя, а мы не поверили коллективному разуму(:-(.

singlskv Ну это в общем-то правда точность действительно +-1 мкс

Так шта-а, всем учить матчасть(:-). И мне в том числе.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 23 2006, 13:26
Сообщение #109


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(GetSmart @ Oct 23 2006, 17:09) *
Уйду я от вас. ##пые вы :-(

Кто сказал 2 мкс ??? На самом деле для любого изменения состояния ошибка 0..1 мкс. Не может захват сработать раньше прихода строба!!! А вот уже для двух изменений будет +-1. Это именно запрашиваемая точность. И вообще, категоричность - признак ##пости.

Ну дык я и имел в виду для двух измерений: от фронта до спада точность +-1.


Цитата(=GM= @ Oct 23 2006, 17:10) *
singlskv Заметьте, я говорил только про импульсы а не про ИНТЕРВАЛЫ между ними.
Очевидно что такая система заткнется и при интервалах между импульсами в 30-40 тактов,
так как просто не будет успевать обработать полученные данные. А вот для одиночных импульсов с достаточно большими промежутками между ними, такая система (с двумя таймерами) вполне работоспособна.


Для пачки (порядка 100-200-300) коротких импульсов время обработки можно снизить до 10 тактов, но это все же не 1 такт(:-(.

ИМХО
Для одиночного единичного импульса можно определять длительности от 1 такт, но
с точностью +-1 такт. smile.gif
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 23 2006, 13:39
Сообщение #110


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



GetSmart Уйду я от вас. ##пые вы :-(

Ну куда вы пойдете, зачем? В пустыню, ##трый вы наш(:-)? Там вам АВР быстро $йца открутит, он всех оттуда распугал, неохота даже заходить(:-)

GetSmart Кто сказал 2 мкс ??? На самом деле для любого изменения состояния ошибка 0..1 мкс. Не может захват сработать раньше прихода строба!!! А вот уже для двух изменений будет +-1. Это именно запрашиваемая точность. И вообще, категоричность - признак ##пости.

Ну я сказал 2 мкс, и что? И не категорично совсем, всё подлежит обсуждению, чтобы все стороны пришли к консенсусу(:-). Вот представьте себе, вам надо отмерить 100 см рейку, а линейка ваша дает точность +-1 см. У вас рейки будут от 99 см до 101 см, т.е. 2 см разницы, так же и во времени, только в микросекундах.

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

1) 100.001 мкс - фронт, 102.999 мкс - спад, измерится как 2 мкс, реальная длина - 3 мкс.

2) 100.999 мкс - фронт, 102.001 мкс - спад, измерится как 2 мкс, реальная длина - 1 мкс.

Как видим, по результату измерения вы НЕ можете сказать, что реальная длина импульса лежит в пределах микросекунды, то есть от 1.5 мкс до 2.5 мкс. Вот и весь фокус.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 23 2006, 13:45
Сообщение #111


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(singlskv)
Ну дык я и имел в виду для двух измерений: от фронта до спада точность +-1.

А чего поддакивали?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 23 2006, 14:00
Сообщение #112


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(=GM=)
1) 100.001 мкс - фронт, 102.999 мкс - спад, измерится как 2 мкс, реальная длина - 3 мкс.

2) 100.999 мкс - фронт, 102.001 мкс - спад, измерится как 2 мкс, реальная длина - 1 мкс.

Как видим, по результату измерения вы НЕ можете сказать, что реальная длина импульса лежит в пределах микросекунды, то есть от 1.5 мкс до 2.5 мкс. Вот и весь фокус.
Если точность +-1 такт проца, то усё в порядке.

Вы бы лучше поведали нам про 0.5-тактовую точность. Может я бы и остался ещё ненадолго тута.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 23 2006, 14:02
Сообщение #113


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(GetSmart @ Oct 23 2006, 17:45) *
Цитата(singlskv)
Ну дык я и имел в виду для двух измерений: от фронта до спада точность +-1.

А чего поддакивали?


Кажеться мы сейчас все говорим об одном и том же,
просто возникли непонятки в терминах =GM= считает что 2 такта это точность, но
ИМХО это называется как-то по другому, а точность она всегда +-.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 23 2006, 14:15
Сообщение #114


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(GetSmart @ Oct 23 2006, 18:00) *
Вы бы лучше поведали нам про 0.5-тактовую точность. Может я бы и остался ещё ненадолго тута.

Присоединяюсь.
Ну даже если Вы поняли что эта идея неосуществима, поделитесь хотя бы
в какую сторону были мысли.
Компаратор ? или что еще ...
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 23 2006, 15:00
Сообщение #115


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(singlskv @ Oct 23 2006, 13:15) *
Цитата(GetSmart @ Oct 23 2006, 18:00) *

Вы бы лучше поведали нам про 0.5-тактовую точность. Может я бы и остался ещё ненадолго тута.

Присоединяюсь.
Ну даже если Вы поняли что эта идея неосуществима, поделитесь хотя бы
в какую сторону были мысли.
Компаратор ? или что еще ...

Да всё просто, как правда(:-). На два таймера подаете один и тот же сигнал, но один таймер считает 0-1, а второй 1-0. Сигнал захвата подаете на два ICU. После захвата анализируете содержимое двух ICU и решаете, где произошел захват, в первой половине такта или во второй, только и всего, а вы говорите точность(:-). Пользуйтесь, не жалко. Идея осуществима и удваивает точность по сравнению с обычным подходом.

Про точность. В обиходе, говоря точность одна единица, подразумевают +-1/2 этой самой единицы. Ну или говорят еще так, точность равна половине цены деления. Это все из одной оперы.

Про время. Точность измерения одна микросекунда означает, что вы сузили рамки неопределенности длины сигнала до +-0.5 мкс. Так как-то. У нас же - в два раза больше.

Кстати, точность не обязательно должна быть симметрична, она может быть -0.8..+0.3 или -0.1..+0.9. В пределе может быть 0..2.

Сообщение отредактировал =GM= - Oct 23 2006, 15:07


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 23 2006, 15:42
Сообщение #116


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(=GM= @ Oct 23 2006, 19:00) *
Да всё просто, как правда(:-). На два таймера подаете один и тот же сигнал, но один таймер считает 0-1, а второй 1-0. Сигнал захвата подаете на два ICU. После захвата анализируете содержимое двух ICU и решаете, где произошел захват, в первой половине такта или во второй, только и всего, а вы говорите точность(:-). Пользуйтесь, не жалко. Идея осуществима и удваивает точность по сравнению с обычным подходом.

ИМХО, захват всегда происходит в одном и том же месте такта, так что определить все таки
не удастся. А если и удастся, то, если я чего не попутал Вам необходимы как минимум
два импульса АБСОЛЮТНО одинаковой длительности.
Вообщем код в студию, и тогда обсудим...
Цитата
Про точность. В обиходе, говоря точность одна единица, подразумевают +-1/2 этой самой единицы. Ну или говорят еще так, точность равна половине цены деления. Это все из одной оперы.

а что тогда используют для рассчета среднеквадратичного отклонения ?
неужели максимальную ошибку(от минимума до максимума) ?
Цитата
Кстати, точность не обязательно должна быть симметрична, она может быть -0.8..+0.3 или -0.1..+0.9. В пределе может быть 0..2.

-0,8..+0.3 понимаю, в таком случае говорят что абсолютная погрешность не более 0,8 .
0..2 для нашего случая не понимаю, в каком пределе ?
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 23 2006, 16:40
Сообщение #117


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



=GM= Да всё просто, как правда(:-). На два таймера подаете один и тот же сигнал, но один таймер считает 0-1, а второй 1-0. Сигнал захвата подаете на два ICU. После захвата анализируете содержимое двух ICU и решаете, где произошел захват, в первой половине такта или во второй, только и всего

singlskv ИМХО, захват всегда происходит в одном и том же месте такта, так что определить все таки не удастся. А если и удастся, то, если я чего не попутал Вам необходимы как минимум два импульса АБСОЛЮТНО одинаковой длительности.

Вот не хотите думать(:-). Для первой половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет пока еще 104, для второй половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет тоже 105...Ощутите разницу(:-).

singlskv а что тогда используют для расчета среднеквадратичного отклонения? неужели максимальную ошибку(от минимума до максимума)?

СКО=КвКОРЕНЬ (СУММА((Xi-Xсреднее)^2)/(N-1))), i =1,2,...,N. По результатам одного измерения СКО не определяется. Число N должно быть большим, 50-100 и выше. Чем больше, тем лучше, зависит от задачи, конечно.

singlskv -0,8..+0.3 понимаю, в таком случае говорят что абсолютная погрешность не более 0,8...2 для нашего случая не понимаю, в каком пределе?

Для нашего случая максимальная погрешность 2 мкс.

Вот еще пример. Вы знаете, что был такой калибр у контролеров ОТК. Например, одна рамка должна пропускать деталь, скажем, поршень двигателя Жигуля, а вторая - нет. Ну и допуск будет такой 84.0-84.05 (вгрубе, не помню точно). Какая будет точность измерения? +-0.025 или все же 0.05?


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 23 2006, 17:54
Сообщение #118


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(=GM= @ Oct 23 2006, 20:40) *
=GM= Да всё просто, как правда(:-). На два таймера подаете один и тот же сигнал, но один таймер считает 0-1, а второй 1-0. Сигнал захвата подаете на два ICU. После захвата анализируете содержимое двух ICU и решаете, где произошел захват, в первой половине такта или во второй, только и всего

singlskv ИМХО, захват всегда происходит в одном и том же месте такта, так что определить все таки не удастся. А если и удастся, то, если я чего не попутал Вам необходимы как минимум два импульса АБСОЛЮТНО одинаковой длительности.

Вот не хотите думать(:-). Для первой половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет пока еще 104, для второй половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет тоже 105...Ощутите разницу(:-).

про 104/105 понял, но остались вопросы, приведите код, тогда и обсудим....
Цитата
singlskv а что тогда используют для расчета среднеквадратичного отклонения? неужели максимальную ошибку(от минимума до максимума)?

СКО=КвКОРЕНЬ (СУММА((Xi-Xсреднее)^2)/(N-1))), i =1,2,...,N. По результатам одного измерения СКО не определяется. Число N должно быть большим, 50-100 и выше. Чем больше, тем лучше, зависит от задачи.

Не, ну конечно спасибо за ликбез. но если Вы не заметили, то среднеквадратичное
отклонение зависит только от абсолютного отклонения smile.gif
Цитата
ssinglskv -0,8..+0.3 понимаю, в таком случае говорят что абсолютная погрешность не более 0,8.
0..2 для нашего случая не понимаю, в каком пределе?
Цитата

Для нашего случая максимальная погрешность 2 мкс.


ну давайте назовем это максимальным размахом погрешности smile.gif, тогда да, 2 такта.... biggrin.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Oct 23 2006, 21:38
Сообщение #119


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(=GM= @ Oct 23 2006, 19:40) *
Цитата
singlskv ИМХО, захват всегда происходит в одном и том же месте такта, так что определить все таки не удастся. А если и удастся, то, если я чего не попутал Вам необходимы как минимум два импульса АБСОЛЮТНО одинаковой длительности.


Вот не хотите думать(:-). Для первой половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет пока еще 104, для второй половины такта в счетчике1 будет, скажем, 105, а в счетчике2 будет тоже 105...Ощутите разницу(:-).

Вот именно... не хотите думать...
Говорят же, захват происходит в один и тот же момент времени для обоих таймеров, следовательно оба таймера покажут одинаковый рез-тат.
Хотите "полутакт" определить - поставьте внешний D-триггер, D вход к XTAL2, C вход - к входному сигналу, т.о. в этот триггер защелкнется "полутакт".
Только нафиг оно нужно?! если повысить разрешающую способность во времени можно просто увеличив тактовую, (тем паче запас есть).
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 24 2006, 10:13
Сообщение #120


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Oct 23 2006, 20:38) *
Вот именно... не хотите думать...
Говорят же, захват происходит в один и тот же момент времени для обоих таймеров, следовательно оба таймера покажут одинаковый рез-тат.
Хотите "полутакт" определить - поставьте внешний D-триггер, D вход к XTAL2, C вход - к входному сигналу, т.о. в этот триггер защелкнется "полутакт".
Только нафиг оно нужно?! если повысить разрешающую способность во времени можно просто увеличив тактовую, (тем паче запас есть).

Ну голубчик defunct, ну подумайте сами. Да, захват происходит (и должен происходить!) в один и тот же момент времени для обоих таймеров, но СОДЕРЖИМОЕ таймеров различается, поскольку на оба таймера подается один и тот же сигнал, но первый таймер инкрементируется на переходах 0-1, а второй будет инкрементироваться на переходах 1-0. Ну а раз содержимое различается, захват это должен показать!

Зачем и кому это нужно. Скажем, я хочу получить минимально возможную погрешность. Ставлю максимальную частоту 16 МГц и получаю пресловутые 2 такта погрешности, т.е. 2/16 мкс. А я хочу получить 1/16 мкс. Приведенный мной метод позволяет УДВОИТЬ точность, используя то же самое оборудование, что на мой взгляд выгодно.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

9 страниц V  « < 6 7 8 9 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 03:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01441 секунд с 7
ELECTRONIX ©2004-2016