www.pudn.com > matlab.rar > rs_encode.m, change:2015-04-19,size:2042b


% a function to encode the input sequence 
% organize according to the encoding circuit 
function t_x=rs_encode(m_x) 
r=zeros(1,33); 
m_x = 1:223; 
% for i=1:223 
 %   r(33)=rs_add(r(32),m_x(224-i)); 
%    r(32)=rs_add(r(31),rs_mul(r(33),232)); 
 %   r(31)=rs_add(r(30),rs_mul(r(33),29)); 
  %  r(30)=rs_add(r(29),rs_mul(r(33),189)); 
  %   r(29)=rs_add(r(28),rs_mul(r(33),50)); 
  %   r(28)=rs_add(r(27),rs_mul(r(33),142)); 
   %  r(27)=rs_add(r(26),rs_mul(r(33),246)); 
   %  r(26)=rs_add(r(25),rs_mul(r(33),232)); 
   %  r(25)=rs_add(r(24),rs_mul(r(33),15)); 
   %  r(24)=rs_add(r(23),rs_mul(r(33),43)); 
   %  r(23)=rs_add(r(22),rs_mul(r(33),82)); 
    % r(22)=rs_add(r(21),rs_mul(r(33),164)); 
    % r(21)=rs_add(r(20),rs_mul(r(33),238)); 
    % r(20)=rs_add(r(19),rs_mul(r(33),1)); 
   %  r(19)=rs_add(r(18),rs_mul(r(33),158)); 
  %   r(18)=rs_add(r(17),rs_mul(r(33),13)); 
  %   r(17)=rs_add(r(16),rs_mul(r(33),119)); 
   %  r(16)=rs_add(r(15),rs_mul(r(33),158)); 
   %  r(15)=rs_add(r(14),rs_mul(r(33),224)); 
    % r(14)=rs_add(r(13),rs_mul(r(33),134)); 
    % r(13)=rs_add(r(12),rs_mul(r(33),227)); 
   %  r(12)=rs_add(r(11),rs_mul(r(33),210)); 
   %  r(11)=rs_add(r(10),rs_mul(r(33),163)); 
   %  r(10)=rs_add(r(9),rs_mul(r(33),50)); 
   %  r(9)=rs_add(r(8),rs_mul(r(33),107)); 
   %  r(8)=rs_add(r(7),rs_mul(r(33),40)); 
   %  r(7)=rs_add(r(6),rs_mul(r(33),27)); 
   %  r(6)=rs_add(r(5),rs_mul(r(33),104)); 
    % r(5)=rs_add(r(4),rs_mul(r(33),253)); 
    % r(4)=rs_add(r(3),rs_mul(r(33),24)); 
    % r(3)=rs_add(r(2),rs_mul(r(33),239)); 
    % r(2)=rs_add(r(1),rs_mul(r(33),216)); 
    % r(1)=rs_mul(r(33),45); 
  %end 
% t_x=[r(1:32),m_x]; 
 %可等同于下面程序 
 gx = [1  232  29   189   50   142   246   232   15  43   82   164  238  1 158  13   119   158   224   134   227   210   163   50   107   40   27   104   253   24   239  216  45]; 
for i = 1:223 
   r(33)=rs_add(r(32),m_x(224-i)); 
   for j = 32:-1:2 
       r(j)=rs_add(r(j-1),rs_mul(r(33),gx(34-j))); 
   end 
  r(1)=rs_mul(r(33),gx(33)); 
end 
t_x=[r(1:32),m_x];