数字卫星通信中的Viterbi算法及DSP实现.docVIP

数字卫星通信中的Viterbi算法及DSP实现.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字卫星通信中的Viterbi算法及DSP实现

数字卫星通信中的Viterbi算法及DSP实现 minitos 发表于 2009-4-24 10:54:00 0 推荐 (转) 摿 覿/strong:介绍了应用于数字卫星通信的Viterbi(维特比)译码算法,讨论了影响编码增益的几个参数,提出了用TI(德州仪器)公司TMS320C54X实现译码算法的具体方法?br ??? 关键诿/strong:Viterbi算法;蝶形运算单元;距离度量;回溯深度;CCSU ??? 在数字卫星通信系统中,广泛采用差错控制技朿以保证信号经有噪声及各种干扰的信道传输后的质量。对于卫星功率受限系统,采用差错控制技术后,在相同误比 特率的条件下,对卫星所转发的信号能量可要求小一些,因而可以提高信道容量。Viterbi算法是基于最大后验概率的卷积译码算法。在编码约束长度不太长或误比特率要求不太高的条件下,计算速度快,且设备比较简单,故特别适用于基本上是白噪声高斯信道的卫星通信系统中纠随机差错?GPP(第三代移动通信 伙伴关系)的WCDMA标准,以及CCSDS(空间数据系统咨询委员会)的Planetary标准都将卷积码作为实时要求较高业务的信息纠错编码,使 Viterbi译码器成为第三代移动通信系统及卫星通信系统的重要组成部分? 1Viterbi算法 ??? Viterbi算法为最大后验概率译码,等价于在篱笆图上找出与接收序列距离最小的路径,进行路径回溯获得判决输出。下面对译码算法的几个方面进行讨论?br 1.1蝶形运算单元 ??? Viterbi译码的基本运算单元可以看作一个蝶形运算单元,如图1所示? ??? 从图1可以看出,状态S(i),S(i+1),S(i/2),S(i/2+2m-1)组成蝶形运算单元。S(i/2)为本地编码器,输入为0时,状态S(i),S(i+1)的状态转移;S(i/2+2m-1)为本地编码器,输入为1时,状态S(i),S(i+1) 的状态转移。蝶形运算单元的运算可以用式(1),式(2)表示_br 其中:dn(j)表示更新状态j的累加距离度量,d0(j)表示原状态为j的累加距离度量?img height=35 border=0 width=40 src=/upload/eWebUpload/20060303100700223.jpg表示输入为i时,由状态j出发接收码元与本地编码的距离度量?br ??? 蝶形运算单元的运算可以概括为“加比逿rdquo;。即首先累加进入更新状态的两条路径的距离度量,然后比较两个距离度量,最后选出距离度量最小的一条作为幸存路径? 1.2路径回溯 ??? 译码输出是通过在篱笆树以最大后验概率向后回溯得到。考虑到硬件的可实现性及在实际当中幸存路径会以很大概率在第L个译码时刻后重合在一起,所以一般取 L=(5?0)m作为回溯深度,其中m为编码存储。并且L取的越大,译码的误码率就越低,其仿真结果如图2所示。可以看出在相同的信噪比下,回溯深度 L=60的Viterbi译码器误码率要小于L=30的译码器? 2DSP实现 ??? TMS320C54X是应用于通信设备的通用DSP芯片。该芯片采用了改善的哈佛结构,拥有优化的CPU_条程序总线_条数据总线咿条地址总线,因 而在1个周期内可以完成取指_次读咿次写的操作。另外其CCSU(累加比较选择单元)结构及相应指令提高了译码速度。根据上面的算法讨论,译码过程分 房步: 2.1存储空间的初始化 ??? 译码需要的存储空间朿部分_br ??? 输入缓冲区输入缓冲区为一连续存储空间,其空间大小为Fs/R字。其中Fs为信源的帧长度,R为编码率?br ??? 输出缓冲区由于在每个译码时刻译码输出丿位,16个输出位经过打包丿个字,则输出缓冲区需要空间大小为Fs/16字?br ??? 转换表存储区转换表存储空间的大小由编码存储和帧长决定,空间大小为2m-4×Fs字?br ??? 状态矩阵存储区状态矩阵存储区需覿个存储区,一个存储区存储原状态矩阵,另一个存储更新状态矩阵,每个缓冲区的空间大小丿m?strong 2.2矩阵更新 ??? TMS320C54X可分离的ALU,双累加器和相应指令可并行完房ldquo;加比逿rdquo;的某些过程。当本地距离存储在T寄存器时,处理器可以圿个指令周期完房 条路径的距离度量的累加。双加减指令DADST和DSADT圿个指令周期里完成从存储单元取出原始状态累加距离度量与T寄存器的本地距离相加,并将累势器中的低16位存储在更新状态矩阵;然后从下个存储单元取出原始状态累加距离度量与T寄存器的本地距离相减,并将结果存入更新状态矩阵。所仿条指令完房2条路径的度量计算。路径的比较、存储由1条CMPS指令完成。其部分代码为: 2.3路径回溯 ??? 路径回溯主要是在转换表中找出每个译码时刻的正确

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档