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生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

Redis中的AOF原理及分析

《Redis中的AOF原理及分析》Redis的AOF通过记录所有写操作命令实现持久化,支持always/everysec/no三种同步策略,重写机制优化文件体积,与RDB结合可平衡数据安全与恢复效率... 目录开篇:从日记本到AOF一、AOF的基本执行流程1. 命令执行与记录2. AOF重写机制二、AOF的

MyBatis Plus大数据量查询慢原因分析及解决

《MyBatisPlus大数据量查询慢原因分析及解决》大数据量查询慢常因全表扫描、分页不当、索引缺失、内存占用高及ORM开销,优化措施包括分页查询、流式读取、SQL优化、批处理、多数据源、结果集二次... 目录大数据量查询慢的常见原因优化方案高级方案配置调优监控与诊断总结大数据量查询慢的常见原因MyBAT

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文