区分零和不发送 OOK

信息处理 数字的
2022-02-08 03:31:05

触发器如何用于开关键控 (OOK)?它如何区分没有收到任何东西和零?

4个回答

一个简单的方法是使用像 UART 这样的启动位。空闲时,不要传输任何东西。当你想发送一些东西时,首先发送一个“1”(ON)的起始位。然后发送发送器和接收器都知道的固定数量的比特。接收器查找起始位并知道在接收到起始位后开始解调。

更严格的方法如下:

  1. 将位组装成大小为 X 位的帧。
  2. 在帧的开头,发送一个前导序列。这是一些已知的位序列,每次都是相同的。这就是在 Wi-Fi、以太网等中所做的。
  3. 接收器通过将接收到的信号与预期的前导信号相关来寻找该前导序列。一旦获得相关性的高峰值,接收器就知道这是帧的开始。
  4. 接收器现在已同步并且知道它需要解调 X 位。之后,接收器返回寻找下一帧的开始。

原始调制本身并没有真正的用处。你需要添加一些额外的东西来拥有一个实用的通信系统。

如果在您的特定应用程序中您需要区分空闲通道(没有传输任何内容)和关闭状态传输,那么您要么不使用 OOK,要么用非零值替换零传输,从而有效地导致非 OOK 调制。 ..

对于有线通道,可以通过阻抗将 0 伏的关闭状态与空闲通道区分开来高阻抗可用于表示空闲通道,而具有正常阻抗的零伏则表示关闭状态。请记住,通道阻抗切换以及确定可能很慢,因此限制了其传输容量。

请注意,像 OOK 或 BPSK 这样的调制方案永远不会孤立地使用——为了拥有一个正常工作的通信系统,除了原始信息传输之外,您还需要解决一些问题,并且通常还需要添加一些 (ISO)物理层之上的层。

一些例子:

  • 在同步通信中,总是有东西在传输;空闲状态由空闲标志表示。例如,在 HDLC 中,当没有要传输的数据时,始终会传输标志 (0x7E IIRC)。实际数据总是出现在标志之后。

  • 在异步通信中,数据前面有“起始位”(如在 RS-232 中)。

  • 通常您希望能够识别各个时隙,这意味着接收器必须在将比特交给上层之前寻找帧模式。成帧模式周期性地出现在数据流中。

  • 您还需要一种识别传输结束的方法;仅仅确定起点是不够的。

  • 许多系统通过编码、加扰或以其他方式修改数据流以强制 0-1-0 或 1-0-1 转换来避免长的恒定位流。例如,电话中的 T1 中继线使用线路编码强制转换为长流 1(交替标记反转),使用 B8ZS(双极 8 零替换)强制转换长流 0。

这一切意味着,在实践中,长时间接收 0 伏就等于根本没有信号可以接收。

在实践中,您可以执行以下操作。如果您的系统是异步的,则在接收数据之前查找起始位。如果是同步的,则计算最后几个符号时间接收信号的能量。如果能量高于(实验)阈值,则开始寻找您的取景模式或空闲标志。

你不能。OOK 定义如下:

  • 对于每个符号周期:
    • 要发送“1”,请发送恒定幅度的正弦波。
    • 要发送“0”,不发送任何内容。

上述细节可能会有所不同,具体取决于系统设计者的突发奇想(例如“无信号”是指“0”还是“1”),但这是一般情况。请注意,您描述的两种情况之间没有任何区别(您从发射器收到零,而您没有收到任何东西)。这两种情况的可观察条件没有区别,因此您实际上无能为力。

这也是 OOK 不常用的原因之一。