仿真小张 发表于 2021-6-17 19:14

关于maxwell自带FFT与matlab的FFT程序结果的对比,结果有点对不上

我是对电机的电压进行了FFT傅里叶变换,然后发现matlab与软件自带的FFT分解出来的数据不一样。

上面这张图是matlab做出来的,但是有多了二倍频,四倍频。

上面这张图是我用maxwell自带的FFT做出来的 只有奇数倍频的关系,有人知道怎么回事吗?

仿真小张 发表于 2021-6-17 19:15

matlab程序我调了很久 结果还是一样的

仿真小张 发表于 2021-6-17 19:26

应该有人做过这样的    matlab与fft做出的结果不怎么 一样

仿真小张 发表于 2021-6-17 19:28

matlab程序可以共享出来 ,有人知道啥原因不

仿真小张 发表于 2021-6-17 21:13

有人知道吗                                                                                                   

游远翔 发表于 2021-6-18 07:32

仿真小张 发表于 2021-6-17 19:28
matlab程序可以共享出来 ,有人知道啥原因不

你可以先把程序共享出来,让大家帮你看看,这种程序也都很容易找到

仿真小张 发表于 2021-6-18 08:44

本帖最后由 仿真小张 于 2021-6-18 08:47 编辑

游远翔 发表于 2021-6-18 07:32
你可以先把程序共享出来,让大家帮你看看,这种程序也都很容易找到

好的你看一下

clc;
clear;
% dbstop if error;
fs=2000;

a1=xlsread('正常工况相电压值.csv','正常工况相电压值','D1:D801');
t=xlsread('偏心3mma相电流.csv','偏心3mma相电流','A1:A801');
L =800;      % 信号长度
figure(1);
plot(t,a1)
title('信号')
xlabel('时间(s)')
ylabel('幅值')

N1 = 2^nextpow2(L); %采样点数,采样点数越大,分辨的频率越精确,N>=L,超出的部分信号补为0,nextpow2这个函数一般用在需要数组长度为2的指数的情况下
Y1 = fft(a1,N1)/N1*2;   %除以N乘以2才是真实幅值,N越大,幅值精度越高
f1 = fs/N1*(0:1:N1-1); %频率
A1 = abs(Y1);   %幅值
P1 = angle(Y1);   %相值



figure(2);
plot(f1(1:N1/2),A1(1:N1/2));   %函数fft返回值的数据结构具有对称性,因此我们只取前一半
title('幅值频谱')
xlabel('频率(Hz)')
ylabel('幅值')
xlim();%设置X轴坐标上下极限

仿真小张 发表于 2021-6-18 08:45

matlab程序共享出来了 大家可以找一下这个程序分解出来的结果为什么跟maxwell自带的FFT结果不一样吗

仿真小张 发表于 2021-6-18 08:48

游远翔 发表于 2021-6-18 07:32
你可以先把程序共享出来,让大家帮你看看,这种程序也都很容易找到

程序在第七楼 , 大家可以看一下

仿真小张 发表于 2021-6-18 08:56

程序在第七楼 大家可以看一下

仿真小张 发表于 2021-6-18 10:40

有人知道的吗 ?不知道的话,程序自取,可以拿自己的数据进行验证

我是一棵小草 发表于 2021-6-18 17:08

我自己也分别试过maxwell自带的fft和MATLAB程序的fft,同一组数据算出来结果我的也不一样,而且是MATLAB算出来的各次谐波的幅值比maxwell要大,不过也大不了多少,应该可以接受吧。还有就是偶次谐波的话,主要看MATLAB程序是怎么编的吧,应该占比不大吧,具体怎么编我也不会,我就是个拿来主义。。。

仿真小张 发表于 2021-6-18 17:56

我是一棵小草 发表于 2021-6-18 17:08
我自己也分别试过maxwell自带的fft和MATLAB程序的fft,同一组数据算出来结果我的也不一样,而且是MATLAB算 ...

那你以哪个为准,是以maxwell的FFT为准还是matlab的为准?

我是一棵小草 发表于 2021-6-19 15:03

仿真小张 发表于 2021-6-18 17:56
那你以哪个为准,是以maxwell的FFT为准还是matlab的为准?

一般我能用maxwell算的就直接拿maxwell用了,准确度我也不确定。。。

仿真小张 发表于 2021-6-21 10:37

我是一棵小草 发表于 2021-6-19 15:03
一般我能用maxwell算的就直接拿maxwell用了,准确度我也不确定。。。

那你的有出现偶数倍频吗?按理论计算是不会出现偶数倍频的,我的是空载的永磁同步发电机 ,只有永磁体产生气隙磁场

我是一棵小草 发表于 2021-6-21 14:44

本帖最后由 我是一棵小草 于 2021-6-21 15:15 编辑

仿真小张 发表于 2021-6-21 10:37
那你的有出现偶数倍频吗?按理论计算是不会出现偶数倍频的,我的是空载的永磁同步发电机 ,只有永磁体产 ...

这个偶数倍频我也有呀,比如我用pwm斩波,输出的电流就含有特定次谐波,这个谐波有奇有偶,比如这张图,这是我加了20载波比的pWM电路的定子某一点上的切向磁密fft分析,明显有18、22、38、42次谐波

仿真小张 发表于 2021-6-21 22:27

我是一棵小草 发表于 2021-6-21 14:44
这个偶数倍频我也有呀,比如我用pwm斩波,输出的电流就含有特定次谐波,这个谐波有奇有偶,比如这张图 ...

因为我的是永磁同步发电机,然后就是算的是空载的相电压 ,所以只有永磁体产生作用

13298196910 发表于 2021-7-5 22:15

仿真小张 发表于 2021-6-21 22:27
因为我的是永磁同步发电机,然后就是算的是空载的相电压 ,所以只有永磁体产生作用

用matlab分解产生偶数次的原因是,数据点过少,如果你来一个内插值,把数据点增加,偶数次谐波会减低甚至消失

仿真小张 发表于 2021-7-6 09:32

13298196910 发表于 2021-7-5 22:15
用matlab分解产生偶数次的原因是,数据点过少,如果你来一个内插值,把数据点增加,偶数次谐波会减低甚至 ...

我的一个周期内的数据点有800个了,但是我的转速是15rpm的,电频率是10Hz的。800个数据点应该后吧

仿真小张 发表于 2021-7-6 09:33

13298196910 发表于 2021-7-5 22:15
用matlab分解产生偶数次的原因是,数据点过少,如果你来一个内插值,把数据点增加,偶数次谐波会减低甚至 ...

能加你个联系方式吗,或者您加我一下15573257001,这个是vx。
页: [1] 2
查看完整版本: 关于maxwell自带FFT与matlab的FFT程序结果的对比,结果有点对不上