Народ, помогите плиз!
Есть задача, измерять периоды в аналоговом сигнале, и распечатать таблицу с длительностью каждого.
Частота сбора на канал 10kHz/10000samples. Режим сбора непрерывный. Нужно измерять каждый период!
Счётчики и DIO использовать не могу, нет устройства. Да и каналов должно быть около 8.
Минимальная длительность периода 1ms, максимальная до 2 минут.
Форма сигнала меандр, но может быть и похожая на синус, из-за переходных характеристик внешнего устройства.
Вопрос: как измерить длительности периодов?
1. Схема непрерывного буферизированного аналогового ввода +
2. Далее очередь. +
3. Пробовал перевести аналог в 1битную цифру, далее boolean array
Каждое значение массива 0,1ms. Т.е. длительности до 1 секунды посчитать можно легко от старта
Далее пока проблематично... Можно записывать булевский массив в файл и потом всё считать за раз... но это плохой вариант, т.к. очень ресурсоёмкий. -
4. Вывод таблицы +
Вот такая программа.
ПОМОГИТЕ ПЛИЗ!
Измерение интервалов времени
-
- junior
- Сообщения: 52
- Зарегистрирован: 02 фев 2012, 21:49
- Версия LabVIEW: 18
- Откуда: Москва
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Измерение интервалов времени
Можно писать в файл, а лучше накапливать в массиве точки перехода через "0".Евгений Панин писал(а):Можно записывать булевский массив в файл и потом всё считать за раз... но это плохой вариант, т.к. очень ресурсоёмкий.
Расстояние между двумя переходами (стоящими через 1) будет период.
Доводить до ума некогда, но думаю смысл понятен:
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- junior
- Сообщения: 52
- Зарегистрирован: 02 фев 2012, 21:49
- Версия LabVIEW: 18
- Откуда: Москва
Re: Измерение интервалов времени
Спасибо!
Сделал переход.
Спасибо за алгоритм вычисления периода в пределах одного массива.
Буду дорабатывать.
Сделал переход.
Спасибо за алгоритм вычисления периода в пределах одного массива.
Буду дорабатывать.
-
- junior
- Сообщения: 52
- Зарегистрирован: 02 фев 2012, 21:49
- Версия LabVIEW: 18
- Откуда: Москва
Re: Измерение интервалов времени
Задача изменилась...
Нужно измерять длительности периодов, равные минимум 2 секундам и максимум до 1 часа + длительность импульса ~ 40-70ms.
Точность измерения 10ms... (2 канала) (в каждой сессии, период импульсов одинаковый, по сути - меандр с маленькой скважностью)
Есть идеи, как это реализовать? (NI USB-6341)
Нужно измерять длительности периодов, равные минимум 2 секундам и максимум до 1 часа + длительность импульса ~ 40-70ms.
Точность измерения 10ms... (2 канала) (в каждой сессии, период импульсов одинаковый, по сути - меандр с маленькой скважностью)
Есть идеи, как это реализовать? (NI USB-6341)
-
- junior
- Сообщения: 52
- Зарегистрирован: 02 фев 2012, 21:49
- Версия LabVIEW: 18
- Откуда: Москва
Re: Измерение интервалов времени
Пример для одного часа
по триггеру старт
первый счётчик генерирует импульсы 1 Гц
перенаправляем их на 2 счётчик
во втором счётчике ставим пропуск N тиков(тактов) чуть меньше 216000 (час)
после достижения данного числа счётчик генерирует импульс
Этот импульс посылаем на триггер третьего счётчика с перезапускаемой последовательностью импульсов, от которой тактируется АЦП или DIO...
т.е. таким образом СТАРТ-сбор--------ожидание--------сбор-------ожидание-------сбор
Или это бред???
Просто 1 час собирать данные со скоростью 100 Гц, как-то не радует...
по триггеру старт
первый счётчик генерирует импульсы 1 Гц
перенаправляем их на 2 счётчик
во втором счётчике ставим пропуск N тиков(тактов) чуть меньше 216000 (час)
после достижения данного числа счётчик генерирует импульс
Этот импульс посылаем на триггер третьего счётчика с перезапускаемой последовательностью импульсов, от которой тактируется АЦП или DIO...
т.е. таким образом СТАРТ-сбор--------ожидание--------сбор-------ожидание-------сбор
Или это бред???
Просто 1 час собирать данные со скоростью 100 Гц, как-то не радует...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 4 Ответы
- 1176 Просмотры
-
Последнее сообщение SebastianPereiro
-
- 3 Ответы
- 2027 Просмотры
-
Последнее сообщение PozhiloyGoblin