comm.BasebandFileWriter

Запись сгенерированных модулированных сигналов в файл

Описание

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

Чтобы сохранить сгенерированный модулированный сигнал в файл:

  1. Создайте comm.BasebandFileWriter и установите свойства объекта.

  2. Функции step для сохранения сгенерированного модулированного сигнала в файл.

  3. Функции release чтобы сохранить сгенерированный модулированный сигнал в файл и закрыть файл.

Примечание

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

Конструкция

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

bbw = comm.BasebandFileWriter(fname) возвращает bbw и устанавливает fname как Filename свойство.

bbw = comm.BasebandFileWriter(fname,fs) также устанавливает fs как SampleRate свойство.

bbw = comm.BasebandFileWriter(fname,fs,fc) также устанавливает fc как CenterFrequency свойство.

bbw = comm.BasebandFileWriter(fname,fs,fc,md) также устанавливает структуру md как MetaData свойство.

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

Пример:

bbw = comm.BasebandFileWriter('qpsk_data.bb',10e6,2e9);

Свойства

расширить все

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

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

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

Данные, описывающие сигнал сгенерированного модулированного сигнала, заданные как структура. Структура может иметь любое количество полей и любое имя полей. Значения полей могут быть любого числового, логического или символьного типа и иметь любое количество измерений.

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

  • Чтобы записать все выборки сгенерированного модулированного сигнала в файл, установите NumSamplesToWrite на Inf.

  • Написание только последнего NumSamplesToWrite выборок в файл, установите NumSamplesToWrite в конечное число.

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

Методы

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

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

reset

Сброс внутренних состояний Системного объекта

Примеры

свернуть все

Создайте объект средства записи файла основной полосы частот, имеющий частоту дискретизации 1 кГц и центральную частоту 0 Гц.

bbw = comm.BasebandFileWriter('baseband_data.bb',1000,0);

Сохраните текущую дату в Metadata структура.

bbw.Metadata = struct('Date',date);

Сгенерируйте два канала данных с модуляцией QPSK.

d = randi([0 3],1000,2);
x = pskmod(d,4,pi/4,'gray');

Запишите данные основной полосы в файл 'baseband_data.bb'.

bbw(x)

Отображение информации о bbw. Отпустите объект.

info(bbw)
ans = struct with fields:
             Filename: '/tmp/BR2021ad_1657350_232851/mlx_to_docbook18/tp6eea9afe/comm-ex66490302/baseband_data.bb'
      SamplesPerFrame: 1000
          NumChannels: 2
             DataType: 'double'
    NumSamplesWritten: 1000

release(bbw)

Создайте объект baseband file reader для чтения сохраненных данных. Считайте метаданные из файла.

bbr = comm.BasebandFileReader('baseband_data.bb','SamplesPerFrame',100);
bbr.Metadata
ans = struct with fields:
    Date: '25-Apr-2021'

Считайте данные из файла.

z = [];

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

Отображение информации о bbr. Релиз о bbr.

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

release(bbr)

Подтвердите исходные модулированные данные, x, соответствует данным, считанным из файла 'baseband_data.bb', z.

isequal(x,z)
ans = logical
   1

Совет

  • comm.BasebandFileWriter записывает сгенерированные модулированные сигналы в несжатые двоичные файлы. Чтобы поделиться этими файлами, можно сжать их в zip-файл, используя zip функция. Для получения дополнительной информации смотрите Создание и извлечение из Архивов zip.

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

.

См. также

Введенный в R2016b