На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

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

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

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

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

Сообщение tymofeev » 06 фев 2014, 17:41

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

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

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


Бондарев Михаил
почётный участник форума
почётный участник форума
Сообщения: 945
Зарегистрирован: 25 июл 2008, 22:23
Имя: Бондарев Михаил Владимирович
Поблагодарили: 1 раз

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

Сообщение Бондарев Михаил » 06 фев 2014, 18:40

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


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


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

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

Сообщение tymofeev » 06 фев 2014, 19:46

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


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


1) наверное по частоте первой гармоники
2) 1+1+1 , но есть еще фильтры , например скользящее окно и др.


Бондарев Михаил
почётный участник форума
почётный участник форума
Сообщения: 945
Зарегистрирован: 25 июл 2008, 22:23
Имя: Бондарев Михаил Владимирович
Поблагодарили: 1 раз

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

Сообщение Бондарев Михаил » 06 фев 2014, 21:23

например скользящее окно и др.


зачем вам это? Ваша ось уже остановилась, а контроллер еще 45 отсчетов думает что она движется.
Скользящее окно и импульсы я использовал для нормализации показаний расходомера (он импульсы пачками выдает), там основная хитрость была в определении ширины окна. Кстати именно на модуля быстрого счета делал.

Что за процесс у вас?


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2370
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 46 раз
Контактная информация:

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

Сообщение Михайло » 07 фев 2014, 04:11

tymofeev писал(а):можно основанными на разных методах и алгоритмах.
Частота от 10 до 300 Гц, скорость нарастания/спада до 140 Гц/сек.

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

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


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

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

Сообщение tymofeev » 07 фев 2014, 07:45

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


1. Михайло перепутал скорость нарастания фронта импульса со скоростью нарастания частоты следования импульсов.
2. Уровни напряжения не важны, сигнал нормализован .
3. Дайте пожалуйста ссылку на алгоритм "сдвигающегося окна", а чем отличие от скользящего?
4. Две темы - в одной математические методы , а в другой реализация на PLC.


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2370
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 46 раз
Контактная информация:

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

Сообщение Михайло » 07 фев 2014, 19:04

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. Аппаратные частотомеры работают по первому методу, в том числе высокоскоростные счетные входы ПЛК. К сожалению, о реализации второго метода мне информация не попадалась.


Бондарев Михаил
почётный участник форума
почётный участник форума
Сообщения: 945
Зарегистрирован: 25 июл 2008, 22:23
Имя: Бондарев Михаил Владимирович
Поблагодарили: 1 раз

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

Сообщение Бондарев Михаил » 08 фев 2014, 10:26

К сожалению, о реализации второго метода мне информация не попадалась.


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


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

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

Сообщение tymofeev » 08 фев 2014, 13:56

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


закольцованным называете FIFO ?


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2370
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 46 раз
Контактная информация:

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

Сообщение Михайло » 08 фев 2014, 14:24

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


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



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость