产品中心PRDUCTS
技术支持RECRUITMENT
DSP通用算法介绍docx
2026-08-13 23:58:49

DSP 通用算法介绍 摘要 数字信号处理(DSP)自 1965 年由Cooley 和Tukey 提出DFT(离散傅里叶变换)的高效快速算法(Fourier Transform,简称FFT)以来,已有近 40 年的历史。随着计算机和信息技术的发展,数字信号处理技术已形成一门独立的学科系统。数字信号处理作为一门独立学科是围绕着三个方面迅速发展的:理论、现实和应用。作为数字信号理论,一般是指利用经典理论(如数字、信号与系统分析等)作为基础而形成的独特的信号处理理论,以及各种快速算法和各类滤波技术等基础理论。由此在各个应用领域如语音与图象处理、信息的压缩与编码、信号的调制与调解、信道的辨识与均衡、各种智能控制与移动通讯等都延伸出各自的理论与技术,到目前可以说凡是用计算机来处理各类信号的场合都引用了数字信号处理的基本理论、概念和技术。 数字化技术有今天的飞速发展,是依仗于强大的软、硬件环境支 撑。作为数字信号处理的一个实际任务就是要求能够快速、高效、实时完成处理任务,这就要通过通用或专用的数字信号处理器来完成。因此,数字信号处理器是用来完成数字信号处理任务的一个软、硬件环境和硬件平台。 就如同生活中的许多事情那样,使用DSP 往往在一些小问题和具体细节上颇费周折。然而许多DSP 书籍往往专注于大的课题,但在设计基于DSP 产品的过程中,大部分时间用于罗列出所必须得“小东西”。本文包含了那些在其他DSP 书籍中不曾提及的被遗忘的算法,但它们却占有如此首要的位置。本文介绍的DSP 通用算法包括逻辑运算,算术运算,系统的基本构件,线形比例缩放,正交信号处理,频率变 换,信号平均,自动控制系统。 逻辑运算 所有的DSP 器件都有一套命令集,用于实现逻辑操作,包括与, 和异或等等。它们采用类似与离散逻辑门的方式进行操作,主要用于屏蔽有用的或没用的数据位,主要在位测试程序中使用。现今的大部分处理器在传统的主要用于寄存器中左移或右移数据的逻辑操作基础上,添加了内置的位测试命令。 逻辑运算常常用于定点与浮点的转换,曲线拟合以及一些更高级的算法。 算术运算 人们都已经习惯于使用计算器来实现加减乘除及平方根之类的基本算术运算,而不愿实现这些基本运算背后所需要的复杂的二进制运算。虽然.一些最新的 DSP 已经在其内部使用硬件电路和硬件编程实现了部分的运算,但当我们在 DSP 中要实现同样的这些运算时,通常还必须东拼西凑的来实现这些运算。 加减乘除之类的基本运算在各类处理器中以隐含的单周期命令形式提供,故在此不做进一步的讨论。 二进制除法或抽象函数 f(x 之类的运算包含了一系列的多周期命令,其复杂度和运算时间由所期望获得的计算结果精度决定。 乘法 DSP 器件具有一个专门的硬件乘法器,能在一个时钟周期中完成两个字节数据的二进制乘法。这一“板上”专用乘法器是 DSP 处理器区别于其他常用微处理器的主要特点,而且是大部分信号处理算法实现的核心。一些专用的乘法,累加和数据移位命令内置于大部分处理器中,用于滤波器和基于 FFT 的算法。它们充分利用了当代处理器中的并行结构和流水线技术,获得程序的高速执行 完成乘法的基本编码具有如下典型的形式: MPY A,B=C, Shift z 将存储于寄存器 B 中的数据相乘,并将结果移位 Z 比特后,存于寄存器 C 在对乘法结果保存及移位的过程中,应注意不能使数值位取代最后的符号位 除法 二进制除法相对于加减乘运算而言要复杂得多。其算法主要包含了一系列的反复移位和有条件减法运算。更先进的处理器在其命令集中包含一个隐含的除法命令,可以直接执行该算法。 实现除法 MACRO 调用的基本形式如下: DIV A, B=C ,Y 将 B 除以 A,结果存入 C 中,重复执行 Y 遍。 在某些特殊应用中,若采用曲线拟合方法,除法运算的效率会更高。 函数 f(x 的运算 有一些数学函数不能采用直接的二进制形式计算,而必须使用逼近方法。计算一般的 f(x)主要采用三种方法,第一种方法是在数据或程序空间中存储一张转换表。第二种方法是采用曲线拟合和分段逼近的策略,第三种是采用级数展开算法。 查表法 最直接的计算一般函数 f(x)的方法是在内存中提供一张表,存在与所有可能遇到的 x 相对应的 f(x)的值。表示 x 值的数据字节用于构造一个指向数据表中地址的指针,从而得到相对应的 f(x)的值。如果有充足的数据或程序空间能保证 f(x)计算的准确性和精度,该方法在数据存储空间地址分配合理的情况下,就应采用下面两种方法。 曲线拟合方法 经 A/D 采样记录下的曲线仅在采样点上有值,非采样点需要用数值分析的方法进行处理。为了提高曲线分析的精确度,我们先对谱图曲线的一些特性进行研究。由色谱仪测出的谱图曲线可以看出:谱图曲线的形状类似于正态分布的曲线,所不同的是它不一定是对称的,但它一定是平滑的,即没有阶跃点,这意味着谱图曲线的导数应该是连续的;谱图曲线开始段和终止段一般为 0 值;对于不同的化学吸附谱图曲线出现峰值的时间是不同的,快的几秒钟,慢的需几分钟,更慢的则需几小时。 采用分段低次插值,虽然保证插值曲线在插值点上的连续性,但不能保证整条曲线在插值点上的光滑性,即导数不一定连续,这不能满足实际系统的要求。根据谱图曲线的以上特点和拟合条件的需要,在进行曲线拟合时,为保证曲线在采样点处的一阶导数、二阶导数的连续性,采用了满足第一种边界条件的三次样条插值。从 A/D 采样的数据中找到 A、B、C、D 点(见图1),把整个区间分成( A,B), (B,C),(C,D)区间,在每个区间内采用三次样条插值,限于篇 幅, 的实验数据,如表1所示。 仅给出( B,C)段内节点为4 同理可得 Zab(t),Zcd (t。我们在实际拟合过程中发现,当选取的插值节点较少时,逼近误差较大,随着插值节点加密,逼近程度逐步得到改善,如图1所示。n=575 是经 A/D 采样得到的基本样点,在575 个节点中等距取出 n’=35,利用三次样条插值进行逼近得到的曲线只有在(A,C)区间内存在一定误差, n’=70 时误差减小,n’=n/4 与n’=n/2 时与实际拟合曲线几乎完全重合。 从谱图拟合曲线中可以看出,采用三次样条函数逼近得到的曲线具有非常好的光滑性。当采样点选取 n/15 时,有一定的误差,当采样点增加到 n/8 时误差逐渐缩小,当采样点增加到 n/4 时,基本逼近真实曲线,误差可以忽略。因此,在保证精度的情况下,我们可以适当降低曲线的采样速率,这样可以大大减少系统占用内存,提高运算速度。 根据三次样条逼近求出的曲线在各采样点之间的表达式,直接积分可得出采样区间的面积,计算出的面积与记录仪测出的面积相比精度很高。 总之,当选取插值点为记录点的三分之一时,用三次样条函数逼近得到的曲线几乎完美地拟合了用记录仪记录下的曲线,利用此方法 对谱图处理具有很大的实用价值,精度高。 级数展开法 复杂算术函数计算的另一个方法就是合理的级数展开,这类级数构成一种仅由简单的加减乘运算构成的表示方法。在使用级数展开法时必须注意展开式能否快速收敛,如果不能,则使用曲线拟合法能较有效的满足给定的数值精度。 浮点计算 在大多数的 DSP 应用中,定点的 16 位运算可以提供足够的动态范围(约为 96db),足以满足大部分信号不损失精度。但是在某些情况下,例如信号平方会将需存储的信号的动态范围增大一倍,这样 16 位 的定点表示就不适用了。当然如果分辨率的位数要求更多的话,那么该问题就显得无关紧要了。但如果大数值采用固定格式(即小数点位置确定)表示,那么对于小数值而言,大部分的高权值位就不得不置零,以表示两个数字在大小的相对差。 在小数值的表示中,这种“数值误差“可以采用被称为浮点的表示方法解决。这种方法允许移动小数点的位置,来减少起始零的位数。 一些最新的处理器已经能支持二进制的浮点算法。而包括 TMS320 C54xx 系列的定点处理器的低功效器件则须用算法将定点数据转换成浮点形式。 系统的的基本构件 AC 耦合器 不论对于交流耦合还是直流耦合的输入波形,任何实际的 A\D 转换器或采样-保持放大器均会加入少量的直流偏置。在一些信号处理应用中,特别是有关调制的应用中,该偏置是不可忽略的。有两种简明的方法可以消除该直流偏置。第一种方法是在假设直流偏置是固定情况下,从输入的数据中减去一个相同大小的负的二进制数,其效果同外加的直流偏置控制器相同。第二种方法是在处理器中加入一 AC 耦合滤波器的方式实现。 过载考虑与限制 在 DSP 实现中容易导致错误的一个主要原因就是信号过载问题。在大多数现存的 DSP 器件中,但累加器出现数值溢出时,可以定义一种操作模式,是累加器饱和,即根据情况,赋为正极值或负极值。除非有特殊要求,大多数情况下,强烈推荐采用上述形式的操作。这个“安全网”能很好保证累加器存储的数据不会再发生左移。如果这一条件不能满足,那么数据在累加器进行左移时,仍会产生过载现象。 时延 短波信道模拟器系统中常采用软件无线电思想实现。软件无线电的宗旨就是尽可能地简化射频模拟前端,使A/D 转换尽可能地靠近天 线去完成模拟信号的数字化,而且数字化后的信号要尽可能多地用软件进行处理,实现各种功能和指标。软件部分主要用DSP 芯片来进行处理信号。根据软件无线电的知识,可以使用内插来完成精确性时延部分的工作,但为了避免插值后数据量的大增,导致DSP 处理的负荷量过重,之后就得考虑数据的抽取操作用以减少处理的数据量。在上部分中,可以得出内插和抽取过程都需要一滤波器进行滤波,避免内插带来的高频镜像和抽取带来的频谱混叠。可以采用内插和抽取组合的办法来解决内插所导致的数据量大增问题,并保证小尺寸时延的精度。但必须内插在前,抽取在后,以确保其中间序列的基带谱宽度不小于原始输入序列谱或输出序列谱的基带频谱宽度,否则将会引起信号失真。这里采取的是D 倍内插再D 倍抽取以实现级联来满足要求。但是
2、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问加。
3、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
4、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
DB37T5072-2016山东建筑工程建筑结构施工技术资料第一卷样表.docx
发展生态圈暨无人机全产业链创新示范基地项目可行性研究报告模板立项申批备案.doc
2026-2027新人教版小学数学3三年级上册(全册)优秀课件.ppt
本司主营文章撰写、培训教材、合同协议、发言稿、策划、汇报、各类文案。 ~ 海量资深编辑老师无缝对接,一对一服务。 ~ 保原创!可加急!免费改!
2024年湖北省中医经典之温病学知识竞赛理论考试题库(附答案).docx
原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者