Блоки Читателя Средства записи и Двоичного файла Двоичного файла не поддерживают запись и чтение данных фиксированной точки. Как обходное решение, можно записать сохраненный целочисленный фрагмент fi данные, считанные данные и использование это значение, чтобы восстановить fi данные.
Создайте fi объект представлять 100 случайных чисел со знаком с размером слова 14 и дробной длиной 12.
data = randn(100,1); fiDataWriter = fi(data,1,14,12); storeIntData = storedInteger(fiDataWriter);
Запишите сохраненный целочисленный фрагмент fi возразите против файла данных myFile.dat. Встроенным типом данных является int16, который может быть вычислен с помощью class(storeIntData).
writeModel = fullfile(matlabroot,'examples','dsp','writeFixedData'); open_system(writeModel) sim(writeModel)

Задайте читателя, чтобы считать хранимые целочисленные данные как int16 данные с 100 выборками на систему координат данных.
readModel = fullfile(matlabroot,'examples','dsp','readFixedData'); open_system(readModel) sim(readModel)

Реальное значение номера фиксированной точки может быть представлено с помощью 2^[-fractionLength*storedInteger]. Если вы знаете размер слова со знаком и дробную длину данных фиксированной точки, можно восстановить fi данные с помощью fi(realValue,signedness,wordLength,fractionLength). В этом примере данные подписываются с размером слова 14 и дробной длиной 12.
fractionLength = 12; wordLength = 14; realValue = 2^(-fractionLength)*double(dataRead); fiDataReader = fi(realValue,1,wordLength,fractionLength);
Проверьте, что данные средства записи - то же самое как данные читателя.
isequal(fiDataWriter,fiDataReader)
ans = logical 1
Binary File Reader | Binary File Writer | Signal From Workspace | To Workspace