基于Maxwell2D与Origin的电机径向力波二维FFT分解实操
2026/9/8 5:48:24 网站建设 项目流程

搞电机设计的同行应该都清楚,样机做出来NVH不过关、电磁噪声超标,十有八九问题都出在气隙径向电磁力波上。要定位这个“罪魁祸首”,最直观的办法就是把径向力随时间、空间的分布画出来,再把它按空间阶次和时间频率做一次二维FFT分解。平时我常用Maxwell2D做电磁场瞬态仿真,把气隙径向磁密或径向力密度导出来,放到Origin里画时空径向力三维图和时空傅里叶三维分解图,这套流程跑熟了之后,排查电磁噪声源基本就是半小时以内的事。这篇就当是给自己的一个流程备忘,也把里面最容易踩的坑都摊开讲讲,电机本体设计、电磁噪声分析、NVH仿真方向的工程师和研究生应该都能直接用上。

1. 为什么电机设计要盯着“时空径向力”看

1.1 电机噪声的本质:定子受了谁的力

很多人一开始接触电磁噪声,容易直接看转矩脉动、看反电势谐波,但在辐射噪声这件事上,真正的主角是气隙磁场作用在定子铁心上的径向电磁力。

从麦克斯韦应力张量看,气隙中单位面积上的径向电磁力密度可以近似写成:

p_r(θ, t) = (B_r² - B_t²) / (2μ₀)

其中B_r是气隙径向磁密,B_t是切向磁密,μ₀是真空磁导率。切向分量主要产生转矩,对定子铁心的径向变形贡献很小;径向分量虽然不产生有功功率,但它直接作用在定子齿和轭部上,引起铁心周期性变形,这就是电磁噪声和振动的根源。

注意这个公式里是磁密的平方项。这意味着什么呢?如果气隙磁密含有基波和一系列谐波,平方之后会产生和频与差频分量,力波的频率和空间阶次跟磁密谐波并不一样,会发生“频率迁移”。这也是为什么不能只看磁密频谱,还要专门把力波单独拎出来分析。

1.2 “空间阶次”和“时间频率”到底在说什么

径向力波有兩个维度:一个是在定子圆周方向上表现为波形分布,这就是力波的空间阶次,也就是沿着圆周有多少个“波峰波谷”的周期,通常用r来表示;另一个是随时间变化,力波在某个固定空间位置上以多快的频率震荡,这就是力波的时间频率,用f表示。

空间阶次很关键,它直接对应定子铁心的振动模态。r=0是均匀径向力脉动,相当于“呼吸模态”,定子整体一圈同步胀缩;r=2是椭圆模态,两个方向交替拉伸;r=4是方形模态。预应力作用下,低阶模态的刚度和固有频率通常较低,更容易被激励出大振幅。所以分析力波谱时,不只关心幅值大不大,还要关心它的空间阶次是否跟定子模态对得上。

时间频率决定了电磁激励的频率是否与定子结构某个模态频率接近。如果时间频率恰好落在某阶模态固有频率附近,就等着噪声超标吧。

二维FFT分解要解决的就是:把包含时间、空间两个变量的力波信号,拆成“某个空间阶次 + 某个时间频率”的组合,这样就能确定哪一个“阶次-频率对”是主要激励源。

1.3 这套方法能解决什么问题

具体到工程里,这套流程主要用来做三件事:

第一,判断主要力波的阶次和频率,跟定子模态做匹配分析。比如样机噪声大,先看二维频谱里哪个分量幅值最高,再对照结构模态频率,基本能锁定激励源。

第二,对比不同设计方案。改槽极配合、斜槽、转子分段、谐波注入等,光看电磁性能还不够,得看径向力波有没有被压下来,尤其看低阶次分量有没有变化。

第三,给后续结构优化输出输入条件。做模态分析、谐响应分析时,需要知道激励力的空间阶次分布,Maxwell2D只是电磁激励源,真正算振动响应还得进结构软件。

2. 整体技术路线与工具链选择

2.1 标准流程一览

