关于克拉美罗下界(CRLB)-及不同DOA估计算法下的方差(性能)对比

说明

    参数估计在科研、工程乃至生活中都有广泛的应用。参数估计要解决的问题简单来说就是:基于一组观测数据,通过某种方法来获得我们想要的,与观测数据相关的一个或多个参数。

    克拉美-罗界(Cramr-Rao Bound, CRB)无偏估计里我们常用的且十分重要的一种对不同参数估计方法性能评价的参考(对比)指标:对于同一组观测数据,可能会有很多不同的方法来做估计 并得到各自的估计结果,那么,这些方法的优劣(包括其相对优劣、以及参数估计结果与真实值的逼近程度)如何,需要我们提出一种客观的评价指标(参考),克拉美罗界就是这样一个指标。

    当然,克拉美罗界的用处不止于此,以及关于什么是无偏估计,我将在本博文中做出更详细的说明。  克拉美罗界是参数估计相关paper中不可或缺的元素,在去年一个老哥带我发的一篇文章中,审稿人之一对我们提了这样的要求:“The CRLB should be also include to show the performance benchmark for the estimation algorithms.”那会儿对CRLB还没有什么概念…,初看了一下觉得蛮繁琐,匆匆写了个理由忽悠过去了(可能主要是期刊比较水所以能忽悠过去…),后面就一直拖到现在才得空来对这个概念做一些学习和梳理,并形成了本篇博文。

    关于CRLB,网上确实有一些比较好的资料,但是读者若要系统以及细节地理解参数估计以及关于CRLB的概念,建议看看参考资料[1]。本文的内容相对简单,主要是试图理清楚关于参数估计、无偏估计、CRLB的由来和原理等概念,并以一维线阵为例,给出线阵DOA估计的CRLB、不同DOA估计算法的性能比较。可能会有一些错误,欢迎读者评论指正,我会不定期补充维护。

Blog

2024.3.25 博文第一次撰写

目录

说明

目录

一、参数估计&克拉美罗下界基本概念

二、线阵&单目标下 不同DOA估计算法方差结果及其与CRLB对比

2.1  不同SNR下的结果

2.2  不同角度下的结果

2.3  小结

三、总结

四、参考资料

五、代码


一、参数估计&克拉美罗下界基本概念

    参数估计要解决的问题简单来说就是:基于一组观测数据,通过某种方法来获得我们想要的与观测数据相关的一个或多个参数。现在计算机技术、AD转换等技术已经发展得足够成熟了,在雷达、声呐、通信等各类系统中,我们一般都会将各类模拟量采样并存储为离散时间波形,因此,参数估计问题就是从得到的离散时间波形或数据集中提取参数的问题用数学语言来表达就是:假设我们有N点的数据集合:{x[0],x[1],x[2],…x[N-1]},它与未知参数y有关,我们希望基于该数据集合来确定估计量y:

                               (1-1)

    式中,g是某个函数(某种参数估计方法)。是参数y在g方法下的估测值。对应到本博文后面将要探讨的一维线阵的DOA估计问题:这里的x就可以理解成每个接收通道采集的数据,y是目标角度,我们做DOA估计的方法有很多(关于DOA估计,读者可以参考我之前写过的一篇博文[2]:车载毫米波雷达DOA估计综述-CSDN博客)。比如有经典的FFT、DBF、Music、Capon等。

    这便是参数估计问题

    而无偏估计是指估计量的平均值为未知参数的真值。对应到前面的数学语言上,即假设我们有M组N点的数据集合:第一组为 X_1:{x_1[0],x_1[1],x_1[2],…x_1[N-1]}、第二组为X_2: {x_1[0],x_1[1],x_1[2],…x_1[N-1]}、以此类推一直到第M组。我们用方法g对这M组的数据进行估计,可以得到M个,此时,如果:

                                                        (1-2)

    式中y为参数的真值,则我们称该估计为无偏估计。我们基于FFT、DBF、Music、Capon的方法做线阵的DOA估计都属于无偏估计。

    如前文说明中所述,对于同一组观测数据,可能会有很多不同的方法来做估计并得到各自的估计结果,那么此时我们会感兴趣的一个问题是:大多数情况下,哪一种估计方法得到的估计量是更优的? 一个很自然的想法是:均方误差(mean square error, MSE),其定义为:

                                               (1-3)

    均方误差度量了估计量偏离真值的平方偏差的统计平均值,对于同一个参数,如果某种估测方法下得到估测值的均方误差越小,我们可以认为其更优!但遗憾的是,该准则的采用导致我们无法得到最优估计量,因为这个估计量不能写成数据的唯一函数,我们可以将上式重写:

                (1-4)

    进一步地:

                            (1-5)

    上式表明,MSE是由估计量的方差   (方差是针对估计量的均值,而均方差是针对真值)以及偏差引起的误差组成的。这里面包含了参数真值,我们无法求得使MSE最小的参数估计值

