Checking adjacent bits in Matlab

Hi
I have to generate a specific type of Pulse position modulation for which i am generating 100 random bits and have to check every two adjacent bits and generate a waveform accordingly.
For example
lets say the generated bits are 11001001
first I need to check the first two bits which are 11 and then the next two bits which are 00 and the following two bits are 10 and the last to bits 01 I have written the following code to check the bits
clear all;
N=10000;
Nbit=100;
t=0:.001:6.4;
% Generate Binary signal
wb=round(rand(1,Nbit));
% wb=wb';
y=size(wb);
i=1:Nbit
j=i+1;
if wb(i) ==0 & wb(j)==0
y(i)=0;
elseif wb(i) ==0 & wb(j)==1
y(i)=1;
elseif wb(i) ==1 & wb(j)==0
y(i)=0;
else
y(i)=0;
end
the output always gives 0.
Would really appreciate if someone could help me with this
Thank you

 Respuesta aceptada

Walter Roberson
Walter Roberson el 9 de Sept. de 2015
Change the
i=1:Nbit
to
for i=1:Nbit
and add
end
after your the last "end" of your "if" chain.

1 comentario

Mila C
Mila C el 9 de Sept. de 2015
Editada: Walter Roberson el 9 de Sept. de 2015
Hi, thank you so much for the help.
I changed the code according to it and modified abit :)
clear all;
N=10000;
Nbit=100;
t=0:.001:6.4;
% Generate Binary signal
wb=round(rand(1,Nbit));
wb=wb';
y=size(wb);
for k=1:Nbit;
i=1:2:Nbit
j=2:2:Nbit;
if wb(i) ==0 & wb(j)==0
y(i)=0;
elseif wb(i) ==0 & wb(j)==1
y(i)=1;
elseif wb(i) ==1 & wb(j)==0
y(i)=0;
else
y(i)=1;
end
end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Software Development en Centro de ayuda y File Exchange.

Preguntada:

el 9 de Sept. de 2015

Editada:

el 9 de Sept. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by