Перейти к содержанию
    

Выбор способа обработки сигнала с датчика

Здравствуйте, уважаемые форумчане.

Есть схема получения сигнала с вихревого датчика (для расходомера).

Контроллер стм32ф373. Суть в том, что на выходе датчика имеем частоту,

пропорционально расходу.

Заказчик настаивает на том чтобы для определения частоты использовалось

быстрое преобразование Фурье на 4096 точек.

Но я считаю, что ввиду ограничения ОЗУ и достаточно длительного времени

обработки целесообразнее посчитать частоту с помощью таймера в режиме

захвата и компаратора, предварительно отфильтровав сигнал.

Однако заказчик, считает, что так мы получим меньшую точность и гибкость.

Объясните, пожалуйста в чем я заблуждаюсь и какие подводные камни могут

быть при применении таймера, а не преобразования Фурье. Потому как по мне

Фурье для такого МК все-таки сложно, так как это сожрет все ресурсы ядра и ОЗУ.

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Суть в том, что на выходе датчика имеем частоту,

пропорционально расходу.

Заказчик настаивает на том чтобы для определения частоты использовалось

быстрое преобразование Фурье на 4096 точек.

 

ТЗ задачи озвучте, а то телепатия глючит слегка :cranky:

Выглядит, как масло-масляное , зачем определять какую-то частоту, если датчик ее уже выдает?? Если нужно ее замерить, то никаких ПФ тут не нужно, а вот если преобразовать в соотв. с какими-то физ. величинами, то наверно да, нужно.

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

mantech, частоту, выдаваемую датчиком нужно сначала измерить,

а затем по ней рассчитать расход газа.

Заказчик настаивает на БПФ. Но я считаю, что частоту сигнала с

датчика можно определить и с помощью таймера причем достаточно

точно, причем не сильно нагружая контроллер,

т.к. ему помимо расчетов необходимо вести обмен по рс485 и

выполнять отрисовку на экране.

Поэтому и задал вопрос может быть я чего-то не знаю, раз заказчик

настаивает именно на БПФ.

P.S. Схема разработана ранее и не мной, от меня требуют ее оживить.

Изменено пользователем ivan24190

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выглядит, как масло-масляное , зачем определять какую-то частоту, если датчик ее уже выдает??

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

 

Заказчик настаивает на БПФ. Но я считаю, что частоту сигнала с

датчика можно определить и с помощью таймера причем достаточно

точно, причем не сильно нагружая контроллер,

Всё зависит от математики заложенной заказчиком. Частота будет не одна, а целый спектр, и видимо в нём надо найти палку с максимальной амплитудой. Возможно заказчик ныкает алгоритм, что-бы не сперли ноу-хау. А возможно он сам еще не знает и ему нужен инструмент, чтобы выловить зависимости. Но это я телепатирую :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

HardEgor, возможно Вы правы.

Но наверное и контроллер надо пожирнее бы,

а то 24 кб ОЗУ маловато для 4096 точек БПФ.

Ладно буду делать Фурье в конце концов воля заказчика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а то 24 кб ОЗУ маловато для 4096 точек БПФ.

 

В этом мк так-то 32Кб озу, насколько я помню, для Фурье больше скорость нужна, чем память, а 72мега на М4 кортексе более чем. Но стм делает как правило совместимые по распиновке камни с большими объемами памяти, посмотрите, может и здесь есть что-то...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я понимаю, датчик выдает довольно много шумов, из-за чего и нужна какая-то фильтрация для определения центральной частоты, например БПФ (кстати, потом еще надо как-то по спектру определить частоту), а просто таймер только наловит шумов. Но на все это, наверное, есть уже готовая математика, и заказчик просто ее Вам пока не дает всю сразу, чтобы не усложнять этапы разработки.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте, уважаемые форумчане.

Есть схема получения сигнала с вихревого датчика (для расходомера).

Контроллер стм32ф373. Суть в том, что на выходе датчика имеем частоту,

пропорционально расходу.

Заказчик настаивает на том чтобы для определения частоты использовалось

быстрое преобразование Фурье на 4096 точек.

Но я считаю, что ввиду ограничения ОЗУ и достаточно длительного времени

обработки целесообразнее посчитать частоту с помощью таймера в режиме

захвата и компаратора, предварительно отфильтровав сигнал.

Однако заказчик, считает, что так мы получим меньшую точность и гибкость.

Объясните, пожалуйста в чем я заблуждаюсь и какие подводные камни могут

быть при применении таймера, а не преобразования Фурье. Потому как по мне

Фурье для такого МК все-таки сложно, так как это сожрет все ресурсы ядра и ОЗУ.

Заранее спасибо.

 

В чем заказчик прав, так это в том, что интегральный метод даст достоверный результат. Как верно замечали просто счетчик будет шумы ловить, но кроме преобразования Фурье есть интегральные методы и полегче. Например считать автокорреляционную функцию за несколько периодов. Это можно делать убирая результат ушедший за окно и добавляя новый, что несоизмеримо легче чем подсчитывать каждый раз и тем более Фурье. Корреляционная функция будет колебаться вслед за сигналом, но уже без шума. Второй дешевый способ это инерционный измеритель фазы. Будет интересно -- расскажу как сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем за советы. Выяснилось, что будет испытываться какой-то новый датчик,

поэтому нужна именно спектральная характеристика, из-за чего заказчик и настаивает на БПФ.

Тему можно закрывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...