CORDIC算法收敛性证明

cordic算法通过·移位、加减、简单乘除与迭代即可实现三角函数值的转换,
详细的作用、优缺点基本原理与实现介绍,参考如下两篇博客:
https://www.eefocus.com/fpga/422418
https://www.cnblogs.com/touchblue/p/3535968.html
本文主要说明其收敛性。


首先得有无穷小项,确保拟合收敛精度,其次确保后级调控角度足够,因为每个角度值只能用一次,或加或减,用过了下次就必须用下一次迭代角度,所以如果每次迭代角度值衰减太快(极端情况,如当某个角度后续所有角度求和后收敛值小于该级误差,那后面即使全加不减也无法修正这个误差)。

进一步,corlic角度可以与pi/4/2 ^n 进行比较,然后与pi/4/2 ^ (n-1),列出比较式,根据导函数来判断,不难发现corlic是位于两者之间的,此处不再列出过程。

matlab中简单列出前64项观察:黑色–corlic , 绿色pi/4/2 ^ (n-1), 红色 pi/4/2 ^n,可以看到黑色夹在两者之间。结合前面推导的收敛证明,**说明经过n次运算后,说明经过n次运算后,本级误差 ≤ 本级Corlic角≤pi/4/2 ^ (n-1),也即32位宽的corlic值,对应角度精度误差至少能够保证到 不超过 pi/4 / 2^30 **

clear;
format longE;n = linspace(0,63,64);
Angle_corlics = atan((1/2).^n);plot(Angle_corlics,'k');
hold onAngle_sn = (1/2).^n* (pi/4);
plot( Angle_sn , 'r');n1 = linspace(-1,62,64);
Angle_sn1 = (1/2).^n1* (pi/4);plot( Angle_sn1 , 'g');sub1 = Angle_sn1 - Angle_corlics
MIN=min(sub1)

输出MIN =
6.188586175577728e-20 > 0

补充:为何可以最后运算完成后统一乘上系数

由旋转坐标:

x2 、y2 同时拥有cosθ ,而决定角度关系的是其比值,同时乘除系数只会影响对应的赋值,而不会影响每次旋转角度,故可在最后处理 (cosθ1 *cosθ2 *cosθ3 …) 。

CORDIC算法收敛性证明相关推荐

  1. 【机器学习基础】EM算法详解及其收敛性证明

    EM算法详解 (一)单高斯模型 1.1 一维高斯分布: 1.2 多维高斯分布: (二)最大似然估计 2.1 最大似然估计的数学概念: 2.2 最大似然估计的基本步骤: 2.2.1 构造似然函数: 2. ...

  2. 【优化】梯度下降 收敛性 证明

    梯度下降方法的收敛率是 O ( 1 / t ) O(1/t) O(1/t). 本文首先介绍梯度下降算法的定义,之后解释收敛性的意义,并给出梯度下降算法收敛性详细证明过程1. 梯度下降算法 设系统参数为 ...

  3. 函数的凹凸性证明_理解图灵机和递归函数的等价性证明

    背景 之前读了 Martin Davis 的<Computability and Unsolvability>,决定对其中的图灵机和递归函数等价性证明做一个(不严谨的)整理,证明方法比较有 ...

  4. Pymoo:优化算法收敛性的实例分析

    Pymoo:优化算法收敛性分析的实现方法 一.优化问题的定义与优化算法的结果分析 1.1 优化问题的定义与必要的算法中间信息的获取 1.2 Constraint Satisfaction (约束满足) ...

  5. 算法收敛性以及收敛速度的理解

    最近在看资料时,遇到了这样的说法"某某算法具有收敛快的优点",于是便有点疑惑:收敛不是函数或者数列才有的概念吗?用到算法上是代表什么意思呢?遂查阅资料,将一点理解记录如下. 算法收 ...

  6. 外罚函数法(二):SUMT算法及其收敛性证明

    阅前提示:文章是中山大学-最优化理论-罚函数方法1_哔哩哔哩_bilibili的学习笔记,感兴趣可以看视频,讲的非常好. 目录 SUMT算法 1.SUMT算法描述 2.几何直观理解 收敛性 1.引理 ...

  7. Merkle Tree 实现细节及(不)存在性证明

    Merkle Tree in BitCoin & BitCoin Cash Merkel Tree是Bitcoin的核心组件,其相关资料已经非常丰富,所以本文档偏重于介绍Merkle Tree ...

  8. 最优化学习 算法收敛性

    算法收敛性 梯度下降法 分析算法收敛性 - 精确线搜索exact line search 分析算法收敛性 - 非精确线搜索Inexact line search(Amijo Rule) 全部笔记的汇总 ...

  9. 函数的凹凸性证明_判断复杂函数的凹凸性

    判断无人机能量x关系函数的凹凸性(函数是关于v和drt的二元函数) 函数有非常多的参数,极其复杂,看到就烦,我首先用画函数的方法通过图像法来观察,但是画出来的图像不忍直视(或许是我画的图像不对,反正看 ...

最新文章

  1. 教育园报修系统_【务实活动】“充电”模式强力开启,务实幼教2019暑期小红巾生存教育大培训...
  2. mysql join on 索引_连接查询,表关联查询join on,索引,触发器,视图
  3. 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
  4. linux apt qt下载,Linux如何安装 apt-get 软件管理工具
  5. 面包房算法 java_java处理买面包事件
  6. 12C 新特性--全库缓存
  7. 团队项目前期冲刺-7
  8. autosar架构详细介绍_干货|非常详细的 Ceph 介绍、原理、架构
  9. ug西门子840d后处理教程_UG后处理制作教程.pdf
  10. APP测试工具大全,建议收藏
  11. mvn命令启动Spring boot项目
  12. 光纤光缆那些纤常识【华光昱能光知识】
  13. MPI和OpenMP实现矩阵相乘
  14. 一文弄懂调节器的PID自整定原理和方法
  15. springboot毕业设计 基于springboot医院预约挂号系统毕业设计设计与实现参考
  16. 5分钟使用ssl证书免费配置任意域名的 https
  17. 开关电源雷击浪涌整改_浪涌整改措施.doc
  18. 苹果手机左上角的数字怎么弄_出了新朋友,莫忘老朋友,苹果Macbook这款小键盘能让你键步如飞...
  19. VB.NET入门简介
  20. 如何把iPAD投屏到MacBook上(不用安装任何东西)

热门文章

  1. NTP时间同步器(时钟同步器)对于网络的重要性
  2. 自动化工业机器人涂胶程序
  3. Linux学习:网站服务
  4. Laravel 中管道设计模式的使用 —— 中间件实现原理探究
  5. 通过单管道(pipe)实现两个进程间双向通信
  6. pcie读写ddr_5.3 存储器、I/O和配置读写请求TLP
  7. 网络检测--命令检测网络
  8. storm mysql trident_Storm入门(十三)Storm Trident 教程
  9. GPU0和GPU1的区别
  10. chrome64新增的Performance Monitor