gf

Создайте массив Поля Галуа

Синтаксис

x_gf = gf(x,m)
x_gf = gf(x,m,prim_poly)
x_gf = gf(x)

Описание

x_gf = gf(x,m) создает массив Поля Галуа из матричного x. Поле Галуа имеет 2^m элементы, где m целое число между 1 и 16. Элементы x должны быть целые числа между 0 и 2^m-1. Выход x_gf переменная, которую MATLAB распознает массивом Поля Галуа, а не массивом целых чисел. В результате, когда вы управляете x_gf использование операторов или функций, таких как + или det, MATLAB работает в Поле Галуа, которое вы задали.

Примечание

Изучить, как управлять x_gf с помощью знакомых операторов MATLAB и функций, смотрите Расчеты Поля Галуа. Учиться как целые числа в x представляйте элементы GF (2^m), смотрите, Как Целые числа Соответствуют Элементам Поля Галуа.

x_gf = gf(x,m,prim_poly) совпадает с предыдущим синтаксисом, кроме него использует примитивный полиномиальный prim_poly задавать поле. prim_poly полиномиальный вектор символов или целочисленное представление примитивного полинома. Например, номер 37 представляет полиномиальный D^5+D^2+1, потому что двоичная форма 37 равняется 1 0 0 1 0 1. Для получения дополнительной информации смотрите Примитивные Полиномы По умолчанию.

x_gf = gf(x) создает GF (2) массив от матричного x. Каждый элемент x должен быть 0 или 1.

Примеры

свернуть все

Установите порядок Поля Галуа к 16, где порядок равняется 2m. Элементы x должны лежать в диапазоне от 0 до 2m-1.

m = 4;
x = [3 2 9];
y = gf(x,m)
 
y = GF(2^4) array. Primitive polynomial = D^4+D+1 (19 decimal)
 
Array elements = 
 
   3   2   9

Создайте последовательность целых чисел. Создайте массив Поля Галуа, где m = 5.

x = [17 8 11 27];
y = gf(x,5)
 
y = GF(2^5) array. Primitive polynomial = D^5+D^2+1 (37 decimal)
 
Array elements = 
 
   17    8   11   27

Определите все возможные примитивные полиномы для GF (2^5).

pp = primpoly(5,'all')
 
Primitive polynomial(s) = 
 
D^5+D^2+1
D^5+D^3+1
D^5+D^3+D^2+D^1+1
D^5+D^4+D^2+D^1+1
D^5+D^4+D^3+D^1+1
D^5+D^4+D^3+D^2+1
pp = 6×1

    37
    41
    47
    55
    59
    61

Сгенерируйте массив GF с помощью примитивного полинома, который имеет десятичный эквивалент 59.

z = gf(x,5,'D5+D4+D3+D+1')
 
z = GF(2^5) array. Primitive polynomial = D^5+D^4+D^3+D+1 (59 decimal)
 
Array elements = 
 
   17    8   11   27

Больше о

свернуть все

Примитивные полиномы по умолчанию

Эта таблица приводит примитивный полином по умолчанию, используемый в каждом GF Поля Галуа массивов (2M). Чтобы использовать различный примитивный полином, задайте prim_poly как входной параметр. prim_poly должен быть в области значений [(2M+1), (2 (M +1)-1)] и должен указать на неприводимый полином. Для получения дополнительной информации смотрите Определение Примитивного Полинома.

MПримитивный полином по умолчаниюЦелочисленное представление
1D + 13
2D^2 + D + 17
3D^3 + D + 111
4D^4 + D + 119
5D^5 + D^2 + 137
6D^6 + D + 167
7D^7 + D^3 + 1137
8D^8 + D^4 + D^3 + D^2 + 1285
9D^9 + D^4 + 1529
10D^10 + D^3 + 11033
11D^11 + D^2 + 12053
12D^12 + D^6 + D^4 + D + 14179
13D^13 + D^4 + D^3 + D + 18219
14D^14 + D^10 + D^6 + D + 117475
15D^15 + D + 132771
16D^16 + D^12 + D^3 + D + 169643

Расчеты Галуа

Операции, поддержанные для массивов Поля Галуа, включают:

ОперацияОписание
+ -Сложение и вычитание массивов Галуа
* / \Умножение матриц и деление массивов Галуа
.* ./ .\Поэлементное умножение и деление массивов Галуа
^Матричное возведение в степень массива Галуа
.^Поэлементное возведение в степень массива Галуа
' .'Транспонируйте массива Галуа
==, ~=Операторы отношения для массивов Галуа
всеВерный, если все элементы вектора Галуа являются ненулевыми
любойВерный, если какой-либо элемент вектора Галуа является ненулевым
convСвертка векторов Галуа
convmtxМатрица свертки вектора Поля Галуа
deconvРазвертка и полиномиальное деление
detОпределитель квадрата матрица Галуа
dftmtxДискретная матрица преобразования Фурье в Поле Галуа
diagДиагональные матрицы Галуа и диагонали матрицы Галуа
fftДискретное преобразование Фурье
filter (gf)Одномерный цифровой фильтр по Полю Галуа
ifftОбратное дискретное преобразование Фурье
invИнверсия матрицы Галуа
длинаДлина вектора Галуа
logЛогарифм в Поле Галуа
лютецийФакторизация более низкой Верхней треугольной массива Галуа
minpolНайдите минимальный полином для элемента Галуа
mldivideМатричное левое деление \массивов Галуа
polyvalОцените полином в Поле Галуа
рангРанг массива Галуа
изменениеИзмените размерность массива Галуа
корниНайдите полиномиальные корни через Поле Галуа
размерРазмер массива Галуа
trilИзвлеките нижнюю треугольную часть массива Галуа
triuИзвлеките верхнюю треугольную часть массива Галуа

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