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

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

Библиотека

Приемники коммуникации

Описание

Блок Error Rate Calculation сравнивает входные данные от передатчика с входными данными от получателя. Это вычисляет коэффициент ошибок как рабочую статистическую величину путем деления общего количества неравных пар элементов данных общим количеством элементов входных данных из одного источника.

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

Примечание

Когда вы устанавливаете параметр Output data на Workspace, блок не генерирует кода. Точно так же никакие данные не сохранены в рабочую область, если Simulation mode установлен в Accelerator или Rapid Accelerator. Если вы нуждаетесь в информации о коэффициенте ошибок в этих случаях, устанавливаете Output data на Port.

Входные данные

Этот блок имеет между двумя и четырьмя входными портами, в зависимости от того, как вы устанавливаете диалоговые параметры. Входные порты отметили Tx, и Rx принимают переданные и полученные сигналы, соответственно. Tx и сигналы Rx должны совместно использовать тот же уровень выборки.

Tx и входные порты Rx принимают сигналы вектор-столбца или скаляр. Для получения информации о типах данных, которые поддерживает каждый порт блока см. таблицу Supported Data Types на этой странице. Если Tx является скаляром, и Rx является вектором, или наоборот, то блок сравнивает скаляр с каждым элементом вектора. (В целом, блок ведет себя, как будто вы предварительно обработали скалярный сигнал с блоком Communications Toolbox™ Repeat с набором параметра Rate options к Enforce single rate.)

Если вы выбираете Reset port, то дополнительный входной порт появляется, маркировал Rst. Вход Rst принимает только скалярный сигнал (типа double или boolean) и должен иметь тот же шаг расчета порта как порты Tx и Rx. Когда вход Rst является ненулевым, блок очищает и затем повторно вычисляет ошибочную статистику.

Если вы устанавливаете параметр Computation mode на Select samples from port, то дополнительный входной порт появляется, маркировал Sel. Вход Sel указывает, какие элементы кадра важны для вычисления. Вход Sel может быть вектор-столбцом типа double.

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

  • Если оба сигнала данных являются скаляром, то этот блок сравнивает скалярный сигнал Tx со скалярным сигналом Rx. Для этой настройки используйте значение по умолчанию параметра Computation mode, Entire frame.

  • Если оба сигнала данных являются векторами, то этот блок сравнивает некоторых или все данные Rx и Tx:

    • Если вы устанавливаете параметр Computation mode на Entire frame, то блок сравнивает весь кадр Tx со всем кадром Rx.

    • Если вы устанавливаете параметр Computation mode на Select samples from mask, то поле Selected samples from frame появляется в диалоговом окне. Это поле параметра принимает вектор, который перечисляет индексы тех элементов кадра Rx, который вы хотите, чтобы блок рассмотрел. Например, чтобы считать только первые и последние элементы длины шестью кадрами получателя, установите параметр Selected samples from frame на [1 6]. Если вектор Selected samples from frame включает нули, то блок игнорирует их.

    • Если вы устанавливаете параметр Computation mode на Select samples from port, то дополнительный входной порт, маркировал Sel, появляется на значке блока. Данные в этом входном порту должны иметь тот же формат как тот из параметра Selected samples from frame, описанного выше.

  • Если один сигнал данных является скаляром, и другой вектор, то этот блок сравнивает скаляр с каждой записью вектора. Три подмаркера выше все еще допустимы для этого режима, за исключением того, что, если Rx является скаляром, то фраза “кадр Rx” выше относится к векторному расширению Rx.

    Примечание

    Этот блок не поддерживает сигналы переменного размера. Если вы выбираете опцию Select samples from port и хотите, чтобы число элементов в подкадре отличалось во время симуляции, то необходимо заполнить сигнал Sel нулями. Блок Error Rate Calculation игнорирует нули в сигнале Sel.

Выходные данные

Этот блок производит вектор длины три, чьи записи соответствуют:

  • Коэффициент ошибок

  • Общее количество ошибок, то есть, количества экземпляров, что элемент Rx не совпадает с соответствующим элементом Tx

  • Общее количество сравнений, что блок сделан

Блок отправляет этому выходные данные в основную рабочую область MATLAB® или в выходной порт, в зависимости от того, как вы устанавливаете параметр Output data:

  • Если вы устанавливаете параметр Output data на Workspace и заполняете параметр Variable name, то та переменная в основном рабочем пространстве MATLAB содержит текущее значение, когда симуляция заканчивается. Приостановка симуляции не заставляет блок писать временные данные в переменную.

    Если вы планируете использовать этот блок наряду с программным обеспечением Simulink® Coder™, то вы не должны использовать опцию Workspace. Вместо этого используйте опцию Port и соедините выходной порт с блоком Simulink To Workspace.

  • Если вы устанавливаете параметр Output data на Port, то выходной порт появляется. Этот выходной порт содержит рабочую ошибочную статистику.

Задержки

Receive delay и параметры Computation delay реализуют два различных типов задержек этого блока. Одна задержка полезна, если вы хотите, чтобы этот блок компенсировал задержку полученного сигнала. Другой полезно, если вы хотите проигнорировать начальное переходное поведение обоих входных сигналов.

  • Параметр Receive delay представляет количество выборок, которыми полученные данные отстают от передаваемых данных. Сигнал передачи неявно задержан той же самой суммой, прежде чем блок сравнит его с полученными данными. Это значение полезно, когда вы задерживаете сигнал передачи так, чтобы это выровнялось с полученным сигналом. Получить задержка сохраняется в течение симуляции.

  • Параметр Computation delay представляет количество выборок, которые блок игнорирует в начале сравнения.

