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

 採用された回答

Walter Roberson
Walter Roberson 2015 年 9 月 9 日

0 投票

Change the
i=1:Nbit
to
for i=1:Nbit
and add
end
after your the last "end" of your "if" chain.

1 件のコメント

Mila C
Mila C 2015 年 9 月 9 日
編集済み: Walter Roberson 2015 年 9 月 9 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSoftware Development についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by