假设我正在以数字方式接收二进制信号,其中逻辑“1”表示信号的存在,而传输的逻辑“0”表示信号不存在。
逻辑“1”的持续时间与逻辑“0”相同,但发送器时钟可能会漂移,1 或 0 的持续时间略有不同。可以传输的连续 1 或 0 的最大数量。
在计算机编程代码中,执行此操作的一般算法是什么?如何同步接收器时钟以适应漂移?信号的最小采样率应该是多少?
假设我正在以数字方式接收二进制信号,其中逻辑“1”表示信号的存在,而传输的逻辑“0”表示信号不存在。
逻辑“1”的持续时间与逻辑“0”相同,但发送器时钟可能会漂移,1 或 0 的持续时间略有不同。可以传输的连续 1 或 0 的最大数量。
在计算机编程代码中,执行此操作的一般算法是什么?如何同步接收器时钟以适应漂移?信号的最小采样率应该是多少?
大多数通信系统使用 (up down) 和 (down up) 表示 0 和 1。即从 0 到 t/2 信号向上,从 t/2 到 t 信号向下表示 0(反之亦然 1)其中 t 是信号的周期。使用此策略应该可以解决您的问题。
编辑:参见这篇 wiki 文章http://en.wikipedia.org/wiki/Self-clocking_signal
通常,时序是通过一个锁相环 (PLL) 从一个行程长度受限的 NRZ 编码信号中恢复的,该锁相环 (PLL) 被馈入所有转换的时序。
如果您对信号进行采样而不是使用转换时间,那么采样率越高,PLL 频率中的抖动就越少。但无论如何,采样率需要明显快于比特时间倒数的 2 倍。
您可能还想在信号处理站点中提出这个问题。