公司有机会接触了一下谐波的判断计算方法,这里简单讲一下。其实我们直接在网上找一些FFT运算的C函数,便可以计算各次谐波,但是当我们只需要某些阶次的谐波时,那么运用FFT的话,就会浪费很多时间,这里我们讲的是 直接用C语言实现某一次的谐波含量计算(三次)。

我用的硬件是DSP2812,为保证采样后计算过程不被打断,计算与判断均放在中断中。

一般而言,如果需要计算采样电流的谐波含量的话,那么肯定会有采样平率和计算周期这些等等的说法。因为基波电流是50HZ,一般而言采样频率必须是被采样电流的频率的两倍以上,才能保证被采样信号的不失真。

在这里,我们一个周波采样256个采样点,即采样频率为12800HZ。

算法原理:

而利用滑窗迭代进行改进得到:

为加快计算时间,我们用先要建立一个正炫函数表,然后用查表的方法去得到我么需要的sin函数的256个值。我们下面都用函数来模拟采样数值。

float sinnwt3 =0,cosnwt3 =0;
float ASlidewindow[256];
unsigned char nwt3temp=0 ,DFTslidecount=0;
float An=0 ,Bn ,CurrentDiffA=0,LoadCurrentA=0 ,HaCurrent=0 ;

中断计算程序原理如下:

nwt3temp = (DFTslidecount* 3)&0xff;     //nwt3temp 为整型,初始化为0,乘以3是因为计算的是三次谐波,与上0xff,是因为我们只采样256个点,DFTslidecount为计算次数,指向当前采样值存放在ASlidewindow数组中的当前位置。

cosnwt3 = DFTCosTable[nwt3temp];   //DFTCosTable【】是我们提前准备好的COS函数值表,这里直接查表得到我们想要的值,为加快计算速度。

sinnwt3 = DFTSinTable[nwt3temp];   //同上

LoadCurrentA = 60*sqrt(2)*sin(2*PI*(DFTslidecount&0xff)/256)+10*sqrt(2)*sin(2*PI*(DFTslidecount&0xff)*3/256);  //采样,用函数模拟,可见50HZ基波电流有效值为60A,三次谐波电流有效值为10A

CurrentDiffA = LoadCurrentA - *(ASlidewindow + DFTslidecount)  ;    //CurrentDiffA 意为当前采样值

//LoadCurrentA 为当前DFTslidecount指向的位置的采样值

An += CurrentDiffA* cosnwt3/128;     //迭代法 已减去了当前位置的采样值,替换了新的采样值

Bn += CurrentDiffA* sinnwt3/128; //同上

*(ASlidewindow + DFTslidecount) = LoadCurrentA;     //迭代法  ,替换新的采样值

HaCurrent = (sqrt(PhaseAAn3temp*PhaseAAn3temp+PhaseABn3temp*PhaseABn3temp))/sqrt(2);  //计算三次谐波含量,此时已经是有效值,计算结果为10,正好和LoadCurrentA 的函数模拟采样能对应的上。

DFTslidecount++;

注意:在计算之前,要先准备ASlidewindow数组256个采样初始值,或者舍弃掉前面256个计算值,因为第一次进入中断时,ASlidewindow数组中并没有初始值。

到此,整个程序的计算原理只是将以上两张图片中所阐述的DFT滑窗迭代发计算谐波用代码翻译出来。完毕。

