Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: три частоты на АТмегу 128 с использованием таймеров
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3, 4, 5
=GM=
I'm back(:-).
Цитата(defunct @ Jul 22 2008, 09:47) *
Как можно на одном секундном интервале сделать 50k независимых измерений секундного интервала (пусть они даже будут пересекаться)?! На секундном интервале есть возможность сделать только одно независимое измерение с точностью ±0.5 Гц (первая часть поста). Все остальные будут обладать либо меньшей точностью, либо не будут независимыми!

Это очередное заблуждение, ну не хочет никто правильно думать(:-). Ладно, показываю. Надеюсь, не надо заново и подробно пояснять процесс получения пары чисел (N1,M1) в момент времени t1 и другой пары чисел (N2,M2) в момент времени t2=t1+1с? Теперь представьте себе, что в момент t3=t1+1мс вы получаете пару чисел (N3,M3), а в момент времени t4=t2+1мс вы получаете ещё одну пару чисел (N4,M4). Таким образом, через 1001мс от начала первого измерения вы получаете два независимых измерения входной частоты. Продолжая получать пары чисел каждые 1 мс, за одну секунду вы будете получать 1000 независимых измерений.
Tomade
Заметил свою ошибку: посчитал Т2 шестнадцатиразрядным. Если в строке M2=(unsigned long int)Perepol_Timer2*65536+count_T2; вместо 65536 поставить 256, то работа частотомера становится стабильной (начиная со второго измерения). Однако частота индицируется равной 16384 Гц, а не 10000 Гц. Почему?
=GM=
Цитата(Tomade @ Jul 22 2008, 08:49) *
Подскажите, пожалуйста, где ошибка в программе

Таймер2 всё-таки 8-разрядный, а не 16-разрядный, сдвиг нужен на 8. А так, вак вы делаете, можно и комплексные числа получить (:-).
Яrik
На сайте pro-radio.ru, уважаемый GM продолжел свои разьяснения по поводу реализации и модернизации исходного кода. Если интересно, ссылка http://pro-radio.ru/controllers/5978/.

P.S. Я так и не смог приблизится к теоритической точности, но это проблемма не метода, а моя. Хреновый с меня програмист.

Цитата(=GM= @ Jul 21 2008, 19:31) *
Моим методом (ну не совсем моим, он известен давно, просто я его приспособил к периферии аврки, в этом смысле он мой) за 1 с интервал вполне реально сделать 1000 НЕЗАВИСИМЫХ измерений, потом обработать результат, вот и всё обоснование.

Не подскажете где почитать про "родоначальника" smile.gif вашего метода.
=GM=
Цитата(Яrik @ Jul 22 2008, 13:07) *
Я так и не смог приблизиться к теоретической точности, но это проблема не метода, а моя. Хреновый с меня программист

Не надо только самоуничижаться. Тут так - глаза боятся, а руки делают. И потом, Москва тоже не сразу строилась. Вам надо найти смелость отказаться от прерываний и перейти к опросу готовности захвата. Кроме того, можно перейти на проц с двумя схемами захвата, одна будет захватывать Ni, а другая Mi и у вас сразу всё получится, причём на си.

Что касается теоретической части, то посмотрите нижеследующие книги.

1) Дворяшин Б.В. Кузнецов Л.И. Радиотехнические измерения, 1978

2) Дворяшин Б. В. Основы метрологии и радиоизмерения, 1993

3) Дворяшин Б. В. Метрология и радиоизмерения, 2005

Если у кого есть последняя книга, с удовольствием бы посмотрел, чисто для ознакомления, надеюсь, Борис Владимирович не обидится.
Яrik
Цитата(=GM= @ Jul 22 2008, 18:18) *
Кроме того, можно перейти на проц с двумя схемами захвата, одна будет захватывать Ni, а другая Mi и у вас сразу всё получится, причём на си.

Пока просмотрел и нашел,что ATmega64, ATmega128, ATmega162 имеют две схемы захвата. Может я что то пропустил? Да и контроллеры дороговаты (живу не очень близко к центру).
defunct
Цитата(=GM= @ Jul 22 2008, 15:35) *
Таким образом, через 1001мс от начала первого измерения вы получаете два независимых измерения входной частоты. Продолжая получать пары чисел каждые 1 мс, за одну секунду вы будете получать 1000 независимых измерений.

