Буфер памяти для накопления массива
-
- beginner
- Сообщения: 10
- Зарегистрирован: 20 фев 2014, 11:11
- Версия LabVIEW: 13, 14
- Контактная информация:
Буфер памяти для накопления массива
Всем добрый день! Подскажите пожалуйста с решением след. задачи: в цикле при помощи Visa считываются данные с внешнего устройства с частотой 320 Гц, получается непрерывный поток значений сигнала. Необходимо накапливать данные значения в массив размером 320 точек, и далее уже выводить этот массив на график, обрабатывать и т.д. То есть создать некий буфер данных, который будет перезаписываться. Само накопление в массиве создать удалось, но он движется от точки к точке, а не порциями. нужно накапливать порцию и выдавать, накапливать и выдавать, с частотой раз в секунду. Для пояснения прикладываю рисунок.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Буфер памяти для накопления массива
Палитра Signal Processing/Point By Point/Other Function PtByPt/Data Queue PtByPt.vi
А принимать значение полного буфера один раз в 320 замеров. Размер буфера может быть больше, но использовать для вычислений последние 320 значений. Но в реальности такая схема работать не будет. И вот почему: прием несинхронный, это раз и период сигнала принципиально не будет совпадать 320 точками. Т.е уже на втором периоде фаза поплывет. И второе, поиск начала периода это отдельная задача.
А принимать значение полного буфера один раз в 320 замеров. Размер буфера может быть больше, но использовать для вычислений последние 320 значений. Но в реальности такая схема работать не будет. И вот почему: прием несинхронный, это раз и период сигнала принципиально не будет совпадать 320 точками. Т.е уже на втором периоде фаза поплывет. И второе, поиск начала периода это отдельная задача.
-
- beginner
- Сообщения: 10
- Зарегистрирован: 20 фев 2014, 11:11
- Версия LabVIEW: 13, 14
- Контактная информация:
Re: Буфер памяти для накопления массива
Borjomy_1, Большое спасибо! Все заработало, массив выдается стабильно размером 320 точек и фаза вроде тоже не плывет, проверил путем склейки выдаваемых массивов в первоначальный массив. Единственное я не понял зачем нужен вывод "eliminated element" в блоке Data Queue. То есть получается он первую точку в очереди убирает?
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Буфер памяти для накопления массива
Denis29, функция универсальная, поэтому сделано на все варианты. Кому-то может и понадобится.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 5 Ответы
- 988 Просмотры
-
Последнее сообщение seromax
-
- 2 Ответы
- 393 Просмотры
-
Последнее сообщение Sergey Puzanov