电力行业三次谐波计算相关推荐

  1. 电力电子应用技术_RFID技术应用在电力行业工具管控

    电力的正常运营至关重要,而为了确保工作人员的正常工作和电网安全且正常的运作,供电部门对于电力设备和工具的采购.使用.检查和维护均有严格的规定.为进一步规范电力安全工器具的日常检查.试验.报废和入网厂家 ...

  2. 【行业应用】浅谈AI如何在电力行业落地

    导读 这是我有史以来做过最长的PPT,长达100多页,是我参加完公司组织的大数据培训竞赛和人工智能培训竞赛之后努力思考后的高度总结,希望对你有启发. 导语 看完全文之后你可以全面了解以下几个问题? 为 ...

  3. 解决方案|电力行业应如何应对数字化转型危机

    背景与挑战 随着电网公司数字化转型工作的推进和云平台.大数据.物联网.移动化.智能化等新技术的应用,推进高效一体化网络排障定位与深入推进人工智能及大数据技术等在电网信息系统运维中的应用,以及运用前沿科 ...

  4. 全球电力行业十大网络安全攻击事件

    随着电力行业对网络的依赖程度越来越高,网络攻击对企业的安全运营造成巨大的威胁.电力系统与现代社会生产生活紧密相连,一旦出现断电,后果将不堪设想.对电力行业的攻击类型分为勒索病毒.DDoS攻击.APT攻 ...

  5. 北斗定位模块对于电力行业有什么用

    电,早已与生活深度融合,我们无法想象停电会对生活工作带来什么样的不便,而北斗定位模块与电力行业貌似是风马牛不相及的两个行业,很难想象两者会产生怎样的火花? 授时功能 在电力系统时间同步方面存在三大难题 ...

  6. 亿信华辰:电力行业如何做好数据治理,其核心的3个步骤

    众所周知,电力行业在"发.输.配.用.调度"等全过程都有大量的有价值的数据产生,而这些数据对于电力企业盈利与控制水平的提升有较高的价值.有电力专家分析称,每当数据利用率提高10%, ...

  7. 亿信华辰:电力行业如何做好数字化转型?

    众所周知,电力的稳定关乎国计民生,关乎整个社会的安全,比如在日常生活中,插上插头,轻轻拨动开关,空调.冰箱等电器就开始运转,这小小的开关背后是由发电.变电.输电.配电和用电等环节组成的庞大复杂的电力系 ...

  8. 电力行业中的信息化系统概述

    电力行业中的信息化系统概述 能量管理系统(EMS)包括:数据采集和监控系统(SCADA系统),自动发电控制(AGC)和经济调度控制(EDC),电力系统状态估计(State Estimator),安全分 ...

  9. 比特驱动瓦特 电力行业向智能化发展

    能源革命给电力规划思路带来深刻变革,能源消费.能源供给.能源技术.能源体制的推进以及全方位加强国际合作的战略,标志着进入能源生产和消费革命的新时代,将对能源规划特别是电力规划提出更高的要求和期望.智能 ...

最新文章

  1. COM:追踪植物-微生物组互作的进化历史
  2. html列表中float-left,floatleft的作用
  3. 自定义顶部菜单navigationBar方式
  4. 4 款 MySQL Binlog 日志处理工具对比,谁才是王者?
  5. JavaScript的DOM操作
  6. ubuntu 设置root启动
  7. billibilli html5播放,Thousands of people online are involved in ef...
  8. zabbix安装php7.0,Centos 7.0安装Zabbix server详细步骤(示例代码)
  9. vb趣味编程弹球小游戏_最好玩的微信小游戏集合,总有一款是你没玩过的
  10. matlab的m函数入门1
  11. 中nextint函数_Kotlin中的作用域方法(Scope Function)
  12. C语言小程序显示心形,如何用vc6.0编出来一个心形
  13. InnoDB与Myisam的六大区别
  14. 我的Python开发之路---微信网页授权(扫码登陆)
  15. ai进入轮廓模式怎么退出_AI 绘图工具里,我不知道按了什么键一保存都是轮廓了!怎么办!怎样恢复呢?...
  16. julia 使用修改后的pkg
  17. 08python excel一键式统计0.11版本修正利息收入费用正负表达问题
  18. (转)Notepad++删除空白行
  19. 云控微信开发SDK使用教程--手机微信群聊信息变更通知服务端
  20. macOS 曝可获取用户密码的 0day 漏洞;Fedora logo 改版三个候选方案

热门文章

  1. 2023服装零售erp有哪些,5款主流服装零售erp软件真实测评!
  2. 《2022-移动端游戏版号申请详解》
  3. 说说Pluma插件管理框架
  4. Python新手引导 第三篇-Python基础和字符编码
  5. Spring Boot Actuator与Spring Boot Admin详解
  6. UE5 学习2- 快捷键
  7. 开源工业缺陷数据集汇总,持续更新中(已更新28个)
  8. docker容器化部署nginx前端项目
  9. 内容为王,如何打造爆款小红书笔记?
  10. ‘home‘ has a default child route. When navigating to this named route (:to=“{name: ‘home‘“), the def