【状态估计】基于增强数值稳定性的无迹卡尔曼滤波多机电力系统动态状态估计(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码、数据、文章讲解
💥1 概述
文献来源:
摘要: 为了提高用于电力系统动态状态估计的无迹卡尔曼滤波(UKF)的数值稳定性,该文提出一种保证正半定估计误差协方差的新型UKF(UKF-GPS),并与现有的5种方法进行了比较,包括UKF-schol、UKF-GPS。κ, UKF 修改, UKF-ΔQ和平方根 UKF (SR-UKF)。这些方法和扩展卡尔曼滤波器(EKF)通过在WSCC 3机9总线系统和NPCC 48机140总线系统上执行动态状态估计来测试。对于WSCC系统,所有方法都能获得良好的估计。然而,对于NPCC系统,EKF和经典的UKF都失败了。发现UKF-schol,UKF-κ和 UKF-ΔQ在某些估计中效果不佳,而 UKF-GPS 在大多数情况下效果很好。UKF改性和SR-UKF始终可以很好地工作,这表明它们具有更好的可扩展性,这主要是由于增强了数值稳定性。
原文摘要:
Abstract:
In this paper, in order to enhance the numerical stability of the unscented Kalman filter (UKF) used for power system dynamic state estimation, a new UKF with guaranteed positive semidifinite estimation error covariance (UKF-GPS) is proposed and compared with five existing approaches, including UKF-schol, UKF- κ , UKF-modified, UKF- ΔQ , and the square-root UKF (SR-UKF). These methods and the extended Kalman filter (EKF) are tested by performing dynamic state estimation on WSCC 3-machine 9-bus system and NPCC 48-machine 140-bus system. For WSCC system, all methods obtain good estimates. However, for NPCC system, both EKF and the classic UKF fail. It is found that UKF-schol, UKF- κ , and UKF- ΔQ do not work well in some estimations while UKF-GPS works well in most cases. UKF-modified and SR-UKF can always work well, indicating their better scalability mainly due to the enhanced numerical stability.
状态估计是能源管理系统(EMS)的重要应用。然而,广泛研究的静态状态估计[2]-[8]假设电力系统在准稳态下运行,基于该稳态,系统的静态状态,即所有总线的电压幅度和相位角,通过使用监督控制和数据采集(SCADA)和/或相量测量单元(PMU)测量来估计。
静态状态估计对于电力系统监控非常重要,还为 EMS 中的其他重要应用提供输入数据,例如自动发电控制 (AGC) 和最佳潮流 (OPF)。然而,对于良好的系统监控和态势感知来说,这可能是不够的,因为电力系统变得更加动态,因为可再生能源发电的渗透率越来越高,具有非常高的不确定性和变化。因此,通过高级PMU部署促进的实时动态状态估计(DSE)获得的准确系统动态状态变得至关重要。凭借高全球定位系统(GPS)同步精度,PMU能够以高采样率提供高度同步的电压和电流相量测量,从而在实现实时广域监测、保护和控制方面发挥关键作用。
电力系统DSE已由不同类型的卡尔曼滤波器实现。卡尔曼滤波器 (KF) [9] 在非线性系统中最常见的应用是扩展卡尔曼滤波器 (EKF) [10], [11] 的形式,它线性化所有非线性变换,并用雅可比矩阵代替 KF 方程中的线性变换,基于所有变换都是准线性的假设。电力系统DSE已由EKF [12],[13]实现。
尽管EKF保持了KF优雅且计算高效的递归更新形式,但由于非线性函数的一阶泰勒级数近似[14],它仅在“温和”非线性环境中运行良好。它是次优的,很容易导致背离。只有当误差传播可以用线性函数很好地近似时,线性化变换才是可靠的。此外,线性化只有在雅可比矩阵存在时才可以应用。即使 Jocobian 矩阵存在,计算它也可能是一个困难且容易出错的过程。
无迹变换(UT)[15]旨在通过提供更直接和明确的机制来转换均值和协方差信息来解决线性化的缺陷。基于UT,Julier等人。 [16]–[18]在状态估计的框架内提出了无迹卡尔曼滤波器(UKF)作为EKF的无导数替代品。UKF已应用于电力系统DSE,不需要线性化或计算雅可比矩阵[19],[20]。然而,在[19]和[20]中,UKF仅用于估计单机无限总线系统或WSCC 3机器系统的动态状态。
毫不奇怪,UKF尚未应用于更大的电力系统。正如在[14]和[21]中指出的那样,EKF和UKF都可能遭受维数的诅咒,并且在状态向量大小为<>或更大的高维状态空间模型中,维数的影响可能会变得有害,特别是当描述状态空间模型的方程中存在高度非线性时,电力系统正是这种情况。
因此,即使经典 UKF 对小型系统具有良好的性能,也可能根本不适用于大型电源系统。我们将证明,数值稳定性主要限制了经典 UKF 的可扩展性。具体来说,当估计误差协方差传播时,它有时无法保持正半定性,从而使其平方根无法计算。
在本文中,我们介绍并比较了六种可用于增强UKF数值稳定性的技术,包括EKF / UKF工具箱方法[22],正确设置无迹变换参数[23],改进的UKF方法[17],添加额外的正定矩阵[24],[25],本文提出的具有保证正半定估计误差协方差的UKF(UKF-GPS)和平方根UKF(SR-UKF)[26]。
本文的其余部分组织如下。第二节简要介绍了无味变换和经典的UKF程序。第三部分讨论了增强经典UKF数值稳定性的六种技术。第四节解释了如何实现卡尔曼滤波器进行电力系统动态状态估计。第五节在WSCC三机3总线系统和NPCC9机48总线系统上测试了所提出的方法。最后在第六节中得出结论。
📚2 运行结果
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]J. Qi, K. Sun, J. Wang and H. Liu, "Dynamic State Estimation for Multi-Machine Power System by Unscented Kalman Filter With Enhanced Numerical Stability," in IEEE Transactions on Smart Grid, vol. 9, no. 2, pp. 1184-1196, March 2018, doi: 10.1109/TSG.2016.2580584.
🌈4 Matlab代码、数据、文章讲解
相关文章:

