l         要求:
某(74)汉明码的生成矩阵为G,用MATLAB仿真编码过程。其中G
 1  0  0  1
 0  1  0  0  1  1  0
0  0  1  0  1  0
 0  0  1 1
 
 
 
 
l         主程序如下所示:
G=[1 0 0 0 1 1 1;
   0 1 0 0 1 1 0;
   0 0 1 0 1 0 1;
   0 0 0 1 0 1 1];%十进制生成矩阵
m=[1 0 0 0];%十进制数信息组
result = groupCoding(m,G)%对信息组进行编码,得到的结果为二进制数
其中groupCoding函数如下:
function c = groupCoding(m,G) %m为信息组,G为生成矩阵,均为十进制
[row,col] = size(G);%G的行数为k,;列数为n
if length(m)~= row
   disp('信息组尺寸与生成矩阵不一致');
  return;
end
r=mod(m*G,2);% m*G得到m的码字
%将码字转化为二进制
tempSum = 0;
for i=1:length(r)
   if r(i) == 1
      tempSum = tempSum +2^(length(r)-i);
   end
end
c = dec2bin(tempSum);
 
这个也没啥技术含量,重点还是译码里的标准阵列译码表。明天有空发上。