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

📄 rs_255_gf_gen.m

📁 ReedSolomon编码译码的matlab源程序
💻 M
字号:
%**************************************************************************
% 生成伽逻华域GF(2^8)的255个非零的元素,用次数不超过7的多项式来表示,
% 本原多项式为a^8+a^7+a^2+a+1,a为伽逻华域GF(2^8)的本原元,a的各次幂组
% 成伽逻华域GF(2^8)的各个元素,各个元素又可以由次数不超过7的多项式来表
% 示,下面的程序用来生成这些非零的多项式,算法为a^k(k<=254)除以本原多
% 项式,余数即为这些多项式。
%**************************************************************************

A=[1 1 0 0 0 0 1 1 1];      % 本原多项式的向量表示
A=gf(A);                    % 将A转化到伽逻华域GF(2)表示
R=zeros(255,8);
R=gf(R);
for i=1:255
    B=zeros(1,255);
    B(256-i)=1;
    B=gf(B);
    [q,r]=deconv(B,A);      % 伽逻华域GF(2)的多项式除法
    R(i,:)=r(248:255);      
end;

% 注意这时生成的255个多项式的系数均是在伽逻华域GF(2)上,因此要对这些系数进行
% 操作需要将其转化为正常域的浮点数,但好象matlab内部没有这样的函数,我采用的
% 方法为,将这255组系数拷贝(cttl+c)到一个txt文档内,然后用matlab的文件的读
% 的指令来将这些系数读回。(已生成了RS_255_double_data.mat,内部的系数已转化
% 为十进制的形式)

% RS码的生成多项式可由matlab的内部函数 g = rsgenpoly(255,241,391,120),来生成,
% 具体该函数的用法见help文件,此时生成的G(x)的系数是用十进制的数来表示的,我们
% 为了设计伽逻华域GF(2^8)的乘法器,须知道其对应的a^k的k的值,这很容易RS_255_
% double_data.mat文件中的数据data_dec查到。便可以设计各个乘法器。

⌨️ 快捷键说明

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