这套流程我自己拆成了六个环节:

  1. Maxwell2D建立瞬态电磁场模型,正常求解。
  2. 在气隙中间布置采样线(圆周),确定合适的空间采样点数和时间步数。
  3. 利用场计算器定义径向磁密B_r,或者直接定义径向力密度,把气隙线上的数据在多个时间点导出来。
  4. 在Origin中把导出的数据整理成“空间位置×时间”的矩阵,计算径向力密度。
  5. 用Origin绘制时空径向力三维曲面图,直观看到力波传播。
  6. 对时空矩阵做二维FFT,绘制三维分解图,得到“空间阶次-时间频率-幅值”谱。

整个链路不算复杂,但每个环节都有影响结果正确性的隐藏细节。下面我会按这个顺序把每个步骤拆开讲。

2.2 为什么用Maxwell2D而不是3D

有人会问,径向力波不是三维分布吗,为什么不用Maxwell 3D?

2D模型已经能覆盖径向力波的核心信息。轴向方向上,大多数电机的电磁结构是周期性重复的,气隙径向力沿轴向的分布基本一致,端部效应不显著。2D模型可以把剖分网格做得很细,尤其是气隙部分,计算速度快、内存占用小,适合反复调整方案做对比。3D模型要考虑轴向端部泄露,网格数量庞大,瞬态场跑一次可能就几小时起步,在方案论证阶段性价比不高。

我现在的习惯是:方案前期参考和趋势对比一律用Maxwell2D,只有到了需要认真评估端部影响、斜槽斜极等特殊结构时,才上3D。

2.3 为什么二维FFT放在Origin而不是Matlab或Python

这个问题很多人纠结过。我自己的答案是:Origin胜在交互和出图效率。

用Matlab或Python做二维FFT,代码本身不复杂,但调坐标轴、调配色、生成出版级的三维图,需要反复调试参数。Origin的交互界面可以直接操作数据矩阵,点几下鼠标就能出图,改视角、改色标、改坐标单位都很直观。对于项目周期紧、需要快速出图的场合,Origin是最高效的。

另外,Origin自带二维FFT功能(Extend FFT2,通常在Signal Processing菜单里),输入矩阵就能算,不需要自己处理复数运算,输出多种格式(幅值、相位、功率谱),还能直接对结果矩阵继续绘制三维图,非常顺滑。

2.4 数据链路上最容易被忽视的三个环节

第一,采样密度。空间点数和时间点数直接决定二维FFT能分辨的频率范围和阶次上限,采样不够,结果会混叠,会假象频。

第二,导出的数据组织方式。Maxwell导出的通常是单列时间点数据,如果不在Origin里合并成矩阵,后面做FFT会非常痛苦。

第三,量纲换算。Maxwell导出的径向磁密单位是T,要换算成力密度得除以2μ₀;导出的力密度可能是N/m²或者kPa,需要统一。

这三个环节下面都会单独展开讲,尤其是采样密度,很多人踩坑都踩在这。

3. Maxwell2D侧实操:把径向磁密/力密度导出来

3.1 模型和求解设置要点

在开始后处理之前,先确保模型本身没问题。气隙部分建议:

  • 把气隙单独建一个Band区域,网格加密。
  • 在气隙中间画一条完整的圆弧线(360度,半径取气隙中心半径),命名为AirgapLine。这条线就是后面采样的几何对象。如果电机是对称的,也可以只画一个极距范围然后后处理拼接,但直接画整圆最省事,空间FFT也最直观。
  • 瞬态求解的总时间至少要覆盖一个完整的电周期,建议取1.5~2个电周期,取稳态后的数据做分析。
  • 时间步长要按力波频率上限来定。分析电磁噪声通常关注0到几千Hz,力波频率多为电源频率的偶数倍。对典型工业电机,时间步长取10μs~50μs量级基本够用,具体根据转速和极对数换算。

这里有一个容易忽略的点:时间步长不仅要满足电磁场求解精度,还要满足后续FFT的采样定理。如果对一个电周期只取了20个点,那只能看到10倍基频以内的频率分量,高频力波全部丢失。

气隙网格也直接关系到B_r波形精度。磁密径向分量对网格敏感,气隙部分至少要有2~3层网格切分,齿顶附近的网格更要注意,否则导出的径向磁密会有明显阶梯状跳变,FFT之后全是高频毛刺。

3.2 用场计算器求径向磁密

Maxwell2D默认后处理给的是幅值B和分量B_x、B_y,要得到气隙线上的径向磁密B_r,需要在场计算器里手动算。

