可以说几乎任何加工都有误差,任何测量都有误差!我们测量得到的信号通常是叠加了噪声在里面,也就是说信号具有了一定的波动,或者说信号测量结果具有一定的不确定性,而对信号进行某些处理后,信号的波动会变成什么样呢?这通常可以用误差传播理论来解决:对于y=f(x),已知x的精度/波动大小,求y的精度/波动大小。比如采集N张照片取平均,能够把信噪比提升多少倍;拍多张照片合成提高图像质量,机器学习同时训练多种模型综合进行判断提高准确度。它一方面基于y与x的导数,另一方面,利用了:对同一个信号多次采样,信号本身是线性相关的,可以直接累加或相减,而噪声是相互独立正交的,因此总的噪声需要用平方和开根号。此外似乎还假设了噪声是正态分布的

此外,除了x的单次测量精度和N次测量精度可以计算,基于N个测量数据的标准差和方差的精度也有人进行了研究,见文献:Standard Errors of Mean, Variance, and Standard Deviation Estimators, Sangtae Ahn and Jeffrey A. Fessler, EECS Department, The University of Michigan, July 24, 2003

误差无处不在,尤其是对于测量和加工。比如拿一把直尺测量一个圆的直径,用一个万用表测量一个电阻、电压的大小,加工一批零件的尺寸,可能会发现多个个体、多次测量的结果有一个微小的变动。而很早老师就教导我们:多次测量求平均可以提高测量精度。那么精度到底是什么?多次平均到底能将精度提高多少倍,测量10次与测量100次平均得到的精度一样吗?测量10次求平均难道能将精度提高10倍?

从信号的角度来讲,那个微小的波动就是一种噪声,叠加在测量的信号之上。如图1,信号处理中常常用到均值滤波等方法来抑制噪声,某种程度上就利用了多次测量求平均提高精度的原理。

图1

在讨论精度之前,首先讨论统计学上对精度(precision)和准确度(accuracy)是怎么定义的。

Precisionis about how close measurements are to one another.
Accuracy is about how close measurements are to the ‘true answer’

图2

也就是说,精度是指多次测量的结果之间的相近程度,测量的重复性大小,可以用标准差来描述,标准差越大,那么测量结果之间的偏差也就越大。而准确度是指测量结果和“真实值”的相近程度。图2形象的展示了3种精度和准确度之间的联系,图中箭射中的位置即为测量值,而靶心是“真实值”。连续几次射中的位置越集中,说明精度越高(和距离靶心的距离无关),但是准确度却决定于射中位置和靶心的距离,可以考虑用平均的中心位置与靶心的距离来度量。

因为测量总是存在误差,那么给出一个测量值的时候,往往也会给出它的误差范围:如X+Δx。比如你去买电阻,可能会有5%误差的,1%误差的,价格也就不一样。这个1%是相对误差,这是因为误差往往和测量对象的大小有关,测量值越大,往往能够容忍的误差就越大。对一个1kg和100kg的物体同样增加1g的重量,你的感知肯定是不一样的。加工一个1厘米和1米的零件,都要加工到1微米的表面精确度,难度不是一个数量级的。

但是这个误差Δx定义往往比较模糊。它可以是X测量多次的标准差,也可以是标准差的两倍,三倍等,也可以是测量中的发现最大误差。测量误差往往符合正态分布,根据正态分布的3σ原则:

数值分布在(μ-σ,μ+σ)中的概率为0.6826

数值分布在(μ-2σ,μ+2σ)中的概率c为0.9544

数值分布在(μ-3σ,μ+3σ)中的概率为0.9974

可以认为,Y 的取值几乎全部集中在(μ-3σ,μ+3σ) 区间内,超出这个范围的可能性仅占不到0.3%。因此Δx定义为3σ可能是比较恰当的。实际使用的很可能是标准差。

为了讨论的方便,这里的精度(也可以指误差、不确定性)统一指标准差,而实际的精度则可以直接乘以相应倍数即可。这相当于是对精度做了一个建模,那么接下来就可以用数学方法来对其进行运算和推导了。有一个理论叫误差传播理论(error propagation, erroranalysis),可以非常方便的对精度进行分析。

首先看一个最简单的情况,如图3所示。

A是测量对象,其精度已知(通过实验数据的标准差计算等等得来)。Z=f(A)是关于A的函数。当A有一个αA的波动(足够小)时,根据微积分的相关知识,可以得到Z的波动是

比如A是黄金的重量,Z是黄金的价格,Z=100*A。标准品的重量10g,但是会有个别比10g略重或者略轻一点,那么实际的价格应该加上或者减去比例系数乘以波动的重量。

基于此,那么对于更加复杂的函数应该怎么算呢?

