comm.ErrorRate

Вычислите бит битовой или символьной ошибки входных данных

Описание

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

Чтобы получить частоту ошибок:

  1. Определите и настройте объект частоты ошибок. См. «Конструкция».

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

Примечание

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

Конструкция

H = comm.ErrorRate создает вычислитель частоты ошибок Системный объект, 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

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

Примеры

свернуть все

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

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

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

Алгоритмы

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

  • Output data и Variable name параметров блоков не имеют соответствующих свойств. Объект всегда возвращает результат как выход.

  • Stop simulation параметров блоков не имеет соответствующего свойства. Чтобы реализовать аналогичное поведение, используйте выход step метод в цикле while, чтобы программно остановить симуляцию.

  • Параметр Computation mode соответствует Samples и CustomSamples свойства.

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

.

См. также

|

Введенный в R2012a