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

📄 rsencode.m

📁 rs编解码
💻 M
字号:
function y=rsencode(input)
%rs编码程序
m=5;                       %用5比特表示一个符号 
n=2^m-1; %码长为n
t=3;         %可以纠正3个符号的错误
k=n-2*t;    %信息位

w=size(input);   %输入矩阵的大小
l=ceil(w(1)*w(2)/(k*m));  %输入的元素可以编成l个码字
msg1=[reshape(input,1,w(1)*w(2)),zeros(1,l*k*m-w(1)*w(2))];%将输入扩展为l*k*m

msg2=reshape(msg1,m,k*l)';%,串并变换将矩阵变为k*l行,m列,用来进行进制转换
msg3=bin2dec(char(msg2+48));%将二进制转化为十进制

msg=gf(reshape(msg3,l,k),m);%在gf(2^m)上将消息矩阵变为l行k列,每一行用来编码

code=rsenc(msg,n,k);
code1=double(code.x)';%将gf域上的矩阵转化为十进制数矩阵,转制是用来按每一组的顺序读出这些数
code12=dec2bin(code1,m)';%用m位二进制表示每个元素
b=zeros(1,l*n);
b1=dec2bin(b,m)';
code2=code12-b1;%将字符转化为实数

y=reshape(code2,1,m*l*n);%并串变换用于调制

⌨️ 快捷键说明

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