DSP中快速高精度牛顿迭代开方算法实现
需积分: 35 193 浏览量
更新于2024-09-12
收藏 343KB PDF 举报
"基于牛顿迭代法的高精度快速开方算法用于 DSP,通过优化选取迭代初值,结合 DSP 的移位指令、查表技术和硬件乘法器,减少运算次数,提高计算速度,适用于嵌入式微处理器。"
本文介绍了如何利用牛顿迭代法设计一个高精度、快速的开方算法,特别适用于数字信号处理器(DSP)的应用。在全波傅氏算法中,开平方运算是一项关键但计算密集的任务,可能影响微机保护系统的瞬动响应。为解决这个问题,作者提出了一个新的方法,该方法能够在选取迭代初值时更接近开方的真值。
首先,文章阐述了牛顿迭代法的基本原理,这是一种通过不断逼近目标解的迭代算法。在开方运算中,牛顿迭代法通过不断更新近似值,直到达到所需的精度。然而,固定迭代初值可能导致迭代次数过多,尤其是在处理较大数值时。因此,文章的重点在于如何快速选择一个接近实际开方结果的迭代初始值。
作者提出的方法利用了DSP的特性,如移位指令,可以快速调整数值大小;256个单元的查表技术,用于存储预计算的迭代初值;以及硬件乘法器,加速乘法运算。通过这些技术,算法能在一次查表和大约1.2次乘法运算后确定迭代误差小于2^(-9)的初值,显著减少了迭代次数。
在TI DSP集成开发平台上,测试了该算法,结果显示对于范围在00000004.0000H到01FFFFFF.FFFFH的定点数,迭代次数不超过3次即可达到2ulp(单位间隔)以上的精度,而且内存占用小。这使得该算法非常适合在具有硬件乘法器的嵌入式微处理器上实现,尤其适用于实时性和计算效率要求高的微机保护系统。
文章进一步讨论了被开方定点数的数据格式,考虑到电流、功率等物理量的大范围变化,采用了8字节的定点数表示,其中6字节用于存储数值,以保证在牛顿迭代开方过程中达到1.5x10^-9的精度。
该研究提供了一种优化的基于牛顿迭代法的开方算法,通过改进迭代初值的选择策略,实现了在DSP上的高效计算,对于提高微机保护系统的性能具有重要意义。
2021-10-02 上传
2020-11-26 上传
点击了解资源详情
2012-02-17 上传
2022-11-01 上传
点击了解资源详情
点击了解资源详情
hewenz
- 粉丝: 0
- 资源: 3
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能