资源简介

MATLAB对一段音频进行FFT处理,可以绘制出原声音信号的时域波形,可以比较出直接运算和蝶形运算的语音信号FFT频谱特性

资源截图

代码片段和文件信息

clc
clear

[xfsbits]=wavread(‘liuxiaonan.wav‘2048);%音频信号
x1=reshape(x14096);
sound(x1fsbits);
y1=fft(x1);
N=length(x1);
t=(1:N)/fs;
figure(1)
plot(tx1);
title(‘原声音信号的时域波形‘);
xlabel(‘时间/t‘);
ylabel(‘振幅/A‘);
grid;

M=nextpow2(x1);                          % 求x的长度对应的2的最低幂次m 
N=2.^M;
if length(x1)    x1=[x1zeros(1N-length(x1))];            % 若x的长度不是2的幂,补零到2的整数幂 
end 
NV2=N/2;
NM1=N-1;
I=0;
J=0;
while I    if I        T=x1(J+1);
        x1(J+1)=x1(I+1);
        x1(I+1)=T;
    end
    K=NV2; 
    while K<=J
        J=J-K;
        K=K/2;
    end
    J=J+K;
    I=I+1;
end               
%x1; 
y=x1;                              % 将x倒序排列作为y的初始值 
WN=exp(-i.*2.*pi./N);                  %蝶形运算     
for L=1:M
    B=2^L/2;                   

评论

共有 条评论