主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

Barker Code Generator

生成双极巴克码

  • Barker Code Generator block

库:
Communications Toolbox
Communications Toolbox / Comm Sources / Sequence Generators

描述

Barker Code Generator 模块生成双极巴克码。短长度和低相关旁瓣使得巴克码在数字通信系统中可用于帧同步。有关详细信息,请参阅巴克码

示例

全部展开

cm_ex_various_barker_code_length 模型显示来自 Barker Code Generator 模块的输出,这些模块配置为每帧 15 个采样,采样时间为 1,码长设置为 3、4、7 和 13。绘图显示,码序列会根据需要重复,以填充包含 15 个采样的帧。

绘制巴克码序列。每个 Barker Code Generator 模块输出一帧,其中包含 15 个采样。比较码序列,可以看到该码会重复以填充帧。

构造两个帧,它们由 7 位巴克码前导码和 14 位有效负载字段组成。使用 Preamble Detector 模块检测前导码位置。

基于 Preamble Detector 模块对巴克码前导码的检测,模型显示检测到的每个前导码最后一位的索引位置。要加载模型并配置运行时前导码设置,请使用回调函数。有关详细信息,请参阅模型回调 (Simulink)

  • 在加载模型时,PostLoadFcn 回调初始化 Preamble Detector 模块的前导码值。

  • 对于运行时执行,InitFcn 回调从 Barker Code Generator 模块获取前导码的运行时设置。

Barker Code Generator 模块输出双极 (-1,1) 信号,该信号必须转换为单极 (0,1) 以供 Preamble Detector 模块使用。当运行模型时,显示画面显示数字 7 和 28,对应于两个前导码末尾的位置。

扩展示例

端口

输出

全部展开

巴克码帧,以列向量形式返回。如果帧长度超过巴克码长度,则模块通过重复巴克码来填充帧。

依赖关系

使用输出数据类型参数设置输出的数据类型。

参数

全部展开

要以交互方式编辑模块参数,请使用属性检查器。在 Simulink® 工具条的仿真选项卡上,从准备库中选择属性检查器

生成码的长度,指定为 1234571113。有关详细信息,请参阅Barker Codes

示例: 2 输出巴克码 [–1;1]。

正标量指定输出信号每个采样之间的时间(以秒为单位)。如果将采样时间设置为 -1,则输出信号从下游继承采样时间。有关采样时间每帧采样数参数之间关系的信息,请参阅采样时间

每输出帧的采样数,指定为正整数。如果每帧采样数M,则模块输出包含 M 个采样的帧,这些采样由长度为 N 的巴克码序列组成。N 是生成码的长度,由 Code length 参数设置。当 M 不是 N 的整数倍时,连续的帧会在帧边界之间保持巴克码的连续性。

有关采样时间每帧采样数之间关系的信息,请参阅采样时间

输出数据类型,指定为 doubleint8

要运行的仿真的类型,指定为代码生成解释执行

  • 代码生成 - 使用生成的 C 代码对模型进行仿真。第一次运行仿真时,Simulink 会为该模块生成 C 代码。除非模型发生变化,否则模型会对后续仿真重用 C 代码。此选项需要额外的启动时间,但后续仿真的速度比使用解释执行选项快。

  • 解释执行 - 使用 MATLAB® 解释器对模型进行仿真。此选项会缩短启动时间,但后续仿真的速度比使用代码生成选项慢。在此模式下,您可以调试模块的源代码。

有关详细信息,请参阅解释执行与代码生成 (Simulink)

模块特性

数据类型

double | integer

多维信号

可变大小信号

详细信息

全部展开

扩展功能

全部展开

版本历史记录

在 R2006a 之前推出

全部展开