MATLAB中进行FFT谱分析,如何将频谱图的横坐标转换成频率?对一段音频信号进行FFT谱分析,长度为500点.横坐标为1-500.现在想将其直接转换为频率,已知采样率为22050HZ 及中心点对应的实际频率最大,应该是11025HZ(采样定理).求达人如何进行转换.使横左边关于中心点对称,中心频率为11025HZ[x,fs,bite]=wavread('C:\WINDOWS\Media\Windows XP 启动.wav',[1000 1499]);z=x(:,1);y=fft(z);sound(x,fs,bite);subplot(2,1,1);plot(abs(y));

问题描述:

MATLAB中进行FFT谱分析,如何将频谱图的横坐标转换成频率?
对一段音频信号进行FFT谱分析,长度为500点.横坐标为1-500.现在想将其直接转换为频率,已知采样率为22050HZ 及中心点对应的实际频率最大,应该是11025HZ(采样定理).求达人如何进行转换.使横左边关于中心点对称,中心频率为11025HZ
[x,fs,bite]=wavread('C:\WINDOWS\Media\Windows XP 启动.wav',[1000 1499]);
z=x(:,1);
y=fft(z);
sound(x,fs,bite);
subplot(2,1,1);plot(abs(y));

[x,fs,bite]=wavread('C:\WINDOWS\Media\Windows XP 启动.wav',[1000 1499]);
z=x(:,1);
y=fft(z);
Y=fftshift(X);
sound(x,fs,bite);
subplot(2,1,1);plot(abs(Y));
将零频分量移至频谱中心的函数
格式:Y=fftshift(X)
功能:用来重新排列X=fft(x)的输出,把X 的左右两半进行交换,从而将零频分量移至频谱中心.