Related to creating the vectors in MATLAB
1 view (last 30 days)
Show older comments
Hello all, I am working on research work related to GSSK (generalized space shift keying) in wireless communication.
In the GSSK scheme, out of total number of antennas at transmitter (Nt), only nt transmit antennas remain active during a single transmission.
My aim is to design a vector for transmitted signals (N).
The relationship between N, Nt and nt is given as:
Suppose the Nt = 8 and nt =3 then number of transmitted signals i.e., N is 32.
I am able to make only 28 unique vectors but not 32. The 28 unique vectors are shown below:
x_1 = al*[1 1 0 0 0 0 0 0 ]'; x_2 = al*[1 0 1 0 0 0 0 0 ]'; x_3 = al*[1 0 0 1 0 0 0 0 ]'; x_4 = al*[1 0 0 0 1 0 0 0 ]';
x_5 = al*[1 0 0 0 0 1 0 0 ]'; x_6 = al*[1 0 0 0 0 0 1 0 ]'; x_7 = al*[1 0 0 0 0 0 0 1 ]';
x_8 = al*[0 1 1 0 0 0 0 0 ]'; x_9 = al*[0 1 0 1 0 0 0 0 ]'; x_10 = al*[0 1 0 0 1 0 0 0 ]'; x_11 = al*[0 1 0 0 0 1 0 0 ]'; x_12 = al*[0 1 0 0 0 0 1 0 ]';
x_13 = al*[0 1 0 0 0 0 0 1]';
x_14 = al*[0 0 1 1 0 0 0 0]'; x_15 = al*[0 0 1 0 1 0 0 0]'; x_16 = al*[0 0 1 0 0 1 0 0]'; x_17 = al*[0 0 1 0 0 0 1 0]'; x_18 = al*[0 0 1 0 0 0 0 1]';
x_19 = al*[0 0 0 1 1 0 0 0]'; x_20 = al*[0 0 0 1 0 1 0 0]'; x_21 = al*[0 0 0 1 0 0 1 0]'; x_22 = al*[0 0 0 1 0 0 0 1]';
x_23 = al*[0 0 0 0 1 1 0 0]'; x_24 = al*[0 0 0 0 1 0 1 0]'; x_25 = al*[0 0 0 0 1 0 0 1]';
x_26 = al*[0 0 0 0 0 1 1 0]'; x_27 = al*[0 0 0 0 0 1 0 1]';
x_28 = al*[0 0 0 0 0 0 1 1]';
where 1 indicates the corresponding antenna being activated out of total Nt antennas.
My query is that if N = 32 for this example, then how can we achieve 32 unique vectors.
Any help in this regard will be highly appreciated.
2 Comments
Dyuman Joshi
on 9 Nov 2023
Edited: Dyuman Joshi
on 9 Nov 2023
You can not.
There are only 28 unique possible combinations when numbers from [1 8] are taken two at a time, without repetitions -
Though I do not know why you have taken combinations with two at a time.
n=8;
y = nchoosek(1:n,2);
size(y)
disp(y)
Accepted Answer
Walter Roberson
on 9 Nov 2023
Moved: Walter Roberson
on 9 Nov 2023
(8)
(3)
is 8!/(3! 5!) = 56. log2 of that is between 5 and 6. floor of that is 5. So your formula calculates N = 5, not N = 32
Taking 8 objects 3 at a time without respecting order can be represented as an ordered list of bits of length 8 in which exactly 3 bits are set. But your code uses bit lists in which only 2 bits are set instead of 3.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!