isi_table.m

来自「用Matlab仿真turbocode的算法」· M 代码 · 共 40 行

M
40
字号
function [state_table,output_table,ST]=isi_table(g)%to build the output%state tables of inner encoder%g=[1 1 0 0;4 3 2 1];[plynum,plylen]=size(g);m = plylen-1;state=ones(1,m);new_state=state;input=[+1 -1];state_table=zeros(2^length(state),2^(plynum-1));output_table=state_table;ST=zeros(4,2^(plynum-1)*2^length(state));for state_skalar=1:2^length(state)					       state=bin_state(state_skalar-1,length(state),'bipolar');	%'length(state)' means memory length		                               for x=0:2^(plynum-1)-1             d_k=input(x+1);             [dummy,dummy,v]=find(g(1,:).*[d_k state]);             a_k=prod(v);    %input&feedback             output_table(state_skalar,x+1)=g(2,:)*[a_k state]'; % output                              new_state=[a_k state(1:m-1)];             state_table(state_skalar,x+1)=int_state(new_state,'bipolar')+1;   %next state                    end           endST(1,:)=mod([0:size(ST,2)-1],2^(plynum-1))+1;ST_output=output_table';ST(2,:)=ST_output(1:end);ST(3,:)=(floor([0:size(ST,2)-1]/(2^(plynum-1)))+1);states=state_table';ST(4,:)=states(1:end);

⌨️ 快捷键说明

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