复数相位近似估计

作者:桂。

时间:2018-01-27  19:58:10

链接:http://www.cnblogs.com/xingshansi/p/8367519.html 


前言

主要记录几种复数相位计算的方法,暂未做进一步的比较分析。

一、逼近简述

  复数相位估计的问题可表述为:

已知z = x+iy,arctan(y/x) = ?

  复数相位估计,指标主要有三个:1)运算量;2)处理时间;3)估值精度。

  相位估计算法大致可分为三类:

  • 级数展开:如taylor展开
  • 迭代求解:如CORDIC
  • 有理函数逼近:如pade逼近

  常用的CORDIC算法特点是消耗资源少,但当精度要求较高时需要多个迭代周期,典型的以时间换空间,消耗的内存少。taylor级数展开:

或者euler展开:

但利用级数无穷项展开,需要的乘法器资源巨大,即使舍去高阶项也需要较多阶数,工程应用不理想,且展开式可能仅局部收敛。取而代之的思路是:做一个LUT,将计算得到的x/y做插值处理,以相位误差小于1e-4rad为例,需要内存(数据取18bit)约为:31415*18/8/1024 = 69kb。更常用的一个思路是,利用arctan的基本性质:

从而将x的求解缩小至abs(x)<=1的范围,这样做LUT需要的内存则更少。

  对于多项式逼近(注意:逼近分最佳一致逼近、最佳有理逼近,不在展开)的思想,多项式逼近的知识属于:数值分析的范畴,可系统学习该学科知识来掌握,推荐较多的教材为:

利用pade近似,可得到arctan的逼近公式:

该逼近的效果:whose maximum error is on the order of 0.003 degrees when | θ | ≤ π /4 radians ,当然也可以更低/高阶次。

syms x
func = (x + 0.372003*x^3)/(1+0.703384*x^2+0.043562*x^4);
taylor(func,'order',5)
taylor(atan(x),'order',5)

  

关于常用公式的工程快速计算,可参考剑桥出版社的:

 

 二、几种常用算法

  A-文献: Another Contender in the Arctangent Race

 主要思想仍然是pade逼近:

进一步化简:

其中I、Q是复数的实、虚部,对于4个象限,利用arctan的特性均分8个区域:

 

不同区域的求解思路:

 该算法仅需要3个实数乘法和一次除法即可完成求解,缺点是估计误差较大:

  B-文献:Efficient Approximations for the Arctangent Function

本文仍然是多项式逼近的思想,借助朗格朗日插值、minmax优化(感觉它这里的优化就是在暴力搜索),得到逼近函数。一阶近似:

最大误差为0.22°。考虑提高精度,可增加逼近的阶次,三次为例: 

三阶需要1次除法、3次乘法。该结果相比A文献的方法,误差更小。A文献对应(10),B文献对应(9):

  C-文献:Fast Computation of arctangent Functions for Embedded Applications: A Comparative Analysis

 四个象限的计算:

首先造1个表,文中给出的size = 100,主要算法框图:

LUT基础上,借助线性插值,完成相位估计:

该算法需要1次除法、1次乘法,考虑到时序,若不对I、Q的大小做判断,可同时计算Q/I 、I/Q除法器为2个,上面的其他算法也是如此。

  D-文献:Fast- and Low-Complexity atan2(a,b) Approximation

 令c = b + ja,从正弦函数切入:

通过定位极值点即可估计theta:

 

前提是T已知,作者假设均匀采样的采样周期T = 4(即每个周期内采样4个点,b a -b -a):

利用梯度为零,定位极值点,经过推导,作者得出(fr为极值点位置的近似):

p(1)、p(0)对应函数的离散采样:

不同象限的对应关系:

atan的近似公式为:

其中,offset = 2*not(b0)+not(xor(b1,b0)),用该方法估计相位,最大角度误差为±4.07°,因此作者在这一步的基础上,添加查表修正(second-stage),整个的算法框图为:

测试code:

表格尺寸与估值精度:

该算法提供了相位粗估计 + 精估计的实现思路,除了第一步的粗估计,作者给出了理论解释,个人觉得该算法工程实现意义不大。b/a or a/b之后直接查表,在精度0.001°的情况下,直接查表的LUT也就4kb左右(视有效位数而定)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242587.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

银行不断爆雷,金融业苦日子刚刚开始

都说2017年监管严&#xff0c;贷款界小伙伴们的日子并不好过&#xff0c;原以为2018年来了&#xff0c;借着一个“18”&#xff08;要发&#xff09;这个吉祥数字&#xff0c;监管可能会放松一点&#xff0c;让小伙伴们的业务好做些&#xff0c;能发点小财。可谁也没想到&#…

标志信号(flag)

标志信号(flag) 脉冲标志信号( flag),它可以减少代码中 if 括号内的条件让代码更加清晰简洁,而且当需要在多处使用脉冲标志信号的地方要比全部写出的方式更节约逻辑资源,脉冲标志信号在指示某些状态时是非常有用的,当大家以后在实现相对复杂的逻辑功能时注意想到使用脉…

贷款要排队?今年可能额度都没有!

2017年贷款难一浪高过一浪&#xff0c;很多在2017年没有贷到款的朋友都希望在2018年到来之后能够顺利贷款&#xff0c;因为按照往年的额度指标&#xff0c;年初银行房贷重新“开闸”&#xff0c;额度总是较为宽松的。但是今年貌似有点奇葩&#xff0c;虽然2018年已经开始了&…

FPGA出错的积累

FPGA出错的积累 错误1 出错的原因 语法出错&#xff01;&#xff08;多写或者少写&#xff09; 需要检查的地方 看端口是否正确。端口的位数&#xff0c;以及例化是否对应。看是否满足&#xff0c;assign中的变量是wire类型&#xff0c;always中的变量是reg类型。 笔记1

腾讯信用向全国开放了,据说700分都算低的!

之前腾讯信用只向部分用户开放了公测入口&#xff0c;很多人都不能查&#xff0c;正当大家都希望能早点查询腾讯信用的时候&#xff0c;30号腾讯征信正式向全国开放了&#xff0c;赶紧来看看你是多少分&#xff0c;听说700分都算少的&#xff01;各位查了之后&#xff0c;你的腾…

线性反馈移位寄存器(LSFR)

线性反馈移位寄存器(LSFR) 流密码的流密钥产生器可以通过线性驱动和非线性组合两部分来实现。而线性驱动部分可以由线性反馈移位寄存器(LFSR)来实现。 线性反馈移位寄存器(LFSR):通常由移位寄存器和异或门逻辑组成。其主要应用在:伪随机数,伪噪声序列,计数器,BIST,数…

大批工厂提前20天放假,而大家却都在玩金融

春节快到了&#xff0c;按国家的法定假日&#xff0c;2月15日才正式放假&#xff0c;但是在珠三角打工的很多人都已经提前差不多20天回家&#xff0c;前几天有朋友晒出了广东省佛山市大批工厂提前关门的照片&#xff0c;看完之后我们不禁一身冷汗。平时热闹的工厂&#xff0c;空…

广东网络借贷中介整改验收,留给平台的时间只有8天!

P2P整改最后期限来了&#xff01;2月1日&#xff0c;广东省人民政府金融工作办公室&#xff08;下称“广东金融办”&#xff09;下发《关于进一步做好全省网络借贷信息中介机构整改验收有关事项的通知》&#xff08;下称“通知”&#xff09;。本次通知将按照国家P2P网络借贷风…

借钱合同有哪些陷阱?

&#xff08;1&#xff09;出借人容易遇到的陷阱&#xff1a;(一)借条故意写错名字案例&#xff1a;深圳的李某向朋友王某借款5万元&#xff0c;并写了借条&#xff0c;约定一年后归还欠款及利息总共6万元。但是李某在借条签名上玩了个花招&#xff0c;故意将“李相嬴”写成“李…