对于Z=f(x1,x2,x3,L,xn)

完整的误差传播理论如下:

注意这需要在x1,x2,x3,L,xn的误差随机并独立的情况下才成立,否则不能这样计算。也可以用下面的公式来进行一个大概判断,这不需要满足独立的条件:

上面的误差传播公式在测量、信号、图像处理等领域中有比较广泛的应用。举个简单的例子,测量一块长方形地皮的面积,测量的长度为50米,误差为0.2米,测量的宽度为20米,误差为0.1米。假设长宽测量误差相互独立。显然,最终测量的面积为1000平方米,但该面积的测量误差是多少?

这里Z=f(x1,x2)=x1*x2。x1和x2分别为长和宽。应用误差传播理论,面积的精度(误差)为:

再回到最初的问题,假定单次测量的误差为Δx,测量N次取平均,平均之后的结果精度是多少?这里

应用误差传播理论,最终误差为:

可见,为了将精度提高一倍(误差减少为原来一半),必须至少测量4次取平均,而要将精度提高到原来的10倍,则至少需要测量100次取平均。

把M个元素分成N组,每组内求平均和标准差,那么这N个平均值和标准差的标准差就是均值和标准差的标准差,前面介绍了均值的精度也就是均值的标注差,另外标准差的标准差也是有相应公式求取的。

有些问题似乎不能简单用误差传播理论得到,例如x是0均值标准差为σ的正太分布随机数/噪声,因此x的单次测量精度为σ,那么x的平方的单次测量精度是多少?这个问题看似不能直接用这个误差传播理论计算,因为算出来是0,如果x的标准差不变,均值远离0,则还是可以使用这个公式的。这个问题应该需要更高深的数学。另外,如果不知道该用什么理论计算,可以参考另一篇博客,使用Matlab仿真一下就可以了,即用数值方法计算,而不是用符号计算。

误差传播理论的一些其他应用

1. 深度学习常用的精度比较,即比较加速器或者低精度计算结果与CPU fp32/fp64高精度结果的误差

常用公式allclose:

numpy.allclose — NumPy v1.24 Manual

判断依据是abs(actual - ref) < abs(ref) * rtol + atol

这里第一项应用了误差大小跟数值大小本身有关的经验常识(但跟根据上面所讨论的,误差跟数值大小成线性关系倒不见得成立,这说明如果要比较不同结果导致不同大小范围的输出时,也许应该采用不同的rtol (relative tolerance)),但是这一项在基准值为0时不适用,如果没有第二项,那么在某一个特定输入导致基准结果为0时,对该输入的误差容忍为0,这在实际上通常是不可能的。因为即使在基准值为0,系统也夹带了一些噪声或误差,而第二项正是为了应对这种场景。这个rtol和atol也有点像大学物理实验里面的随机误差和系统误差。

在实际使用过程中这个公司往往会遇到一些问题,即往往少数异常点导致无法allclose,导致需要增大rtol和atol,一个解决方案是可以考虑再引入一个错误率的阈值,即在指定rtol和atol下错误个数占总数的比例小于etol。

2. 如何组合多个精度不同的结果得到一个更高精度的结果?

上面多测测量直接求平均,其实是假定了每次测量的误差/精度是一样的,因此所有结果直接平均,也就是每个结果权重相同的加权平均可能得到最高精度的结果。

但是如果多次测量每次测量的误差不一样呢,例如哈勃测了一个结果,误差为100,韦伯测了一个结果,误差为10,那么如何组合这两个结果得到一个误差同时比哈勃和韦伯结果误差都小的结果呢?其实一种最简单的方法即对上面的权值相同的加权平均稍加改进:对不同测量采用不同的权重的加权平均,(显然应该对精度高的测量用大权重,精度低的测量用低权重),再基于最优化的方法得到不同测量应该使用的最佳权重。

参考文献:

《Measurements and their Uncertainties A practical guide to modern error analysis》

《An Introduction To Error Analysis The Study Of Uncertainties In Physical Measurements》

Uncertainty of Measurement: A Review of the Rules for Calculating Uncertainty Components through Functional Relationships

Luchang Li

2016.5.26