但是,如果我们将问题约束(限定)为无偏估计问题呢?由前文对无偏估计的讨论我们知道,无偏估计下,此时跳开了真值,最小MSE(也就对应了最小方差)对应的估计量是可以实现的!这样的估计量被称为最小方差无偏(minimum variance unbiased, MVU)估计量

    此时新产生的一个问题是:对于任意一个参数无偏估计问题,我们使用不同的参数估计方法得到的参数估计值的最小方差能小到多少这个最小的方差值,就是所谓的克拉美罗下界(Cramer-Rao Lower Bound, CRLB)。如果某种参数估计方法下得到的参数估计值,其方差值等于克拉美罗下界,我们认为该估计方法是最优的(至少是最小方差无偏估计)。

    【CRLB可以帮助我们确定所使用的估计方法得到的参数效果如何(对比较无偏估计量的性能提供了一个标准)、是否是MVU估计量?、此外,也提醒我们不可能求得方差小于下限的无偏估计量,这在信号处理的可行性研究中通常是有用的。】

    那么,如何得到无偏估计下的CRLB?无偏估计下我们假定所估测参数的似然函数(似然函数表征参数取不同值下的概率)的表达式满足高斯分布:

                               (1-6)

    我们对其取自然对数:

                             (1-7)

    则其一阶导数为:

                                      (1-8)

    负的二阶导数为:

                                             (1-9)

    二阶导数衡量的是曲率,由上式可知,曲率随着的减小而增加。我们已经知道估计量y的方差为:σ2,那么对于该例子,其方差为:

                                                 (1-10)

    尽管在本例中二阶导数并不依赖x,但一般来说是和x有关的,这样,曲率更一般的度量是(取均值):

                                                        (1-11)

    它度量的是对数自然函数的平均曲率(此时曲率随着x的变化而变化)。该值越大,则估计的方差越小。

    假定p(x;θ)满足“正则”条件:

                                                     (1-12)

    那么任何无偏估计量的方差必定满足:

                                                (1-13)

    由于二阶导数是与x有关的随机变量(我们之前的例子不是,但是大多数情况下是的),所以上式的数学期望由下式给出:

                               (1-14)

    以前述讨论和得到的公式为基础,在参考资料[1]中,给出了不同参数估计问题下的CRLB的表达式(这部分内容更具体的读者还是看参考资料[1],其实我也不是很理解)。如一维线阵、单目标下的方位估计,其CRLB表达式为:

                              (1-15)

    (对于接收到的数据为复数的情况下,如果是实数,则上面的分子为12),这里的θ对应的是线阵所在直线与 目标位置和第一个阵元连线的 夹角。M是阵元个数,L是阵列孔径,对于间隔为d的均匀线阵,L = (M-1)*d 。后文的仿真将基于该公式。 对于DOA估计,其CRLB是由阵元个数、孔径、SNR唯一确定的

二、线阵&单目标下 不同DOA估计算法方差结果及其与CRLB对比

    本章基于蒙特卡罗方法,评估:

1. 线阵、单目标、且目标角度确定的情况下,不同SNR下不同DOA估计算法的方差,及其与CRLB的对比。(只使用单快拍数据)

2. 线阵、单目标、且目标SNR确定的情况下,不同角度下不同DOA估计算法的方差,及其与CRLB的对比。(只使用单快拍数据)

    本章的DOA估计算法在原代码中我写了三种:DBF、Music、Capon,但是Capon在单快拍下效果太差了(其测量结果抖动很厉害,实在没眼看…,不过多快拍下还不错。),所以后面的图中我没有给出Capon的测量结果(不过我提供的代码中还是有的,只是注释了,读者可以关闭注释,自己试试)。关于DOA估计方法和细节,这里不做说明,读者可以参看资料[2],此外,关于蒙特卡罗方法,读者可以参考我之前写的另一篇博文[3]:关于蒙特卡罗方法及其在信号处理中的应用-CSDN博客,这里也不给出具体的使用说明。

    本章仿真中,所使用的主要参数列表如下:

表2.1 仿真参数列表

参数

不同SNR下  不同DOA算法参数估计方差对比

阵元数

8

阵元相对位置关系

(0:1:7)*0.5*λ

目标角度

快拍数

1

SNR

(15:2:35)

蒙特卡罗次数

1000

不同角度下  不同DOA算法参数估计方差对比

阵元数

8

阵元相对位置关系

(0:1:7)*0.5*λ

目标角度

(0:5:70)

快拍数

1

SNR

25

蒙特卡罗次数

1000

2.1  不同SNR下的结果