存款全线下降,贷款大幅增加,你敢等吗?

2017年虽然已经过去了&#xff0c;但是相信2017年的贷款难大家都印象深刻&#xff0c;甚至很多人在2017年审批的贷款目前都还没有拿到钱。新年房贷重新“开闸”&#xff0c;原本期望年后房贷审批放款速度加快、利率有所下浮的朋友将会发现&#xff0c;愿望已经落空。纵观这几年…

芯片的功耗

芯片的功耗 芯片功耗分为动态功耗和静态功耗两大部分。 动态功耗是电路在工作时&#xff08;翻转时&#xff09;所消耗的能量。对于CMOS电路来说&#xff0c;它又分为开关功耗和短路功耗。开关功耗为电路翻转时对负载电容充电的功耗&#xff0c;短路功耗为输入翻转时&#xff0…

基于Xilinx的时序分析与约束

基于Xilinx的时序分析与约束 (1)时钟 Clock 理想的时钟模型是一个占空比为 50%且周期固定的方波。时钟是 FPGA 中同步电路逻辑运行的一个基准。如下图所示: (2)时钟抖动 Clock Jitter 时钟抖动, Clock Jitter,是相对于理想时钟沿,实际时钟存在不随时间积累的、时而超…

房价上涨,最大受益者到底是谁?

最近几年房价一直不断上涨&#xff0c;之前是一线城市涨&#xff0c;之后是二三线城市涨&#xff0c;房价的涨幅已经远远超过普通居民的收入增长&#xff0c;很多人想置业&#xff0c;但是看到房价一直飙升&#xff0c;最终只能望房兴叹&#xff0c;目前一线城市的房价收入比已…

FIR特性及仿真实现_01

作者&#xff1a;桂。 时间&#xff1a;2018-02-05 19:01:21 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/8419007.html 前言 本文主要记录FIR&#xff08;finite impulse response&#xff09;的仿真实现。首先总结FIR的基本原理&#xff0c;其次进行仿真验证&…

关键路径的分析

关键路径的分析 关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径(这里我认为还需要加上布线的延迟),也就是说关键路径是对设计起决定性影响的时序路径。 对关键路径进行时序优化,可以直接提高设计设计性能。对同步逻辑来说,常用的时序优化方法包括Pipeline、Re…

FIR定点提高精度的trick_02

作者&#xff1a;桂。 时间&#xff1a;2018-02-05 19:36:08 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/8419182.html 一、概述 本文简要记录FIR的小trick&#xff0c;主要参考: Shen, Zhi. “Improving FIR Filter Coefficient Precision [DSP Tips & Trick…

FIR基本型仿真_03

作者&#xff1a;桂。 时间&#xff1a;2018-02-05 20:50:54 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/8419452.html 一、仿真思路 设计低通滤波器&#xff08;5阶&#xff0c;6个系数&#xff09;&#xff0c;滤波器特性&#xff1a; 借助低通滤波器对信号进行滤…

PCIE入门

PCIE入门 选择型号 或者 具体步骤 PCIE配置

背账100万,不付利息不用还钱,银行套路好深

年底了大家都缺钱&#xff0c;所以大家都在想方设法通过各种渠道去借钱&#xff0c;银行不行就转借呗、微粒贷&#xff0c;再不行就转小贷公司&#xff0c;小贷公司不行再转网贷。。。为了钱大家都挺拼的&#xff0c;但是拼也不一定能借到钱&#xff0c;最后有些人甚至想到了一…

FIR仿真module_04

作者&#xff1a;桂。 时间&#xff1a;2018-02-06 12:10:14 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/8421001.html 前言 本文主要记录基本的FIR实现&#xff0c;以及相关的知识点。 一、基本型实现 首先从最基本的FIR入手&#xff1a; 对应module&#xff1a;…