fs*(0:1023)/2048

fs*(0:1023)/2048
源程序是这样的,希望哪个高手能详细地讲解下,小弟感激不尽~
fs=8000; %语音信号采样频率为8000
x1=wavread('1.wav');
t=(0:length(x1)-1)/8000;
y1=fft(x1,2048); %对信号做2048点FFT变换
f=fs*(0:1023)/2048; % 主要是这一句到底是什么意思 看不懂.
figure(1)
plot(t,x1) %做原始语音信号的时域图形
grid on;axis tight;
title('原始语音信号');
xlabel('time(s)');
ylabel('幅度');
figure(2)
plot(f,abs(y1(1:1024))) %做原始语音信号的FFT频谱图
grid on;axis tight;
title('原始语音信号FFT频谱')
xlabel('Hz');
ylabel('幅度');
baiyunruofei 1年前 已收到1个回答 举报

只是一只蜗牛 春芽

共回答了18个问题采纳率:83.3% 举报

用FFT的方法来观察语音信号的频谱,做FFT的时候,nfft=2048表示做FFT的点数,FFT谱线从第0点一直到第nfft/2-1点分别表示nfft个频率点
区间[0,nfft/2]与0~Fs/2对应,于是0~Fs/2就被划分成nfft个小间隔,也就是f=fs*(0:1023)/2048; 这样做FFT的图时,将其作为横轴,即
plot(f,abs(y1(1:1024))) %做原始语音信号的FFT频谱图

1年前

7
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.208 s. - webmaster@yulucn.com