24小时热门版块排行榜    

查看: 2799  |  回复: 18
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xunking

银虫 (初入文坛)

[求助] FFT算法的一个问题请教

以下是matlab 的help fft 文档中的实例,有一个问题不太明白,望不吝指教:
Fs = 1000;                    % Sampling frequency
T = 1/Fs;                     % Sample time
L = 1000;                     % Length of signal
t = (0:L-1)*T;                % Time vector
% Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
y = x + 2*randn(size(t));     % Sinusoids plus noise
plot(Fs*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')

NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2);

% Plot single-sided amplitude spectrum.
plot(f,2*abs(Y(1:NFFT/2)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')

请问这里"Y = fft(y,NFFT)/L;”
为什么是除以L,而不是除以NFFT。
L点x序列补零后使之成为长NFFT点的序列,由IFFT的定义应该是除以NFFT才对啊?但是实验情况确实除以L,不知道是不是MATLAB里补零后FFT的定义不一样了。

我实验中验证了,确实应该除以L而不应该是NFFT。
(NFFT=2^15长度的FFT变换,fft除以长度L,幅值才大概是对的大概,除以NFFT反而不对,实验如下:
n=1:1024;
LL=1024;
Vs=sin(2*pi*100*n/1000);
y=fft(Vs,2^15)/LL;%y=fft(Vs,2^15)/2^15
figure;plot((1:2^15)/2^15*1000,2*abs(y))
)
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xunking

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by noreason2 at 2012-04-23 13:11:54:
虽然用FFT算出的点由于填0的原因数量多了,但是只有前L点有效,所以应该除以L。看看这篇论文:
<FFT补零充位问题的补充>

谢谢你的回复。
我大概理解了,这确实是一个好问题,可能很多人在学习中忽略了。我觉得应该如下理解:
从帕斯瓦尔定理,即sum(Vs(n)^2)=sum(|y(k)|^2)/NFFT,当补充零点后每个转换的“幅值”确实应该下降的。因为补零后频域更密集的采样,如果原来对应的幅值仍然不变的话,能量就不守恒了。所以补零后由y(k)计算的信号幅值不是原始信号幅值,其中需要一个比例的变换。
所以正确的理解过程应该如下:
n=1:1024;
LL=1024;
Vs=sin(2*pi*100*n/1000);
y=fft(Vs,2^15)/2^15
y_real=y*2^15/LL %增加一个比例变换
figure;plot((1:2^15)/2^15*1000,2*abs(y_real))
4楼2012-04-23 16:00:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 19 个回答

noreason2

新虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xunking: 金币+5, 有帮助, 谢谢 2012-04-23 16:04:23
xunking: 金币+8, ★★★很有帮助 2012-04-25 18:58:08
虽然用FFT算出的点由于填0的原因数量多了,但是只有前L点有效,所以应该除以L。看看这篇论文:
2楼2012-04-23 13:11:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

afu2007

铁杆木虫 (职业作家)

请教:
plot((1:2^15)/2^15*1000,2*abs(y))
这条语句里面为什么是2*abs(y),而不是abs(y)
3楼2012-04-23 13:20:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xunking

银虫 (初入文坛)

引用回帖:
3楼: Originally posted by afu2007 at 2012-04-23 13:20:35:
请教:
plot((1:2^15)/2^15*1000,2*abs(y))
这条语句里面为什么是2*abs(y),而不是abs(y)

DFT变换后频谱有正负分量,他们的幅值恰好共轭对称,全部折算为正频分量才具有实际意义!
关于这个问题的理解欢迎继续讨论交流!
5楼2012-04-23 16:10:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 时间戳又变了8-15 +12 archvillain 2026-08-15 23/1150 2026-08-15 20:47 by foyo404
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +7 Ldrop2023 2026-08-13 7/350 2026-08-15 15:57 by mzhh2000
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 22/1100 2026-08-14 23:45 by Noways
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见