Buffer processing with high and low pass filtering ?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a buffer named segmen that has < 512 x 490 int16 > values in it
r1c1 r1c2 r1c3 r1c4 r1c5 ... r1c490 (c1= column 1 r1=row 1)
r2c1 r2c2 r2c3 r2c4 r2c5 ... r2c490
.
.
.
r520c1 r2c2 r2c3 r2c4 r2c5 ... r2c490
I want to process it using formula like : (r1c1+r2c1)/2, (r1c1-r2c1)/2 -> low pass and high pass filter
i expect the output to be < 256 x 490 int 16>, but i do it wrong. Here is my code:
f=wavread('tes.wav','native');
v=[1/sqrt(2) 1/sqrt(2)]; %haar scaling function
w=[1/sqrt(2) -1/sqrt(2)]; %haar wavelet function
if mod(length(f),2)~=0
f=[f 0];
end
leftchanel=f(1:size(f),1);
segment=buffer(leftchanel,512);
d=length(segment);
m=1:d/2;
a1=segment(2*m-1).*v(1) + segment(2*m).*v(2);
d1=segment(2*m-1).*w(1) + segment(2*m).*w(2);
Using that code what i got is < 1 x 256 int 16> but i expected < 256 x 490 int 16>, i need advise to correct my mistake please ?
0 Commenti
Risposta accettata
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Discrete Multiresolution Analysis in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!