taking FFT from a part of the signal
3 次查看(过去 30 天)
显示 更早的评论
Hello all, I have a sound signal in time domain , How can I take the FFT of a excerpt of it, say a 40ms section from 0.026sec to 0.3sec? Ive just been able to plot that segment in time domain, but I can not figure out how to plot its spectrum.. Here is my code, I hope someone can make it done.. Cheers,
clear all
close all
clc
%%Loading,Plotting and Listening to the signal
figure
[signal,Fs,nbits,opts] = wavread('stry.wav'); % Load
tSampling=1/Fs;
n=length(signal);
t=(0:n-1)*tSampling; %Making the time vector
plot(t,signal); % Plot
sound(signal,Fs); % Listen
%%2)Plot a 40ms section in the middle of the vowel /iy/
figure
plot(t,signal)
axis([0.3 0.34 -0.2 0.2]);
%%Taking FFT
signalF=fft(signal(0.03:0.34),1024);
fAxis=-Fs/2:Fs/1024:Fs/2-Fs/1024; %Making the frequency vector
plot(fAxis,abs(signalF));
title('Spectrum of signal(t)');
xlabel('Frequency (Hz)');
ylabel('|signal(f)|');
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spectral Measurements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!