Ок, замечательно. Теперь к заявленному интервалу 1с прибавим 1000 * 1ms получим уже не одну а 2с. smile.gif
50k * 1ms = 50с.

Но в общем понятно, что в сравнении с воротами, выйти на заданную точность можно быстрее.
=GM=
Цитата(defunct @ Jul 22 2008, 16:10) *
Ок, замечательно. Теперь к заявленному интервалу 1с прибавим 1000 * 1ms получим уже не одну а 2с. 50k * 1ms = 50с. Но в общем понятно, что в сравнении с воротами, выйти на заданную точность можно быстрее

Ну, defunct, ну нет у вас стратегического подхода, может, ну его нафик это программирование, а (:-)? Или вы меня во что бы то ни стало хотите прищучить, признавайтесь? А ведь я по поводу частотомера говорю одну только правду, истинный крест.

Частотомер, это конвейер, он считает частоту непрерывно, пока включен. Ну какие 2 секунды, если он каждую миллисекунду получает оценку частоты, и следовательно, каждую секунду он будет получать 1000 измерений? Естественно, что в первую секунду после включения результат усреднения будет неправильным, но кого это волнует, если опорник надо прогревать 20 минут?
defunct
Цитата(=GM= @ Jul 23 2008, 00:38) *
Ну, defunct, ну нет у вас стратегического подхода, может, ну его нафик это программирование, а (:-)? Или вы меня во что бы то ни стало хотите прищучить, признавайтесь?

Не хочу никого прищучивать, чес-слово. ;>
Отличный метод у вас, я даже сам ссылки даю на ваши идеи.

Цитата
Частотомер, это конвейер, он считает частоту непрерывно, пока включен. Ну какие 2 секунды, если он каждую миллисекунду получает оценку частоты, и следовательно, каждую секунду он будет получать 1000 измерений? Естественно, что в первую секунду после включения результат усреднения будет неправильным, но кого это волнует, если опорник надо прогревать 20 минут?

Хорошая аналогия! Только не каждому нужно постоянно мерять одну и ту же частоту. Кому-то важнее получить адекватный результат как можно быстрее после смены частоты. Читая ваши посты, можно потом разочароваться. Лучше сразу предостеречь.

Вам нравится правдивая, но в то же время не раскрывающая всей правды реклама?
Наглядный пример из не столь отдаленного прошлого с которым столкнулся почти каждый из здесь присутсвующих - CRT монитор 15" . Покупающий ожидает диагональ 15" он ее получает, только из этих 15" пользовать может только 13".
add
Цитата(defunct @ Jul 22 2008, 04:03) *
Такой замечательной книжки у меня под рукой нет (у всех свои кумиры)..

Теперь есть: /upload/Books/Dvoryashin, Kuznecov. Radiotexnicheskie izmereniya (Sov.Radio, 1978)(ru)(L)(T)(181s)_EE_.djvu biggrin.gif
=GM=
Цитата(defunct @ Jul 22 2008, 21:38) *
Отличный метод у вас, я даже сам ссылки даю на ваши идеи
На какие идеи, простите? Так я не понял, вы согласны теперь, что моим методом за одну секунду можно получить 1000 независимых измерений?

Цитата(defunct @ Jul 22 2008, 21:38) *
Хорошая аналогия! Только не каждому нужно постоянно мерять одну и ту же частоту. Кому-то важнее получить адекватный результат как можно быстрее после смены частоты. Читая ваши посты, можно потом разочароваться. Лучше сразу предостеречь

О чём это вы, прости господи! В чём разочароваться и о чём предостеречь? Каждую секунду вы получаете 1000 измерений, а уж что выводить - это воля разработчика. Выбрали вывод раз в секунду одного измерения из 1000, получите, выбрали вывод раз в секунду усреднения из 1000, пожалуйста!

Цитата(defunct @ Jul 22 2008, 21:38) *
Наглядный пример из не столь отдаленного прошлого с которым столкнулся почти каждый из здесь присутствующих - CRT монитор 15" . Покупающий ожидает диагональ 15" он ее получает, только из этих 15" пользовать может только 13"
Что за недавнее прошлое с 13"? Ужас какой. Вопрос не по теме. У меня стоят два ЖК монитора 17" и 22", ну и видеокарта на два выхода, и картинки практически мгновенно перетаскиваются с одного экрана на другой. Вот мне интересно, как определить, насколько сильно при этом нагружается ось и все 4 ядра или только одно? Проц intel core 2 quad, 2.6 ГГц.
defunct
Цитата(=GM= @ Jul 23 2008, 12:32) *
Так я не понял, вы согласны теперь, что моим методом за одну секунду можно получить 1000 независимых измерений?

