how reshape the separated signal to original signal ?

1 次查看(过去 30 天)
hi every one
If I have the following vectors
x= [1 2 -6 9 -7 8 -8 -5 2 4 -6 4 -4 -5 -7 6 10 2 3 7 -8 9 -8 -5 4 -6]
Xp=x(x>0)
Xn=x(x<0)
after separated the signal is transmitted
fr=[length(Xp), Xp, Xn]
then in the recevier Rx
rp=fr(2:fr(1)+1); % positive Rx
rn=fr(2 + fr(1):end); %negativ Rx
then I want to reshape the vector as original vectors
can any one help me
thank u very much

采纳的回答

KSSV
KSSV 2019-2-27
YOu pick the indices and get what you want.
x= [1 2 -6 9 -7 8 -8 -5 2 4 -6 4 -4 -5 -7 6 10 2 3 7 -8 9 -8 -5 4 -6]
Xp=x(x>0) ; idxp = x>0 ;
Xn=x(x<0) ; idxn = x<0 ;
% after separated the signal is transmitted
fr=[length(Xp), Xp, Xn]
% then in the recevier Rx
rp=fr(2:fr(1)+1); % positive Rx
rn=fr(2 + fr(1):end); %negativ Rx
iwant = zeros(size(x)) ;
iwant(idxp) = rp ;
iwant(idxn) = rn ;
Note that, the above code can be optimized by using completely indices.

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by