Turbo码的编译码算法仿真汇总
电子信息类实践课电子信息类实践课IIIIII 通信系统仿真通信系统仿真 题目 Turbo 码的编译码算法仿真 专业 学号 姓名 日期 注本报告仅供参考注本报告仅供参考 哈尔滨工业大学 电子信息类实践课 III 通信系统仿真 1、课程设计目的(黑体小三,段前段后个一行) 通过完成在在衰落信道下采用不同调制信号进行 Turbo 码编译码的编程实现, 进一步了解了 Turbo 码的编码解码过程, 以及在不同调制方式不同信道下的性能比 见。通过对卷积和交织器的设计,深入了解卷积和交织的作用。以及熟悉了通信 仿真的整体流程。 2、课程设计内容 具体叙述课程设计的主要内容和原理。 表 1 主要课程设计内容列表 课程设计内容课程设计内容 Turbo 编码译码过程、信道设计、 各模块 整合 卷积、交织 不同调制信号的设计 在进行本次 Turbo 仿真时,采用了两种不同编程方式。在程序一中是直接调 用 matlab Communications System Toolbox中的 Turbo 编码和解码工具箱,通过 配置参数进行仿真。而在程序二中则根据 Turbo 码编译码原理编写。如果程序一 更像是一个黑匣子,只能知道通过编解码模块前、后的数据,而具体做了哪些则 不得而知。 a.编码 负责人负责人 肖雨桐 杨佳能 熊风 图 1 Turbo码编码器结构 典型的 Turbo 码编码器结构框图如图所示 由两个反馈的编码器通过一个交织 器并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可以产 1 哈尔滨工业大学 电子信息类实践课 III 通信系统仿真 生一系列不同码率的码。例如,对于生成矩阵为g[g1,g2]的2,1,2)卷积码通 过编码后,如果进行删余,则得到码率为 1/2 的编码输出序列;如果不进行删余, 得到的码率为 1/3。一般情况下,Turbo 码成员编码器是 RSC 编码器。原因在于递 归编码器可以改善码的比特误码率性能。 通俗理解 1/2 码率就是信号中有一半都是“无用信号” ,这些“无用信号”就 是两个分量编码器的生成的校验码,而删余则是各删除一部分校验码,把剩下的 再和信息比特合在一块,形成编码好的矩阵。 b.译码 去交织器 交织器 第一分量 译码器 第二分量 译码器 去交织器判决 交织器 图 2 Turbo译码结构 Turbo 码获得优异性能的根本原因之一是使用了迭代译码, 通过与分量编码器 对应的分量译码器之间软信息的交换来提高译码性能。 对于 Turbo码这样的并行级 联码,如果分量译码器的输出为硬判决,则不可能实现分量译码器之间软信息的 交换,从而限制了系统性能的进一步提高。从信息论的角度来看,任何硬判决都 会损失部分信息,因此,如果分量译码器能够提供一个反映其输出可靠性的软输 出,则其他分量译码器也可以采用软判决译码,从而系统的性能可以得到进一步 提高。为此,人们提出了软输入软输出译码( SISO)的概念和方法。Turbo 码的分 量码 SISO 译码算法总体上可分为 MAP 和 SOVA两类主要算法。其中 MAP 算法 是一种最佳后验概率算法。SOVA 类算法主要包括软输出的维特比算法(SOVA) 和连续列表输出维特比算法(SLV A) 。 SOVA 算法实际上就是 veterbi 算法的扩展,保留的路径数不是两条而是和状 态数有关从所有可行的路径中找最优的是最大似然序列检测。 d.衰落信道 由于多径和移动台运动等影响因素,使得移动信道对传输信号在时间、频率 2 哈尔滨工业大学 电子信息类实践课 III 通信系统仿真 和角度上造成了色散,如时间色散、频率色散、角度色散等等。根据不同无线环 境,接收信号包络一般服从几种典型分布,如瑞利分布、莱斯分布和 Nakagami-m 分布。在仿真衰落信道时,最重要的参数是多径扩展和多普勒频移。 通常在离基站较远、反射物较多的地区,发射机和接收机之间没有直射波路 径,存在大量反射波;到达接收天线的方向角随机且在(02pi)均匀分布;各反 射波的幅度和相位都统计独立。 图 3 瑞利分布概率分布密度 3、设计与实现过程 3 哈尔滨工业大学 电子信息类实践课 III 通信系统仿真 信号生成 卷积解调 交织Turbo译码 Turbo编码解交织 过信道 计算误码 率 图 4、程序一框图 具体实现过程按照流程图中的各方面(模块)内容进行代码级的详细说明, 例如 衰落信道的设计 在进行仿真的过程中尝试使用了两种不同的编写方式 a. Create Rayleigh fading channel object. chan_ray rayleighchan1/10000,100; fadedSig filterchan_ray,modSignal; Apply the channel effects hChan comm.AWGNChannelNoise, Signal to noise ratio SNR; hChan.SNR EbNo_dbn; fadedSig filterchan_ray,modSignal; Apply the channel effects receivedSignal stepchan,fadedSig; Apply the channel effects b.调用改进 JAKES 模型产生单径平坦型瑞利衰落信道子程序 nsamp 8;脉冲抽样点数 ts 1/num*nsamp;抽样时间间隔 4 哈尔滨工业大学 电子信息类实践课 III 通信系统仿真 t 0num*nsamp-1*ts;抽样时间序列 h rayleigh10,t;调用瑞利衰落子程序,输入为(最大多普勒频移,抽样时 间序列) modSignal rectpulsemodSignal,nsamp;矩形脉冲形成 modSignal h.*modSignal;通过瑞利信道 receivedSignal intdumpreceivedSignal,nsamp; 匹配滤波相干解调 使用 matlab 函数 rayleighchan 程序一 a.调用turbo编码器 解码器 encoder comm.TurboEncoderInterleaverIndicesSource, port; decoder comm.TurboDecoderInterleaverIndicesSource, port, . NumIterations,4; b.调用 AWGN信道 chan comm.AWGNChannelEbNo,EbNo_db,BitsPerSymbol,log2M; c. 进行编码解码 Turbo 编码encodedData stepencoder,msg,index; 调制编码 过信道 receivedSignal stepchan,modSignal; 解调