У меня есть выходная матрица (3,63) кодера BCH, но эта матрица является полем Галуа, и мне нужно преобразовать это поле Галуа в двоичный файл матрицы, потому что matlab рассматривает элементы поля Галуа как строку, а мне нужно обрабатыватьэто значения в виде двоичных чисел.
---------------------------------------------------------------------------
ENCODE
----------------------------------------------------------------------------
M = 6; %
n = 2^M-1; % Codeword length
k=36; % Message length
rows2=3;
msg=reshape(matrix2,[rows2,k]);
gfmsg=gf(msg);
[genploy,t]=bchgenpoly(n,k);
code=bchenc(gfmsg,n,k);
noisycode = code + randerr(rows2,n,1:t);
Мне нужно сравнить столбцы кода с 000,010, ... с регистром переключения или со словами if, но строки матрицы кода представлены в формате поля Галуа. Коду меня проблема в том, что после ошибки Matlab SWITCH выражение должно быть скалярным или символьным вектором.
for i=1:63
test =code(1:3,i)
switch test
case 000
symbol=R(1:500,1);
case 100
symbol=R(1:500,2);
case 010
symbol=R(1:500,3);
case 110
symbol=R(1:500,4);
case 001
symbol=R(1:500,5);
case 101
symbol=R(1:500,6);
case 011
symbol=R(1:500,7);
case 111
symbol=R(1:500,8);
end
symbol=(symboltx(:,i))
end