【状态估计】基于增强数值稳定性的无迹卡尔曼滤波多机电力系统动态状态估计(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

快速排序的简单理解
详细描述 快速排序通过一趟排序将待排序列分割成独立的两部分,其中一部分序列的关键字均比另一部分序列的关键字小,则可分别对这两部分序列继续进行排序,以达到整个序列有序的目的。 快速排序详细的执行步骤如下: 从序列中挑出…...

短视频多平台发布软件功能详解
随着移动互联网的普及和短视频的兴起,短视频发布软件越来越受到人们的关注。短视频发布软件除了常规的短视频发布功能,还拥有智能创作、帐号绑定、短视频一键发布、视频任务管理和数据统计等一系列实用功能。下面我们将分步骤详细介绍一下这些功能。 …...

谷歌人机验证Google reCAPTCHA
reCAPTCHA是Google公司推出的一项验证服务,使用十分方便快捷,在国外许多网站上均有使用。它与许多其他的人机验证方式不同,它极少需要用户进行各种识图验证。 它的使用方式如下如所示,只需勾选复选框即可通过人机验证。 虽然简单…...

VB+ACCESS电脑销售系统的设计与实现
为了使此系统简单易学易用、功能强大、软件费用支出低、见效快等特点,我们选择Visual Basic6.0开发此系统。Visual Basic6.0起代码有效率以达到Visual c的水平。在面向对象程序设计方面,Visual Basic6.0全面支持面向对你程序设计包括数据抽象、封装、对象…...

嵌入式开发:硬件和软件越来越接近
从前,硬件和软件工程师大多生活在自己的世界里。硬件团队设计了芯片,调试了从铸造厂返回的第一批样本,让软件团队测试他们的代码。随着虚拟平台和其他可执行模型变得越来越普遍,软件团队可以在芯片制造之前开始,有时甚…...

亲测:腾讯云轻量应用服务器性能如何?
腾讯云轻量应用服务器性能评测,轻量服务器CPU主频、处理器型号、公网带宽、月流量、Ping值测速、磁盘IO读写及使用限制,轻量应用服务器CPU内存性能和标准型云服务器CVM处于同一水准,所以大家不要担心轻量应用服务器的性能,腾讯云百…...

编程语言,TIOBE 4 月榜单:黑马出现了
TIOBE 4 月榜单已经发布了,一起来看看这个月编程语言排行榜有什么变化吧! C 发展依旧迅猛 在本月榜单中,TOP 20 的变动不大,Python、C、Java 、 C 和C#依然占据前五。甚至排名顺序都和上个月一样没有变动。 同时,Rus…...

基于DSP+FPGA的机载雷达伺服控制系统(二)电源仿真
板级电源分配网络的分析与仿真在硬件电路设计中,电源系统的设计是关键步骤之一,良好的电源系统为电路板 上各种信号的传输提供了保障。本章将研究电源完整性的相关问题,并提出一系列改 进电源质量的措施。 3.1 电源完整性 电源完整性…...

SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】
文章目录前言1、分布式情况下如何加锁2、具体实现过程3、测试3.1 一个服务按照多个端口同时启动3.2 使用jmeter进行压测前言 上一篇实现了单体应用下如何上锁,这一篇主要说明如何在分布式场景下上锁 上一篇地址:加锁 1、分布式情况下如何加锁 需要注意的点是: 在上锁和释放…...
优漫动游告诉你:平面设计适合你吗?
优漫动游告诉你:平面设计适合你吗? 什么样的同学可以适应平面设计这份工作呢? 略微有美术基础,当然功底越深越加分。 2.对色彩、形状、结构有一定的接纳力。 3.对图案、人像、字体等因素有审美辨别的能力…...
在Vue中,为什么从 props 中解构变量之后再watch它,无法检测到它的变化?
例如下面这段代码,msg无法被watch import { watch } from vue;export default {props: {msg: String},setup(props) {// 从 props 中解构 msgconst { msg } props;watch(() > msg,(newVal, oldVal) > {console.log(newVal, newVal);console.log(oldVal, old…...

[源码解析]socket系统调用上
文章目录socket函数API内核源码sock_createinet_createsock_allocsock_map_fd相关数据结构本文将以socket函数为例,分析它在Linux5.12.10内核中的实现,先观此图,宏观上把握它在内核中的函数调用关系:socket函数API socket 函数原…...

Jenkins部署与自动化构建
Jenkins笔记 文章目录Jenkins笔记[toc]一、安装Jenkinsdocker 安装 JenkinsJava启动war包直接安装二、配置mavenGit自动构建jar包三、自动化发布到测试服务器运行超时机制数据流重定向编写清理Shell脚本四、构建触发器1. 生成API token2. Jenkins项目配置触发器3. 远程Git仓库配…...

网络编程三要素
网络编程三要素 IP、端口号、协议 三要素分别代表什么 ip:设备在网络中的地址,是唯一的标识 端口号:应用程序在设备中的唯一标识 协议:数据在网络中传输的规则 常见的协议有UDP、TCP、http、https、ftp ip:IPv4和…...

如何编写一个自己的web前端脚手架
脚手架简介 脚手架是创建前端项目的命令行工具,集成了常用的功能和配置,方便我们快速搭建项目,目前网络上也有很多可供选择的脚手架。 一个"简单脚手架"的构成其实非常少,即 代码模板 命令行工具。其中代码模板是脚手…...

计算机网络第1章(概述)
文章目录1.1、计算机网络在信息时代的作用1.2、因特网概述1、网络、互连网(互联网)和因特网2、因特网发展的三个阶段3、因特网的标准化工作4、因特网的组成1.3 三种交换方式1、电路交换(Circuit Switching)2、分组交换(…...

grid布局
一、概述 CSS Grid 布局是 CSS 中最强大的布局系统。与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行。通过将 CSS 规则应用于 父元素 (成为 Grid Container 网格容器)和其 子元素(成为 Gri…...
博客平台打造出色的个人资料管理与展示:实用技巧与代码示例
个人资料管理与展示是博客平台的重要功能之一。本文将通过设计思路、技术实现和代码示例,详细讲解如何构建出色的个人资料管理与展示功能。结合CodeInsight平台的实践案例,帮助您深入了解个人资料管理与展示的设计原则和技术实现。 一、设计思路 在设计…...
【genius_platform软件平台开发】第九十三讲:串口通信(485通信)
485通信1. 485通信1.1 termios结构1.2 头文件1.3 函数讲解1.3.1 tcgetattr1.3.2 tcsetattr1.4 示例工程1.5 参考文献1.5.1 stty命令1.5.2 命令格式1.5.2 microcom命令1.5.2.1介绍1.5.2.2指令1.5.3 echo命令1.5.3.1 语法1.5.3.2 选项列表1.5.3.3 使用示例1.5.3.4 e cho > 输出…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...