С этим утверждением не согласен. Читайте выше почему.
При непрерывном измерении - будете получать 1000 результатов в секунду. Но каждая тысяча измерений взята с удвоенного интервала.

Цитата
О чём это вы, прости господи! В чём разочароваться и о чём предостеречь? Каждую секунду вы получаете 1000 измерений, а уж что выводить - это воля разработчика. Выбрали вывод раз в секунду одного измерения из 1000, получите, выбрали вывод раз в секунду усреднения из 1000, пожалуйста!

Как-будто вы не поняли о чем я говорю.
1000 измерений покрывают 2х секундный интервал.

Цитата
Что за недавнее прошлое с 13"?

13.6" (13.1") Viewable image никогда не видели в описании пятнашек? К ЖК это не относится, в основном viewable image у ЖК совпадает с диагональю.
=GM=
Цитата(defunct @ Jul 23 2008, 09:09) *
При непрерывном измерении - будете получать 1000 результатов в секунду. Но каждая тысяча измерений взята с удвоенного интервала

При чём здесь удвоенный интервал? Я говорил, что каждую секунду моим методом можно получить 1000 независимых измерений, я показал, что я их реально получаю. Если у меня есть 1000 измерений за одну секунду, то я могу сделать усреднение частоты за одну секунду и обновить дисплей частотомера.
defunct
Цитата(=GM= @ Jul 23 2008, 13:40) *
Я говорил, что каждую секунду моим методом можно получить 1000 независимых измерений, я показал, что я их реально получаю.


нет, вы говорили по-другому:

Цитата
что моим методом за одну секунду можно получить 1000 независимых измерений?

Цитата
и скажу, что за секунду сделаю 10000 НЕЗАВИСИМЫХ измерений


Что есть неточно.

Цитата(=GM= @ Jul 23 2008, 13:40) *
Если у меня есть 1000 измерений за одну секунду,

То они не будут независимыми или не будут обладать заявленной точностью. smile.gif

Правильно сказать "1000 измерений в секунду" это скорость конвеера.
=GM=
Извините, но это бред какой-то. Что в лоб, что по лбу! defunct'у (:-).
add
to =GM=
хочу для себя уточнить нижний предел измерения: таким методом напрямую(т.к. размерность счетчика 16 бит на АВР не позволит. Будет переполнение которое необходимо обрабатывать) нельзя измерять частоту меньше ~244Гц (при Fclk=16МГц).Так?
Peeoner
Я конешно извеняюсь что прирву "битву" =GM= и defunct...
Можно услышать ответ на один вопрос
Какая будет точность измерения ,если переод измерения меньше 1с,ну скажем 0.1с.

To =GM= вы вот говорите 1000измерений за 1с. Тогда период одного измерения 0.001с--или я не прав??? А как же 1с и 100с???????
Вы в течение 1с намеряете 1000 значений измеряемой частоты,получая числа N и М каждые 0.001с,ну а потом усредните их... Но ведь тогда 1с это не совсем то период измерения-это уже период накопления значений. А то что вы эти значения обработаете и усредните ,это уже будет среднее,а не текущее значение частоты.
А вот если за 1с уплывет частота,то среднее будет сильно искажено...
Ваш метод расчитан на измерения стабильных значений частоты чтоли?

100с период измерения-это круто!! Токо смысл? Мне же не водородный эталон по этому частотомеру настраивать)))
Я хотел бы что бы обратили применимость метода к измерения частот,близким к критическим-ну скажем 4мгц. С периодом измерения 0.1с.

To defunct -можно пару предложений по вашему варианту метода "ворот", а то что то мне кажеться что метод =GM= будет давать нифиговую погрешность,если период измерения будет менее 1с!

Буду очень благодарен услышать ответы на свои вопросы...
=GM=
Цитата(add @ Jul 23 2008, 11:18) *
to =GM=
хочу для себя уточнить нижний предел измерения: таким методом напрямую (т.к. размерность счетчика 16 бит на АВР не позволит. Будет переполнение которое необходимо обрабатывать) нельзя измерять частоту меньше ~244Гц (при Fclk=16МГц).Так?

