Документация Engee

Binary File Reader

Страница в процессе разработки.

Чтение данных из двоичных файлов.

Тип: Binary File Reader

Путь в библиотеке:

/Signal Operations/Sources/Binary File Reader

Описание

Блок Binary File Reader считывает данные многоканального сигнала из двоичного файла. Блок считывает заголовок, который предшествует данным. Параметр File header задает структуру заголовка. Вы можете задать тип, размер и комплексность данных с помощью параметров блока.

При первом чтении файла блок считывает заголовок, а затем данные. При последующих вызовах блок считывает оставшиеся данные. Когда конец файла достигнут, блок возвращает нули указанного типа данных, размера и комплексности. Блок может считывать данные как из файла, записанного блоком Binary File Writer, так и из любого другого двоичного файла.

Порты

Выход

# data — данные из двоичного файла
скаляр | вектор | матрица

Details

Блок считывает данные из двоичного файла, указанного в параметре File name. Выходные данные имеют размерность Samples per frame на Number of channels. Блок может считывать данные с плавающей точкой и целочисленные данные. Входные данные могут быть вещественными или комплексными. Если данные комплексные, то блок считывает их в виде чередующихся вещественных и мнимых компонентов. Блок чтения предполагает стандартный порядок следования байтов по умолчанию, установленный на хост-машине.

Этот порт не имеет названия, пока снят флажок Output end-of-file indicator.

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

Поддержка комплексных чисел

Да

# EOF — индикатор конца файла
0 | 1

Details

Когда блок достигает конца файла, порт выводит 1. В противном случае порт выводит 0.

Зависимости

Чтобы использовать это порт, установите флажок Output end-of-file indicator.

Типы данных

Bool

Поддержка комплексных чисел

Да

Параметры

Main

# File name — имя файла

Details

Имя файла, из которого блок считывает данные. Если файл находится не в текущей директории, то укажите полный путь к нему.

Значение по умолчанию

Untitled.bin

Имя для программного использования

Filename

Настраиваемый

Нет

Вычисляемый

Да

# File header — заголовок файла

Details

Если файл не содержит заголовок, то следует указать в поле пустые скобки (). Если же используется какой-то заголовок, то в поле нужно вписать именованный кортеж (field1 = value, …, fieldN = valueN), в качестве значений могут выступать строки, числа, одномерные вектора чисел и двумерные матрицы чисел.

Значение по умолчанию

()

Имя для программного использования

HeaderStructure

Настраиваемый

Нет

Вычисляемый

Да

# Storage data type — тип данных в файле
Float64 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64

Details

Тип данных, хранящихся в файле. Этот параметр определяет тип выходных данных на порту data.

Значения

Float64 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64

Значение по умолчанию

Float64

Имя для программного использования

DataType

Настраиваемый

Нет

Вычисляемый

Нет

# Samples per frame — количество отсчетов в выходном сигнале
Целое число

Details

Определяет количество строк выходной матрицы. Выходная матрица имеет размеры Samples per frame на Number of channels. По достижении конца файла, если выходная матрица не заполнена, блок заполняет матрицу нулями, превращая ее в полноразмерную матрицу.

Значение по умолчанию

1024

Имя для программного использования

SamplesPerFrame

Настраиваемый

Нет

Вычисляемый

Да

# Data is complex — комплексность данных
Логический тип

Details

Если этот флажок установлен, то блок чтения рассматривает данные из файла как комплексные. Блок считывает данные как чередующиеся действительные и мнимые компоненты и выводит комплексные значения.

Например, если блок настроен на чтение комплексных данных в виде матрицы 2 на 2, то данные [1 5 2 6 3 7 4 8] будут считаны как [1 2; 3 4]+1j*[5 6; 7 8]. Если блок настроен на чтение вещественных данных, то блок считает их как [1 5; 2 6].

Значение по умолчанию

false (выключено)

Имя для программного использования

isDataComplex

Настраиваемый

Нет

Вычисляемый

Нет

# Number of channels — количество каналов в выходном сигнале
Целое число

Details

Задает количество столбцов выходной матрицы. Этот параметр определяет количество последовательных чередующихся отсчетов данных, хранящихся в файле для каждого момента времени. Выходная матрица имеет размеры Samples per frame на Number of channels. По достижении конца файла, если выходная матрица не заполнена, блок заполняет матрицу нулями, превращая ее в полноразмерную матрицу.

Значение по умолчанию

1

Имя для программного использования

NumChannels

Настраиваемый

Нет

Вычисляемый

Да

# Output end-of-file indicator — индикатор конца файла
Логический тип

Details

Если установлен этот флажок, то у блока появляется дополнительный выходной порт EOF. Когда блок достигает конца файла, порт выводит 1. В противном случае порт выводит 0.

Значение по умолчанию

false (выключено)

Имя для программного использования

OutputEOF

Настраиваемый

Нет

Вычисляемый

Нет

# SampleTime (s) — период дискретизации
SampleTime (вещественное число / вектор из двух вещественных чисел)

Details

Управляет периодом дискретизации на выходном порту блока. Это значение представляет собой , где — частота отсчетов данных сигнала. Период дискретизации на выходном порту равен произведению значений параметров Samples per frame и SampleTime (s).

Значение по умолчанию

1

Имя для программного использования

SampleTime

Настраиваемый

Нет

Вычисляемый

Да

# Indexing mode — порядок индексации для чтения матриц
Row-major | Column-major

Details

Выберете, как блок будет считывать данные:

  • Row-major — чтение данных производится с учетом того, что матрица была записана по строкам;

  • Column-major — чтение данных производится с учетом того, что матрица была записана по столбцам.

Значения

Row-major | Column-major

Значение по умолчанию

Row-major

Имя для программного использования

IndexingMode

Настраиваемый

Нет

Вычисляемый

Нет