一段电机谐波电流提取的代码(需要自取)

clc
clear all;
Ns=91;
order=31;                           %需要提取的最大次数,提取的谐波次数为1、3、5、....
flux_position = xlsread('data');
pos=flux_position(:,1);             
flux=flux_position(:,2);            %需要计算的电流数据

figure;
plot(pos,flux,'k');                 %绘制原始电流
hold on;                            
grid on;                                             
amp_har=zeros(1,(order+1)/2);       %基波和谐波的显示数量
j=1;
for m=1:2:order    
   fft1=fft(flux,Ns);               
   fund_ele_front=fft1(m+1);        %m次波幅值
   fund_ele_back=fft1(Ns+1-m);
   amp_har(j)=(abs(fund_ele_front))/Ns*2;   %纵坐标值
   fft1=0*fft1;                     %保存数据
   fft1(m+1)=fund_ele_front;
   fft1(Ns+1-m)=fund_ele_back;
   fft1=ifft(fft1,Ns);              %恢复原始电流信号
   fft1=real(fft1);                 
   plot(pos,fft1);                  
   j=j+1;
   hold on;
end 
k=(1:2:order);
figure;
bar(k,amp_har);                     %画出柱状图
grid on;
Value= reshape(amp_har,[],1);

上述即为永磁电机电流数据谐波计算代码,还可以写成软件,方便没有MATLAB基础的小伙伴计算;下一次写好软件给大家奉上,小伙伴们持续跟踪吧!

谢谢小伙伴的关注,后续将陆续为大家奉上数字数据处理原理及代码实现等内容....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值