Видимо не так, хотя не совсем понимаю вопрос. Как связано переполнение с нижним пределом измерения?

Нижний предел измерения напрямую зависит от окна. Если у вас окно 1с, то можно мерять от одного герца, если окно 10с, то можно мерять от 0,1 герца. Как вариант для таких инфранизких частот можно перейти к прямому измерению периода входной частоты.

Что касается переполнения таймера1, то независимо от значения входной частоты на таймер1 в любом случае придёт 16 000 000 импульсов в течение секундного окна, естественно, возникнут переполнения, и надо будет их учитывать, поскольку ёмкость таймера1 всего 65536.
add
Цитата(=GM= @ Jul 23 2008, 17:54) *
Видимо не так, хотя не совсем понимаю вопрос. Как связано переполнение с нижним пределом измерения?

Я говорю про интервал времени по прошествии "секунды" запускаем счетчик и ждем прерывания по положительному фронту отсчитывая значения для определения Nкон. Если период измеряемой частоты будет больше 65536 (т.е. 244Гц при Fопорное=Fclk=16МГц) то счетчика не хватит(может не хватить при определенных условиях) для измерения Nкон.
=GM=
Цитата(add @ Jul 23 2008, 13:05) *
Я говорю про интервал времени по прошествии "секунды" запускаем счетчик и ждем прерывания по положительному фронту отсчитывая значения для определения Nкон. Если период измеряемой частоты будет больше 65536 (т.е. 244Гц при Fопорное=Fclk=16МГц) то счетчика не хватит(может не хватить при определенных условиях) для измерения Nкон.

Извините, не понимаю вопроса. Скажите другими словами или по-подробнее. Вы спрашиваете про нижний предел измерения? Он обратно пропорционален длительности окна. Причём здесь переполнение? По прошествии "секунды" мы не запускаем счетчик, счётчик работает всегда, не останавливаясь.
add
Цитата(=GM= @ Jul 23 2008, 18:21) *
Извините, не понимаю вопроса. Скажите другими словами или по-подробнее. Вы спрашиваете про нижний предел измерения? Он обратно пропорционален длительности окна. Причём здесь переполнение? По прошествии "секунды" мы не запускаем счетчик, счётчик работает всегда, не останавливаясь.

ага.. вспомнил)) smile.gif ..Просто несколько ввело в заблуждение про манипуляции с T0 И T1..
Вопрос снят.
=GM=
Цитата(Peeoner @ Jul 23 2008, 12:52) *
Какая будет точность измерения, если период измерения меньше 1с, ну скажем 0.1с

А самому трудно посчитать? Есть формула Fx=Fo*M/(N±1). Fx=8000000, Fo=4000000, для 0.1с окна M=400000, N=800000±1

Для N=800000+1 получим Fx=8000000*400000/800001=3999995.00001Гц
Для N=800000 получим Fx=8000000*400000/800000=40000000.00000Гц
Абсолютная погрешность составит ±4.9999938Гц, т.е. примерно ±5 Гц.

Для расчёта погрешности в методе ворот фиксируете N, а M±1.

Цитата(Peeoner @ Jul 23 2008, 12:52) *
To =GM=
вы вот говорите 1000 измерений за 1с. Тогда период одного измерения 0.001с--или я не прав? А как же 1с и 100с?

Не правы. Период одного измерения остаётся 1с.

Ранее в этом топике мы обсуждали вопрос, как мерять частоту на голой авр с минимальной погрешностью. defunct упирался и тогда, и говорил, что с такой точностью померить нельзя. Ему было показано. что можно, он смирился. Было показано также, что по точности определения частоты метод захвата имеет существенное преимущество перед методом ворот. Причём, заметьте, все обсуждения касались однократного измерения.

Сейчас обсуждение перешло в плоскость статистической обработки некоторого количества измерений, скажем 1000 (можно получить и 10000 измерений и 100000 измерений (для 20МГц клока)), получаемых за одну секунду. Я показал один из вариантов, как можно сделать 1000 независимых измерений в секунду. На самом деле, вариантов много. Вам обработку делать пока не надо, сначала освойте однократное измерение.

Цитата(Peeoner @ Jul 23 2008, 12:52) *
To =GM=
А вот если за 1с уплывет частота, то среднее будет сильно искажено...Ваш метод расчитан на измерения стабильных значений частоты, что ли?

