ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:125.54KB ,
资源ID:3143668      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3143668.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Turbo码地编译码算法仿真汇总情况.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Turbo码地编译码算法仿真汇总情况.docx

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

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

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

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

5、有可行的路径中找最优的是最大似然序列检测。d.衰落信道由于多径和移动台运动等影响因素,使得移动信道对传输信号在时间、频率和角度上造成了色散,如时间色散、频率色散、角度色散等等。根据不同无线环境,接收信号包络一般服从几种典型分布,如瑞利分布、莱斯分布和Nakagami-m分布。在仿真衰落信道时,最重要的参数是多径扩展和多普勒频移。通常在离基站较远、反射物较多的地区,发射机和接收机之间没有直射波路径,存在大量反射波;到达接收天线的方向角随机且在(02pi)均匀分布;各反射波的幅度和相位都统计独立。图3 瑞利分布概率分布密度3、设计与实现过程图4、程序一框图 具体实现过程:按照流程图中的各方面(模块

6、)内容进行代码级的详细说明,例如: 衰落信道的设计在进行仿真的过程中尝试使用了两种不同的编写方式:a. Create Rayleigh fading channel object.chan_ray = rayleighchan(1/10000,100);fadedSig = filter(chan_ray,modSignal); % Apply the channel effectshChan = comm.AWGNChannel(NoiseMethod, Signal to noise ratio (SNR);hChan.SNR = EbNo_db(n);fadedSig = filter(

7、chan_ray,modSignal); % Apply the channel effectsreceivedSignal = step(chan,fadedSig); % Apply the channel effectsb.调用改进JAKES模型产生单径平坦型瑞利衰落信道子程序nsamp = 8;%脉冲抽样点数ts = 1/(num*nsamp);%抽样时间间隔t = (0:num*nsamp-1)*ts;%抽样时间序列h = rayleigh(10,t);%调用瑞利衰落子程序,输入为(最大多普勒频移,抽样时间序列)modSignal = rectpulse(modSignal,nsam

8、p);%矩形脉冲形成modSignal = h.*modSignal;%通过瑞利信道receivedSignal = intdump(receivedSignal,nsamp); %匹配滤波相干解调使用matlab函数rayleighchan 程序一:a.调用turbo编码器 解码器 encoder = comm.TurboEncoder(InterleaverIndicesSource,Input port);decoder = comm.TurboDecoder(InterleaverIndicesSource,Input port, . NumIterations,4);b.调用AWGN

9、信道chan = comm.AWGNChannel(EbNo,EbNo_db,BitsPerSymbol,log2(M);c. 进行编码解码Turbo编码:encodedData = step(encoder,msg,index);调制编码过信道receivedSignal = step(chan,modSignal);解调Turbo译码:receivedBits = step(decoder,-demodSignal,index); 程序二code_length = 1024;%码长rate = 1/2;%码率niter = 4;%迭代次数a.信道:AWGNEbN0_db = 2:6;en

10、= 10(EbN0_db(nEN)/10);L_c = 4*en*rate;%信道置信度sigma = 1/sqrt(2*rate*en);%AWGN信道标准差过信道:r = encoder_out + sigma*randn(1,code_length*(2); b.Turbo编码器%第一个分量RSC编码output1 = rsc_encode(G,msg,1);%1*2048y(1,:) = output1(1:2:2*code_length);%系统比特y(2,:) = output1(2:2:2*code_length);%校验比特%第二个分量RSC编码a = reshape(y(1,

11、:),32,32);y_inv = reshape(a,1,1024);output2 = rsc_encode(G,y_inv,-1);%输入1024 输出1*2048y(3,:) = output2(2:2:2*code_length);%校验比特输出删余生成码率为1/2的码encoder_out(1:2:end) = y(1,:);encoder_out(2:4:end) = y(2,1:2:end);encoder_out(4:4:end) = y(3,2:2:end);%删余,奇为系统比特c.Turbo译码器通过解复用生成每个分量译码器的译码输入数据;初始化外部信息L_e(1:cod

12、e_length)后。根据迭代次数,循环依次进行第一分量译码、第二分量译码。%第一分量译码器L_a(index) = L_e; %先验信息 L_all = sova(rec_s(1,:),G,L_a,1);L_e = L_all-2*rec_s(1,1:2:2*code_length)-L_a;%计算外部信息%第二分量译码器L_a = L_e(index);L_all = sova(rec_s(2,:),G,L_a,2);L_e = L_all-2*rec_s(2,1:2:2*code_length)-L_a;最后再估计信息比特值。d.软输入Viterbi算法 初始化时,建立网格图,网格中的零

13、状态初始化度量为0,其他为负无穷。输入先验信息L_a、RSC码生成矩阵以及数据;前向跟踪计算所有路径度量值;第一分量译码器,从零状态开始向后跟踪;第二分量译码器从最可能的状态开始后向跟踪;后向跟踪获得估计比特及最大似然路径;找到相应于不同信息比特估计的竞争路径的最小delta值,得到软输出。(具体可参看刘向东、向良军编著的信道编码与matlab仿真,除SOVA算法外里面还给出了Log_MAP算法)。 4、结论在进行仿真时,发现上述两种衰落信道误码率基本都是50%左右,也就意味着基本上全部都是错的。在进行了分析之后发现,在不加其他模块进行仿真的时候,光对比经过衰落信道前后的比特流基本就能错一半左右。图5 衰落信道下程序1仿真结果图6 仿真得出ber值因无法仿真出较好的衰落信道,因此两个程序都放弃衰落信道改用加性高斯白噪声信道。图7 程序1结果 在16QAM调制信号时在-1dB便能达到接近。图8 程序2结果程序二是1/2码率,采用BPSK调制、sova译码算法,需要到9dB时,误码率大概能达到量级。两者程序出现如此大的结果差异,最主要的可能与Turbo译码方式相关。成绩评定表成绩评定项目比例得分报告成绩(百分制)20%答辩成绩(百分制)80%总评成绩(百分制)100%评语: 评审教师: 时 间:注:课题设计成绩评定表单独一页,装订在报告的最后

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1