下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP应用GPS 言道译码的 DSP 实现通信与信息系统21200602137吕婷婷摘要:本文重点探讨应用 DSP 技术实现卫星定位系统的信道译码方法:卷积编码的 Viterbi 译码技术, 并介绍使用 T1 公司的高速数字信号处理器 TMS320C55x 在 T1 公司集 成 DSPs 软件开发环境 CCS 下实现这种译码技术。关键词 : 卷积码 Viterbi DSP一、 概述 卫星导航系统中的一项关键技术就是信道译码, GPS 系统中的信道译码使用的卷积码。这种编码是一种线性纠错码, 具有较好的差错控制能力。GPS 系统使用的是码率为 1/2 的(2, 1 , 7 )卷积码,并利用 Vi
2、terbi 译码算法进行信道译码。使用汇编语言实现维特比译码器功能, 它不仅译码算法简单, 易实现, 而且可以得到较 大的编码增益, 具有良好的纠错编码功能, 是一种软件方法的前向纠错编码技术。 实验结果 表明:应用软判决维特比译码算法时的误码率低于应用硬判决算法的误码率,一般要比硬判决算法多大约 2dB-3dB 的增益;约束长度越大误码率越低,译码性能越好。约束长度每增 加一位, 就可以提高 0.5dB 的增益; 但在码率约束长度不变时, 硬判决算法的执行速度比软 判决算法快。二、 DSP 产品的主要特点 信息化的基础是数字化。 数字化的核心技术之一是数字信号处理。 数字信号处理的任务 在很
3、大程度上需要由 DSP 器件来完成。 DSP 技术已成为人们日益关注的并得到迅速发展的 前沿技术。DSP (数字信号处理器)作为一种微处理器,其设计的出发点和通用CPU 以及MCU 等处理器是不同的。 DSP 是为完成实时数字信号处理任务而设计的,算法的高效实现 是 DSP 器件的设计核心。 DSP 在体系结构设计方面的很多考虑都可以追溯到算法自身的特 点。对密集的乘法运算的支持DSP 处理器使用专门的硬件来实现单周期乘法。 DSP 处理器还增加了累加器寄存 器来处理多个乘积的和。 累加器寄存器通常比其他寄存器宽, 增加保护为来的指令 集都包含有显示的 MAC 指令。存储器结构大多数 DSP
4、使用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。 它们有两组总线连接到处理器核, 允许同时对它们进行访问。 这种安排将处理器存 储器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下, DSP 得以实现单周期的 MAC 指令。DSP 使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。 在使用 DSP 时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程 序员在写程序时,必须保证处理器能够有效地使用其双总线。专门的寻址方式DSP 处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很 有用的。例如,模块(循环)寻址(对实现数字滤波器延
5、时线很有用。位倒序寻址 (对 FFT 很有用)。定点 DSP 指令集定点 DSP 指令集是按两个目标来设计的: 使处理器能够在指令周期内完成多个操作,从而提高每个指令周期的计算效率。 将存贮 DSP 程序的存储器空间减到最小 (由于存储器对整个系统的成本影响很大, 该问题在对成本敏感的 DSP 应用尤为重要) 。为了实现这些目标,DSP 处理器的指令集通常都允许程序员在一个指令内说明若 干个并行的操作。例如,在一条指令包含了 MAC 操作,即同时的一个或两个数据 移动。在典型的例子里,一条指令就包含了计算 FIR 滤波器的一节所需要的所有 操作。 这种高效率付出的代价是, 其指令集既不直观,也
6、不容易使用。对于 DSP 的程序员来说,主要的 DSP 应用程序都是用汇编语言写的(至少部分是 汇编语言优化的) 。这里有两个理由:首先,大多数广泛使用的高级语言,例如C ,并不适合于描述典型的 DSP 算法。其次, DSP 结构的复杂性,如多存储器空间、 多总线、 不规则的指令集、 高度专门化的硬件等, 使得难于为其编写高效率的编译 器。即使用编译器将 C 源代码编译成 DSP 的汇编代码,优化的任务仍然很重。典型的 DSP 应用都具有大量计算的要求, 并有严格的开销限制, 使得程序的优化必不可 少 (至少是对程序的最关键部分)。因此,考虑选用 DSP 的一个关键因素是,是否 存在足够的能够
7、较好地适应 DSP 处理器指令集的程序员。开发工具的要求因为 DSP 应用要求高度优化的代码,大多数 DSP 厂商都提供一些开发工具,可以 帮助程序员完成其优化工作。 例如, 大多数厂商都提供处理器的仿真工具, 以准确 地仿真每一个指令周期内处理器的活动。无论对于确保实时操作还是代码的优化, 这些都是很有用的工具。三、 VITERBI 译码的算法和实现 卫星定位系统使用的卷积码作为常规信道纠错编码手段。 Viterbi 算法是使用最广泛的卷 积译码算法之一, 它用于描述整个纠错过程, 其中主要用于译码。 作为卷积码的一种最大似然译码算法, VA 具有最佳的译码性能,但是硬件实现复杂。我们可以用
8、软件的方法实现 Viterbi 译码过程。GPS 为了保证其性能,使用了约束度为 7 的卷积编码, Viterbi 译码的寄 存器状态数也相应达到 64,本文给出高速 Viterbi 译码算法,仅占用少量的系统资源,不必 借助片外内存就可以实现译码算法。1、 Viterbi 的译码环境 在 Viterbi 译码的实现过程中,硬件基于 T1 的 DSK 开发板,而将开发板上带的调试开 发工具 CSS 作为软件开发环境。C55x 通过增加功能单元,与 C54x 相比,其综合性能提高了 5 倍,而功耗仅为 C54x 的 1/6。C55x采用变长指令以提高代码效率,增强并行机制以提高循环效率,不仅仅增
9、加了硬 件资源,也优化了资源的管理, 所以性能得到了大大的提高, 其处理能力可达 400800MIPS 。 C55x 在 CPU 的功能单元方面坐了如下扩展:(1)总线增加了两条,一条读操作线 (BB) ,一条写操作线 (FB);(2)乘加单元 (MAC) 增加了一个;(3)增加了一个 16bit 的 ALU ;(4)将累加器增至 4 个,即 AC0,AC1,AC2,AC3;(5)临时寄存器增至 4 个,即 T0,T1,T2,T3。本系统采用的是 TMS320VC5510。硬件环境:DSK 是 T1 公司的低成本代码开发工具,它的特点是功能全,价格低,代码 编译速度快,使用简单。DSK 包括一
10、个基于 TMS3200SPS 的电路板。相应的代码产生工具和调试器。DSK 板上带有模拟输入输出接口,DSK 的汇编器和调试器都是相应商用版的简化版。利用板上的模拟输入输出接口,可以直接对DSP 系统进行性能测试和评估。软件环境:Code Computer Studio(CCS)是 T1 公司推出的一个集成 DSPs 软件开发环境。 它是一个完整的为开发 T1 TMS320C2000,TMS320C5000,TMS320C6000 系列 DSP 而设计的。 CCS 不仅包含代码生成工具,具有基本调试功能,而且具有实时调试功能,而且具有实时 分析能力。它支持整个软件开发过程:从方案设计、代码生成
11、调试、实时分析等。2、卷积编码和 Viterbi 译码数字通信中的纠错编码技术能提高通信的可靠性,所以自它出现以来就一直受到各国科学家的广泛关注。纠错码的基本思想是:在编码过程中,同感所传输的信息设置附加的校验 位,即增加其冗余度,使原来无规律或规律性不强的一组信息具有某种相关性;接受信息时再根据这种相关性来译码,使编码信息具有检测或纠错的性能。卷积码是一种纠错码,它把信源输出的信息进行分段, 通过编码器进行编码, 编码后的码段的监督元不仅与本段信息有关,还与其前面的几个段信息有关。Viterbi 译码算法(VA)就是从可能发送的码字中,找到一个与接收数据段为相似的码字。它利用码树的高度重复,
12、对最大似然路径的选择上进行了优化,大大降低了用于搜索整个码空间的计算次数,减少了存储量,使约束度的增加成为可能。近几年,由于译码算法简单、易实现,并且可以得到较大的编码增益,应用维比特算法的卷积码得到了广泛的应用。它尤其适合用于倍加性的高斯白噪声所污染的传输信道,比如GPS 系统卫星向接收机发送的信号就使用了卷积码作为信道编码。本文实现的是应用于全球定位系统卫星信道编码中的约束度K=7、N=2、b=1、码率为R=1/2 的卷积码中译码。卷积码的编码过程是由移位寄存器和模2 相加器组成的,如下图所示:图 1( 2,1,7)卷积码编码器编码过程示意图信息位输入到移位寄存器中,经过抽头的提取,采用模
13、2 和的方式来产生输出。可以看出,整个编码过程可以看作输入信息序列与由移位寄存器和模2 和连接方式所决定的另一个序列的卷积。编码过程中用到的输入位数成为约束长度,它的值等于延迟单元的数目加上1。编码速率则指的是移入编码器的位数与进入信道的位数的比率。在上图中,对应于每一个输入,有两个输出进入信道传输,因此编码速率为1/2。需要注意的是当序列发送完毕后,为了在译码时判断其最后结果,要在网格结束处加上N-1 个 0 作为结束信息。卷积码译码过程可能的状态转移表可以由网格图来表示,卷积码译码器就是通过找出网格图中码的最大可能序列完成译码过程。一个 K=3,编码速率 R=1/2 的卷积码,网格图如图下
14、图所示:00011011输入0图 2 卷积码的网格表示图中延迟状态(指编码器的状态)的数目由约束长度决定。例如,约束长度 K=3,延迟状态的数目就是2KA=4;路径状态 G0,G1,指的是编码器的输出。卷积码译码时,根据接收到的数据估算延迟状态序列(在这里,延迟状态代表了编码数据 ),在网格图中重建一条路径作为信息序列路径,以满足译码路径最大可能的与发送序列相似。Viterbi译码算法就是这样的一个译码器,它把汇聚在每个节点上的2 条路径的对数似然函数累加值进行比较;然后把具有较大对数似然函数累加值的路径保存下来,称此部分路径为留选路径;经挑选后第K 级只留下2Ki条幸存路径,选出的路径连同它
15、们的对数似然函数累加值一起被存储起来。因每个节点引出 2 条支路,因此以后各级路径数目都增大一倍;但比较它们的似然函数累加值后,又丢弃一半,结果存留下来的路径总数保持常数。由此可见,译码过程中的基本操作是对路径量度相 加、比较,选择出幸存路径。当收到结束信息时,因每一状态只有与已知发送信息相符的那条支 路被延伸,因而在每级比较后,幸存路径减少一半。因此,在接收到K-1 个结束信息后,整个网格图就只剩下一条路径了。这就是译码所得路径。输入1图 3、维特比译码流程图下面对流程图作一个简要说明:(1)权值的更新过程:在权值更新单元中,本地距离用于计算似然函数的累加值即权值。对于软判决输入,常用欧几里
16、德距离计算本地距离:C -4C-1local _dis(j)SDn-G(j)2八SDn2-2SDnGn(j) G;(j) G;(j)n =0n =0其中SDn表示软判决输入,Gn(j)代表每一个路径状态的期望输入,Gn是与路径数据即当前状态相关的,由编码多项式SDn代表接收到的数据,与当前状态无关。C 是编码速率的倒C 4C 4数。考虑到SD2和 aG2项对所有的路径都是相同的,因此它们可以不计算,本地距离n n C -4可以表示为:local _dis(j) = 2送SDnG(j)除掉常系数一 2,则编码速率 C=1/2 的卷积码n=0的本地距离可以简单记为:local _dis(j) =
17、SDG(j)+SDG1(j)。将Gn(j)编码表示为 o值代表十 1, 1 值代表示一 1,这样就进一步简化了计算步骤。(2)路径回溯单元:回溯运算将从转移数据状态次序表中找出正确的转移字并从转移字中找出 正确的比特位。一个码间隔的转移数据如下表1转移字中的比特号1512II1098TRNWordn00严2122231S2#彗892fJ+9A2+AB21011产*11122K_i+l2132*-1V *2*2#1;if Hi(ACO)#1;if ACO15-0#1;if Hi(ACO)#1;if ACO15-0#1;if Hi(ACO)#1;if ACO15-0ACl15-0 TRNl15=1
18、.endm程序中蝶形单元的前两条支路中,选择上支路过渡寄存器TRN0 最高位赋值为 0,选择下支路最高位赋值为 1 ,蝶形单元的后两条支路中,选择上支路过渡寄存器 TRN1 的 最高位赋值为 0,选择下支路赋值为 1。当完成 1 6 个蝶形运算后, 过渡寄存器就把值送入 状态转移表。回溯回溯程序首先将地址指针指向转移表尾部,就是从确定状态 0 开始,反向追踪最 大似然路径。 从图 4 所示的蝶形结构可知, 一个新的状态只能是从两个可能的状态转移而 来,而转移表中新状态对应的值则标识转移的路径,0 对应实线路径, 1 对应虚线路径。它也是最接近发送序列的值,因此该值作为结果输出;由于该卷积码约束度为 7,因此后 6个所译的码字都同之前的一个码字有关, 可由它们得到前一个码字在转移表中的位置, 通 过这种反推,最终完成译码。程序中状态 state 的第 5 位作为输出位传给了 TC2 , TC2 把值放入了 AC2 中。然 后再将由 state的最高 2 位和低 4 位确定的转移位传入 TC2,根据 TC2 再改变 state,最后 将输出的字输出到缓冲区。四、 VITERBI 在 GPS 定位系统中的应用 接收机利用 GPS 定位系统进行定位时,一项重要的工作就是得到导航电文。用户在 某一时刻进行定位时,总是先捕获到 C/A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国外石英矿山承包合同协议书范本
- 合同板本类型
- 2024年济宁烟台客运上岗证考试题
- 2024应届生签合同的合同陷阱
- 2024上海市旅游包车合同
- 三年级语文上册第二单元测试卷-基础知识与综合能力篇 含答案 部编版
- 2024建筑劳务人工合同范本
- 2024汽车配件供应合同
- 员工人事档案
- 报废车辆收购合同(2篇)
- 小学数学教师职称评审答辩题(高段)
- 葫芦岛鹏翔生物科技(集团)有限公司年产农药系列产品3700吨、年产胡椒环2000吨建设项目环评报告
- 民营医院职称岗位工资级岗位招聘分级表
- 《堤防工程施工规范》(SL260-2014)
- 人工智能在中学英语教学中的应用探索共3篇
- 证据清单模板
- 太平洋保险公司招聘测试题
- 英语人教版九年级上册英语作文总结
- 大学生恋爱观问卷调查报告
- 最新深静脉穿刺置管术(颈内、锁骨下、股静脉)含解剖图谱
- GB/T 6892-2000工业用铝及铝合金热挤压型材
评论
0/150
提交评论