Ну вы думайте, что говорите. А если в методе ворот уплывёт частота, значение частоты не будет искажено? Есть только один способ борьбы с таким явлением. Естественно, хотелось бы, чтобы на периоде измерения частота оставалась более-менее стабильной.

Цитата(Peeoner @ Jul 23 2008, 12:52) *
100с период измерения-это круто!! Токо смысл? Мне же не водородный эталон по этому частотомеру настраивать) Я хотел бы что бы обратили применимость метода к измерения частот, близким к критическим-ну скажем 4МГц. С периодом измерения 0.1с.
To defunct -можно пару предложений по вашему варианту метода "ворот", а то что-то мне кажется, что метод =GM= будет давать нифиговую погрешность, если период измерения будет менее 1с!

1) Смысл в том, чтобы из 30-рублёвого прибора (МК) выжать максимум, а уж как этим максимумом распорядится отдельно взятый разработчик, это не наше дело.

2) На практике метод применим для частот от 0.1 Гц до Fclk/2.

3) Для 0.1с окна мой метод даст максимальную погрешность примерно ±5 Гц, а метод ворот примерно ±10 Гц для частот порядка Fclk/2.
defunct
Цитата(=GM= @ Jul 23 2008, 14:10) *
Извините, но это бред какой-то. Что в лоб, что по лбу! defunct'у (:-).

Зря корректировали пост. Я уже хотел было промолчать.

А так еще раз для =GM= :
Хотим измерять несколько частот. Берем схемку с мультиплексором (тоже вами предложенную где-то в начале топика) - измеряем по очереди, вначале одну частоту, потом другую и т.д.. Так вот, чтобы получить адекватный результат, то интервал измерения каждой частоты должен быть >=2с (если остановиться 1000 независимых измерений).

Ну не интересует меня измерение одной и той же частоты бесконечно долго, а следовательно не получу я обещанных 1000 независимых измерений за одну секунду, если буду мерять всего одну секунду..
Вот об этой я и толдычу уже второй день. Что не так, что здесь бред?
=GM=
defunct Зря корректировали пост. Я уже хотел было промолчать.
Я дико извиняюсь, не сдержался.

Цитата(defunct @ Jul 23 2008, 14:45) *
еще раз для =GM= :
Хотим измерять несколько частот. Берем схемку с мультиплексором (тоже вами предложенную где-то в начале топика) - измеряем по очереди, вначале одну частоту, потом другую и т.д.. Так вот, чтобы получить адекватный результат, то интервал измерения каждой частоты должен быть >=2с (если остановиться 1000 независимых измерений)

Не понимаю, почему вы начали говорить об измерении нескольких частот. Немного разные задачи. Да, интервал здесь будет 2с, поскольку вам надо обнулять всё и для каждой частоты начинать как бы с начала, ну и что? А в случае с одной частотой обнуляться не надо.

Цитата(defunct @ Jul 23 2008, 14:45) *
еще раз для =GM= :
Ну не интересует меня измерение одной и той же частоты бесконечно долго, а следовательно не получу я обещанных 1000 независимых измерений за одну секунду, если буду мерять всего одну секунду.. Вот об этом я и талдычу уже второй день. Что не так, что здесь бред?

А если 20 секунд будете мерять, получите за одну секунду? Не путайте задержку в получении данных для вычисления частот и интервал усреднения. В нашем случае задержка 1с и усреднение 1с.
AHTOXA
Цитата(=GM= @ Jul 23 2008, 22:27) *
Не понимаю, почему вы начали говорить об измерении нескольких частот. Немного разные задачи.


Можно говорить об измерении одной частоты и времени реакции на изменение этой частоты. Сколько пройдёт времени с момента изменения частоты до получения достоверного результата? smile.gif
=GM=
Цитата(AHTOXA @ Jul 23 2008, 15:33) *
Можно говорить об измерении одной частоты и времени реакции на изменение этой частоты. Сколько пройдёт времени с момента изменения частоты до получения достоверного результата? smile.gif

Речь шла и идёт в первую очередь о минимизации погрешности измерений путём статистической обработки, в частности, вычисления первого момента. Ну при чём здесь время реакции, разрази меня гром?

