Related to creating the vectors in MATLAB

1 visualizzazione (ultimi 30 giorni)
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 Commenti
Dyuman Joshi
Dyuman Joshi il 9 Nov 2023
Modificato: Dyuman Joshi il 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)
ans = 1×2
28 2
disp(y)
1 2 1 3 1 4 1 5 1 6 1 7 1 8 2 3 2 4 2 5 2 6 2 7 2 8 3 4 3 5 3 6 3 7 3 8 4 5 4 6 4 7 4 8 5 6 5 7 5 8 6 7 6 8 7 8
chaaru datta
chaaru datta il 9 Nov 2023
Spostato: Dyuman Joshi il 9 Nov 2023
@Dyuman Joshi Thank u sir for your response.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 9 Nov 2023
Spostato: Walter Roberson il 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.

Più risposte (0)

Categorie

Scopri di più su Signal Processing in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by