Измерение интервалов времени

Захват, обработка и генерирование сигнала
Ответить
Евгений Панин
junior
junior
Сообщения: 52
Зарегистрирован: 02 фев 2012, 21:49
Версия LabVIEW: 18
Откуда: Москва

Измерение интервалов времени

Сообщение Евгений Панин »

Народ, помогите плиз! :help:

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

Частота сбора на канал 10kHz/10000samples. Режим сбора непрерывный. Нужно измерять каждый период!

Счётчики и DIO использовать не могу, нет устройства. Да и каналов должно быть около 8.

Минимальная длительность периода 1ms, максимальная до 2 минут.

Форма сигнала меандр, но может быть и похожая на синус, из-за переходных характеристик внешнего устройства.

Вопрос: как измерить длительности периодов?

1. Схема непрерывного буферизированного аналогового ввода +
2. Далее очередь. +
3. Пробовал перевести аналог в 1битную цифру, далее boolean array
Каждое значение массива 0,1ms. Т.е. длительности до 1 секунды посчитать можно легко от старта :vi:
Далее пока проблематично... Можно записывать булевский массив в файл и потом всё считать за раз... но это плохой вариант, т.к. очень ресурсоёмкий. -
4. Вывод таблицы +
Вот такая программа.

ПОМОГИТЕ ПЛИЗ!
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Измерение интервалов времени

Сообщение IvanLis »

Евгений Панин писал(а):Можно записывать булевский массив в файл и потом всё считать за раз... но это плохой вариант, т.к. очень ресурсоёмкий.
Можно писать в файл, а лучше накапливать в массиве точки перехода через "0".
Расстояние между двумя переходами (стоящими через 1) будет период.
Доводить до ума некогда, но думаю смысл понятен:
Untitled 1.vi
lv2010
(25.28 КБ) 170 скачиваний
Евгений Панин
junior
junior
Сообщения: 52
Зарегистрирован: 02 фев 2012, 21:49
Версия LabVIEW: 18
Откуда: Москва

Re: Измерение интервалов времени

Сообщение Евгений Панин »

Спасибо!

Сделал переход.
Untitled 2.vi
analog to digital
(22.9 КБ) 145 скачиваний
Спасибо за алгоритм вычисления периода в пределах одного массива.

Буду дорабатывать.
Евгений Панин
junior
junior
Сообщения: 52
Зарегистрирован: 02 фев 2012, 21:49
Версия LabVIEW: 18
Откуда: Москва

Re: Измерение интервалов времени

Сообщение Евгений Панин »

Задача изменилась...

Нужно измерять длительности периодов, равные минимум 2 секундам и максимум до 1 часа + длительность импульса ~ 40-70ms.

Точность измерения 10ms... (2 канала) (в каждой сессии, период импульсов одинаковый, по сути - меандр с маленькой скважностью)

Есть идеи, как это реализовать? (NI USB-6341) :help:
Евгений Панин
junior
junior
Сообщения: 52
Зарегистрирован: 02 фев 2012, 21:49
Версия LabVIEW: 18
Откуда: Москва

Re: Измерение интервалов времени

Сообщение Евгений Панин »

Пример для одного часа
по триггеру старт

первый счётчик генерирует импульсы 1 Гц
перенаправляем их на 2 счётчик

во втором счётчике ставим пропуск N тиков(тактов) чуть меньше 216000 (час)
после достижения данного числа счётчик генерирует импульс

Этот импульс посылаем на триггер третьего счётчика с перезапускаемой последовательностью импульсов, от которой тактируется АЦП или DIO...

т.е. таким образом СТАРТ-сбор--------ожидание--------сбор-------ожидание-------сбор

Или это бред??? :think:

Схема
Схема

Просто 1 час собирать данные со скоростью 100 Гц, как-то не радует... :help:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Обработка сигнала»