how to resolve "matrix dimension exceeded "error?

1 次查看(过去 30 天)
please suggest me how to resolve this error in mfcc process-
z=log(H1*(w1(39:K-1)).*conj(w1(39:K-1)));
??? Index exceeds matrix dimensions.
my program is
close all;
clear all;
clc;
%%%%%%%%%%%%%sample read%%%%%%%%%%%%
fs=16000; %sampling frequency, in 1 second take 16000 samples
[s1,f,nbit]=wavread('t on.wav');%read sample 1
[s2,f,nbit]=wavread('t off.wav');%read sample 2
[s3,f,nbit]=wavread('f on.wav');%read sample 3
[s4,f,nbit]=wavread('f off.wav');%read sample 4
%%%%%%%%%%%%%%%%%%%preemphasis%%%%%%%%%%%%%%
B = [1 0.95];
r1 = filter(B,1,s1);
r2 = filter(B,1,s2);
r3 = filter(B,1,s3);
r4 = filter(B,1,s4);
%%%%%%%%%%%%%%windowing,framing and fft%%%%%%%%%%%%
r5=resample(r1,16000,f);
r6=resample(r2,16000,f);
r7=resample(r3,16000,f);
r8=resample(r4,16000,f);
SegmentStep=fs*.02;
noverlap=fs*.025;
framelength=SegmentStep+noverlap ;
nfft=length(r5);
nsegments=floor(nfft/(SegmentStep))-1;
w1=specgram(r5,hamming(framelength),noverlap,nfft,fs);
w2=specgram(r6,hamming(framelength),noverlap,nfft,fs);
w3=specgram(r7,hamming(framelength),noverlap,nfft,fs);
w4=specgram(r8,hamming(framelength),noverlap,nfft,fs);
lfft = 2^12; % fft size (number of frequency bins)
K = lfft/2+1; % length of each filter
M = 40; % number of filters
hz2mel = @(hz)(1127*log(1+hz/700)); % Hertz to mel warping function
mel2hz = @(mel)(700*exp(mel/1127)-700); % mel to Hertz warping function
% Design mel filterbank of M filters each K coefficients long,
% filters are uniformly spaced on the mel scale between 0 and Fs/2 Hz
[ H1, freq ] = trifbank( M, K, [300 fs/2], fs, hz2mel, mel2hz );
figure
plot( freq, H1 );
xlabel( 'Frequency (Hz)' ); ylabel( 'Weight' ); set( gca, 'box', 'off' );
z=log(H1*(w1(40:K)).*conj(w1(40:K)));
please also suggest me next steps to complete this mfcc process
  1 个评论
dpb
dpb 2015-10-15
Use code button to format code legibly...
But, set breakpoint and see what are
length(w1)
and
K % ?
K must be <= length(w1)
It appears K will be 2048; too hard to try to parse to figure out what size(w1) might be.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Feature Extraction 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by