当前位置: 首页 > news >正文

基于离散时间频率增益传感器的P级至M级PMU模型的实现(Matlab代码实现)

👨‍🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码实现

💥1 概述

低复杂度高精度P级到M级渐进式PMU模型,由Krzysztof Duda和Tomasz P. Zieliński设计。

基于离散时间频率增益传感器(DTFGT)和正弦斜率滤波器的P级至M级渐进式PMU模型的实现,以及在IEC/IEEE 60255-118-1标准动态调制测试中的应用。

📚2 运行结果

部分代码:

figure,

subplot(1,2,1), hold on

plot(fm, err_TVE_dF)

legend(text_legend_const,'Location','southeast')

xlabel('F_i_n (Hz)'), ylabel('TVE (%) for straightforward A and \phi estimation')

title(text_title)

set(gca,'YScale','log'),

axis tight, box on, grid on

subplot(1,2,2), hold on

plot(fm, err_TVE_dF_LS, '-')

legend(text_legend_const,'Location','southeast')

xlabel('F_i_n (Hz) '), ylabel('TVE (%) for LS based A and \phi estimation')

title(text_title)

set(gca,'YScale','log'),

axis tight, box on, grid on

figure,

subplot(1,2,1), hold on

plot(fm, err_Om_dF, '-')

legend(text_legend_const,'Location','southeast')

xlabel('F_i_n (Hz)'), ylabel('FE (Hz)'), title(text_title)

set(gca,'YScale','log'),

axis tight, box on, grid on

subplot(1,2,2), hold on

plot(fm, err_Rocof_dF_LS, '-')

legend(text_legend_const,'Location','southeast')

xlabel('F_i_n (Hz)'), ylabel('RFE (Hz/s)'), title(text_title)

set(gca,'YScale','log'),

axis tight, box on, grid on

end

%###########################################################

function [Phasor, PhasorLS, Omr, ROCOFr] = PMU(x, P, N0, F0)

% PMU implementation with a cascade of rectangular filters

% and the Discrete-Time Frequency-Gain Transducer (DTFGT)

% with the sine-shape slope filter

% x - sinusoidal signal x=A*cos(Om*n+p)

% P - number of rectangular filters in the prefilter cascade

% Phasor - estimated complex phasor reported at nominal frequency with straightforward amplitude and phase estimation

% PhasorLS - estimated complex phasor reported at nominal frequency with LS based amplitude and phase estimation

% Omr - estimated frequency in radians reported at nominal frequency

% ROCOFr - estimated ROCOF in radians per second reported at nominal frequency

Nx = length(x);

Fs = N0*F0; %Hz

t = (0:Nx-1)/Fs;

y = x.*exp(-1i*2*pi*F0*t); % down-shifted sinusoidal signal x=A*cos(Om*n+p), Om=2*pi*f0/fs

%% for LS solution

ND2 = N0/2-1; % only one nominal period, although it could be more for longer cascade

ND1 = -N0/2;

%% sin frequency slope h = [1/2 0 -1/2];

w0= pi/(N0/2);

L = N0/4;

h = [1/2 zeros(1,L-1) 0 zeros(1,L-1) -1/2];

%%

tr = 1:N0:Nx; % reporting times

Phasor = zeros(length(tr), P);

PhasorLS = zeros(length(tr), P);

Omr = zeros(length(tr), P);

ROCOFr = zeros(length(tr), P);

r0 = ones(1,N0)/N0; rp = 1;

for ind=1:P

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]Krzysztof Duda (2023). P2M_PMU

🌈4 Matlab代码实现

http://www.lryc.cn/news/7712.html

相关文章:

  • 9个相见恨晚的提升办公效率的网站!
  • java的双亲委派模型-附源码分析
  • Docker 笔记
  • 用户认证-cookie和session
  • UUID的弊端以及雪花算法
  • 使用netty+springboot打造的tcp长连接通讯方案
  • 【正点原子FPGA连载】第十章PS SYSMON测量温度电压实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
  • AcWing《蓝桥杯集训·每日一题》—— 1460 我在哪?
  • AcWing《蓝桥杯集训·每日一题》—— 3729 改变数组元素
  • 如何熟练掌握Python在气象水文中的数据处理及绘图【免费教程】
  • Leetcode详解JAVA版
  • LeetCode 83. 删除排序链表中的重复元素
  • RMI简易实现(基于maven)
  • ‘excludeSwitches‘ 的 [‘enable-logging‘] 和[‘enable-automation‘]
  • 华为OD机试 - 最短木板长度(Python)| 真题+思路+考点+代码+岗位
  • 第一个Python程序-HelloWorld与Python解释器
  • C++数据类型
  • 华为OD机试 - 考古学家(Python)| 真题+思路+考点+代码+岗位
  • 常用调试golang的bug以及性能问题的实践方法
  • 什么是溶血症?什么是ABO溶血?溶血检查些什么?
  • NLP实践——知识图谱问答模型FiD
  • MyBatis 多表关联查询
  • 《NFL橄榄球》:克利夫兰布朗·橄榄1号位
  • InstructGPT笔记
  • 【uniapp】getOpenerEventChannel().once 接收参数无效的解决方案
  • ELK分布式日志收集快速入门-(二)kafka进阶-快速安装可视化管理界面-(单节点部署)
  • 线程的创建
  • 分布式之Paxos共识算法分析
  • 35岁测试工程师,面临中年危机,我该如何自救...
  • 时间轮算法概念