![]() |
Manipulating Galois Variables
This section describes techniques for manipulating Galois variables or for transferring information between Galois arrays and ordinary MATLAB arrays.
Determining Whether a Variable Is a Galois Array
To find out whether a variable is a Galois array rather than an ordinary MATLAB array, use the isa function. An illustration is below.
-
mlvar = eye(3); gfvar = gf(mlvar,3); no = isa(mlvar,'gf'); % False because mlvar is not a Galois array yes = isa(gfvar,'gf'); % True because gfvar is a Galois array
Extracting Information From a Galois Array
To extract the array elements, field order, or primitive polynomial from a variable that is a Galois array, append a suffix to the name of the variable. The table below lists the exact suffixes, which are independent of the name of the variable.
| Information | Suffix | Output Value |
| Array elements | .x | MATLAB array of type uint16 that contains the data values from the Galois array |
| Field order | .m | Integer of type double that indicates that the Galois array is in GF(2^m) |
| Primitive polynomial | .prim_poly | Integer of type uint32 that represents the primitive polynomial. The representation is similar to the description in How Integers Correspond to Galois Field Elements. |
Note If the output value is an integer data type and you want to convert it to doublefor later manipulation, use thedoublefunction.
The code below illustrates the use of these suffixes. The definition of empr uses a vector of binary coefficients of a polynomial to create a Galois array in an extension field. Another part of the example retrieves the primitive polynomial for the field and converts it to a binary vector representation having the appropriate number of bits.
-
% Check that e solves its own minimal polynomial. e = gf(5,4); % An element of GF(16) emp = minpol(e); % The minimal polynomial, emp, is in GF(2). empr = roots(gf(emp.x,e.m)) % Find roots of emp in GF(16). % Check that the primitive element gf(2,m) is % really a root of the primitive polynomial for the field. primpoly_int = double(e.prim_poly); mval = e.m; primpoly_vect = gf(de2bi(primpoly_int,mval+1,'left-msb'),mval); containstwo = roots(primpoly_vect); % Output vector includes 2.
本文介绍了在MATLAB中操作Galois变量的方法,包括如何确定变量类型、从Galois数组提取信息以及使用特定函数处理Galois数组。通过示例展示了如何检查元素是否属于特定的Galois域,并演示了如何获取Galois数组的原始数据、域阶数及原始多项式。


3826

被折叠的 条评论
为什么被折叠?



