What is the error in this?
이전 댓글 표시
function DECout = gf2dec(HA)
c=0:[(2^8)-1];
GFRefarray=gf(c);
for i=1:length(HA)
for k=0:(2^8)-1
temp=isequal(HAHA(i),GFRefarray(i));
if (temp==1)
DECout(i)=k;
end
end
end
The error is: >> gf2dec Error using gf (line 65) X must be between 0 and 2^m-1
Error in gf2dec (line 3) GFRefarray=gf(c); How to solve this??
The value of HA is:
HA = GF(2^8) array. Primitive polynomial = D^8+D^4+D^3+D^2+1 (285 decimal)
Array elements =
172
106
200
187
68
251
103
2
149
131
25
55
237
110
129
231
I am trying to convert the galois polynomial, HA into a numeric value. I want to encrypt the data. So, how can I convert this ?
답변 (1개)
Walter Roberson
2018년 1월 3일
>> help gf
gf Create a Galois field array.
X_GF = gf(X,M) creates a Galois field array from X in the field
gf(2^M), for 1<=M<=16. The elements of X must be integers between 0
and 2^M-1. [...]
X_GF = gf(X) uses a default value of M = 1.
댓글 수: 9
Darsana P M
2018년 1월 4일
Darsana P M
2018년 1월 4일
Walter Roberson
2018년 1월 4일
function DECout = gf2dec(HA)
N = 8;
c = 0 : (2^N)-1;
GFRefarray = gf(c, N);
for i = 1:length(HA)
for k = c
if isequal(HAHA(i),GFRefarray(i));
DECout(i)=k;
end
end
end
... looks pretty inefficient to me.
Darsana P M
2018년 1월 5일
Walter Roberson
2018년 1월 9일
function DECout = gf2dec(HA)
N = 8;
c = 0 : (2^N)-1;
GFRefarray = gf(c, N);
for i = 1:length(HA)
for k = c
if isequal(HA(i),GFRefarray(k+1));
DECout(i)=k;
end
end
end
Darsana P M
2018년 1월 10일
Walter Roberson
2018년 1월 10일
You would get that error if you did not pass HA to gf2dec.
result = gf2dec(HA)
I would note that the code from the other thread, accessing the properties of the field, would be a lot more efficient.
Darsana P M
2018년 1월 10일
Darsana P M
2018년 1월 10일
카테고리
도움말 센터 및 File Exchange에서 Error Detection and Correction에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!