最容易被理解的方法是利用径向单位向量。在二维极坐标下,圆周某一点的角度为θ,径向单位向量是:

n = (cosθ, sinθ)

径向磁密:

B_r = B_x·cosθ + B_y·sinθ

在Maxwell2D场计算器里的操作步骤是:

  1. 打开Field Calculator。
  2. 选择Quantity -> B,把磁密矢量调入栈。
  3. 选择Vector -> Unit Vector,对几何对象AirgapLine生成径向单位向量。 这里需要在Geometry中选择AirgapLine,让求解器自动识别每个采样点的法向方向。
  4. 用Dot运算求点积,得到B_r。
  5. 为这个结果命名,比如“Br”,然后Add保存。

如果你的AirgapLine是标准圆周,场计算器的Normal选项也能直接给出径向分量,本质上是一样的。

导出力密度的话,可以继续在场计算器里写公式:

p_r = (B_r² - B_t²) / (2μ₀)

但工程上忽略切向分量也能得到足够好的力波趋势,我通常直接导出B_r,到Origin里再算p_r = B_r² / (2μ₀),因为磁密是原始场量,保留原始数据更灵活,后面想再算切向分量也方便。

3.3 采样点数与时间步数怎么定

这是整个流程里最值得多讲两句的环节。

空间采样点数Nθ决定二维FFT能分辨的最高空间阶次。沿圆周一周有Nθ个采样点,那么能分辨的最高空间阶次是:

r_max = Nθ / 2

如果要分析到24阶、32阶甚至更高阶的力波,空间点数至少要取64、128或256。工程上我自己用的下限是Nθ = 128,常见的是256,数据量不大,但频谱干净很多。

时间采样点数N_t决定能分辨的最高时间频率。同一个时间步长持续N_t步,最高时间频率就是:

f_max = 1 / (2Δt)

注意这里频率上限对应的是奈奎斯特频率。如果时间步长Δt取10μs,最高频率是50kHz,远够用;如果Δt取1ms,最高频就是500Hz,高频力波就会被漏掉。

另外,二维FFT的频率分辨率也和总采样时长有关。频率分辨率Δf = 1/T_sim,仿真总时长越长,频谱里的频率“梳齿”越细,越容易把相邻频率分量分开。所以我建议仿真至少跑满两个电周期再做FFT,频率分辨率。

在设置每个时间点的存储时,要确保Maxwell的“Save Fields”选项勾选保存了需要的求解步,否则后处理时只能看到最后几个时刻。

3.4 导出数据的具体操作

导出气隙线数据,我通常用两种方法。

方法一:单时刻手动导出。

  1. 在后处理器中加载想要的场图,比如磁密幅值B。
  2. 右键场图,选择“Export Fields”,勾选几何对象AirgapLine。
  3. 弹出的窗口会让你选择文件格式,一般选CSV,文件里包含采样点位置和B_r值。
  4. 把这个步骤复制到每个需要导出的时间点,导出文件按time_01.csv、time_02.csv命名。

这个方法适合时间点不多的情况,比如只导出一个电周期内16个或32个时刻。手动操作虽然重复,但胜在直观,不容易出错。

方法二:脚本批量导出。

时间点多、数据量大时,手动导出会点到怀疑人生。这时可以写一段简单的VBScript在Maxwell里跑,循环遍历时间步,每步导出一份CSV。脚本的逻辑本质上是把“修改求解时间 → 导出场图 → 保存CSV”这个过程自动化。我在实际项目中会把脚本固定下来,只改时间和文件路径,跑完一批数据直接进Origin处理。

还有一个小技巧:如果你想导出的是某个点、某条线的B_r随时间的变化,可以直接用Maxwell的报告功能,但那样拿到的数据不方便组织成矩阵。我更习惯“每时刻一排点”这种导出方式,因为后面合并矩阵更顺手。

导出时注意保留足够的小数位,至少6位有效数字,不然FFT之后高频分量都是数值噪声。

4. Origin绘图:时空径向力三维图的制作

4.1 数据导入与格式整理

把Maxwell导出的多个CSV文件拿到Origin后,第一步不是画图,而是把数据整理成矩阵。

