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

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

Описание

Объект 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

Позвольте изменения значения свойства Системного объекта

Примеры

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

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

Создайте немного объекта счетчика коэффициента ошибок.

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 в некоторое время цикле, чтобы программно остановить симуляцию. Смотрите Серый Закодированный 8-PSK.

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

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

Смотрите также

|

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