Если вы не знаете получить задержку своей модели, можно использовать блок Find Delay, который автоматически компенсирует задержку. Если вы используете блок Find Delay, устанавливаете Receive delay в блоке Error Rate Calculation к 0 и Computation delay к значению, выходящему из порта delay блока Find Delay.

Если вы используете Select samples from mask или опцию Select samples from port, то каждый параметр задержки относится к количеству выборок, которые получает блок, игнорирует ли блок в конечном счете некоторых из них или нет.

Остановка симуляции на основе ошибочной статистики

Можно сконфигурировать этот блок так, чтобы его ошибочные статистические данные управляли длительностью симуляции. Это полезно для вычисления надежной установившейся ошибочной статистики, не зная заранее, сколько времени переходные эффекты могут продлиться. Чтобы использовать этот режим, проверяйте Stop simulation. Блок пытается запустить симуляцию, пока это не обнаруживает количество ошибок, которые задает параметр Target number of errors. Однако остановки симуляции прежде, чем обнаружить достаточно ошибок, если время достигает установки Stop time модели (в диалоговом окне Configuration Parameters), если блок Error Rate Calculation делает сравнения Maximum number of symbols, или если другой блок в модели направляет симуляцию, чтобы остановиться.

Чтобы проигнорировать или этих двух критериев остановки в этом блоке, установите соответствующий параметр (Target number of errors или Maximum number of symbols) к Inf. Например, чтобы достигнуть целевого количества ошибок, не останавливая симуляцию рано, установите Maximum number of symbols на Inf и установите Stop time модели на Inf.

Примеры

Фигура ниже показов, как блок сравнивает пары элементов и считает количество ошибочных событий. Tx и входные параметры Rx являются вектор-столбцами.

Этот пример принимает, что шаг расчета каждого входного сигнала составляет 1 секунду и что параметры блока следующие:

  • Receive delay = 2

  • Computation delay = 0

  • Computation mode = Entire frame

Оба входных сигнала являются вектор-столбцами длины три. Однако схематические расположения, каждый вектор-столбец горизонтально и выравнивает пары векторов, чтобы отразить получить задержку двух выборок. На каждом временном шаге блок сравнивает элементы сигнала Rx с теми из сигнала Tx, которые появляются непосредственно выше их в схематическом. Например, во время 1, блок выдерживает сравнение 2, 4, и 1 от сигнала Rx с 2, 3, и 1 от сигнала Tx.

Значения первых двух элементов Rx появляются как звездочки, потому что они не влияют на вывод. Точно так же 6 и 5 в сигнале Tx не влияют на вывод до времени 3, хотя они влияли бы на вывод во время 4.

В коэффициентах ошибок правой стороны фигуры каждый числитель во время t отражает количество ошибок при рассмотрении элементов Rx в течение времени t.

Если бы флажок Reset port блока был установлен, и сброс произошел во время = 3 секунды, то последний коэффициент ошибок будет 2/3 вместо 4/10. Это значение 2/3 отразило бы сравнение 3, 2, и 1 от сигнала Rx с 7, 7, и 1 от сигнала Tx. Фигура ниже иллюстрирует этот сценарий. Tx и входные параметры Rx являются вектор-столбцами.

Настройка параметров в исполняемом файле RSim (программное обеспечение Simulink Coder)

Если вы используете Simulink Coder быстрая симуляция (RSim) цель, чтобы создать исполняемый файл RSim, то можно настроить Target number of errors и параметры Maximum number of symbols , не перекомпилировав модель. Это полезно для симуляций Монте-Карло, в которых вы запускаете симуляцию многократно (возможно, на нескольких компьютерах) с различными количествами шума.

Параметры

Receive delay

Количество выборок, которыми полученные данные отстают от передаваемых данных. (Если Tx или Rx являются вектором, то каждая запись представляет выборку.)

Computation delay

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

Computation mode

Или Entire frame, Select samples from mask или Select samples from port, в зависимости от того, должен ли блок рассмотреть весь или только часть входных кадров.

Selected samples from frame

Вектор, который перечисляет индексы элементов вектора кадра Rx, который блок должен рассмотреть при создании сравнений. Это поле появляется, только если Computation mode установлен в Select samples from mask.

Output data

Или Workspace или Port, в зависимости от того, где вы хотите отправить выходные данные.

Variable name

Имя переменной для вектора выходных данных в основном рабочем пространстве MATLAB. Это поле появляется, только если Output data установлен в Workspace.

Reset port

Если вы устанавливаете этот флажок, то дополнительный входной порт появляется, маркировал Rst.

Stop simulation

Если вы устанавливаете этот флажок, то симуляция запускается только, пока этот блок не обнаруживает конкретное количество ошибок или выполняет конкретное количество сравнений, какой бы ни на первом месте.

Target number of errors

Остановки симуляции после обнаружения этого количества ошибок. Это поле активно, только если Stop simulation проверяется.

Maximum number of symbols

Остановки симуляции после создания этого количества сравнений. Это поле активно, только если Stop simulation проверяется.

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Tx

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Булевская переменная

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

Rx

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Булевская переменная

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

Sel

  • Плавающая точка двойной точности

Сброс

  • Плавающая точка двойной точности

  • Булевская переменная

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

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

Блоки

Представлено до R2006a