MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
 

Обработка сигналов и изображений\Communications Toolbox

Список функций CommunicationsToolbox: Функции анализа сигналов

  В оглавление \ К следующему разделу \ К предыдущему разделу

SYMERR
Вычисление числа ошибочных символов
и вероятности ошибки на символ

Синтаксис:

[number,ratio] = symerr(x,y);
[number,ratio] = symerr(x,y,flag);
[number,ratio,loc] = symerr(...)

Описание:

Для всех вариантов синтаксиса

Функция symerr подсчитывает число несовпадающих элементов массивов x и y. Схемы, приведенные ниже, показывают, как именно происходит сравнение при различной размерности x и y.

Выходной параметр number представляет собой скаляр или вектор, содержащий число различающихся элементов массивов. Размер результата number определяется необязательным параметром flag, а также размерностями массивов x и y. Выходной параметр ratio — это вероятность ошибки на символ, то есть значение number, деленное на число элементов в меньшем по размеру входном параметре.

Для конкретных вариантов синтаксиса

[number,ratio] = symerr(x,y)

Сравниваются элементы x и y. Размеры массивов x и y определяют, как именно сравниваются элементы:

  • если x и y — матрицы одинакового размера, функция symerr сравнивает их поэлементно. Результат number является скаляром (см. схему а, приведенную выше);
  • если один из входных параметров является вектором-строкой (столбцом), а другой — матрицей, функция symerr поэлементно сравнивает вектор с каждой строкой (каждым столбцом) матрицы. Длина вектора должна быть равна числу столбцов (строк) матрицы. Выходной параметр number будет вектором-столбцом (строкой), m-й элемент которого показывает число различающихся элементов, полученное при сравнении вектора с m-й строкой (столбцом) матрицы (см. схемы б и в, приведенные выше).

[number,ratio] = symerr(x,y,flag)

То же, что и предыдущий вариант синтаксиса, но правила сравнения элементов и вычисления результатов определяются не по умолчанию, а задаются строковым параметром flag. Возможными значениями параметра flag являются строки 'row-wise', 'column-wise' и 'overall'. Приведенная ниже таблица показывает, как производится сравнение и как вычисляются результаты при различных комбинациях входных параметров. Во всех случаях выходной параметр ratio вычисляется путем деления number на число элементов вектора y.

Таблица: Сравнение двумерной матрицы x со вторым входным параметром y

Размер y Значение flag Правила сравнения Значение number
Двумерная матрица 'overall' (используется по умолчанию) Поэлементное сравнение Общее число несовпадающих символов (элементов)
'row-wise' m-я строка x сравнивается с m строкой y Вектор-столбец, элементы которого показывают число несовпадающих элементов для разных строк сравниваемых матриц
'column-wise' m-й столбец x сравнивается с m-м столбцом y Вектор-строка, элементы которого показывают число несовпадающих элементов для разных столбцов сравниваемых матриц
Вектор-строка 'overall' y сравнивается с каждой строкой x Общее (суммарное по всем строкам) число несовпадающих элементов
'row-wise' (используется по умолчанию) y сравнивается с каждой строкой x Вектор-столбец, элементы которого показывают число несовпадающих элементов для разных строк матрицы x
Вектор-столбец 'overall' y сравнивается с каждым столбцом x Общее (суммарное по всем столбцам) число несовпадающих элементов
'column-wise' (используется по умолчанию) y сравнивается с каждым столбцом x Вектор-строка, элементы которого показывают число несовпадающих элементов для разных столбцов матрицы x

[number,ratio,loc] = symerr(...)

Дополнительно возвращает матрицу loc, которая показывает, какие именно элементы x и y различаются. Элемент матрицы loc равен нулю, если соответствующее сравнение дает совпадение элементов, и единице, если имеет место несовпадение.

Примеры.

Пример, использующий функцию symerr, имеется на странице с описанием функции biterr.

Команда, приведенная ниже, показывает, как работает функция symerr, если один входной параметр является вектором, а другой — матрицей. В данном случае сравниваются вектор-столбец [1,2,3]' с матрицей

1 1 3 1
3 2 2 2
3 3 8 3

По умолчанию сравнение производится по столбцам:

num = symerr([1 2 3]',[1 1 3 1;3 2 2 2; 3 3 8 3])
num =

1 0 2 0

В качестве следующего примера приведенная ниже команда иллюстрирует использование параметра flag для изменения правила построчного сравнения, принятого по умолчанию. Обратите внимание на то, что выходные параметры number и ratio в данном случае являются скалярами.

format rat; [number,ratio,loc] = symerr([1 2; 3 4],...
[1 3],'overall')
number =

3

ratio =

3/4

loc =

0 1
1 1

Сопутствующие функции: biterr.

  В оглавление \ К следующему разделу \ К предыдущему разделу

 

Поиск по сайту:

Система Orphus

Яндекс.Метрика