I would like to take an integer n
defining the number of bits in my communication code and a vector defining the alphabet I am assigning to bits 0:n-1
,
dec2bin
is actually not the best way to approach the problem, because its result is an array of strings (i.e a matrix of characters), where each digit is a character. If you want '-1'
to represent a logical "0", that would be two characters, and it introduces problems.
Consider an alternative method with bitget
. Making use of Shai's suggestion, do the following:
[bits, values] = meshgrid(1:3, 0:7);
M = 2 * bitget(values, bits) - 1;
The will produce what you want:
M =
-1 -1 -1
1 -1 -1
-1 1 -1
1 1 -1
-1 -1 1
1 -1 1
-1 1 1
1 1 1