资源简介

利用matlab编程实现了对汉明码,格莱码,BCH码,RS码的编码译码(matlab编程实现了对汉明码,格莱码,BCH码,RS码的编码译码)。

资源截图

代码片段和文件信息



clear all;
clc;
close all;
%% 汉明码编码
[H1G1n1k1] = hammgen(3);

msg1 = randi([01]10k1);               % 源码
code1 = encode(msg1n1k1‘linear‘G1); % 编码

out1 = randerr(107[01]);             % 错误码
mascode = mod(code1+out12);            % 加错

newmsg1 = decode(mascoden1k1);        % 解码

% h = gen2par(g)  ; 监督矩阵和生成矩阵相互转换

%% 循环码编码
pol = cyclpoly(n14‘all‘);
poll = pol(1:);
[H2G2k] = cyclgen(n1poll);
wt = gfweight(G2);
t = ceil((wt-1)/2);    

msg2 = randi([01]7k);
code2 = encode(msg2n1k‘linear‘G2);
out2 = randerr(77[0t+1]);             % 错误码
mascode2 = mod(code2+out22);            % 加错
newmsg2 = decode(mascode2n1k‘linear‘G2);        % 解码

%% BCH编码
m = 4;
n3 = 2^m - 1;
k3 = 11;
[genpolyt3] = bchgenpoly(n3k3);
Genpoly = double(genpoly.x);            % 生成多项式
msg3 = randi([01]10k3);              % 源码
msg_gf3 = gf(msg31);
code3 = bchenc(msg_gf3n3k3);
code3 = double(code3.x);
mascode3 = mod(code3+randerr(10n31:t3+1)2);  % 随机产生1-t位错误
code_gf3 = gf(mascode31);
newmsg3 = bchdec(code_gf3n3k3);
newmsg3 = double(newmsg3.x);

%% RS编码
m = 4;
n3 = 2^m - 1;
k3 = 11;
[genpolyt4] = rsgenpoly(n3k3);
Genpoly = double(genpoly.x);            % 生成多项式
msg4 = randi([01]10k3);              % 源码
msg_gf4 = gf(msg44);
code4 = rsenc(msg_gf4n3k3);
code4 = double(code4.x);
mascode4 = mod(code4+randerr(10n31:t4-1)2);  % 随机产生1-t位错误
code_gf4 = gf(mascode44);
newmsg4 = rsdec(code_gf4n3k3);
newmsg4 = double(newmsg4.x);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1595  2017-10-16 01:30  bianmayima.m

----------- ---------  ---------- -----  ----

                 1595                    1


评论

共有 条评论