声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1522|回复: 3

[综合讨论] 请教关于声音信号处理中的困惑

[复制链接]
发表于 2007-6-9 15:50 | 显示全部楼层 |阅读模式

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

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

x
用这个程序输入声音:
[Y,FS,NBITS]=WAVREAD('d:\111.wav');
plot(Y); title('声音信号'); xlabel('n'); ylabel('Sound'); grid on

画出的图单位是什么?为什么有10∧5呢?我这个声音文件播放时是20秒,如何将横坐标做成从1到20呀? yuan.jpg

尔后进行FFT变换:
(1)
y=fft(Y,1024); pyy=y.*conj(y)/512;f=1000*(0:256)/512; plot(f,pyy(1:257));
fft3.jpg
(2)
Freq=fft(Y,1024); plot(abs(Freq(1:512)));
fft4.jpg
(1)与(2)画出的图差不多,只有微小不同,请问它们的意义一样吗?得到FFT图后,图像小如何放大呢?
做FFT变换用上述的程序可以吗? 谢谢指教!

[ 本帖最后由 ChaChing 于 2010-5-9 16:43 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-6-9 16:06 | 显示全部楼层
1. 请把 plot 的第一个参数改为 x (参考你自己的第二个问题)
2. 一个是幅值,一个是幅值的平方,你说一样吗

[ 本帖最后由 ChaChing 于 2010-5-9 15:01 编辑 ]
发表于 2007-6-9 16:13 | 显示全部楼层
画出的图单位是什么?为什么有10∧5呢?我这个声音文件播放时是20秒,如何将横坐标做成从1到20呀?


横坐标应该是点数,修改一下代码就可以将横坐标改成时间:
  1. [Y,FS,NBITS]=WAVREAD('d:\111.wav'); [m,n]=size(Y);
  2. plot(linspace(0,20,m),Y);
  3. title('声音信号'); xlabel('t'); ylabel('Sound'); grid on
复制代码

如果不知道声音文件的实际时间长度,则可以改写为下面代码

  1. [Y,FS,NBITS]=wavread('type.wav'); [m,n]=size(Y);
  2. plot(linspace(0,m/FS,m),Y);
  3. title('声音信号'); xlabel('t'); ylabel('Sound'); grid on
复制代码


[ 本帖最后由 ChaChing 于 2010-5-9 16:49 编辑 ]

评分

1

查看全部评分

发表于 2008-3-6 19:54 | 显示全部楼层
多谢了!我刚好要用到!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-12 06:45 , Processed in 0.071474 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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