基于MATLAB /SI M LI NK 的Turbo 交织器的仿真实现
*
陈杰男**,黄春霞,胡剑浩(电子科技大学 成都 61005)
摘要:提供了在仿真Tur bo 编译码器时,交织器在SI M LI N K 下的仿真实现,描述了交织器的结构和对标准的理解特别是关于S -functi o n 的编译,给出了详细的编写思路、步骤以及具体的程序实现。指出了程序编写中一些容易出错的问题,为研究Turbo 编译码器的读者提供了一种具体的仿真实现。
关键词:Turbo 码;交织器;MATLAB /SI M LI N K;S-函数
中图分类号:TN918 3,TP391 9 文献标识码:B 文章编号:1672-4550(2006)07-0004-04
Si m ulation I mple m entation of the Turbo Codes
Interleaver Based onMATLAB /SI MLI NK
C HEN Jie nan ,HUANG Chun x ia ,HU Jian hao
(Un iversity of E lectron ic Science and Techno logy o fCh i n a Chengdu 610054)
Abst ract :The e m phasis of the paper is the si m ulation i m p le m entati o n of t h e interleaver in the CD MA2000of the Tur bo codes .This paper starts w ith a brief i n tr oduction to the princ i p le o f the i n terleaver and then the pri n ciple of the interleaver by the CD MA2000standar d.Fina ll y this paper presents t h e i m
p le m entati o n of t h e interleaver and t h e progra m i n MATLAB w ith the S I M L I N K by the S-functi o n
K ey w ords :Tur bo codes ;Interleaver ;MATLAB /S I M L I N K;S-function
1 引 言
自从1993年C laude Berrou 教授提出Rur bo 码以来,目前已应用于许多领域,1999年Turbo 码已成为CDMA2000的编译码器的标准。而在Turbo 码系统中,交织器是非常重要的组成组件之一。本文将具体介绍交织器在CDMA2000的原理及仿真。
2 交织器原理
Turbo 码中交织器的主要作用是减少校验比特之间的相关性,进而在迭代译码过程中降低误比特率。其基本的原则是:通过增加交织器的长度,可以使译码性能得到提高。交织器应该使输入序列尽可能地随机化,从而避免编码生成码字的信息序列在交织后,编码仍旧生成低重码字,导致Turbo 码
的自由距离减少
[1]
。
3 交织器在CD MA 2000标准中的实现
本文依照I S -95/CDMA2000的规范标准给出了交织长度分别为378,402,570,762,786,1146,1530,1554,2298,2322,3066,3090,4602,6138,9210,12282,20730的程序算法。首先我们要清楚I S-95交织器算法的标准。
(1)我们要确定交织长度n ,交织长度的计算可利用如下公式N turbo 2
n +5
。N turbo 指的是输入
序列的长度,比如当输入是378b it 时N turbo =378,代入以上公式(n =4)。为了方便我们可以总结如表1所示。
(2)初始化n +5位计数器Counter 。即构造一个n +5位的二进制代码,比如n =4时,初始的计
4 ***
[收稿日期]2006-07-22
[作者简介]陈杰男(1985-),男,本科生,就读于通信与信息工程学院。