maxwell波形fft分析与matlab后处理生成反电势频谱分布图与空载气隙磁密谐波分布图

本文主要是介绍maxwell波形fft分析与matlab后处理生成反电势频谱分布图与空载气隙磁密谐波分布图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

查阅论文的时候经常可以看到以下两种傅里叶分解频谱分布图,一个横坐标是谐波次数,例如基波的次数为1,还有奇次谐波,偶次次谐波等等;另外一种则是以谐波极对数为横坐标,例如6对极,10对极等等。现针对以上两种频谱图从Maxwell获取fft分析数据到matlab后处理生成频谱分布条状图给出详细的步骤。

 图1 以谐波次数为横坐标的频谱分布

 图2 以谐波极对数为横坐标的频谱分布

这里以某电机反电势频谱分布和空载气隙磁密谐波分布为例,首先在Maxwell仿真得到电机空载反电势图如图3所示,注意这里仿真时间需要设置成整数周期,因为傅里叶分解用于分析周期函数。这里取一个周期时间1.5ms,关于电机运行一个周期的时间可以利用以下公式自行计算:

60f=np,T=1/f

这里转速设置为n=4000rpm,电机极对数为10,代入计算得到周期T为1.5ms。

 图3 相绕组反电势波形

图4 仿真时间设置为一个周期

然后右击results选择Perform FFT on Report…,点击所需要fft分析的波形,FFT Window Type选择Rectangular,Apply Function To Complex Data选择mag如图5所示,然后就会在results得到图6所示的频谱分布图,这里横坐标为各个谐波频率值,纵坐标为电压幅值大小。在results选中该波形可以在其特性栏改变显示类型,这里我们将Display类型由Rectangular plot改为Data Table即可得到图8所示的表格。

 图5 选择波形进行FFT分析

 图6 反电势频谱分布图

 图7 改变fft显示类型

 图8 反电势频谱分布表

现将该数据导出用于绘制第一种频谱分布图以及计算其THD,选中该表格,右击选择Export得到.csv数据,命名保存一下,如图9所示。

 图9 Maxwell数据导出

打开Matlab,点击主页选择导入数据,找到刚刚保存的.csv数据打开

 图10 导入数据

然后按下图操作将频率结果全部导入到Matlab的Workspace中,幅值结果也按此操作,接着即可在工作空间看到已经导入的数据(注意维度一致)。

 图11 将.csv数据导入到workspace

 图12 工作空间看到已导入的数据

双击导入的数据名,可将其重命名回车确认。

 图13 更改数据名

新建脚本,输入以下代码用于绘制条状频谱分布图。

%作反电势频谱图%a是基波频率a=F(1,1);%根据极对数与频次成正比得到谐波阶次polar=F./a;%绘制条状频谱图bar(polar,U,0.4);xlabel('谐波阶次');ylabel('电压幅值(V)');title('反电势频谱分布图')grid;%计算THDb=U(1,1);i=2;s=0;while i<=length(U)x=U(i,1)*U(i,1);s=s+x;i=i+1;endTHD=sqrt(s)/b;sprintf('THD=%2.2f%%',THD*100)

这里根据谐波次数与频率成正比关系,用其他频率值除以基频即可得到谐波次数,然后用bar(x,y)绘制条状图,此时横坐标即可转化为谐波阶次,1表示基波,3表示3次谐波…,bar(polar,U,0.4)中的0.4表示条形图绘制所占区间的含量为40%,这里的F是已经改过名的频率数据,U是改过名的电压幅值数据。THD计算是根据以下公式编写代码实现。

 在输出THD大小的时候这一句‘THD=%2.2f%%’前面%2.2f表示输出至少两位数据位宽并保留两位小数浮点数据,后面%%用于显示百分号。最后得到反电势频谱分布图如图14所示

 图14 反电势频谱分布图

接下来讲讲如何绘制空载气隙磁密谐波极对数分布图,首先在电机模型气隙间绘制一个圆面,这里绘制的时候注意确定圆面半径,可在绘制时在Maxwell软件右下角输入半径,记录半径用于后续fft分析坐标转换。这里输入半径为67.1mm,也即dx=67.1

 然后在model栏生成一个圆面,但我们需要一个圆弧而不是圆面,因此删掉该圆面的coverlines,随后得到一个圆弧显示在lines中,将其命名为air_gap

 图15 删掉圆面的coverlines

 图16 给圆弧命名为air_gap

为得到气隙径向磁密波形,需要利用场计算器生成径向磁密Br,其利用x轴和y轴两个方向的磁密合成所得,如下图所示:

 不难得知,合成径向磁密表达式为:

Br=B_x*cos\varphi +B_y*sin \varphi

右击Field overlays选择Calculator按照下面步骤得到径向磁密,然后点击Add后将其命名为Br。

 图17 径向磁密Br设置步骤

 图18 添加径向磁密Br

仿真完毕随后在results中右击选择Create Fields Report→Rectangular plot,然后按下图生成气隙磁密波形图。

 图19 生成径向气隙磁密波形步骤

从图20气隙磁密波形可以看到其横坐标为距离单位(mm),其实是所选圆弧的弧长。参照前面所述步骤对该磁密波形进行FFT分析得到图21频谱分布。

 图20 空载气隙磁密波形

 图21 气隙磁密FFT分析

现在最关键的一步来了,可以看到,气隙磁密FFT结果横坐标表示Distance,这个与我们想要得到的横坐标是极对数是不一致的,这里存在一个关系:

Distance=\frac{polar}{2\pi R}

其中polar表示实际谐波极对数,R为前面绘制的air_gap半径(R的单位:m),因此要想得到实际的谐波极对数分布,可以将该数据导出(步骤跟前面一样生成.csv文件)利用Matlab绘制。绘制代码很简单,如下所示。

P=FFTD.*0.1342*pi;%转换坐标系,将Maxwell原横坐标转换为极对数
bar(P,FFTB);%绘制条状图
axis([0,50,0,0.28]);%限定坐标轴区间
xlabel('谐波极对数');
ylabel('磁通密度幅值/T');
title('空载气隙磁通密度谐波分布');
grid;

将导入的distance数据重命名为FFTD,导入的磁密幅值数据重命名为FFTB,0.1342*pi这个数据就是2*pi*R(前面设置的半径R=67.1mm=0.0671m),最后得到的空载气隙谐波分布图如图22所示。

图22 空载气隙磁通密度谐波分布图

整理写作不易,觉得不错的给个赞啊,谢谢~

 

这篇关于maxwell波形fft分析与matlab后处理生成反电势频谱分布图与空载气隙磁密谐波分布图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原