- 1
- 0
- 约8.3千字
- 约 9页
- 2019-07-21 发布于江西
- 举报
DSP应用
——GPS信道译码的DSP实现
通信与信息系统 21200602137 吕婷婷
摘要:本文重点探讨应用DSP技术实现卫星定位系统的信道译码方法:卷积编码的Viterbi译码技术,并介绍使用T1公司的高速数字信号处理器TMS320C55x在T1公司集成DSPs软件开发环境CCS下实现这种译码技术。
关键词: 卷积码 Viterbi DSP
概述
卫星导航系统中的一项关键技术就是信道译码,GPS系统中的信道译码使用的卷积码。这种编码是一种线性纠错码,具有较好的差错控制能力。GPS系统使用的是码率为1/2的(2,1,7)卷积码,并利用Viterbi译码算法进行信道译码。
使用汇编语言实现维特比译码器功能,它不仅译码算法简单,易实现,而且可以得到较大的编码增益,具有良好的纠错编码功能,是一种软件方法的前向纠错编码技术。实验结果表明:应用软判决维特比译码算法时的误码率低于应用硬判决算法的误码率,一般要比硬判决算法多大约2dB-3dB的增益;约束长度越大误码率越低,译码性能越好。约束长度每增加一位,就可以提高0.5dB的增益;但在码率约束长度不变时,硬判决算法的执行速度比软判决算法快。
DSP产品的主要特点
信息化的基础是数字化。数字化的核心技术之一是数字信号处理。数字信号处理的任务在很大程度上需要由DSP器件来完成。DSP技术已成为人们日益关注的并得到迅速发展的前沿技术。DSP(数字信号处理器)作为一种微处理器,其设计的出发点和通用CPU以及MCU等处理器是不同的。DSP是为完成实时数字信号处理任务而设计的,算法的高效实现是DSP器件的设计核心。DSP在体系结构设计方面的很多考虑都可以追溯到算法自身的特点。
对密集的乘法运算的支持
DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加保护为来的指令集都包含有显示的MAC指令。
存储器结构
大多数DSP使用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问。这种安排将处理器存储器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP得以实现单周期的MAC指令。
DSP使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用DSP时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必须保证处理器能够有效地使用其双总线。
专门的寻址方式
DSP处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很有用的。例如,模块(循环)寻址(对实现数字滤波器延时线很有用。位倒序寻址(对FFT很有用)。
定点DSP指令集
定点DSP指令集是按两个目标来设计的:
使处理器能够在指令周期内完成多个操作,从而提高每个指令周期的计算效率。
将存贮DSP程序的存储器空间减到最小(由于存储器对整个系统的成本影响很大,该问题在对成本敏感的DSP应用尤为重要)。
为了实现这些目标,DSP处理器的指令集通常都允许程序员在一个指令内说明若干个并行的操作。例如,在一条指令包含了MAC操作,即同时的一个或两个数据移动。在典型的例子里,一条指令就包含了计算FIR滤波器的一节所需要的所有操作。这种高效率付出的代价是,其指令集既不直观,也不容易使用。
对于DSP的程序员来说,主要的DSP应用程序都是用汇编语言写的(至少部分是汇编语言优化的)。这里有两个理由:首先,大多数广泛使用的高级语言,例如C,并不适合于描述典型的DSP算法。其次,DSP结构的复杂性,如多存储器空间、多总线、不规则的指令集、高度专门化的硬件等,使得难于为其编写高效率的编译器。
即使用编译器将C源代码编译成DSP的汇编代码,优化的任务仍然很重。典型的DSP应用都具有大量计算的要求,并有严格的开销限制,使得程序的优化必不可少(至少是对程序的最关键部分)。因此,考虑选用DSP的一个关键因素是,是否存在足够的能够较好地适应DSP处理器指令集的程序员。
开发工具的要求
因为DSP应用要求高度优化的代码,大多数DSP厂商都提供一些开发工具,可以帮助程序员完成其优化工作。例如,大多数厂商都提供处理器的仿真工具,以准确地仿真每一个指令周期内处理器的活动。无论对于确保实时操作还是代码的优化,这些都是很有用的工具。
VITERBI译码的算法和实现
卫星定位系统使用的卷积码作为常规信道纠错编码手段。Viterbi算法是使用最广泛的卷积译码算法之一,它用于描述整个纠错过程,其中主要用于译码。作为卷积码的一种最大似然译码算法,VA具有最佳的译码性能,但是硬件实现复杂。我们可以用软件的方法实现Viterbi译码过程。GPS为了保证其性能,使用了约束度
原创力文档

文档评论(0)