- 积分
- 1
- 注册时间
- 2013-8-11
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2014-5-31 17:33:18
|
显示全部楼层
来自 重庆
假设你的采样率为fs
那么频域谱:plot((-N/2:N/2-1)*fs/N,fftshift(fft(y,N)));
N为数据长度。此时横轴为实际频率Hz
PS:网上资料:
s=importdata('s.txt');%数据以txt格式文件保存
y=fft(s,1024); %引入1024,是因为2的整数次幂点的FFT更好做一点,调用这个函数相当于将长度为1000的s补零至1024个点,做1024点FFT,效果等效于频域增加采样点
pyy=y.*conj(y); %不相当于ppy=abs(y),相当于ppy=abs(y).^2
f=10000*(0:512)/1024; %设定横坐标尺度,提醒一下楼主,10E-7对应的1E-6,你的意思应该是1E-7吧.因为横坐标以1kHz为单位,采用频率应该是10000kHz,所以10000代表的是这个意思,FFT最中间的点(以0开头的512点或者以1开头的513点)代表了一半采样频率的频率分量.
plot(f,pyy(1:513),'.-'); %绘制命令,如果要达到左图的频率范围,建议采用plot(f(1:25),pyy(1:25),'.-'),但是可以看到绘制的点数太少.
希望对你有用~ |
评分
-
2
查看全部评分
-
|