我推荐的数据组织方式:行是空间位置(角度或弧长),列是时间点,单元格是B_r值或力密度值。后续三维曲面图和二维FFT都以这个矩阵为输入。

具体操作:

  1. 用Origin的Import Multiple ASCII导入所有CSV。
  2. 把第一个文件的位置列(角度)单独放在一列,作为空间轴。
  3. 把每个时刻文件里的B_r列依次放到后续各列。
  4. 选中所有数据区域,点击Workbook菜单里的“Convert to Matrix”,选择“XYZ Gridding”或直接按“Direct”方式转换。

如果你的数据本身就是规则排列的(同一个空间点、不同时刻),用Direct方式转换最省事,不会额外插值。

这里有个血泪经验:CSV文件路径和文件名不要带中文,Origin导入带中文路径的文件偶尔会出现列错位或乱码。建议文件统一命名成t001.csv、t002.csv这种格式。

4.2 三维曲面图设置

矩阵准备好之后,绘图就快了。

  1. 选中矩阵,点击Plot菜单下的3D -> 3D Colormap Surface。
  2. Origin会直接生成一张三维曲面图,X轴默认对应行编号(空间点),Y轴对应列编号(时间点),Z轴是B_r或力密度。
  3. 接下来要修正坐标轴单位。双击坐标轴,在Tick Labels里把X轴改成角度(0到360度或0到2π),Y轴改成时间(ms),Z轴改成Pa或MPa。
  4. 配色方案建议用Temperature或Rainbow,能明显看出波峰波谷。如果觉得默认色标对比度不够,可以在Colormap/Contours里手动调整Levels。
  5. 视角上,我习惯把X轴朝向自己的左前侧,让观察者能同时看到空间周期的波形和时间演化,视觉效果更直观。

绘制三维图时,Origin默认可能会对矩阵做平滑或插值,如果想看原始数据、避免引入人为误差,一定在Plot Details里把平滑关闭。

4.3 时空图的读图方法

三维曲面图画出来之后,怎么读它?

把三维曲面投影到“角度-时间”平面上,你会看到一系列明暗条纹。这些条纹就是力波。条纹的倾斜方向表示力波在圆周方向的旋转方向,条纹的间距对应空间波长(阶次),条纹随时间的变化速度对应时间频率。

举个例子:如果看到一条从左上到右下的斜条纹,说明这是一个旋转力波,它以某个空间角速度沿圆周移动。如果条纹呈现水平条状,说明空间分布基本不变,只是总体幅值随时间脉动。如果条纹密集交错,说明多个力波叠加,需要靠二维FFT来分离。

读图时还要注意量纲:如果画的是磁密B_r,峰值数据自然很大;如果画的是力密度p_r,单位是N/m²,kPa级别都很常见。Z轴的范围要设置合理,不然波峰波谷全部糊在一起。

5. 时空二维FFT分解三维图的完整做法

5.1 把时空数据转成矩阵并准备FFT

二维FFT要求输入是一个二维矩阵,行和列分别是空间和时间。如果你已经按前面的方法建立了矩阵,这一步直接就能做。

在Origin中的操作路径是:

  1. 确保当前激活的是Matrix表格。
  2. 点击菜单Signal Processing -> FFT2。
  3. 在FFT2对话框里:
    • Input Matrix选择当前的力密度矩阵。
    • 勾选“Center”选项,把零频移到矩阵中心,否则结果会四角分布,不好看。
    • 输出选择Magnitude(幅值)。
    • Sample Interval里设置空间采样间隔和采样时间间隔。

这里有个关键点:FFT2的Sample Interval设置必须正确。空间采样间隔是2π/Nθ(弧度),时间采样间隔就是你Maxwell里的时间步长Δt(秒)。如果这里填错,X轴和Y轴标注的频率/阶次会完全错误。

还有一点,二维FFT之前可以考虑对矩阵加窗函数。工程数据往往不是严格的周期信号,直接做FFT会存在频谱泄漏,导致频率分量拖尾。Origin的FFT2里可以选择Hamming窗、Hanning窗等。加窗之后幅值会略微变小,这是正常的,分析趋势和识别频率位置不受影响;但如果要跟理论解析值做绝对幅值对比,注意做窗函数幅值修正。

5.2 绘制三维分解图

FFT2结果也是一个矩阵,Z值就是幅值。

