考虑到这个问题是在 4 年前提出的,并且从那时起 GNU Radio 发生了很多变化,我想补充一下现在这可能与 Patterned Interleaver块。
patterned_interleaver_image
此模块的工作方式如下:它在左侧的端口中接收输入,并在右侧的端口中输出单个交错模式。所以让我们想象一个有 2 个输入的模块,V1 和 V2:
V1 = [0,1,0,0,1,1]
V2 = [1,1,1,0,1,0]
假设我们希望输出是 V1 的前 2 位,然后是 V2 的前 2 位,然后是 V1 的下 2 位,然后是 V2 的下 2 位,依此类推……也就是说,我们希望输出是
Vo = [0,1,1,1,0,0,1,0,1,1,1,0]。
为了实现这一点,我们进入 Patterned Interleaver 块的属性,如下所示:
patterned_interleaver_properties
Pattern 字段允许我们控制输入端口中的位将被交错的顺序。默认情况下,它们在 [0,0,1,1] 中,这意味着该块将从输入端口 0 获取 2 位,然后从输入端口 1 获取 2 位。相应的输出将是
[0,1,1,1,0,0,1,0,1,1,1,0],
即V1的前2位后跟V2的前2位,然后是V1的后2位,以此类推
让我们看另一个例子。如果模式字段设置为 [0,0,1,1,1,0],输出将是输入端口 0 的 2 位,然后是输入端口 1 的 3 位,然后是输入端口 0 的 1 位。输出我们将得到 [0,1,1,1,1,0,0,1,0,1,0,0]。
最后,Pattern 字段还用于确定输入端口的数量。如果 Pattern 字段是 [0,0,1,2],我们将看到另一个输入端口被添加到块中。
patterned_interleaver_3_inputs