exponenta event banner

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

Запись сигналов основной полосы в файл

Описание

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

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

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

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

  3. Звонить release для сохранения сигнала основной полосы частот в файле и закрытия файла.

Примечание

В качестве альтернативы вместо использования step для выполнения операции, определенной объектом System, можно вызвать объект с аргументами, как если бы это была функция. Например, 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

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

Примеры

свернуть все

Создайте объект записи файла основной полосы частот, имеющий частоту дискретизации 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)

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

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