1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Алгоритм, скорость и точность измерения частоты

Обсуждение вопросов, не относящихся ни к одному из других подразделов

Модератор: kirillio

Ответить

Автор темы
tymofeev
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 06 фев 2014, 18:10
Имя: tymofeev

Алгоритм, скорость и точность измерения частоты

Сообщение tymofeev »

Уважаемые коллеги!

Порекомендуйте "быстрые" алгоритмы измерения частоты прямоугольных импульсов,
в качестве измерителя ПЛК.
Частота от 10 до 300 Гц, скорость нарастания/спада частоты до 140 Гц/сек.

Из общих соображений понятно, что точность при постоянном времени измерения будет меньше на нижней границе частотного диапазона, а при постоянной точности время измерения может возрастать с понижением частоты.
Что оптимально для быстрого измерения такой частоты - БПФ или методы сваязанные с подсчетом импульсов ?

Бондарев Михаил
почётный участник форума
почётный участник форума
Сообщения: 981
Зарегистрирован: 25 июл 2008, 23:23
Имя: Бондарев Михаил Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Алгоритм, скорость и точность измерения частоты

Сообщение Бондарев Михаил »

Как вы при помощи БПФ будете частоту измерять?


Метод подсчета импульсов в общем виде примерно следующий: 1+1+1+1....))))))))))

Автор темы
tymofeev
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 06 фев 2014, 18:10
Имя: tymofeev

Re: Алгоритм, скорость и точность измерения частоты

Сообщение tymofeev »

Бондарев Михаил писал(а):Как вы при помощи БПФ будете частоту измерять?


Метод подсчета импульсов в общем виде примерно следующий: 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: Алгоритм, скорость и точность измерения частоты

Сообщение Михайло »

tymofeev писал(а):можно основанными на разных методах и алгоритмах.
Частота от 10 до 300 Гц, скорость нарастания/спада до 140 Гц/сек.
Скорость нарастания спада в идеале должна быть бесконечной, тут важнее уровни напряжения определить, частота 10-300 Гц - детская.
Возьмите любой немедленный контроллер, в нем напишите программу которая реализует алгоритм скользящего окна. Только нужно ли Вам это? Стандартный алгоритм подсчета частоты - "сдвигающееся окно", если Вы поняли...

P.S. Зачем две темы создали?

Автор темы
tymofeev
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 06 фев 2014, 18:10
Имя: tymofeev

Re: Алгоритм, скорость и точность измерения частоты

Сообщение tymofeev »

Михайло писал(а):Скорость нарастания спада в идеале должна быть бесконечной, тут важнее уровни напряжения определить, частота 10-300 Гц - детская.
Возьмите любой немедленный контроллер, в нем напишите программу которая реализует алгоритм скользящего окна. Только нужно ли Вам это? Стандартный алгоритм подсчета частоты - "сдвигающееся окно", если Вы поняли...
P.S. Зачем две темы создали?
1. Михайло перепутал скорость нарастания фронта импульса со скоростью нарастания частоты следования импульсов.
2. Уровни напряжения не важны, сигнал нормализован .
3. Дайте пожалуйста ссылку на алгоритм "сдвигающегося окна", а чем отличие от скользящего?
4. Две темы - в одной математические методы , а в другой реализация на PLC.

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3575
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 271 раз

Re: Алгоритм, скорость и точность измерения частоты

Сообщение Михайло »

tymofeev писал(а):3. Дайте пожалуйста ссылку на алгоритм "сдвигающегося окна", а чем отличие от скользящего?
Ссылку дать не могу, это общенаучная истина, так сказать... :D

Как можно мерять частоту импульсов в принципе?
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, при этом частота обновления данных не изменится (t), но потребуется больше памяти для хранения массива результатов счета импульсов (k).

P.S. Аппаратные частотомеры работают по первому методу, в том числе высокоскоростные счетные входы ПЛК. К сожалению, о реализации второго метода мне информация не попадалась.

Бондарев Михаил
почётный участник форума
почётный участник форума
Сообщения: 981
Зарегистрирован: 25 июл 2008, 23:23
Имя: Бондарев Михаил Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Алгоритм, скорость и точность измерения частоты

Сообщение Бондарев Михаил »

К сожалению, о реализации второго метода мне информация не попадалась.
Я использовал второй метод для пересчета расхода от ДРС.М ( у него импульсы идут пачками)
Только счетчик я не сбрасывал, а сделал закольцованный массив.
Докумекал сам, в командировке)).

Автор темы
tymofeev
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 06 фев 2014, 18:10
Имя: tymofeev

Re: Алгоритм, скорость и точность измерения частоты

Сообщение tymofeev »

Бондарев Михаил писал(а): Я использовал второй метод для пересчета расхода от ДРС.М ( у него импульсы идут пачками)
Только счетчик я не сбрасывал, а сделал закольцованный массив.
Докумекал сам, в командировке)).
закольцованным называете FIFO ?

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3575
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 271 раз

Re: Алгоритм, скорость и точность измерения частоты

Сообщение Михайло »

Да я бы не использовал такие высокопарные слова как массив, FIFO, закольцованный... Тут все гораздо проще: типа "берем числа, складываем, делим, получаем частоту"
А может топикстартеру нужно вот это?
http://www.lcard.ru/products/ltr/h-51x
Ответить

Вернуться в «Общие вопросы»