小玲子 发表于 2008-7-4 17:16

基于matlab的语音快速傅立叶变换

对自己录入的一段语音读进去后如何进行加窗的fft啊,要求是矩形窗,程序该咋写啊,关键是不会加窗.在次请教各位高手了,请不吝赐教,非常感谢啊...

songzy41 发表于 2008-7-4 17:53

加矩形窗进行FFT运算,等于对数据分段后进行FFT运算。例如窗长256,则在不重叠的条件下,等于每次从语音数据中取256个数据,再做FFT运算。

小玲子 发表于 2008-7-4 20:15

回复 2楼 的帖子

找了一些程序,可是看不懂,我自己又加了点,不知道对不对,刚接触这个,感觉陌生得很

clear all;
fs=8000;%设定采样频率
N=512;
n=0:N-1;
t=n/fs;
=wavread('D:\程序\MATLAB\work\yuyin.wav');
time=(1:length(x))/fs;      % 時間軸的向量
plot(time,x)
%title('原始语音信号');
grid;
win = boxcar(N)';
ls = length(x);
lw = length(win);
lm = lw;

i = 1;                % block counter and index
while lw < ls,      % throws away the last unfilled block
blocki =x(1,lw-lm+1:lw).*win;
x(i,1:fftlength)=fft(blocki,fftlength);
lw = lw + tr;
i = i + 1;
end


return


a = abs(x);
a = a';
a = a/max(max(a));
a = 1-a;
a = a*128;
figure;
可以帮忙解释下吗?
谢谢:)

[ 本帖最后由 风花雪月 于 2008-8-10 10:17 编辑 ]

laneliu 发表于 2008-7-5 10:20

非平稳信号

语音信号是非平稳信号,能用FFT分析吗?

天下无雪 发表于 2008-7-13 18:09

不懂哦,来看看~~~~
:@) :@)

风花雪月 发表于 2008-8-10 10:19

在matlab中用specgram命令就可以了

风花雪月 发表于 2008-8-10 10:22

原帖由 laneliu 于 2008-7-5 10:20 发表 http://www.chinavib.com/forum/images/common/back.gif
语音信号是非平稳信号,能用FFT分析吗?

通常情况下,语音信号是非平稳信号,用FFT是不合适的
但是在很短的时间内,语音信号可以认为是平稳的,这时FFT就可以用了
页: [1]
查看完整版本: 基于matlab的语音快速傅立叶变换