计算出的数据进行FFT,频域信号不正确。
下图是时域图
下图是我得出的频域图
(频域图的横纵坐标代表什么?)
代码如下,v是数据。
fs=10000;
T=1/fs;
N=length(v);
n=0:N-1;
y=fft(v,N);
mag=abs(y);
f=n*fs/N;
a=f;
b=mag;
不知道是代码的问题还是别的
感谢解答
计算出的数据进行FFT,频域信号不正确。
下图是时域图
下图是我得出的频域图
(频域图的横纵坐标代表什么?)
代码如下,v是数据。
fs=10000;
T=1/fs;
N=length(v);
n=0:N-1;
y=fft(v,N);
mag=abs(y);
f=n*fs/N;
a=f;
b=mag;
不知道是代码的问题还是别的
感谢解答
fft变换,自己看代码:
假设你有时间数组t和信号数组v,如此即可
fs = floor(1/mean(diff(t)));
x = v;
n = 2^floor(log2(length(x)));
t = t(1:n);
x = x(1:n);
L = numel(t);
%然后对x作傅里叶变换,按照采样频率1000
%这样的话就会出现200赫兹地方的双冲击
y = fft(x,n);
P2 = abs(y/L);
k = floor(L/2);
f = (0:k-1)*fs/L;
plot(f(1:k),P2(1:k))
xlabel('频率');ylabel('幅值')
一定要注意,采样频率和时间之间的关系