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

📄 turbocoding.m

📁 自己编写的turbo码编码译码程序,大家可以参考一下.
💻 M
字号:
function [data_out,len_out]=turbocoding(data_in,len_in);
%len_in=4*256*4;
%data_in=zeros(1,len_in);
len_out=3*len_in;
data_temp=zeros(1,len_in);
data_out=zeros(1,len_out);
s1=zeros(1,len_in);
s2=zeros(1,len_in);
ad=zeros(1,len_in);
a_cd1=[0,0];
a_cd2=[0,0];
for i=1:len_in
    b_cd1=xor(data_in(i),xor(a_cd1(1),a_cd1(2)));
    s1(i)=xor(b_cd1,a_cd1(1));
    a_cd1(1)=a_cd1(2);
    a_cd1(2)=b_cd1;
	  if(i==len_in)
		  a_cd1=[0,0];
      end
end
%4*4*256 interving
    a_inv=[1,0,0,0,0,0,0,0,0,0,0,0];
	for i_inv=1:len_in
        if(i_inv==1)
            ad(i_inv)=1;
        else
	        ad(i_inv)=a_inv(1)*2048+a_inv(2)*1024+a_inv(3)*512+a_inv(4)*256+a_inv(5)*128+a_inv(6)*64+a_inv(7)*32+a_inv(8)*16+a_inv(9)*8+a_inv(10)*4+a_inv(11)*2+a_inv(12)+1;
	        x_inv=xor(xor(a_inv(1),a_inv(12)),xor(a_inv(4),a_inv(6)));
	        for j_inv=11:-1:1
	            a_inv(j_inv+1)=a_inv(j_inv);
            end
	        a_inv(1)=x_inv;  
        end
        data_temp(ad(i_inv))=data_in(i_inv);
    end
    
    for i=1:len_in
	  b_cd2=xor(data_temp(ad(i)),xor(a_cd2(1),a_cd2(2)));
	  s2(i)=xor(b_cd2,a_cd2(1));
	  a_cd2(1)=a_cd2(2);
	  a_cd2(2)=b_cd2;
	  if(i==len_in)
		  a_cd2=[0,0];
      end
    end
    
    data_out=[data_in,s1,s2];

	

⌨️ 快捷键说明

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