测量,信号处理中的精度分析 误差传播理论相关推荐

  1. 车载毫米波雷达信号处理中的模糊问题

    说明 在毫米波雷达的信号处理中,测距.测速.测角是我们关注的三个核心问题,以chirp形式的信号工作的车载毫米波雷达,其最大无模糊测量距离(仅从数据处理而非能量的角度考虑)受限于接收机的中频带宽和AD ...

  2. 关于蒙特卡罗方法及其在信号处理中的应用

    说明 最近想探讨一下毫米波雷达测量准确度及其改善的问题,这个话题下可供讨论的问题有很多,蒙特卡罗方法(或者说基于蒙特卡罗方法对测量准确度以及精度的评估)是其中之一,该方法是一个十分有效的工具,在科研( ...

  3. 统计信号处理基础 - 估计与检测理论 估计部分习题3.7公式推导

    统计信号处理基础 - 估计与检测理论 估计部分习题3.7公式推导 题目 证明 结论 得证 题目 相信学习信号检测与估计的童鞋们肯定看到过Steven M.Kay大牛的书,非常厚的一本,不得不说,人家的 ...

  4. 深度学习在物理层信号处理中的应用研究

    摘要:本文主要介绍基于深度学习的物理层应用,并提出一种基于深度Q网络(DQN)的MIMO系统位置信息验证方案,接收者在多变未知的信道环境下利用深度Q网络不断更新. 01引言 随着移动流量呈现的爆发式增 ...

  5. matlab在生物学中的应用,MATLAB在生物医学信号处理中的应用

    福建电脑 2010年第2期 MATLAB在生物医学信号处理中的应用 高智贤,张业宏 (新乡医学院河南新乡453003) [摘要]:介绍了MATLAB在生物医学信号处理中的简单应用.文中以实际程序介绍了 ...

  6. 用MATLAB绘制国债NSS模型,Matlab在数字信号处理中的运用.ppt

    <Matlab在数字信号处理中的运用.ppt>由会员分享,可在线阅读,更多相关<Matlab在数字信号处理中的运用.ppt(68页珍藏版)>请在装配图网上搜索. 1.第七讲 M ...

  7. matlab提取语音信号基频检测,语音信号处理中基频提取算法综述

    [实例简介] 语音信号处理中基频提取算法综述,论述了各种基频检测的算法,对比分析各方法与思想,不错的总结 增刊 张杰等:语音信号处理中基频提取算法综述 101 信号是由频率具有谐波关系的信号组成的,因 ...

  8. 1.简述GPS载波相位测量的基本原理。2.在高精度GPS测量工作中,为什么需要采用载波相位测量方法进行三维定位。3.载波相位测量中,确定整周未知数主要有哪些方法?GNSS测量与数据处理(第六周作业)

    1.简述GPS载波相位测量的基本原理? 载波相位测量的观测量是GPS接收机所接收的卫星载波信号与接收机本振参考信号的相位差. 以表示k接收机在接收机钟面时刻时所接收到的j卫星载波信号的相位值,表示k接 ...

  9. triplus在matlab字函数,[理学]第7章 MATLAB在信号处理中的应用.ppt

    第7章 MATLAB在数字信号处理中的应用,--本章将介绍数字信号处理的相关知识.傅里叶变换.IIR数字滤波器.FIR数字滤波器的基本理论和MATLAB实现.,(一)典型信号及其表示,1. 单位抽样信 ...

最新文章

  1. 用C++开发Web应用
  2. LaTex 更改文字颜色
  3. 记录一次postfix无法收取邮件和mysql异常不能启动
  4. GDCM:gdcm::SwapperDoOp的测试程序
  5. nginx在linux为何效率高
  6. Android开发之adb命令安装apk的问题
  7. 华为云域名注册_华为云域名专场钜惠,助推中小企业云速建站
  8. Spark精华问答 | Spark做大规模高性能数值计算可以吗?
  9. vue 循环遍历 搜寻资料
  10. 在中国程序员能不能干一辈子?水平差距再大也逃不掉这个噩梦吗?
  11. 最受欢迎 Top 12 Python 开源框架,你都用过吗?| 原力计划
  12. VMware开启虚拟化实现CentOS创建KVM
  13. MyBatis映射文件4(参数获取#{}和${}/select标签详解[返回类型为list])
  14. python水仙花数
  15. 华为密盒M310最新固件-精简美化版
  16. 【AIS学习】12:AIS标准下载
  17. Selenium和Firefox对应版本及注意事项
  18. zabbix监控平台设置报警发送邮件
  19. Linux测试主机之间连通性和端口是否开放的方法
  20. 2022江苏最新八大员之(安全员)模拟考试试题及答案

热门文章

  1. 调大图片内存大小和降低图片内存大小快过来
  2. 01-图灵商城项目架构
  3. 12、说说梯度下降法
  4. Tesseract-OCR引擎的安装
  5. Interledger协议(ILP)
  6. python for循环遍历涉及的相关问题及代码实现(非全部)
  7. 线性回归相关知识及公式推导
  8. 马云公益基金会新版官网上线,启用mayun.xin!
  9. VR旅游应用案例解析,世界那么大用VR去看看!
  10. windows用Redis Desktop Manager无法通过6379端口连接ubuntu redis问题