Циклическая запись/воспроизведение в панорамном FFT анализаторе

22.02.2022    Сергій - UR3QJ     411
Циклическая непрерывная запись (например выборок с АЦП тюнера SDR) необходима в случае ограниченности ресурсов железа или при необходимости отслеживания некоторого события (сигнала) на ограниченном временном участке, когда нет необходимости вести архивацию на протяжении всего времени работы и заранее неизвестно время наступления этого события.

Демо-пример:


В полнофункциональном приложении:


Самое простое и логичное - использовать последовательную запись плавающим окном длиной равной размерности получаемого буфера данных (сэмпла) на фиксированном участке памяти. При достижении границы памяти, перемещать указатель для записи на начало и продолжать запись, тем самым затирая самые старые (ранее записанные) данные. По сути запись по кругу. В случае ограниченности RAM можно использовать файловые потоки через класс TFileStream и писать сразу на винчестер в режиме немонопольного доступа, имея для работы сторонних приложений готовый файл. Если же поток принимаемых данных в единицу времени слишком велик, а быстродействие и ресурсы винчестера ограничены, то следует воспользоваться записью непосредственно в RAM, используя класс TMemoryStream.

Детальнее

поширити інформацію

Scroll top CLOSE MENU MENU