2010-04-07 196 views

回答

1

有很多方法。例如,您可以使用conv

对于一维谱图:

%# create some sample data 
spectrogram = randn(1,1000); %# row vector of length 1000 with random values 

%# define filter window 
windowSize = 5; %# size of filter window 

%# filter 
filteredSpectrogram = conv(spectrogram,ones(1,windowSize)/windowSize,'same'); 

对于二维谱图(和水平仅为filter)

%# create some sample data 
spectrogram = randn(100,1000); %# 100 rows, 1000 cols of random values 

%# define filter window 
windowSize = 5; %# size of filter window 

%# filter 
filteredSpectrogram = conv2(spectrogram,ones(1,windowSize)/windowSize,'same'); 
+0

感谢名单了很多......这将是真正有用的... 一个更但是,尽管...我需要以谱图的形式存储某些声音样本...我如何将声波转换为谱图? – user310531 2010-04-09 03:25:31

+0

如果您有信号处理工具箱,请使用'fft'(或'spectrogram')转换到频域。 – Jonas 2010-04-09 07:49:15

+0

另外,如果你认为一个有用的答案,请考虑接受/ upvoting它。 – Jonas 2010-04-09 07:49:42