基于级联广义积分器(CGI)的谐波信号提取MATLAB仿真

2023-11-08 19:15

本文主要是介绍基于级联广义积分器(CGI)的谐波信号提取MATLAB仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关注“电气仔推送”获得资料(专享优惠)

此方法可用于信号检测、虚拟阻抗合成、锁相环等方面。

在现有的信号提取方法中,众多学者采用了SOGI法、LPF法以及正交信号发生器等方法。当输入信号中不存在直流分量,只有谐波分量时,均能体现出良好的信号提取效果。而当输入信号中含有直流分量时,提取效果将会变差。为了提取到更好的谐波,此处采用SOGI 与TOGI 级联构成的混合广义积分器来构建谐波解耦网络进行谐波电流提取,其控制框图如图所示

SOGI /TOGI的结构框图如图所示:

对应的输出信号与输出信号的传递函数可表示为:

H1(S)可视为一个由k决定带宽的带通滤波器, k 越小带通选择性越好;H2(S)可视为一个低通滤波器;H2(S)可视为一个陷波器.

假设输入信号为一个正弦偏置信号:

则 TOGI 的输出可表示为:

V1 (t)与输入信号保持相同的幅值和相位关系; V2 (t)含直流分量和与输入信号同幅且相位滞后90°的交流分量; V3 (t)仅含直流分量。为了消除输入信号中的直流分量与噪声,可使V 2(t)与 V 3(t)作差,产生正交的交流输出信号,重构为TOGI-QSG,其输出可表示为式:

可知,当输入角频率为基波角频率的整数倍时,即使信号中含有直流分量或者信号畸变的情况下,也能提取出对应的谐波信号。

经上述分析,TOGI-OSG具有谐波抑制能力,但是当输入信号较为复杂时,同时受系数k 的影响,谐波提取效果便很不理想。因此,为了取得更理想的谐波分离效果,本文在TOGI-OSG的基础上再级联一个SOGI环节,将不含直流分量的信号 Vq (t)作为SOGI的输入,便能提高谐波分离质量,输出表示为:

仿真模型主体:

三相信号源:

仿真结果:

5次谐波信号提取效果:

7次谐波信号提取效果:

可见,采用CGI可以提高谐波信号的提取精度。完美运行!!!

参考文献:

多能互补微电网中的虚拟同步发电机(VSG)控制研究-石荣亮

这篇关于基于级联广义积分器(CGI)的谐波信号提取MATLAB仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/371929

相关文章

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

无线路由器哪个品牌好用信号强? 口碑最好的三个路由器大比拼

《无线路由器哪个品牌好用信号强?口碑最好的三个路由器大比拼》不同品牌在信号覆盖、稳定性和易用性等方面各有特色,如何在众多选择中找到最适合自己的那款无线路由器呢?今天推荐三款路由器让你的网速起飞... 今天我们来聊聊那些让网速飞起来的路由器。在这个信息爆炸的时代,一个好路由器简直就是家庭网编程络的心脏。无论你

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

列举你能想到的UNIX信号,并说明信号用途

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以