Turbo码的编译码算法仿真讲解_第1页
Turbo码的编译码算法仿真讲解_第2页
Turbo码的编译码算法仿真讲解_第3页
Turbo码的编译码算法仿真讲解_第4页
Turbo码的编译码算法仿真讲解_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子信息类实践课III 通信系统仿真 题目Turbo码的编译码算法仿真 专业 学号 姓名 日期 注:本报告仅供参考 1、课程设计目的(黑体小三,段前段后个一行) 通过完成在在衰落信道下采用不同调制信号进行 Turbo码编译码的编程实现, 进一步了解了 Turbo码的编码解码过程,以及在不同调制方式不同信道下的性能比 见。通过对卷积和交织器的设计,深入了解卷积和交织的作用。以及熟悉了通信 仿真的整体流程。 2、课程设计内容 具体叙述课程设计的主要内容和原理。 表1主要课程设计内容列表 负责人 课程设计内容 Turbo编码译码过程、信道设计、各模块 肖雨桐 杨佳能 熊风 卷积、交织 不同调制信号的

2、设计 在进行本次Turbo仿真时,采用了两种不同编程方式。在程序一中是直接调 用matlab Communications System Toolbox 中的Turbo编码和解码工具箱,通过 配置参数进行仿真。而在程序二中则根据Turbo码编译码原理编写。如果程序一 更像是一个黑匣子,只能知道通过编解码模块前、后的数据,而具体做了哪些则 不得而知。 a.编码 输入信 息数据 编码器I 編码 S 输出 图1 Turbo码编码器结构 典型的Turbo码编码器结构框图如图所示:由两个反馈的编码器通过一个交织 器并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可以产 生一系列不同码率的码

3、。例如,对于生成矩阵为 g=gi,g2的(2 , 1, 2)卷积码通 过编码后,如果进行删余,则得到码率为 1/2的编码输出序列;如果不进行删余, 得到的码率为1/3。一般情况下,Turbo码成员编码器是RSC编码器。原因在于递 归编码器可以改善码的比特误码率性能。 通俗理解1/2码率就是信号中有一半都是“无用信号”,这些“无用信号”就 是两个分量编码器的生成的校验码,而删余则是各删除一部分校验码,把剩下的 再和信息比特合在一块,形成编码好的矩阵。 b.译码 图2 Turbo译码结构 Turbo码获得优异性能的根本原因之一是使用了迭代译码,通过与分量编码器 对应的分量译码器之间软信息的交换来提

4、高译码性能。对于Turbo码这样的并行级 联码,如果分量译码器的输出为硬判决,则不可能实现分量译码器之间软信息的 交换,从而限制了系统性能的进一步提高。从信息论的角度来看,任何硬判决都 会损失部分信息,因此,如果分量译码器能够提供一个反映其输出可靠性的软输 出,则其他分量译码器也可以采用软判决译码,从而系统的性能可以得到进一步 提高。为此,人们提出了软输入软输出译码(SISO)的概念和方法。Turbo码的分 量码SISO译码算法总体上可分为 MAP和SOVA两类主要算法。其中 MAP算法 是一种最佳后验概率算法。SOVA类算法主要包括软输出的维特比算法(SOVA) 和连续列表输出维特比算法(S

5、LVA )。 SOVA算法实际上就是veterbi算法的扩展,保留的路径数不是两条而是和状 态数有关从所有可行的路径中找最优的是最大似然序列检测。 d.衰落信道 由于多径和移动台运动等影响因素,使得移动信道对传输信号在时间、频率 和角度上造成了色散,如时间色散、频率色散、角度色散等等。根据不同无线环 境,接收信号包络一般服从几种典型分布,如瑞利分布、莱斯分布和Nakagami-m 分布。在仿真衰落信道时,最重要的参数是多径扩展和多普勒频移。 通常在离基站较远、反射物较多的地区,发射机和接收机之间没有直射波路 径,存在大量反射波;到达接收天线的方向角随机且在(02pi)均匀分布;各反 射波的幅度

6、和相位都统计独立。 图3瑞利分布概率分布密度 3、设计与实现过程 信号生成 卷积 交织 图4、程序一框图 具体实现过程:按照流程图中的各方面(模块)内容进行代码级的详细说明, 例如: 衰落信道的设计 在进行仿真的过程中尝试使用了两种不同的编写方式: a. Create Rayleigh fading channel object. chan_ray = rayleighcha n(1/10000,100); fadedSig = filter(cha n_ ray,modSig nal);% Apply the cha nnel effects hChan = comm.AWGNCha nn

