exponenta event banner

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

Коэффициент битовых или символьных ошибок входных данных

Описание

ErrorRate объект сравнивает входные данные от передатчика с входными данными от приемника и вычисляет частоту ошибок как выполняющуюся статистику. Для получения частоты ошибок объект делит общее количество неравных пар элементов данных на общее количество входных элементов данных от одного источника.

Для получения частоты ошибок:

  1. Определите и настройте объект частоты ошибок. См. раздел Строительство.

  2. Звонить step сравнивать входные данные от передатчика с входными данными от приемника и вычислять частоту ошибок согласно свойствам comm.ErrorRate. Поведение step относится к каждому объекту на панели инструментов.

Примечание

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

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

H = comm.ErrorRate создает вычислитель частоты ошибок System object, H. Этот объект вычисляет частоту ошибок принятых данных, сравнивая их с переданными данными.

H = comm.ErrorRate(Name,Value) создает объект калькулятора частоты ошибок, H, каждое указанное свойство имеет заданное значение. Можно указать дополнительные аргументы пары имя-значение в любом порядке как (Name1,Value1,...,NameN,ValueN).

Свойства

ReceiveDelay

Количество выборок для задержки передаваемого сигнала

Укажите количество выборок, на которое принятые данные отстают от переданных данных. Это значение должно быть действительным, неотрицательным, с двойной точностью, целочисленным скаляром. Это свойство используется для выравнивания выборок для сравнения в векторах передаваемых и принимаемых входных данных. Укажите задержку в количестве отсчетов независимо от того, является ли вход скаляром или вектором. Значение по умолчанию: 0.

ComputationDelay

Задержка вычислений

Укажите количество образцов данных, которые объект должен игнорировать в начале сравнения. Это значение должно быть действительным, неотрицательным, с двойной точностью, целочисленным скаляром. Используйте это свойство, чтобы игнорировать переходное поведение обоих входных сигналов. Значение по умолчанию: 0.

Samples

Образцы для рассмотрения

Укажите образцы для рассмотрения в качестве одного из Entire frame | Custom | Input port. Свойство определяет, должен ли объект учитывать все или только часть входных кадров при вычислении статистики ошибок. Значение по умолчанию: Entire frame. Выбрать Entire frame для сравнения всех выборок кадра RX с выборками кадра TX. Выбрать Custom или Input port перечислить индексы элементов кадра RX, которые объект должен учитывать при проведении сравнений. При установке для этого свойства значения Custom, можно перечислить индексы как скаляр или вектор-столбец целых чисел двойной точности через CustomSamples собственность. При установке для этого свойства значения Input port, можно перечислить индексы в качестве входных данных для step способ.

CustomSamples

Выбранные образцы из кадра

Укажите скаляр или вектор столбца с двойной точностью, вещественные, положительные целые числа. Это значение перечисляет индексы элементов вектора кадра RX, которые объект использует при сравнении. Это свойство применяется при установке Samples свойство для Custom. По умолчанию используется пустой вектор, указывающий, что используются все выборки.

ResetInputPort

Включить вход сброса частоты ошибок

Установить для этого свойства значение true для сброса статистики ошибок через вход в step способ. Значение по умолчанию: false.

Методы

шагКоэффициент битовых или символьных ошибок входных данных
Общие для всех системных объектов
release

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

reset

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

Примеры

свернуть все

Создайте два двоичных вектора и определите статистику ошибок.

Создайте объект счетчика частоты битовых ошибок.

errorRate = comm.ErrorRate;

Создайте произвольный двоичный вектор данных.

x = [1 0 1 0 1 0 1 0 1 0]';

Введите ошибки в первый и последний биты.

y = x;
y(1) = ~y(1);
y(end) = ~y(end);

Вычислите статистику ошибок.

z = errorRate(x,y);

Первый элемент вектора z - частота битовых ошибок.

z(1)
ans = 0.2000

Второй элемент z - общее число ошибок.

z(2)
ans = 2

Третий элемент z - общее количество битов.

z(3)
ans = 10

Создайте пару модулятора 8-DPSK и демодулятора, которые работают с двоичными данными.

dpskModulator = comm.DPSKModulator('ModulationOrder',8,'BitInput',true);
dpskDemodulator = comm.DPSKDemodulator('ModulationOrder',8,'BitOutput',true);

Создайте калькулятор частоты ошибок, учитывающий трехбитовый (один символ) переходный процесс, вызванный дифференциальной модуляцией.

errorRate = comm.ErrorRate('ComputationDelay',3);

Вычислите BER для 10 кадров.

BER = zeros(10,1);

for i= 1:10
    txData = randi([0 1],96,1);           % Generate binary data
    modData = dpskModulator(txData);      % Modulate
    rxSig = awgn(modData,7);              % Pass through AWGN channel
    rxData = dpskDemodulator(rxSig);      % Demodulate
    errors = errorRate(txData,rxData);    % Compute error statistics
    BER(i) = errors(1);                   % Save BER data
end

Просмотрите BER.

BER
BER = 10×1

    0.1613
    0.1640
    0.1614
    0.1496
    0.1488
    0.1309
    0.1405
    0.1399
    0.1370
    0.1411

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на странице ссылок блока «Расчет частоты ошибок». Свойства объекта соответствуют параметрам блока, за исключением:

  • Параметры блока «Выходные данные» и «Имя переменной» не имеют соответствующих свойств. Объект всегда возвращает результат в виде выходных данных.

  • Параметр «Остановить блок моделирования» не имеет соответствующего свойства. Для реализации аналогичного поведения используйте выходные данные step метод в цикле while для программной остановки моделирования..

  • Параметр режима вычислений соответствует Samples и CustomSamples свойства.

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

.

См. также

|

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