绘制步骤:

  1. 激活FFT2输出结果矩阵。
  2. Plot -> 3D -> 3D Colormap Surface。
  3. 调整坐标轴:
    • X轴是空间阶次r,从负的最大阶次到正的最大阶次。
    • Y轴是时间频率f,单位Hz。
    • Z轴是力波幅值。
  4. 用色标表示幅值,这样三维图的颜色也能区分强弱。

实际绘制时有一个坑:力波的直流分量(0阶、0Hz)幅值往往远远大于其他分量,直接画全谱会导致其他有用的分量Z轴被压扁。处理方法有两个:

  • 在FFT2之后,把零频附近的一个小范围置零,再绘图。
  • 在三维图里设置Z轴范围,只显示指定幅值区间的数据。

我个人习惯先画出全谱看整体分布,再缩小Z轴范围去观察感兴趣的低阶分量,两个图一对比,信息量更大。

5.3 如何解读二维频谱并对准噪声源

二维频谱怎么看?业内习惯把空间阶次作为X轴,频率作为Y轴,Z轴是幅值。每个显著的“尖峰”就代表一个“阶次-频率”组合。

以一台8极48槽内置式永磁电机为例,常见的径向力波分量包括:

  • r=0,f=2f₁:0阶力波,呼吸模态,频率是电频率的2倍。如果这个分量突出,定子会整体一圈一圈胀缩。
  • r=2,f=2f₁:椭圆模态,这是最常见、也最容易引起振动的分量之一。
  • r=4,f=2f₁:方形模态,幅值通常随阶次升高而下降。
  • r=8、r=16等:齿谐波相关的高阶力波,时间频率也更高。

在看到二维频谱时,要重点关注两类“尖峰”:

一是低阶次(r≤4)且频率接近定子模态频率的分量。即使幅值不是全谱最大,只要频率和结构固有频率对上了,也会引发严重的共振噪声。

二是幅值特别大的分量。如果它恰好落在电机转速激励范围内,即便频率没对上固有频率,也会成为主要噪声源。

另一个很实用的分析思路:把二维FFT结果和用Maxwell周向模态叠加计算的理论力波阶次做对比。如果仿真FFT里出现了理论分析不应该存在的阶次,先检查采样点数是否足够,再检查网格是否足够细,最后检查是不是数据处理时引入了伪频。

5.4 关于“只做磁密FFT”和“直接做力波FFT”的差异

有些同行习惯直接对气隙磁密B_r做二维FFT,用来预判力波频率。这个做法做趋势分析是可以的,但注意:力波的阶次和频率不是简单等于磁密谐波的阶次和频率,因为力正比于B的平方。

磁密里如果有两个分量:

  • 空间阶次r₁、时间频率f₁
  • 空间阶次r₂、时间频率f₂

它们相互作用产生的力波分量包括:

  • (r₁+r₂, f₁+f₂)
  • (r₁-r₂, f₁-f₂)
  • (r₁-r₂, f₁+f₂) 等

这就是所谓的“力波频率由磁密谐波的组合决定”。如果只看磁密FFT,你可能会漏掉某些组合产生的低频力波。所以严谨的做法是:先由B_r算出p_r,再对p_r做二维FFT。这也是文章标题强调“径向力”而不是“磁密”的原因。

6. 常见问题与排查实录

6.1 数据导出环节的典型问题

问题:Maxwell导出的CSV只有某个时间点的数据,不是整个周期。

原因:Maxwell的场图导出默认只导出当前显示时间步的数据。

解决:要么手动逐时间点导出,要么用脚本遍历时间点。注意检查求解设置里是否勾选了“Save Fields for each time step”,否则后处理根本拿不到中间时间步。

问题:导出的Br波形有明显锯齿,不光滑。

原因:气隙网格太粗,采样线穿过了粗网格区域,磁场梯度变化没有被正确捕捉。

解决:加密气隙区域网格,气隙至少保留3层网格,齿顶附近再加mesh operation。重算一次再导出,波形会好很多。

问题:采样点数少,FFT后出现镜像阶次,真实阶次分不清。

原因:空间采样点数不足,导致高阶次混叠到低阶次上。

解决:提高采样点数。我建议先用256点落一次全流程,确认数据链路没问题后,再按分析需求决定是否加密。

