短时傅里叶变换
最近在用短时傅里叶变换做项目,请问,怎么得到频率与时间的变化图?下面是我画的程序:%%STFTSTFT=fft(y);%%Powersepctrumd=abs(STFT(...
最近在用短时傅里叶变换做项目,请问,怎么得到频率与时间的变化图?
下面是我画的程序:
%% STFT
STFT = fft(y);
%% Powersepctrum
d = abs(STFT(1:windowlength/2,:)).^2;
Power_spectrum = 2/windowlength*d;
%tune time and frequency for plotting
t = (1:size(y,2))*windowlength/Fs;
frequency = (0:windowlength/2-1)/windowlength*Fs;
%% Plot the fast fourier by windowing
if gr
figure,surf(t,frequency,Power_spectrum);
shading interp;
xlabel('time');ylabel('frequency');zlabel('Power spectrum');
end
怎么得到频率与时间的变化图? 展开
下面是我画的程序:
%% STFT
STFT = fft(y);
%% Powersepctrum
d = abs(STFT(1:windowlength/2,:)).^2;
Power_spectrum = 2/windowlength*d;
%tune time and frequency for plotting
t = (1:size(y,2))*windowlength/Fs;
frequency = (0:windowlength/2-1)/windowlength*Fs;
%% Plot the fast fourier by windowing
if gr
figure,surf(t,frequency,Power_spectrum);
shading interp;
xlabel('time');ylabel('frequency');zlabel('Power spectrum');
end
怎么得到频率与时间的变化图? 展开
展开全部
a=wavread('jiasiqi.wav'); %将音频信号jiasiqi.wav读入
subplot(2,1,1), %分配画布,一幅图上共两个图,这是第一个
plot(a);title('original signal'); %画出原始信号,即前面这个音频信号的原始波形
grid %添加网格线
N=256; %设置短时傅里叶变换的长度,同时也是汉明窗的长度
h=hamming(N); %设置汉明窗
for m=1:N %用汉明窗截取信号,长度为N,主要是为了减少截断引起的栅栏效应等
b(m)=a(m)*h(m)
end
y=20*log(abs(fft(b))) %做傅里叶变换,取其模值,即幅频特性,然后用分贝(dB)表示
subplot(2,1,2) %分配画布,第二副图
plot(y);title('短时谱'); %画出短时谱
grid %添加网格线
满意请采纳。
subplot(2,1,1), %分配画布,一幅图上共两个图,这是第一个
plot(a);title('original signal'); %画出原始信号,即前面这个音频信号的原始波形
grid %添加网格线
N=256; %设置短时傅里叶变换的长度,同时也是汉明窗的长度
h=hamming(N); %设置汉明窗
for m=1:N %用汉明窗截取信号,长度为N,主要是为了减少截断引起的栅栏效应等
b(m)=a(m)*h(m)
end
y=20*log(abs(fft(b))) %做傅里叶变换,取其模值,即幅频特性,然后用分贝(dB)表示
subplot(2,1,2) %分配画布,第二副图
plot(y);title('短时谱'); %画出短时谱
grid %添加网格线
满意请采纳。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询