⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rs.m

📁 计算Reed-solomon的生成多项式的参数的matlab程序
💻 M
字号:
%RS(255,239) generator polynomial
genpoly = rsgenpoly(255, 239, 285, 0)

%anoehr way to get the generator polynomial
n = 255;
a = gf(2,log2(n+1), 285); % Root of primitive polynomial
f0 = [1 1]; 
f1 = [1 a]; 
f2 = [1 a^2];  % Factors that form generator polynomial
f3 = [1 a^3];
f4 = [1 a^4];
f5 = [1 a^5];
f6 = [1 a^6];
f7 = [1 a^7];
f8 = [1 a^8];
f9 = [1 a^9];
f10 = [1 a^10];
f11 = [1 a^11];
f12 = [1 a^12];
f13 = [1 a^13];
f14 = [1 a^14];
f15 = [1 a^15];

f = conv(f0,f1) % Generator polynomial, same as r abov
f = conv(f,f2)
f = conv(f,f3);
f = conv(f,f4);
f = conv(f,f5);
f = conv(f,f6);
f = conv(f,f7);
f = conv(f,f8);
f = conv(f,f9);
f = conv(f,f10);
f = conv(f,f11);
f = conv(f,f12);
f = conv(f,f13);
f = conv(f,f14);
f = conv(f,f15)

m = 8; % Number of bits in each symbol
n = 255; % Length of the message
k = 239; % Length of the information
%data = randint(1, k, 2^m) % Four random integer messages
data = 80*ones(1, k);
%data = zeros(1, k);
%data(239) = 1;
%data(238) = 1;

info = gf(data, m); % Represent data using a Galois array.

%c1 = rsenc(info, n, k);
c1 = rsenc(info, n, k, rsgenpoly(n, k, 285, 0));

%c1(1) = 81;
%c1(4) = 81;
%c1(31) = 81;
c1(92) = 81;
%d1 = rsdec(c1, n, k, rsgenpoly(n, k, 285, 0));

c1

gf2 = gf(2, 8)
gf4 = gf(4, 8)
gf8 = gf(8, 8)
gf16 = gf(16, 8)
gf1 = gf(1, 8)

n2to16 = gf(1, 8)
for i=1:1:16
    n2to16 = n2to16 .* gf(2, 8);
end
n2to16

s0 = c1(1)
s1 = c1(1)
s2 = c1(1)
s3 = c1(1)
s4 = c1(1)
s16 = c1(1)

for i=1:1:254
    %i
    prd0 = s0 .* gf1;
    s0 = prd0 + c1(i+1);
    prd1 = s1 .* gf2;
    s1 = prd1 + c1(i+1);
    prd2 = s2 .* gf4;
    s2 = prd2 + c1(i+1);
    prd3 = s3 .* gf8;
    s3 = prd3 + c1(i+1);
    prd4 = s4 .* gf16;
    s4 = prd4 + c1(i+1);
    prd16 = s16 .* n2to16;
    s16 = prd16 + c1(i+1);
end

s0
s1
s2
s1 .* s1
s3
s1 .* s1 .* s1
s4
s1 .* s1 .* s1 .* s1
s2 .* s2


s16
s16+gf(241,8)
s4 .* s4 .* s4 .* s4

b = gf(1, 8)
b ./ s1

alpha = gf(1, 8);

for i = 1 : 1 : 12 
    alpha = alpha .* gf(2, 8);
end
alpha

%gf(215, 8) .* gf(2, 8)
%s16

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -