📄 hw_hmdc.m
字号:
%(7,4)分组码
clear all;
close all;
H=[1 1 1 0 1 0 0;0 1 1 1 0 1 0;1 1 0 1 0 0 1];
G=gen2par(H);%调用Matlab函数求与H对应的生成矩阵G
Msg=[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1;
1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1];
C=rem(Msg*G,2);
E=dec2bin([0:2^7-1],7)-48;%将整数转换成比特表示
S=rem(H*E',2);%不同的E对应的校验子S
%对校验子归类,每个S对应不同的16个E
s=S(1,:)*4+S(2,:)*2+S(3,:);
for k=1:8
e(k,:)=find(s==k-1);
end
e0=dec2bin(e(1,:)-1,7)-48;%对应S=000的E,编码码字
e1=dec2bin(e(2,:)-1,7)-48;%对应S=001的E,编码码字
e2=dec2bin(e(3,:)-1,7)-48;%对应S=010的E,编码码字
e3=dec2bin(e(4,:)-1,7)-48;%对应S=011的E,编码码字
e4=dec2bin(e(5,:)-1,7)-48;%对应S=100的E,编码码字
e5=dec2bin(e(6,:)-1,7)-48;%对应S=101的E,编码码字
e6=dec2bin(e(7,:)-1,7)-48;%对应S=110的E,编码码字
e7=dec2bin(e(8,:)-1,8)-48;%对应S=111的E,编码码字
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -