TDD LTE系统需要精确的同步时钟,频率和相位都需要精确同步,本文详细描述了USRP和PC Host起是如何支持TDD LTE同步的,参考以USRP N3xx系列为主,如 USRP N310/N320等,其他型号仅供参考。
1.时钟同步
时钟同步包含频率和相位同步。USRP N310/N320支持的时钟同步方式比较多,可以使用外置参考时钟、GPS等实现时钟同步。对于N3xx系列来说,可以支持1588协议实现同步;1588详细实现比较复杂,可以作为单独章节讨论。
2.PC Host和USRP之间的时序同步
USRP N3xx硬件本身能支持精确的时钟同步,但和PC之间也需要有时序同步,否则也无法时
PC和USRP之间同步,完全依赖于USRP提供的timestamp机制,USRP的无线传输协议——CHDR协议定义了IQ数据包的格式,其中就有一个8字节定义的时间戳timestamp,CHDR包格式如下:
Address (Bytes) | Length (Bytes) | Payload |
0 | 8 | Compressed Header (CHDR) |
8 | 8 | Fractional Time (Optional!) |
8/16 | - | Data |
USRP的timestamp可以和GPS的1pps绑定,PC可以获取1pps时刻的timestamp,这样可以实现TDD LTE的精确同步控制。
timestamp是如何时序PC和USRP同步的呢?发射数据时,通过这个timestamp,PC发送数据时可以指定USRP的发送IQ数据时间,同样对于接收数据来说,PC可以获取接收该IQ数据包的准确timestamp。这样,通过timestamp是可以做到非常精确的控制,但是具体到实现中需要考虑更多的细节,比如还需要考虑时间提前量,需要考虑链路时延等。
假定timestamp的时钟为30.72MHz,TDD U slot的timestamp为t0,那么下一个D slot的timestamp为t0+15360,以此类推计算,详细如下:
TDD slot(0.5ms) | U | D | D | D | S | U |
时间戳 | t0 | t0+15360 | t0+15360*2 | t0+15360*3 | t0+15360*4 | t0+15360*5 |
3.USRP内部timestamp的实现方式
timestamp,在USRP内部就是一个64bit的时钟计数器,该时钟计数器作为timestamp来源。一般来说频率和采样率保持一致。PC侧可以对该时钟计数器进行操作控制,如时间戳设置/读取,以及和1pps的同步操作控制,可以读取1pps触发的timestamp等。
4.OAI TDD LTE时序分析
结合OAI TDD LTE实现,后续有时间再写。
仓促成文,欢迎指正交流。