2.1.1 |
|
---|---|
2.1.0 |
|
1.0.3 |
|
0.1.22 |
|
0.1.8 |
|
13 在 #光学
每月下载量 241
2MB
5K SLoC
巨型麦哲伦望远镜动态光学模拟演员模型
lib.rs
:
GMT 动态光学模拟演员
GMT DOS [演员] 是 GMT DOS 集成模型的基本构建块。每个 [演员] 有 3 个属性
- 输入对象
- 输出对象
- 客户端
输入/输出
输入对象是一组输入,输出对象是一组输出。一个演员必须至少有 1 个输入或 1 个输出。一对输入/输出通过一个 通道 相连,其中输入是接收者,输出是发送者。相同的输出可以连接到多个输入。 通道 用于同步 [演员]。
每个 [演员] 在一个无限循环中执行相同的 任务,包括 3 个操作
- 如果有输入,则接收输入
- 更新客户端状态
- 如果有输出,则发送输出
以下错误发生时,循环退出: ActorError::NoData, ActorError::DropSend, ActorError::DropRecv。
采样率
一个 [演员] 的所有输入都按相同的速率 NI
收集,所有输出都按相同的速率 NO
分发,但是输入和输出的速率可能不同。输入速率 NI
继承自收集数据的输出的速率 NO
,即 (下一个演员)::NI=(当前演员)::NO
。
速率 NI
或 NO
定义为模拟采样频率 [Hz]
与行为输入或输出采样频率 [Hz]
之比,它必须是大于等于1的整数。如果 NI>NO
,则通过简单的采样保持将输出上采样到 NI/NO
个样本。如果 NO>NI
,则通过 NO/NI
的因子对输出进行降采样。
对于1000Hz的模拟采样频率,以下表格给出了一些输入/输出采样频率和速率的示例。
输入 [Hz] |
输出 [Hz] |
NI | NO | 上采样 | 降采样 |
---|---|---|---|---|---|
1000 | 1000 | 1 | 1 | - | 1 |
1000 | 100 | 1 | 10 | - | 10 |
100 | 1000 | 10 | 1 | 10 | - |
500 | 100 | 2 | 10 | - | 5 |
100 | 500 | 10 | 2 | 5 | - |
客户端
客户端必须分配给[行为],并且客户端必须实现以下一些特质
模型
综合模型按照以下方式构建
- 选择并实例化[客户端]
- 将[客户端]分配给[行为]
- 向[行为]添加输出并将它们连接到其他[行为]的输入
- 构建[模型]
- 检查、运行并等待模型完成
有关更详细说明和示例,请参阅[行为]和[模型]模块。
功能
该库提供了一组最小化的默认功能,这些功能可以通过在编译时选择适当的特性进行增强。
依赖关系
~6–24MB
~337K SLoC