- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Алгоритм, скорость и точность измерения частоты
Модератор: kirillio
-
- здесь недавно
- Сообщения: 6
- Зарегистрирован: 06 фев 2014, 18:10
- Имя: tymofeev
Алгоритм, скорость и точность измерения частоты
Уважаемые коллеги!
Порекомендуйте "быстрые" алгоритмы измерения частоты прямоугольных импульсов,
в качестве измерителя ПЛК.
Частота от 10 до 300 Гц, скорость нарастания/спада частоты до 140 Гц/сек.
Из общих соображений понятно, что точность при постоянном времени измерения будет меньше на нижней границе частотного диапазона, а при постоянной точности время измерения может возрастать с понижением частоты.
Что оптимально для быстрого измерения такой частоты - БПФ или методы сваязанные с подсчетом импульсов ?
Порекомендуйте "быстрые" алгоритмы измерения частоты прямоугольных импульсов,
в качестве измерителя ПЛК.
Частота от 10 до 300 Гц, скорость нарастания/спада частоты до 140 Гц/сек.
Из общих соображений понятно, что точность при постоянном времени измерения будет меньше на нижней границе частотного диапазона, а при постоянной точности время измерения может возрастать с понижением частоты.
Что оптимально для быстрого измерения такой частоты - БПФ или методы сваязанные с подсчетом импульсов ?
-
- почётный участник форума
- Сообщения: 981
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 6 раз
- Поблагодарили: 3 раза
Re: Алгоритм, скорость и точность измерения частоты
Как вы при помощи БПФ будете частоту измерять?
Метод подсчета импульсов в общем виде примерно следующий: 1+1+1+1....))))))))))
Метод подсчета импульсов в общем виде примерно следующий: 1+1+1+1....))))))))))
-
- здесь недавно
- Сообщения: 6
- Зарегистрирован: 06 фев 2014, 18:10
- Имя: tymofeev
Re: Алгоритм, скорость и точность измерения частоты
1) наверное по частоте первой гармоникиБондарев Михаил писал(а):Как вы при помощи БПФ будете частоту измерять?
Метод подсчета импульсов в общем виде примерно следующий: 1+1+1+1....))))))))))
2) 1+1+1 , но есть еще фильтры , например скользящее окно и др.
-
- почётный участник форума
- Сообщения: 981
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 6 раз
- Поблагодарили: 3 раза
Re: Алгоритм, скорость и точность измерения частоты
зачем вам это? Ваша ось уже остановилась, а контроллер еще 45 отсчетов думает что она движется.например скользящее окно и др.
Скользящее окно и импульсы я использовал для нормализации показаний расходомера (он импульсы пачками выдает), там основная хитрость была в определении ширины окна. Кстати именно на модуля быстрого счета делал.
Что за процесс у вас?
-
- почётный участник форума
- Сообщения: 3575
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
Re: Алгоритм, скорость и точность измерения частоты
Скорость нарастания спада в идеале должна быть бесконечной, тут важнее уровни напряжения определить, частота 10-300 Гц - детская.tymofeev писал(а):можно основанными на разных методах и алгоритмах.
Частота от 10 до 300 Гц, скорость нарастания/спада до 140 Гц/сек.
Возьмите любой немедленный контроллер, в нем напишите программу которая реализует алгоритм скользящего окна. Только нужно ли Вам это? Стандартный алгоритм подсчета частоты - "сдвигающееся окно", если Вы поняли...
P.S. Зачем две темы создали?
-
- здесь недавно
- Сообщения: 6
- Зарегистрирован: 06 фев 2014, 18:10
- Имя: tymofeev
Re: Алгоритм, скорость и точность измерения частоты
1. Михайло перепутал скорость нарастания фронта импульса со скоростью нарастания частоты следования импульсов.Михайло писал(а):Скорость нарастания спада в идеале должна быть бесконечной, тут важнее уровни напряжения определить, частота 10-300 Гц - детская.
Возьмите любой немедленный контроллер, в нем напишите программу которая реализует алгоритм скользящего окна. Только нужно ли Вам это? Стандартный алгоритм подсчета частоты - "сдвигающееся окно", если Вы поняли...
P.S. Зачем две темы создали?
2. Уровни напряжения не важны, сигнал нормализован .
3. Дайте пожалуйста ссылку на алгоритм "сдвигающегося окна", а чем отличие от скользящего?
4. Две темы - в одной математические методы , а в другой реализация на PLC.
-
- почётный участник форума
- Сообщения: 3575
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
Re: Алгоритм, скорость и точность измерения частоты
Ссылку дать не могу, это общенаучная истина, так сказать... :Dtymofeev писал(а):3. Дайте пожалуйста ссылку на алгоритм "сдвигающегося окна", а чем отличие от скользящего?
Как можно мерять частоту импульсов в принципе?
1) Самый простой способ - "метод сдвигающегося окна" (это я сам название придумал).
Импульсы подаются на счетчик импульсов. Периодически данный счетчик сбрасывается. T - период в секундах, ширина "окна". Примем ориентировочно T=1 сек. Перед тем как в очередной раз сбросить счетчик, число подсчитанных импульсов извлекается и делится на период T. Полученное значение представляет собой частоту импульсов (количество импульсов в единицу времени) в данный момент времени. Отметим, что чем меньше период T, тем чаще обновляется величина частоты, однако при этом увеличивается погрешность измерения частоты в связи с квантованностью величины "количество импульсов" (оно всегда целое).
Погрешность равна плюс/минус половине импульса, деленной на период T (это легко вывести).
2) Метод скользящего окна - это усовершенствованная модификация предыдущего метода, когда окно сдвигается не на величину периода T, а на меньшее время t, при чем T=k*t, где k - целое число. Например, t=0,1 сек; T=1 сек; k=10.
В этом случае счетчик сбрасывается с периодом t. Последние k результатов счетчика нужно хранить в памяти. Частота определяется как сумма последних k результатов счета, деленная на период T.
Таким образом частота обновляется через интервал t, т.е. в 10 раз чаще, а погрешность измерения частоты такая же как у предыдущего метода.
Теоретически для увеличения точности лучше увеличивать период T, при этом частота обновления данных не изменится (t), но потребуется больше памяти для хранения массива результатов счета импульсов (k).Погрешность равна плюс/минус половине импульса, деленной на период T
P.S. Аппаратные частотомеры работают по первому методу, в том числе высокоскоростные счетные входы ПЛК. К сожалению, о реализации второго метода мне информация не попадалась.
-
- почётный участник форума
- Сообщения: 981
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 6 раз
- Поблагодарили: 3 раза
Re: Алгоритм, скорость и точность измерения частоты
Я использовал второй метод для пересчета расхода от ДРС.М ( у него импульсы идут пачками)К сожалению, о реализации второго метода мне информация не попадалась.
Только счетчик я не сбрасывал, а сделал закольцованный массив.
Докумекал сам, в командировке)).
-
- здесь недавно
- Сообщения: 6
- Зарегистрирован: 06 фев 2014, 18:10
- Имя: tymofeev
Re: Алгоритм, скорость и точность измерения частоты
закольцованным называете FIFO ?Бондарев Михаил писал(а): Я использовал второй метод для пересчета расхода от ДРС.М ( у него импульсы идут пачками)
Только счетчик я не сбрасывал, а сделал закольцованный массив.
Докумекал сам, в командировке)).
-
- почётный участник форума
- Сообщения: 3575
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
Re: Алгоритм, скорость и точность измерения частоты
Да я бы не использовал такие высокопарные слова как массив, FIFO, закольцованный... Тут все гораздо проще: типа "берем числа, складываем, делим, получаем частоту"
А может топикстартеру нужно вот это?
http://www.lcard.ru/products/ltr/h-51x
А может топикстартеру нужно вот это?
http://www.lcard.ru/products/ltr/h-51x