6.2 Origin画图与FFT环节的典型问题

问题:用三列长表(角度、时间、力值)直接画3D Colormap Surface报错。

原因:散点数据不是规则网格,Origin需要先把数据网格化。

解决:二选一。要么先“Convert to Matrix”转成矩阵再绘图,要么用Origin的“XYZ Gridding”工具插值成规则网格。我自己推荐前者,规则矩阵既能画图也能做FFT,一步到位。

问题:FFT2输出结果的坐标轴不是空间阶次和频率。

原因:Sample Interval设置错误,或者没有睁开眼睛看单位。

解决:在FFT2对话框里正确设置空间采样间隔(2π/Nθ)和时间采样间隔(Δt),然后在结果矩阵的坐标属性里手动修改X轴、Y轴标签。

问题:Origin老版本打不开FFT2功能。

原因:FFT2功能从某个版本开始才内置在Signal Processing菜单里,老版本或一些精简版本没有。

解决:用Origin 2021及以上版本。另外,工作机上如果出现安装后打开软件报“应用程序的并行配置不正确”之类的错误,一般不是软件本体问题,而是缺少VC++运行库,把常见运行库装齐再启动就好了。

问题:FFT2结果里直流分量太大,其他分量完全看不清。

原因:力波的直流分量(平均径向拉力)占比大,这本身是物理现象,不是bug。

解决:在绘制三维分解图时,把Z轴范围缩小,或者把零频附近的矩阵元素置零再绘图。我个人通常导出两次图,一张全谱看全貌,一张局部放大看低阶分量。

问题:Origin导出图像带demo水印。

原因:使用了未正常授权的版本。

解决:确认使用正版授权。工作机如果出现这种情况,优先排查授权状态,不要在正式图纸里带水印,容易被施工或外发环节卡住。

6.3 常见问题速查表

环节现象主要原因解决建议
Maxwell导出只有单帧数据Save Fields未勾选勾选每个时间步保存
Maxwell导出Br锯齿明显气隙网格过粗加密气隙网格
数据整理合并后行列错位CSV路径含中文文件路径改成英文
Origin绘图3D图生成慢或报错点数据未网格化Convert to Matrix再绘图
Origin FFT坐标轴不是阶次/频率Sample Interval设置错误正确填写采样间隔
Origin FFT高频分量全是噪声数据位数不足导出时保留6位以上有效数字
结果解读低阶分量看不清直流分量压轴缩小Z轴范围单独出图

7. 实操心得

做这套流程做了大半年之后,我最大的感受是:先把“小数据”跑通,再上“大数据”。

不止一次见过同行一上来就全模型256个空间点、2000个时间步,导出来的CSV动辄几百MB,Origin卡到怀疑人生,结果前面的采样逻辑还错了,白跑一趟。

我的建议是,第一次走通流程时,先取32~64个空间点、一个电周期内取32个时间步,把Maxwell2D导出、Origin整理、三维绘图、二维FFT这四个环节全部验证一遍,确认坐标轴正确、量纲正确、FFT结果能对上理论阶次,再加密到128或256点、延长仿真时间做精算。这样整体效率反而更高。

另外一个小技巧:Origin里把绘图格式保存成模板。

我第一次完成一套时空三维图和三维分解图之后,把配色、视角、坐标轴格式、色标范围全部存成.otpu模板。后面换方案、换电机型号,把新数据导进来,套模板一键出图,半小时的活儿变成五分钟。

还有一个补充思路:二维FFT并不一定要用Origin自带的FFT2,它输出的矩阵实际上就是Matlab里fft2的结果。如果你后续还想做力波与定子模态的耦合分析,把Origin导出的矩阵数据重新导入到仿真脚本里,做进一步的结构响应计算,完全没有障碍。Origin只是出图工具,数据本身都是通用的。

最后再分享一个我常用的验证手段:在Maxwell2D计算完一个工况后,先用解析公式估一下主要力波的阶次和频率,比如基波磁场和齿谐波磁场相互作用会产生哪些分量;再来看二维FFT结果。两边的阶次和频率对照得上,说明采样没有问题;对不上,先怀疑数据链路,再去怀疑物理模型。这个习惯帮我挡掉过好几次无效分析。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询