#数值分析:FFT,加窗FFT,小波换记录
记录一下matlab中时历曲线分析的相关函数
FFT
function out = myFFT(time,data)
% 功能:FFT
% 输入:time:时间
% data:数据
% 输出:out.Fre:频率
% out.Ampti:幅值
% out.Phase:相位
N=length(data);
fft_Data=fft(data);
Ampti = abs(fft_Data) / (N)*2;
Phase = atan2(imag(fft_Data),real(fft_Data));
dt=time(2)-time(1);
Fre=(0:1:(length(time)-1))/(N*dt)*2*pi;
out.Fre=Fre;
out.Ampti=Ampti;
out.Phase=Phase;
end
加窗FFT
function [omega,res] = getWelch(data,dt,N)
% 功能:FFT加窗处理
% 输入:data 数据段
% dt 时间间隔
% N 每段处理数据长度N
fs=1/dt;
% 每段数据之间的重叠区域宽度为:N*1/2
[p,f] = pwelch(data,hamming(N),N/2,N,fs);
omega = f*2*pi;
res = p/2/pi;
% res = sqrt(res); %转化为幅值
end
小波变换
% data时历
% fs采样频率(Hz)
% wt:为f[Hz]与时间t[s]相关(二维矩阵)
[wt,f]=cwt(data,fs);
测试案例
待添加。。。