turbo.m
上传用户:hnyfjx
上传日期:2013-06-30
资源大小:2149k
文件大小:1k
源码类别:

传真(Fax)编程

开发平台:

Matlab

  1. function [out,alphaout]=turbo(in);
  2. % turbo编码器
  3. % in 为输入序列,0 1。
  4. g=[1 0 1 1;
  5.    1 1 0 1;];
  6. % 生成矩阵1+d^2+d^3
  7. %        1+d+d^3
  8. % 3GPP标准生成矩阵
  9. [n,K]=size(g);
  10. m=K-1;
  11. nstates=2^m;
  12. %确定状态数目
  13. puncture=1;
  14. %是否删余 1 不删 0 删
  15. rate=1/(2+puncture);
  16. %编码率
  17. a=0.8862;
  18. % 信道衰减因子
  19. L_total=length(in)+m;
  20. %帧长
  21. mycount=6;
  22. % 循环迭代次数。
  23. [temp,alpha]=sort(rand(1,L_total));
  24. %得到随机交织器
  25. en_output=encoderm(in,g,alpha,puncture);
  26. %编码
  27. alphaout=alpha;
  28. % 交织器输出
  29. out=en_output;
  30. % 编码输出