图2.1  不同SNR下各DOA估计方法的方差对比(1)

    趋势上是没有问题的、各DOA算法的方差与CRLB的位置关系上也没有问题。不过感觉有问题的两点是:1. DBF和单快拍Music的结果一样?? 2.CRLB有那么小吗(还是说上面的公式有问题?)…   同样的结论可以给到2.2节

    有鉴于此,我尝试将快拍数改成10,得到结果如下(我没有提供代码,不过读者可以基于上面的代码做一点点修改即可):

图2.1  不同SNR下各DOA估计方法的方差对比(2)

    快拍数的改变没有影响CRLB(按理说应该会影响的?),不过此时可以看到不同DOA算法下的对比了。

2.2  不同角度下的结果

图2.3  不同角度下各DOA估计方法的方差对比(1)

图2.4  不同角度下各DOA估计方法的方差对比(2)

    图示结果符合预期,但是又有点不符合预期,讨论同2.1。

2.3  小结

    本章基于第一章中的结论以及本人之前的工作积累(包括DOA[2]和蒙特卡罗方法[3]),评估了不同DOA估计算法的估测方差及其与CRLB的对比,具体地:分成了同一目标角度,不同SNR和同一SNR,不同角度两种情况。仿真的结果与预期基本吻合,但是CRLB计算方法的正确性似乎有待商榷(欢迎读者指正)。

三、总结

    本博文的内容相对简单,主要是试图理清楚关于参数估计、无偏估计、CRLB的由来和原理等概念,并以一维线阵为例,给出线阵DOA估计的CRLB、不同DOA估计算法的性能比较。后续有更多的细节和拓展我再不定期补充。

四、参考资料

[1] 《统计信号处理基础-估计与检测理论》 Steven M. Kay

[2] 车载毫米波雷达DOA估计综述-CSDN博客

[3] 关于蒙特卡罗方法及其在信号处理中的应用-CSDN博客

五、代码

关于克拉美罗下界(CRLB)-及不同DOA估计算法下的方差(性能)对比博文对应的代码资源-CSDN文库

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2015年认证杯SPSSPRO杯数学建模B题(第一阶段)替换式密码全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 B题 替换式密码 原题再现: 历史上有许多密码的编制方法。较为简单的是替换式密码,也就是将文中出现的字符一对一地替换成其它的符号。对拼音文字而言,最简单的形式是单字母替换加密,也就是以每个…

sql Tuning Advisor启用导致业务性能问题

数据库每天晚上10点后业务性能很卡,大量的insert被堵塞,查询等待事件发现有大量的“library cache lock”和“cursor: pin S wait on X”。 22:00数据库的统计信息开始收集, Sql Tuning Advisor堵塞了统计信息的收集,等待事件是“…

GitHub上非常火热的开源低代码开发平台:ILLA Builder,接近1万star!快速构建内部工具的利器

摘要:本文介绍了 ILLA Builder,一个在 GitHub 上非常火热的开源低代码开发平台,它可用于快速构建内部工具。我们将探讨 ILLA Builder 的功能、特点和使用方法,以及它在低代码编程领域的优势。 一、引言 在企业发展的过程中&#x…

Nextcloud激活被锁用户

Nextcloud激活用户 如果docker下没有安装sudo 和 vim执行下面命令,安装了则跳过 #进入docker内部 #更新apt-get apt-get update #安装sudo apt-get install sudo #安装vim apt-get install vim 修改下面文件内容,否则执行occ命令可能报错 进入上面查询…

STM32看似无法唤醒的一种异常现象分析

1. 引言 STM32 G0 系列产品具有丰富的外设和强大的处理性能以及良好的低功耗特性,被广泛用于各类工业产品中,包括一些需要低功耗需求的应用。 2. 问题描述 用户使用 STM32G0B1 作为汽车多媒体音响控制器的控制芯片,用来作为收音机频道存贮…

电子显微镜——相机

相机种类 相机种类繁多,下面根据相机接口和图像传感器类型进行分类。 根据数据接口分类 1. USB相机 USB相机通常可以指代多种不同类型的USB接口相机,其中包括UVC(USB Video Class)相机和U3V(USB3 Vision)相机等,它们通常使用SOC进行开发。以下是它们的区别和特点: …

Java版AI人工智能源码 Chat GPT智能AI源码

Java版AI人工智能源码 Chat GPT智能AI源码 技术框架 基于前后端分离架构以及Vue3、uni-app、SpringBoot2.5技术栈开发, 包含PC端、H5端、小程序端、APP端。 AI人工智能系统介绍 Chat GPT AI人工智能系统聚合对接国内外知名主流大语言模型接口及中转平台&#x…

100WQR80-15-7.5_耐高温潜水排污泵

