时域响应功率谱密度分析

各位好,我现在有时间序列响应数据,想对其进行响应谱分析,得到能量谱密度。我现在有一个PSDmatlab代码,但是得出的结果峰值对应的频率和我想要的频率有点偏差,不知道代码有没有问题。

x0=csvread('LC2 only jacket.csv',6009,4,[6009,4,12309,4]);
x=x0(1:end,:);
n = length(x);
fs=70;
tt=1/fs;
T=ntt;
y = fft(x);
y = y(1:n/2+1);
xx = (1/(n)) * abs(y);
xx(2:end-1) = 2
xx(2:end-1);
psdx = (1/(fsn6.28)) * abs(y).^2;
psdx(2:end-1)=2*psdx(2:end-1);
freq=0:fs/n:fs/2;
heng=freq';
smo=smoothdata(psdx,'gaussian',10);
plot(freq,(smo));
xlim([0 2]);
set(gca,'XTick',[0:0.2:2]);
hold off;

img

而且峰值对应频率随这采用频率的改变也改变