MATLAB Answers

0

2 bit binary signal to numerical value

Asked by Yusuf Dhoda on 7 Oct 2019
Latest activity Commented on by Yusuf Dhoda on 24 Oct 2019
I have a 32768x2 double array that contains a 2 bit binary signal. I want to convert this 2 bit binary signal to a value between 1 and -1. For example:
01 ----- 1
00 ----- 0.5
10 ----- -0.5
11 ----- -1
I want to store the results in a 32768x1 array
Thank you

  0 Comments

Sign in to comment.

1 Answer

Answer by Deepak Kumar on 10 Oct 2019
Edited by Deepak Kumar on 10 Oct 2019
 Accepted Answer

Try the below code. It should work fine.
clc
clear all
a=your_array; %Assign your array to the vaiable 'a'
L=size(a,1);%Get number of rows in a
d=bi2de(a,'left-msb'); %Convert binary vectors to decimal numbers with 1st column as MSB. use, d=bi2de(a) if you want 1st column as LSB
for i=1:L
switch d(i)
case 1
b(i)=1;
case 0
b(i)=.5;
case 2
b(i)=-.5;
case 3
b(i)=-1;
end
end
b=b'; % Final answer

  1 Comment

Thank you very much for your help. The code worked well

Sign in to comment.