2 bit binary signal to numerical value

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

 Respuesta aceptada

Deepak Kumar
Deepak Kumar el 10 de Oct. de 2019
Editada: Deepak Kumar el 10 de Oct. de 2019
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 comentario

Yusuf Dhoda
Yusuf Dhoda el 24 de Oct. de 2019
Thank you very much for your help. The code worked well

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 7 de Oct. de 2019

Comentada:

el 24 de Oct. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by