Ну вот, представьте, с частотой 1 кГц, т.е. каждую мс, вам сыпется поток значений измеренных частот. Вам говорят, плиз, в конце каждой секунды выдавайте усреднённую частоту. Сколько вам нужно значений? 1000, ясен перец. Что будет, если измеряемая частота как-то изменится? Ну, ясен перец, средняя частота тоже как-то начнёт меняться, зависит от скорости изменения. (А теперь в скобках открою секрет, измерения велись на 10с интервале, нет, на 0.5с, нет, на ещё каком-то, точно не помню. Теперь вернитесь к вопросам. Что-нибудь изменилось в ответах?).
defunct
Цитата(=GM= @ Jul 23 2008, 19:44) *
Речь шла и идёт в первую очередь о минимизации погрешности измерений путём статистической обработки, в частности, вычисления первого момента. Ну при чём здесь время реакции, разрази меня гром?

Да при том, что с тем же успехом я могу обеспечить вам 1000 независимых измерений за секунду методом ворот. Для этого мне придется всего лишь подождать 999 секунд, а на 1000-й получите сразу все 1000 измерений. Улавливаете абсурдность сказанного?

Потом, что мне мешает открыть несколько временных ворот и мерять параллельно в них?
Короче говоря, конвеер, стат обработка и т.п., применимы к обоим методам.
Существенное отличие лишь только в том, что точность единичного измерения захвата = ±Fx/Fo * 1/T, а в методе ворот - эта точность константа ±1/T, где T - интервал измерения.
AHTOXA
Цитата(=GM= @ Jul 23 2008, 22:44) *
Речь шла и идёт в первую очередь о минимизации погрешности измерений путём статистической обработки, в частности, вычисления первого момента. Ну при чём здесь время реакции, разрази меня гром?


Да при том, что накопление статистики даётся не за бесплатно, ко времени реакции добавляется интервал сбора статистики. На что вам справедливо указал defunct.
singlskv
Цитата(=GM= @ Jul 22 2008, 16:35) *
Надеюсь, не надо заново и подробно пояснять процесс получения пары чисел (N1,M1) в момент времени t1 и другой пары чисел (N2,M2) в момент времени t2=t1+1с? Теперь представьте себе, что в момент t3=t1+1мс вы получаете пару чисел (N3,M3), а в момент времени t4=t2+1мс вы получаете ещё одну пару чисел (N4,M4). Таким образом, через 1001мс от начала первого измерения вы получаете два независимых измерения входной частоты. Продолжая получать пары чисел каждые 1 мс, за одну секунду вы будете получать 1000 независимых измерений.

ИМХО, в данном случае уже заблуждаетесь Вы...

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

Но, насколько я понял, Вы предлагаете начинать новый период при новом переходе ?
Такие измерения НЕ будут независимыми...
sKWO
Цитата(defunct @ Jul 23 2008, 18:45) *
Ну не интересует меня измерение одной и той же частоты бесконечно долго

Не знаю что Вы подразумиваете под бесконечно долго, но мереть одну и туже (килогерцы) частоту даже пять секунд для получения солидной точности, это вполне приемлемо. лучже подождать чем потом чесать репу. ничего в статистике плохого не вижу.
defunct
Цитата(sKWO @ Jul 23 2008, 20:42) *
Не знаю что Вы подразумиваете под бесконечно долго, но мереть одну и туже (килогерцы) частоту даже пять секунд для получения солидной точности, это вполне приемлемо. лучже подождать чем потом чесать репу. ничего в статистике плохого не вижу.

Полностью согласен с Вами.
Плюс еще надо отбрасывать крайние (min и max) значения при усреднении.

В том посте я говорил немного не об этом. Я имел в виду, что надо точно указывать минимально возможное время получения адекватного результата. Было заявлено 1000 измерений за секунду, в то время как на самом деле нужно не менее 2с.
sKWO
Цитата(defunct @ Jul 23 2008, 20:51) *
Я имел в виду, что надо точно указывать минимально возможное время получения адекватного резултата.

Умные люди скоро статьи начнут писать из Ваших споров и постановок задач smile.gif
add
Цитата(defunct @ Jul 23 2008, 21:51) *
В том посте я говорил немного не об этом. Я имел в виду, что надо точно указывать минимально возможное время получения адекватного результата. Было заявлено 1000 измерений за секунду, в то время как на самом деле нужно не менее 2с.

