OVSF代码生成器
从正交码集生成正交可变扩频因子(OVSF)码
图书馆
传播代码
描述
OVSF代码生成器块从一组正交代码生成OVSF代码。OVSF代码最初是为3G通信系统引入的。OVSF码主要用于保持通信系统中不同信道之间的正交性。
OVSF码被定义为n × n矩阵C的行N,递归定义如下。首先,定义C1=[1]。接下来,假设CN,设CN(k)表示C的第k行N。定义C2 n通过
请注意,CN只定义为N2的幂。通过归纳法可以得出CN是正交的。
OVSF代码也可以通过树结构递归地定义,如下图所示。
如果[C]是一个码长2r在树的深度r处,其中根的深度为0,从C引出的两个分支由序列[C -C]和[C -C]标记,它们的长度为2r + 1。树中深度为r的代码是矩阵C的行N,其中N = 2r。
注意,当且仅当两个OVSF代码都不在从另一个代码到根的路径上时,两个OVSF代码是正交的。由于分配给同一小区中不同用户的代码必须是正交的,这限制了给定小区可用代码的数量。例如,如果代码C41在树中分配给一个用户,代码为C10C20.C82C83等,不能分配给同一单元格中的任何其他用户。
块的参数
您可以通过OVSF代码生成器块的对话框中的两个参数指定输出的代码扩频因子,即代码的长度,以及代码索引,取值范围为[0,1,…]之间的整数。, N - 1],其中N为扩散因子。如果代码出现在前面树的深度r处,则扩频因子是2r。的代码索引指定代码在树列的深度r处出现的位置,从0到N- 1。对于CN, k在前面的图表中,N是扩频因子和k是代码索引。
你可以从扩频因子和代码索引如下。转换代码索引到对应的二进制数,然后在左边加上0,如果需要的话,这样得到的二进制序列x1x2…xr长度r,在那里r以2为底的对数是扩频因子。这个序列描述了从根到代码的路径。该路径从深度处获取代码的上层分支我如果x我= 0,下支为x我= 1。
要重建代码,递归地定义代码C的序列我原因如下。让C0成为根[1]。假设C我已被定义,为我<r,定义C我+ 1通过
代码CN具有指定的扩频因子和代码索引。
例如,查找代码扩频因子16
和代码索引6
,做以下工作:
将6转换成二进制数110。
在左边加一个0得到0110,其长度为4 = log216.
构造序列C我根据下表。
我 x我 C我 0 C0= [1] 1 0 C1= C0C0= [1] [1] 2 1 C2= C1- c1= [1 1] [-1 -1] 3. 1 C3.= C2- c2= [1 1 -1 -1] [-1 -1 1] 4 0 C4= C3.C3.= [1 1 -1 -1 -1 -1 1 1] [1 1 -1 -1 -1 1 1]
代码C4有扩频因子16
和代码索引6
。
参数
- 扩频因子
-
2的幂的正整数,指定代码的长度。
- 代码索引
-
范围为[0,1,…]的整数。, N - 1]指定代码,其中N为扩频因子。
- 样品时间
-
输出信号的每次采样之间的时间。指定为非负实标量。
- 每帧采样数
-
输出信号的一列中每帧的采样数。指定为正整数标量。
请注意
输出更新之间的时间等于的乘积每帧采样数和样品时间。例如,如果样品时间和每帧采样数等于1,该块每秒输出一个样本。如果每帧采样数增加到10,那么每10秒输出一个10 × 1的向量。这确保了等效输出速率不依赖于每帧采样数参数。
- 输出数据类型
-
块的输出类型可以指定为
int8
或双
。默认情况下,块将其设置为双
。 - 模拟使用
-
选择仿真模式。
-
代码生成
-
在第一个模型上运行,模拟并生成代码。如果块的结构没有改变,则后续的模型运行不会重新生成代码。
如果仿真模式为
代码生成
,与块对应的系统对象最多接受9个输入。 -
解释执行
-
模拟模型而不生成代码。此选项会导致更快的启动时间,但可能会降低随后的模拟性能。
-