- 积分
- 574
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 20
- 最后登录
- 1970-1-1
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
|
楼主 |
发表于 2021-6-18 08:44
|
显示全部楼层
来自: 中国湖南湘潭
本帖最后由 仿真小张 于 2021-6-18 08:47 编辑
好的 你看一下
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([0,100]);%设置X轴坐标上下极限 |
|