声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1029|回复: 1

[编程技巧] 关于信号频率问题

[复制链接]
发表于 2007-10-14 16:28 | 显示全部楼层 |阅读模式

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

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

x
(1)
N=2048;
[x1,fs,NBITS]=wavread('d:\11.wav'); %读取语音信号的数据,赋给变量x1
y1=fft(x1,N);           %对信号做2048点FFT变换
y1 = fftshift(y1);
f=fs*(0:1024)/2048;
pyy=y1.*conj(y1)/2048;
plot(f,pyy(1:1025));
(2)t = 0:0.001:0.6;
x = sin(2*pi*50*t)+sin(2*pi*120*t);
y = x + 2*randn(size(t));
plot(1000*t(1:50),y(1:50))

title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')
Y = fft(y,512);
Pyy = Y.* conj(Y) / 512;
f = 1000*(0:256)/512;
plot(f,Pyy(1:257))

程序(1)(2)中的红色部分,一个用fs乘,一个用1000乘。请问f=fs*(0:1024)/2048;中的fs位置的数值是怎么取值的?画出的图横坐标是频率还是点数?我想知道一个声音信号的频率范围应该怎么做?画功率谱图还是画其它的?谢谢!

[ 本帖最后由 eight 于 2007-10-14 17:07 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-10-14 17:07 | 显示全部楼层
原帖由 weipeng 于 2007-10-14 16:28 发表
(1)
N=2048;
[x1,fs,NBITS]=wavread('d:\11.wav'); %读取语音信号的数据,赋给变量x1
y1=fft(x1,N);           %对信号做2048点FFT变换
y1 = fftshift(y1);
f=fs*(0:1024)/2048;
pyy=y1.*conj(y1)/2048; ...


请移步信号处理方法板块,然后自己搜索一下,估计就能找到答案了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-16 03:48 , Processed in 0.047568 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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