exponenta event banner

коммуникация. BasebandFileReader

Считывание сигналов основной полосы частот из файла

Описание

comm.BasebandFileReader объект считывает сигнал основной полосы частот из определенного типа двоичного файла, записанного comm.BasebandFileWriter. Сигналы основной полосы частот обычно преобразуются с понижением частоты с ненулевой центральной частоты до 0 Гц. SampleRate и CenterFrequency свойства сохраняются при создании файла. comm.BasebandFileReader объект автоматически считывает частоту выборки, центральную частоту, количество каналов и все описательные данные и сохраняет их в свойствах, доступных только для чтения.

Для создания входного сигнала из сохраненного файла основной полосы частот:

  1. Создать comm.BasebandFileReader и задайте свойства объекта.

  2. Звонить step для формирования сигнала основной полосы частот из сохраненных данных.

  3. Звонить release для закрытия файла.

Примечание

В качестве альтернативы вместо использования step для выполнения операции, определенной системным object™, можно вызвать объект с аргументами, как если бы это была функция. Например, y = step(obj) и y = obj() выполнять эквивалентные операции.

Строительство

bbr = comm.BasebandFileReader возвращает объект чтения основной полосы частот, bbr, используя свойства по умолчанию.

bbr = comm.BasebandFileReader(fname) возвращает объект и наборы модуля чтения основной полосы частот fname в качестве Filename собственность.

bbr = comm.BasebandFileReader(fname,spf) также наборы spf в качестве SamplesPerFrame собственность.

bbr = comm.BasebandFileReader(___,Name,Value) задает дополнительные свойства с помощью Name,Value пар. Неопределенные свойства имеют значения по умолчанию.

Пример:

bbr = comm.BasebandFileReader('recorded_data',100);

Свойства

развернуть все

Имя считываемого файла основной полосы частот, указанное как символьный вектор. Укажите абсолютный путь, только если файл отсутствует в пути MATLAB ®. Сохраняется и отображается только абсолютный путь.

Это свойство доступно только для чтения.

Частота дискретизации сохраненного сигнала основной полосы частот в Гц.

Это свойство доступно только для чтения.

Центральная частота сохраненного сигнала основной полосы частот в Гц. Когда это свойство является вектором строки, каждый элемент представляет центральную частоту канала в многоканальном сигнале.

Это свойство доступно только для чтения.

Количество каналов сохраненного сигнала основной полосы.

Это свойство доступно только для чтения.

Данные, описывающие сигнал основной полосы частот. Если файл не содержит описательных данных, это свойство является пустой структурой.

Число выборок на выходной кадр, указанное как положительное целое число.

Типы данных: double

Флаг для многократного чтения файла основной полосы частот, заданного как логический скаляр. Повторное чтение файла основной полосы частот, указанного в Filename, задайте для этого свойства значение true.

Методы

информацияХарактеристическая информация о модуле чтения файлов основной полосы частот
Общие для всех системных объектов
release

Разрешить изменение значения свойства объекта системы

step

Формирование сигнала основной полосы частот из файла

reset

Сброс состояний объекта чтения файлов основной полосы частот

isDone

Состояние чтения образцов файлов основной полосы частот

Примеры

свернуть все

Считывание сигнала основной полосы частот из файла с помощью comm.BasebandFileReader Системный объект.

Создание объекта чтения файлов основной полосы частот.

bbr = comm.BasebandFileReader('baseband_samples_1ghz.bb')
bbr = 
  comm.BasebandFileReader with properties:

            Filename: '/tmp/BR2021ad_1657350_232851/mlx_to_docbook16/tpb13e16b4/comm-ex87872352/baseband_samples_1ghz.bb'
          SampleRate: 1
     CenterFrequency: 100000000
         NumChannels: 1
            Metadata: [1x1 struct]
     SamplesPerFrame: 100
    CyclicRepetition: false

Используйте info метод получения дополнительной информации о bbr. Файл содержит 10000 образцов типа 'double'. Образцы не были прочитаны.

info(bbr)
ans = struct with fields:
    NumSamplesInData: 10000
            DataType: 'double'
      NumSamplesRead: 0

Чтение данных с помощью нескольких вызовов объекта чтения файлов основной полосы частот

С момента NumSamplesPerFrame составляет 100, и NumSamplesInData составляет 10000, считывая все содержимое baseband_samples_1ghz.bb файл потребует нескольких вызовов bbr объект. Это может быть достигнуто с помощью isDone метод завершения while цикл.

y = [];

while ~isDone(bbr)
    x = bbr();
    y = cat(1,y,x);
end

Постройте график абсолютной величины данных основной полосы частот.

plot(abs(y))

Figure contains an axes. The axes contains an object of type line.

Убедитесь, что все образцы прочитаны.

info(bbr)
ans = struct with fields:
    NumSamplesInData: 10000
            DataType: 'double'
      NumSamplesRead: 10000

Общее число выборок и число прочитанных выборок совпадают.

Освободите ресурсы чтения файлов основной полосы частот.

release(bbr)

Чтение данных с помощью одиночного вызова объекта чтения файлов основной полосы частот

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

bbrinfo = bbr.info
bbrinfo = struct with fields:
    NumSamplesInData: 10000
            DataType: 'double'
      NumSamplesRead: 10000

bbr.SamplesPerFrame = bbrinfo.NumSamplesInData
bbr = 
  comm.BasebandFileReader with properties:

            Filename: '/tmp/BR2021ad_1657350_232851/mlx_to_docbook16/tpb13e16b4/comm-ex87872352/baseband_samples_1ghz.bb'
          SampleRate: 1
     CenterFrequency: 100000000
         NumChannels: 1
            Metadata: [1x1 struct]
     SamplesPerFrame: 10000
    CyclicRepetition: false

Теперь прочтите все содержимое baseband_samples_1ghz.bb файл с одним вызовом bbr объект. Убедитесь, что все образцы прочитаны.

xx = bbr();
isequal(y,xx)
ans = logical
   1

info(bbr)
ans = struct with fields:
    NumSamplesInData: 10000
            DataType: 'double'
      NumSamplesRead: 10000

Расширенные возможности

.

См. также

Представлен в R2016b