asdfasdftopaz 发表于 2007-12-13 21:53

这个FFT应该怎么看?

求 x=5*sin(2*pi*5*t)的频谱图

这个正弦波形的频率是5,但是得到的FFT图像在46,7的位置也有频率分布?

function aaa()
Ts=0.02;
t=-1:Ts:1;
%采样信号频率是fs=50;
fs=1/Ts;
%原信号频率是5;
x=5*sin(2*pi*5*t);
%N是总共的采样点数,N=101;
N=length(x);
fx=fft(x);
%N个点有N-1个间隔;
df=fs/(N-1);
n=0:N-1;
f=n*df;
subplot(211);
plot(t,x);grid;
subplot(212);
plot(f,abs(fx)); grid;

zhlong 发表于 2007-12-14 08:40

df=fs/(N-1); 改为 df=fs/N;

实信号的频谱本来就是两边对称的,所以只要取一半的频谱就可以了!

asdfasdftopaz 发表于 2007-12-14 16:27

本帖最后由 wdhd 于 2016-9-10 14:15 编辑

原帖由 zhlong 于 2007-12-14 08:40 发表
df=fs/(N-1); 改为 df=fs/N;

实信号的频谱本来就是两边对称的,所以只要取一半的频谱就可以了!
我改过了,结果一样呀..

大大能否从我的代码中改下?

zhlong 发表于 2007-12-15 15:22

Ts=0.02;
t=-1:Ts:1-Ts;
%采样信号频率是fs=50;
fs=1/Ts;
%原信号频率是5;
x=5*sin(2*pi*5*t);
%N是总共的采样点数,N=101;
N=length(x);
fx=fft(x);
%N个点有N-1个间隔;
df=fs/(N);
n=0:N-1;
f=n*df;
subplot(211);
plot(t,x);grid;
subplot(212);
plot(f,abs(fx)); grid;

花如月 发表于 2007-12-15 16:13

单边谱绘制,记得eight写过一个帖子。

楼主可以找找看

jytan 发表于 2007-12-16 14:00

本帖最后由 wdhd 于 2016-9-10 14:15 编辑

原帖由 asdfasdftopaz 于 2007-12-13 21:53 发表
求 x=5*sin(2*pi*5*t)的频谱图

这个正弦波形的频率是5,但是得到的FFT图像在46,7的位置也有频率分布?

function aaa()
Ts=0.02;
t=-1:Ts:1;
%采样信号频率是fs=50;
fs=1/Ts;
%原信号频率是5;
x=5*s ...
这位兄弟问题里面好像包括两部分吧。
其一是怎么会在5的周围出现频率成分,
是不是应该为0,对不?

这个理由很简单,是频率分辨率的问题,
matlab里面都是连点成线,相当于线性插值,
所以会有过渡的情况出现。
如果你把采样点数变多,如t=-10:Ts:10,你会发现,
谱峰会尖锐一些。也就是5周围的频率成分变小了。

第二个问题是怎么会有两个谱峰?
这个前面几位大侠回答过来,
你画出单边谱就行了。
现在奉上作频率分析的子程序,
仅供参考。
其中x为信号,fs不用解释了,呵呵采频。
function f=frequency(x,fs)
dtlen=length(x);
t=(0:dtlen-1)/fs;
subplot(211);
plot(t,x);
axis tight;
y=abs(fft(x-mean(x)))*2/dtlen;
ff=(0:dtlen/2-1)*fs/dtlen;
subplot(212);
f=y(1:floor(dtlen/2));
plot(ff,f);
axis tight;
return;

jytan 发表于 2007-12-16 14:04

再给你附个图。
注意我的幅值归一化过。

asdfasdftopaz 发表于 2007-12-17 16:37

谢谢各位,小弟明白了!

easykevin 发表于 2008-4-25 23:56

回复 6楼 的帖子

请问
在你的code里,
为何做FFT前,要去均值呢?
fft(x-mean(x))
这点,我不是太清楚。

thanks

antonylau 发表于 2008-4-26 14:08

本帖最后由 wdhd 于 2016-9-10 14:15 编辑

原帖由 easykevin 于 2008-4-25 23:56 发表
请问
在你的code里,
为何做FFT前,要去均值呢?
fft(x-mean(x))
这点,我不是太清楚。

thanks

脉动的fft?并归一化

songzy41 发表于 2008-4-26 18:04

本帖最后由 wdhd 于 2016-9-10 14:16 编辑

原帖由 easykevin 于 2008-4-25 23:56 发表
请问
在你的code里,
为何做FFT前,要去均值呢?
fft(x-mean(x))
这点,我不是太清楚。

thanks
消除直流分量.

wwbeyondww 发表于 2008-5-8 21:16

回复 11楼 的帖子

为啥要消除直流分量呢?
另外,假如信号不是正弦信号,比如说,我是个高斯脉冲序列,那么直流分量还是用mean来求么???
页: [1]
查看完整版本: 这个FFT应该怎么看?