Related to creating the vectors in MATLAB

1 回表示 (過去 30 日間)
chaaru datta
chaaru datta 2023 年 11 月 9 日
移動済み: Dyuman Joshi 2023 年 11 月 9 日
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 件のコメント
Dyuman Joshi
Dyuman Joshi 2023 年 11 月 9 日
編集済み: Dyuman Joshi 2023 年 11 月 9 日
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 2023 年 11 月 9 日
移動済み: Dyuman Joshi 2023 年 11 月 9 日
@Dyuman Joshi Thank u sir for your response.

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2023 年 11 月 9 日
移動済み: Walter Roberson 2023 年 11 月 9 日
(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.
  1 件のコメント
chaaru datta
chaaru datta 2023 年 11 月 9 日
@Walter Roberson Thank u sir for your response....Now I had edited my mistake

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSignal Processing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by