Mapping two binary bits to one

1 Ansicht (letzte 30 Tage)
salad9996
salad9996 am 1 Dez. 2019
Kommentiert: Walter Roberson am 9 Dez. 2019
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 Kommentar
Image Analyst
Image Analyst am 1 Dez. 2019
No idea what you want, but look at dec2bin() and/or bin2dec().

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by