当前位置:网站首页>DSP Trick:向量长度估算
DSP Trick:向量长度估算
2022-08-03 06:41:00 【winwonnn】
最近看Richard G. Lyons的Understanding Digital Signal Processing 时学到的向量长度估算技巧,Alpha-max-plus-beta-min algorithm,还挺好用。
Motivation
考虑在[0,pi/2]区间中的一段以原点为圆心半径为1的弧,由圆心指向弧上任一点(x,y)的向量,长度为1。把x、y和向量长度的图像画出来是这样的:
这张图给人一种直觉,是不是可以取max(x,y)来近似向量长度呢?这样做的话在0和pi/2的时候都是ok的,最大误差出现在pi/4的时候,max(x,y)约为0.707,误差30%;进一步思考,在0和pi/2的时候,min(x,y)都是0,那么如果加上一定比例的min(x,y),是不是能够得到更好的近似效果呢?
也就是——
e s t i m a t i o n = α ∗ m a x ( x , y ) + β ∗ m i n ( x , y ) estimation = \alpha * max(x,y) + \beta * min(x,y) estimation=α∗max(x,y)+β∗min(x,y)
理论推导
以下内容主要参考 Smyk R , M Czyżak. Improved magnitude estimation of complex numbers using alpha max and beta min algorithm. 2016.
方便起见,考虑[0,pi/4]区间的情况即可,其他区间的向量都可以转换到这里。
所以,现在的问题是,如何取合适的 α \alpha α和 β \beta β?
首先,近似误差公式可以写出来
e ( θ ) = 1 − α c o s ( θ ) − β s i n ( θ ) e(\theta) = 1 - \alpha cos(\theta) - \beta sin(\theta) e(θ)=1−αcos(θ)−βsin(θ)
下面是来自论文的推导——注意式(9a)的符号有点错误

最终论文给出了一个结果列表供参考——
Code
取了3 regions的一个定点运算的程序,放在了My Github
边栏推荐
猜你喜欢

【多线程进阶】--- 常见锁策略,CAS,synchronized底层工作原理,JUC,线程安全的集合类,死锁

word之图表目录中点号位置提升3磅

Data warehouse buried point system and attribution practice

【playwright】pytest-playwright增加代理服务选项

数据库表结构文档 生成工具screw的使用

第一章:ARM公司Cortex-M 系列处理器介绍,第二章:嵌入式软件开发介绍和第三章:Cortex-M3和Cortex-M4处理器的一般介绍

DAC、ADC、FFT使用总结

The ORB - SLAM2 extracting feature points

开放域OOD主要数据集、评价指标汇总

idea远程debug
随机推荐
用代码构建UI界面
drop database出现1010
Spark 的架构与作业提交流程
spark中的cache和checkpoint
boot - SSE
开放域OOD主要数据集、评价指标汇总
华为设备配置BFD与接口联动(触发与BFD联动的接口物理状态变为Down)
postman将接口返回结果生成json文件到本地
- display image API OpenCV 】 【 imshow () to a depth (data type) at different image processing methods
测试用例设计方法之因果图详解
consul理解
ViewModel 记录下 +
第五章:指令集
HCIP笔记整理 2022/7/18
分治法求解中位数
戳Web3的神话?戳到铁板。
Postman will return to the interface to generate a json file to the local
[机缘参悟-59]:《素书》-6-安于礼仪[安礼章第六]
关于任命韩文弢博士代理NOI科学委员会主席的公告
QT信号与槽