Related to creating the vectors in MATLAB

1 次查看(过去 30 天)
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

请先登录,再进行评论。

采纳的回答

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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Signal Processing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by