rs.m

来自「rs编解码」· M 代码 · 共 57 行

M
57
字号
function y=rs(input,snr)

m=5;        
n=2^m-1;    
t=3;         
k=n-2*t;    

w=size(input);
l=ceil(w(1)*w(2)/(k*m));
msg1=[reshape(input,1,w(1)*w(2)),zeros(1,l*k*m-w(1)*w(2))];

msg2=reshape(msg1,m,k*l)';
msg3=bin2dec(char(msg2+48));

msg=gf(reshape(msg3,l,k),m);

code=rsenc(msg,n,k);
code1=double(code.x)';
code12=dec2bin(code1,m)';
b=zeros(1,l*n);
b1=dec2bin(b,m)';
code2=code12-b1;

code3=reshape(code2,1,m*l*n);

y=dmodce(code3,1,32,'psk',2);

r=awgn(y,snr,'measured');

code4=ddemodce(r,1,32,'psk',2);

code5=reshape(code4,m,l*n)';

code6=bin2dec(char(code5+48));

code7=reshape(code6,n,l)';

code8=gf(code7,m);

y1=rsdec(code8,n,k);



z=dec2bin(zeros(k*l,1),8);

msg1=double(msg.x);
msg2=dec2bin(msg1,8)-z;

y2=double(y1.x);
y3=dec2bin(y2,8)-z;


[cnum,cerr]=symerr(y3,msg2)

[num,err]=symerr(code3,code4)

⌨️ 快捷键说明

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