在现代工业生产中,对设备的耐高温性能要求越来越高。特别是在涉及液体排放和污水处理的场合,不仅需要设备有强大的排污能力,还要求能在极端高温环境下稳定运行。面对这一挑战,我们隆重推出100WQR80-15-7.5型号的耐高温潜水排污泵&…

【日常记录】【CSS】css文字渐变擦除

文章目录 1、代码2、自定义css属性 1、代码 主要思路是: 1、弄一个一样的,覆盖到上面去 2、然后改一下文字颜色,改成透明,背景颜色改成 渐变,可以从透明到一个实色,这样就能显示出来下面的文字 3、只有 行内…

Redis实现排行榜功能实战

前言 在日常的服务器开发过程中,经常会遇到排行榜的需求。这里我们主要讨论使用redis zset来实现一般的常用排行榜。也就是单key排行榜,分数为整数,一般长度不过万。 ZSet概述 Redis的ZSet(Sorted Set)是一种有序集…

谷歌AI搜索惊现恶意网站推荐!用户安全再遭威胁?

近日,谷歌推出的新搜索生成体验(SGE)功能引发广泛关注。然而,这一旨在提升搜索体验的AI功能却陷入了争议,有报道称其可能在生成的响应中推广欺诈网站和恶意软件,为用户带来安全风险。 AI-321 | 专注于AI工具分享的网站 AI工具集 …

文件的介绍

文件介绍 文件是计算机中用于存储数据的一种载体。一般储存在磁盘上。 文件通常以一定的格式和结构存储数据,可以包含文本、图像、音频、视频等各种类型的信息。 文件可以通过文件系统进行管理和组织,用户可以对文件进行创建、打开、编辑、保存、复制…

Chrome 插件各模块之间的消息传递

Chrome 插件各模块之间的消息传递 一、消息传递 1. 消息传递分类 Chrome 插件的 Action、Background 和 content_script 三个模块之间的信息传输插件和插件之间的信息传输网页向插件进行信息传输与原生应用进行消息传递 2. 消息传递 API runtime API runtime.sendMessage(…

新房装修后,经验总结和坑点复盘

房子装修的时候,谁在盯着你的钱包?谁想从你这里捞钱?一是负责签合同的装修公司,二是负责实际装修的工地工头。装修公司要从你这份合同里为公司赚取运营成本和利润,工地装修工头要从你这里赚取他私人的利益。 在签合同…

C语言例4-13:已知圆柱体的底半径是1.5,高是2.0,计算其体积并输出。

代码如下&#xff1a; //已知圆柱体的底半径是1.5&#xff0c;高是2.0&#xff0c;计算其体积并输出。 #include<stdio.h> #define PI 3.1415926 int main(void) {float radius1.5, high2.0,vol;vol PI*radius*radius*high; //计算圆柱体的体积printf("vol %7.…

jsonpath和json数据(序列化loads()、反序列化eval())及断言处理(断言封装)

jsonpath&#xff1a;对json串进行搜索 安装jsonpath 安装&#xff1a;pip install jsonpath 导入&#xff1a; from jsonpath import jsonpath jsonpath能通过简单的方式就能提取给定JSON中的字段。 jsonpath官方地址&#xff1a;https://goessner.net/articles/JsonPath/ 在…

AI视频渲染原理是什么?

一、AI渲染原理 AI视频渲染是一种结合了人工智能技术的新型渲染方式&#xff0c;它主要通过深度学习和其他机器学习方法来优化传统渲染流程&#xff0c;以提高效率和质量。以下是AI视频渲染可能涉及的一些基本原理&#xff1a; 1. **智能采样**&#xff1a; - AI可以帮助决定在…

Go第三方框架--gin框架(二)

4. gin框架源码–Engine引擎和压缩前缀树的建立 讲了这么多 到标题4才开始介绍源码&#xff0c;主要原因还是想先在头脑中构建起 一个大体的框架 然后再填肉 这样不容易得脑血栓。标题四主要涉及标题2.3的步骤一 也就是 标题2.3中的 粗线框中的内容 4.1 Engine 引擎的建立 见…

R语言学习——Rstudio软件

R语言免费但有点难上手&#xff0c;是数据挖掘的入门级别语言&#xff0c;拥有顶级的可视化功能。 优点&#xff1a; 1统计分析&#xff08;可以实现各种分析方法&#xff09;和计算&#xff08;有很多函数&#xff09; 2强大的绘图功能 3扩展包多&#xff0c;适合领域多 …

【Python实用标准库】argparser使用教程

argparser使用教程 1.介绍2.基本使用3.add_argument() 参数设置4.参考 1.介绍 &#xff08;一&#xff09;argparse 模块是 Python 内置的用于命令项选项与参数解析的模块&#xff0c;其用主要在两个方面&#xff1a; 一方面在python文件中可以将算法参数集中放到一起&#x…