7、el(NoiseMethod, Sig nal to n oise ratio (SNR); hCha n.SNR = EbNo_db( n); fadedSig = filter(cha n_ ray,modSig nal); % Apply the cha nnel effects receivedSig nal = step(cha n, fadedSig); % Apply the cha nnel effects b. 调用改进JAKES模型产生单径平坦型瑞利衰落信道子程序 n samp = 8;%脉冲抽样点数 ts = 1/(num*n samp);%抽样时间间隔 t = (0:

8、num* nsamp-1)*ts;% 抽样时间序列 h = rayleigh(10,t);%调用瑞利衰落子程序,输入为(最大多普勒频移,抽样时 间序列) modSig nal = rectpulse(modSig nal, nsamp);%巨形脉冲形成 modSig nal = h.*modSig nal;% 通过瑞利信道 receivedSig nal = in tdump(receivedSig nal, nsamp); %匹配滤波相干解调 使用 matlab 函数 rayleighchan 程序一: a调用turbo编码器解码器 encoder = comm.TurboE ncoder(

9、l nterleaverl ndicesSource,l nput port); decoder = comm.TurboDecoder(l nterleaverl ndicesSource,l nput port, . Numlteratio ns,4); b. 调用AWGN信道 cha n = comm.AWGNCha nn el(EbNo,EbNo_db,BitsPerSymbol,log2(M); c. 进行编码解码 Turbo 编码:encodedData = step(encoder,msg,index); 调制编码 过信道 receivedSignal = step(chan,m

10、odSignal); 解调 Turbo 译码:receivedBits = step(decoder,-demodSignal,index); 程序二 code_le ngth = 1024;%码长 rate = 1/2;%码率 niter = 4;%迭代次数 a.信道:AWGN EbN0_db = 2:6; en = 10A(EbN0_db( nEN)/10); L_c = 4*en *rate;%信道置信度 sigma = 1/sqrt(2*rate*en);%AWGN 信道标准差 过信道:r = en coder_out + sigma*ra ndn (1,code_le ngth*(2

11、); b. Turbo编码器 %第一个分量RSC编码 outputl = rsc_en code(Gmsg,1);%1*2048 y(1,:) = output1(1:2:2*code_le ngth);% 系统比特 y(2,:) = output1(2:2:2*code_le ngth);% 校验比特 %第二个分量RSC编码 a = reshape(y(1,:),32,32); y_inv = reshape(a,1,1024); output2 = rsc_en code(Gy_i nv,-1);% 输入 1024 输出 1*2048 y(3,:) = output2(2:2:2*code

12、_le ngth);% 校验比特输出 删余生成码率为1/2的码 en coder_out(1:2:e nd) = y(1,:); en coder_out(2:4:e nd) = y(2,1:2:e nd); en coder_out(4:4:e nd) = y(3,2:2:e nd);%删余,奇为系统比特 c. Turbo译码器 通过解复用生成每个分量译码器的译码输入数据;初始化外部信息 L_e(1:code_length)后。根据迭代次数,循环依次进行第一分量译码、第二分量译码。 %第一分量译码器 L_a(i ndex) = L_e; %先验信息 L_all = sova(rec_s(1,

13、:),G,L_a,1); L_e = L_all-2*rec_s(1,1:2:2*code_le ngth)-L_a;% 计算外部信息 %第二分量译码器 L_a = L_e(i ndex); L_all = sova(rec_s(2,:),G,L_a,2); L_e = L_all-2*rec_s(2,1:2:2*code_le ngth)-L_a; 最后再估计信息比特值。 d. 软输入Viterbi算法 初始化时,建立网格图,网格中的零状态初始化度量为0,其他为负无穷。输 入先验信息L_a、RSC码生成矩阵以及数据;前向跟踪计算所有路径度量值;第 一分量译码器,从零状态开始向后跟踪;第二分量

14、译码器从最可能的状态开始后 向跟踪;后向跟踪获得估计比特及最大似然路径;找到相应于不同信息比特估计 的竞争路径的最小delta值,得到软输出。(具体可参看刘向东、向良军编著的信 道编码与matlab仿真除SOVA算法外里面还给出了 Log_MAP算法) 4、结论 在进行仿真时,发现上述两种衰落信道误码率基本都是50%左右,也就意味 着基本上全部都是错的。在进行了分析之后发现,在不加其他模块进行仿真的时 候,光对比经过衰落信道前后的比特流基本就能错一半左右。 1OJ QTurbo Uncoded 100 Eb/No (dB) 10 图5衰落信道下程序1仿真结果 I ber = 0M9560 + 4S03Q.47B20.4694 图6仿真得出ber值 因无法仿真出较好的衰落信道,因此两个程序都放弃衰落信道改用加性高斯 白噪声信道。 Eb/No (dB) Uncoded 电T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论