Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

loop,matrix

0 views
Skip to first unread message

astro mmi

unread,
Nov 24, 2009, 4:53:20 PM11/24/09
to
k=1;l=1;
for t=1:89
if(countvec(t)<60)
voiced(k:k+159)=y((t-1)*160+1:(t-1)*160+160)';
k=k+159;
else
unvoiced(l:l+159)=y((t-1)*160+1:(t-1)*160+160)';
l=l+159;
end
end

Hi everyone,
In the above code I am trying to separate voiced and unvoiced components.If the value in countvec<60,the corresponding frame of original signal is assigned to the current frame of voiced else the same is done to unvoiced.But,I am not getting the required waveform.I want to know what is the flaw in the above segment.Pls help.Thanx in advance.

Jos (10584)

unread,
Nov 25, 2009, 4:38:03 AM11/25/09
to
"astro mmi" <pyarsa...@yahoo.co.in> wrote in message <hehkkg$qsr$1...@fred.mathworks.com>...

I don't know but +160 in stead of +159 seems more logical ?
Anyways, the below might be a more matlabish approach to your separation problem

Q = countvec < 60 ; % select
Q = logical(kron(Q,ones(1,160))) ; % expand
voiced = y(Q)
unvoiced = y(~Q)

hth
Jos

0 new messages