Буфер памяти для накопления массива

Простейшие вопросы в области инженерной разработки
Ответить
Denis29
beginner
beginner
Сообщения: 10
Зарегистрирован: 20 фев 2014, 11:11
Версия LabVIEW: 13, 14
Контактная информация:

Буфер памяти для накопления массива

Сообщение Denis29 »

Всем добрый день! Подскажите пожалуйста с решением след. задачи: в цикле при помощи Visa считываются данные с внешнего устройства с частотой 320 Гц, получается непрерывный поток значений сигнала. Необходимо накапливать данные значения в массив размером 320 точек, и далее уже выводить этот массив на график, обрабатывать и т.д. То есть создать некий буфер данных, который будет перезаписываться. Само накопление в массиве создать удалось, но он движется от точки к точке, а не порциями. нужно накапливать порцию и выдавать, накапливать и выдавать, с частотой раз в секунду. Для пояснения прикладываю рисунок.
Вложения
Буфер данных.jpg
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Буфер памяти для накопления массива

Сообщение Borjomy_1 »

Палитра Signal Processing/Point By Point/Other Function PtByPt/Data Queue PtByPt.vi
А принимать значение полного буфера один раз в 320 замеров. Размер буфера может быть больше, но использовать для вычислений последние 320 значений. Но в реальности такая схема работать не будет. И вот почему: прием несинхронный, это раз и период сигнала принципиально не будет совпадать 320 точками. Т.е уже на втором периоде фаза поплывет. И второе, поиск начала периода это отдельная задача.
Denis29
beginner
beginner
Сообщения: 10
Зарегистрирован: 20 фев 2014, 11:11
Версия LabVIEW: 13, 14
Контактная информация:

Re: Буфер памяти для накопления массива

Сообщение Denis29 »

Borjomy_1, Большое спасибо! Все заработало, массив выдается стабильно размером 320 точек и фаза вроде тоже не плывет, проверил путем склейки выдаваемых массивов в первоначальный массив. Единственное я не понял зачем нужен вывод "eliminated element" в блоке Data Queue. То есть получается он первую точку в очереди убирает?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Буфер памяти для накопления массива

Сообщение Borjomy_1 »

Denis29, функция универсальная, поэтому сделано на все варианты. Кому-то может и понадобится.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»