声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2521|回复: 3

[FFT] 求助频谱图幅值与fft变换点的关系

[复制链接]
发表于 2009-3-19 16:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 wdhd 于 2016-9-18 13:18 编辑

  [x1,fs,Nbits]=wavread('110.wav');
  [a,b]=size(x1); %好像就差这儿
  t=0:1/a:(1-1/a);
  Au=3;
  d=[Au*cos(2*pi*2000*t)]';
  d1=fft(d);
  f=fs*(0:511)/1024;
  subplot(2,1,1);plot(abs(d1(1:512)));
  title('原始语音信号FFT频谱');
  subplot(2,1,2);plot(f,abs(d1(1:512)));
  title('原始语音信号频谱');xlabel('Hz');ylabel('magnitude');图形见附件1
  fft变换点数为1024时;
  d1=fft(d,1024);
  f=fs*(0:511)/1024;
  subplot(2,1,1);plot(abs(d1(1:512)));
  title('原始语音信号FFT频谱');
  subplot(2,1,2);plot(f,abs(d1(1:512)));图形见附件2
  请高手帮忙看下。为什么幅值相差那么大阿?
d.JPG
d1024.JPG
回复
分享到:

使用道具 举报

发表于 2009-3-19 18:39 | 显示全部楼层
[原创]关于FFT的频谱对应关系
http://forum.vibunion.com/forum/thread-23614-1-5.html
发表于 2009-3-19 20:42 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-18 13:18 编辑
原帖由 lianmei1984 于 2009-3-19 16:58 发表
[求助频谱图幅值与fft变换点的关系
  [x1,fs,Nbits]=wavread('110.wav');
  [a,b]=size(x1); %好像就差这儿
  t=0:1/a:(1-1/a);
  Au=3;
  d=[Au*cos(2*pi*2000*t)]';
  d1=fft(d);
  f=fs*(0:511)/1024;
  subplot(2,1,1);plot(abs(d1(1:512)));
  title('原始语音信号FFT频谱');
  subplot(2,1,2);plot(f,abs(d1(1:512)));
  title('原始语音信号频谱');xlabel('Hz');ylabel('magnitude');图形见附件1
  %fft变换点数为1024时;
  d1=fft(d,1024);
  f=fs*(0:511)/1024;
  subplot(2,1,1);plot(abs(d1(1:512)));
  title('原始语音信号FFT频谱');
  subplot(2,1,2);plot(f,abs(d1(1:512)));图形见附件2

  看了楼主提供的程序和图,似乎有些不太对劲,附件1和附件2似乎不是同一个信号?同时程序中有些不妥之处。
  1,在读入语音信号后,给出了fs,则时间序列t应设置为t=0:1/fs:(1-1/fs);而不是t=0:1/a:(1-1/a),除非a=fs。
  2,按程序:
  subplot(2,1,1);plot(abs(d1(1:512)));
  title('原始语音信号FFT频谱');
  subplot(2,1,2);plot(f,abs(d1(1:512)));
  title('原始语音信号频谱');xlabel('Hz');ylabel('magnitude');图形见附件1
  给出的图应有上下两幅,而现在只有一幅,不知是(2,1,1)的图还是(2,1,2)的图。附件2一样有这问题。
  3,附件1给出的似乎是语音信号的图,而附件2似乎是正弦信号的图。
  但按程序附件1的图是plot(abs(d1(1:512))); 即d1的图,d1又是从余弦信号变换而来的:
  d=[Au*cos(2*pi*2000*t)]';
  d1=fft(d);
  频谱应是一条谱线,但谱图中不是一条谱线,所以我说象音信号的谱图。
  4,如果d1=fft(d),d的长度又不是1024,则频率就不能这样设置了:f=fs*(0:511)/1024,只有d1=fft(d(1:1024))时,才能这样设置plot中的频率:plot(f,abs(d1(1:512)))。
发表于 2009-4-24 14:30 | 显示全部楼层
学习了。。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-26 09:35 , Processed in 0.062827 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表