Текущая настройка работает, но есть проблема:
при каждой загрузке нового файла происходит короткая пауза, в течение которой новые значения сигналов не отправляются — по сути, это промежуток между файлами, пока данные считываются с диска.
Я хотел бы добиться чего-то вроде потоковый вывод, где я могу продолжать отправлять данные непрерывно, пока готовится следующий фрагмент значений (в идеале с использованием циклического или двойного буфера).
Что я пробовал
- Я могу загрузить один файл .mat, сгенерировать соответствующий аналоговый выходной сигнал (AO), а затем перейти к следующему.
- Я читал, что циклический буфер может решить эту проблему, разрешив одновременный доступ для чтения и записи, но я не могу найти конкретных примеров того, как реализовать это с генерацией АО.
- Как я могу добавлять новые выборки в буфер АО, пока он еще используется для генерации выходных данных?
- Существует ли стандарт способ (или функция API) для решения этой проблемы, например. потоковый/непрерывный режим или механизм очереди для аналогового вывода?
- Если использование циклического буфера является правильным подходом, как мне реализовать его на практике (например, с помощью MATLAB Data Acquisition Toolbox, NI-DAQmx или другой среды)?
Спасибо за помощь
Подробнее здесь: https://stackoverflow.com/questions/798 ... -the-buffe
Мобильная версия