Index exceeds matrix dimensions at buffer function
Afficher commentaires plus anciens
Here is what i'm gona trying to do :
- I read a .wav file called tes.wav stored in y
- I try performing 3-level Haar Wavelet Transform on it
- I try to framing the D3 (detail subband level 3)
So i have this following code :
f=wavread('tes.wav','native');
v=[1/sqrt(2) 1/sqrt(2)];
w=[1/sqrt(2) -1/sqrt(2)];
if mod(length(f),2)~=0
f=[f 0];
end
d=length(f);
m=1:d/2;
a1=f(2*m-1).*v(1) + f(2*m).*v(2);
d1=f(2*m-1).*w(1) + f(2*m).*w(2);
d=length(a1);
m=1:d/2;
a2=a1(2*m-1).*v(1) + a1(2*m).*v(2);
d2=d1(2*m-1).*w(1) + a1(2*m).*w(2);
d=length(a2);
m=1:d/2;
a3=a2(2*m-1).*v(1) + a2(2*m).*v(2);
d3=d2(2*m-1).*w(1) + a2(2*m).*w(2);
x=d3(1:length(d3),1);
frame=buffer(x,10);
But i Keep getting error message like this :
??? Index exceeds matrix dimensions.
Error in ==> Project at 32 x=d3(1:length(d3),1);
Réponse acceptée
Plus de réponses (1)
Shashank Prasanna
le 27 Fév 2013
Modifié(e) : Shashank Prasanna
le 27 Fév 2013
>> clear
and start fresh, There could be a conflict in the name of the variable vs name of the function
2 commentaires
Sean de Wolski
le 27 Fév 2013
Yeah; looks like length() was shadowed.
which -all length
I Made
le 28 Fév 2013
Catégories
En savoir plus sur Discrete Multiresolution Analysis dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!