如何在没有重复的情况下,通过K个设备随机选择N个唯一的前导码

时间:2012-07-22 07:01:00

标签: algorithm matlab

我在malab中实现了一些问题。我有N(前导码数)由K(设备数量)选择。如何随机选择N个K个设备,因此有可能一个前导码由多个设备选择? 例如,有50个设备(K = 50)随机选择10个唯一的前同步码(N = 10),只有一次没有重复,每个K设备只能随机选择10个唯一的前导码中的一个。我想从这10个独特的前导中知道,只有一个设备选择了多少,哪些前导?以及多个设备选择了多少个前导码以及哪些前导码? 如何在matlab中实现这个场景?我真的需要你的回复。感谢。

2 个答案:

答案 0 :(得分:0)

假设你的前言(你的申请中的任何内容)都在这里:

preambles = [12 13 14];
K = 6;

然后生成一个随机索引向量preambles,如下所示:

random_indices = 1 + floor(rand(1, K) * length(preambles));

然后您可以插入preambles变量:

preambles(random_indices)

答案 1 :(得分:0)

试试这个:

r = randperm(N*K); % generate a random permutation of the integers from 1 through N*K
r = mod(r(1:N:(K-1)*N+1), N); % the random selection results
[uniques,numUnique] = count_unique(r); % the selected preambles (uniques), and how many times they were selected (numUnique)

count_unique功能可以找到here