Возмите измерения с интервалом 500мкс а не 1мс и будет Вам за одну секунду 1000 измерений.
т.е. t2=t1+0.5с а t3=t1+500мкс.
defunct
это уже за счет потери точности будет.
sKWO
Цитата(defunct @ Jul 23 2008, 23:36) *
это уже за счет точности будет.

А ограничение на измеряемую частоту какое будет?
defunct
Цитата(sKWO @ Jul 23 2008, 23:46) *
А ограничение на измеряемую частоту какое будет?

снизу ограничение (если без потерь в точности) - частотой этих самых "независимых измерений".
если их 1000 в секунду, ограничение 1kHz. Сверху - как и раньше Fo / 2.

Но это ж сколько памяти нужно чтобы хранить 1000 отметок ;>
Слабо предствляю как =GW= собирался сделать 10k ( и даже 50k) измерений.. Надо у него спросить ;>
sKWO
Цитата(defunct @ Jul 23 2008, 23:59) *
снизу ограничение (если без потерь в точности) - частотой этих самых "независимых измерений".
если их 1000 в секунду, ограничение 1kHz. Сверху - как и раньше Fo / 2.

Но это ж сколько памяти нужно чтобы хранить 1000 отметок ;>
Слабо предствляю как =GW= собирался сделать 10k ( и даже 50k) измерений.. Надо у него спросить ;>

без внешней оперативки не обойдёшся
=GM=
Цитата(defunct @ Jul 23 2008, 16:51) *
Было заявлено 1000 измерений за секунду, в то время как на самом деле нужно не менее 2с

Давайте ещё раз, последний(:-).

В принципе вы тоже по-своему правы, непосредственно после старта цикла измерений необходим один интервал в 2с, чтобы начать выдавать усреднённую за период 1с величину. То есть на 1-й секунде ничего не выдаётся, поскольку ни одно измерение не сделано, на 2-й секунде начинает накапливаться необходимая тысяча, в конце 2-й секунды выдаётся первое усреднение, в конце 3-й секунды - второе усреднение и т.д. Очевидно, что в установившемся цикле (после первых 2-х секунд) усреднение будет выдаваться через 1с.
sKWO
Цитата(=GM= @ Jul 24 2008, 00:11) *
В принципе вы тоже по-своему правы, непосредственно после старта цикла измерений необходим один интервал в 2с, чтобы начать выдавать усреднённую за период 1с величину. То есть на 1-й секунде ничего не выдаётся, поскольку ни одно измерение не сделано, на 2-й секунде начинает накапливаться необходимая тысяча, в конце 2-й секунды выдаётся первое усреднение, в конце 3-й секунды - второе усреднение и т.д. Очевидно, что в установившемся цикле (после первых 2-х секунд) усреднение будет выдаваться через 1с.

я извиняюсь, но тогда это уже не независимые измерения
=GM=
Цитата(singlskv @ Jul 23 2008, 16:35) *
Но, насколько я понял, Вы предлагаете начинать новый период при новом переходе? Такие измерения НЕ будут независимыми...

Ну раз так, предскажите положение N2, зная N1, если они зависимы, покажите формулу для расчёта или хотя бы алгоритм. Такие измерения БУДУТ независимыми, поскольку входная частота и опорная частота асинхронны, т.е. НЕЗАВИСИМЫ.

Начинать можно было бы и на следующем периоде, если бы контроллер справился с таким потоком. Представьте, входная частота 4 МГц, опорная - 8, каждые 2 такта перепад, тут и DSP не справится. Вот если брать перепад примерно через 1 мс, это будет 8000 тактов, то обработать вполне можно. В пределе вполне возможно обработать за 20 мкс (это каждый 8 перепад на 4 МГц, 160 тактов), а это соответствует 50 тысячам измерений в 1с.

Цитата(sKWO @ Jul 23 2008, 20:14) *
я извиняюсь, но тогда это уже не независимые измерения

Почему это?
defunct
Цитата(=GM= @ Jul 24 2008, 00:32) *
поскольку входная частота и опорная частота асинхронны, т.е. НЕЗАВИСИМЫ.

=GM= с независимыми измерениями все гладко - бесспорно.
Посмотрите комент #127. Что мешает в методе ворот открыть несколько ворот с шагом 1ms и делать все то же самое? Согласитесь разница между методами только в точности единичного измерения. Все остальное что мы тут обсуждаем - косметика, хотя и очень полезная ;>
=GM=
Цитата(sKWO @ Jul 23 2008, 19:46) *
А ограничение на измеряемую частоту какое будет?

