size - Error Matlab code -
i code subband coding, , delay signal code:
n = 18; %setting filter length [h0,h1,g0,g1] = firpr2chfb(n-1,0.4); % matlab function analysis/synthesis num=20000; [x,fs,nbits] = wavread('sub1.wav',num); % analysis part % level 1 x0 = filter(h0,1,x); % lowpass filtering x1 = filter(h1,1,x); % highpass filtering v0 = downsample(x0,2); % down-sampling, signal component v_0[n] v1= downsample(x1,2); % down-sampling, signal component v_1[n] % level 2 x2= v0; % selecting lowpass output level input level x02 = filter(h0,1,x2); % lowpass filtering x12 = filter(h1,1,x2); % lowpass filtering v02= downsample(x02,2); % down-sampling v12= downsample(x12,2); % down-sampling v2= v12; % signal component v_2[n] % level 3 x3= v02; % selecting lowpass output level input level x03 = filter(h0,1,x3); % lowpass filtering x13 = filter(h1,1,x3); % highpass filtering v03= downsample(x03,2); % down-sampling v13= downsample(x13,2); % down-sampling v3= v13; % signal component v_3[n] w13= [zeros(size(1:n-1)) v3(1:length(v3)-(n-1))] but receive error
error in ==> octavesubband @ 40 w13= [zeros(size(1:n-1))v3(1:length(v3)-(n-1))]; %inserting delay z^(-(n-))
i don't know fix it. please me. thanks
well starts looking @ size of array trying concatenate:
>> size(v3(1:length(v3)-(n-1))) ans = 2483 1 >> size(zeros(size(1:n-1))) ans = 1 17 which suggest need transpose 1 of them:
w13= [zeros(size(1:n-1))'; v3(1:length(v3)-(n-1))]; or
w13= [zeros(size(1:n-1)) v3(1:length(v3)-(n-1))'];
Comments
Post a Comment