Wednesday, April 24, 2019

matlab - Filter is too large


Hi I'm trying to separate sound from music using wfilters and heard each part separately using its name scale3 function


function s = scale3(q,n)
p = length(q);
if p==n
s = q;
else
s = resample(q,n,p);
end


the program


 s = wavread('K:\Khaleel_3aaza (1).wav'); % whatever here
[l,h] = wfilters('sym2','d');
[z.x]=wavedec(s,2,l,h);

-> p = scale3(z.x(25000:40000),45000);

And the function in the program I apply with wfilters and filter works well until approximately 20,000 but the values ​​of the file that I'm working it the larger, and the music begins approximately 3,000 when I ues more than 30000 or more give me this error


??? Error using ==> upfirdnmex
Filter length is too large - reduce problem complexity.


Error in ==> upfirdn at 86
Y = upfirdnmex(x,h,p,q,Lx,Lh,hCols,nChans);

Error in ==> resample at 106
y = upfirdn(x,h,p,q);

Error in ==> scale3 at 6
s = resample(q,n,p);


Error in ==> Untitled2 at 7
p = scale3(z.x(25000:40000),45000);

I don't understand what that means ? ang how I can fix it thank you for help




No comments:

Post a Comment

digital communications - Understanding the Matched Filter

I have a question about matched filtering. Does the matched filter maximise the SNR at the moment of decision only? As far as I understand, ...