Снизу 1/Токна, сверху Fclk/2.

Цитата(defunct @ Jul 23 2008, 20:36) *
Посмотрите комент #127. Что мешает в методе ворот открыть несколько ворот с шагом 1ms и делать все то же самое?

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

Цитата(defunct @ Jul 23 2008, 16:02) *
Да при том, что с тем же успехом я могу обеспечить вам 1000 независимых измерений за секунду методом ворот. Для этого мне придется всего лишь подождать 999 секунд, а на 1000-й получите сразу все 1000 измерений. Улавливаете абсурдность сказанного?

Это я не понимаю на ночь глядя, видно, пора баиньки, потом как-нибудь растолкуете.
domowoj
Цитата(defunct @ Jul 24 2008, 04:36) *
=GM= с независимыми измерениями все гладко - бесспорно.
Посмотрите комент #127. Что мешает в методе ворот открыть несколько ворот с шагом 1ms и делать все то же самое? Согласитесь разница между методами только в точности единичного измерения. Все остальное что мы тут обсуждаем - косметика, хотя и очень полезная ;>

Систематическая погрешность измерения метода N-ворот (метода defunct'а)
явно будет больше, или я не прав.
add
Цитата(=GM= @ Jul 24 2008, 01:55) *
sKWO:
А ограничение на измеряемую частоту какое будет?
=GM=:
Снизу 1/Токна, сверху Fclk/2.

Позволю себе с Вами не согласится. Вопрос звучал в контексте 1000 измерений в секунду. К примеру при измеряемой частоте 100Гц на входе будет всего 100 фронтов,а это соответственно 100 измерений. Значит ограничения для 1000 независимых измерений получается 1кГц.
=GM=
Цитата(add @ Jul 24 2008, 05:30) *
Позволю себе с Вами не согласится. Вопрос звучал в контексте 1000 измерений в секунду. К примеру при измеряемой частоте 100Гц на входе будет всего 100 фронтов, а это соответственно 100 измерений. Значит ограничения для 1000 независимых измерений получается 1кГц

Формально вы не правы. Никто не мешает для 100-герцового сигнала сделать 1000 измерений на 1с, однако, 900 из них будут ЗАВИСИМЫМИ, проще говоря, одинаковыми, значит в статистику ничего не внесут. Ну а практически, конечно, нет смысла делать 1000 измерений для 100-герцового сигнала, ну если только не хотите усложнять программу измерения.
add
Цитата(=GM= @ Jul 24 2008, 12:46) *
Никто не мешает для 100-герцового сигнала сделать 1000 измерений на 1с, однако, 900 из них будут ЗАВИСИМЫМИ, проще говоря, одинаковыми, значит в статистику ничего не внесут.

Здесь вот я непонимаю 05.gif . В описанном Вами методе измеряется интервал между фронтами(используя один таймер). Может все просто.. а я не догоняю??? wacko.gif
Так как сделать 1000 измерений имея 100 фронтов? Объясните на пальцах.
defunct
Цитата(add @ Jul 24 2008, 09:30) *
Так как сделать 1000 измерений имея 100 фронтов? Объясните на пальцах.

Никак, будет только 100 независимых измерений. См. комент #136.
add
Цитата(defunct @ Jul 24 2008, 14:21) *
Никак, будет только 100 независимых измерений. См. комент #136.

Тогда поясните пожалуйста что понимается под "зависимыми" и "независимыми" измерениями?
=GM=
Цитата(add @ Jul 24 2008, 08:23) *
В описанном Вами методе измеряется интервал между фронтами(используя один таймер). Может все просто.. а я не догоняю? Так как сделать 1000 измерений имея 100 фронтов?

Всё смешалось в доме Облонских... Мы вроде бы перешли к методу defunct'а, я на него и отвечал, там ворота не привязаны к фронтам импульсов входной частоты, так что их можно наставить сколько угодно. Другое дело, что не все они будут независимыми. Для моего метода фронтов может быть не более 100 измерений, зато все они будут независимыми.
defunct
Цитата(add @ Jul 24 2008, 13:28) *
Тогда поясните пожалуйста что понимается под "зависимыми" и "независимыми" измерениями?

против определения в коменте #96 вроде бы никто не возражал. Давайте на нем и остановимся.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.