Mapping two binary bits to one

1 view (last 30 days)
I have generate a set of bits 0 and 1,
N=10000;
m=(sign(randn(1,N))+1)/2;
The problem is how do I group the bits? For example
00=-j
01=-1
10=1
11=j
  1 Comment
Image Analyst
Image Analyst on 1 Dec 2019
No idea what you want, but look at dec2bin() and/or bin2dec().

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 2 Dec 2019
vals = [-1j, -1, 1, 1j];
m2 = reshape(m, 2, []);
idx = m2(1,:) * 2 + m(2,:) + 1;
output = vals(idx);
  4 Comments
Walter Roberson
Walter Roberson on 8 Dec 2019
ismember to get an index. Use that as a row index into a 4x2 array.
Walter Roberson
Walter Roberson on 9 Dec 2019
[, idx] = ismember(Symbols, [-1j, -1, 1, 1j]);
bits = [0 0; 0 1; 1 0; 1 1] .';
bit_vector = reshape(bits(:, idx), 1, []);

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!