pyqt 时间格式 带毫秒_点点滴滴学5G——一文带您了解5G是如何实现TDD模式

引言

目前主要存在FDD和TDD两种模式,而TDD较FDD优势在于TDD由于上下行的占用时长可以灵活配置,比如对于下载业务,可以把下行时间设为80%,上行时间设为20%,频谱利用率因此得以提升。且TDD上下行使用同一段频谱,不用像FDD那样成对,因此可以很方便的利用零碎的频谱,在5G时代,TDD双工方式已经成为了绝对首选,那么5G是如何实现TDD的呢?文本带您解开谜底。(在阅读文章之前建议读者先阅读笔者之前发布的帧结构文章,熟悉5G帧结构原理)。

1. TDD灵活配置以及配置参数

与LTE不同,LTE中,TDD的帧结构是预先定义了7种模式,在5G/NR中没有预先定义任何模式,而是通过一些参数来配置具体的帧结构。 NR中的上下行时隙配置取决于tdd-UL-DL-ConfigurationCommon,tdd-UL-DL-ConfigurationDedicated以及SFI, 其中tdd-UL-DL-ConfigurationCommon为小区级别配置,tdd-UL-DL-ConfigurationDedicated为UE专属配置,SFI是通过DCI来指示上下行时隙格式变化。

1.1 tdd-UL-DL-ConfigurationCommon

tdd-UL-DL-ConfigurationCommon的配置如下,一般存在于SIB1信息中(具体消息元素见图1)

4aba4eb071de5aa2dbf7e7a90508b367.png

图1

以参考子载波间隔为30KHz,周期为0.5ms,结合示例可以理解TDD-UL-DL-Pattern中的各项代表的含义。Slot中符号数减去nrofDownlinkSymbols与 nrofUplinkSymbols之和,剩余的符号称之为Flexible Symbol(如图2所示)。

696997ce2eca9841cbb8f97ecfc62f93.png

图2

1.2 tdd-UL-DL-ConfigurationDedicated

tdd-UL-DL-ConfigurationDedicated是UE专属配置(具体消息元素见图3,不过这个配置只能修改tdd-UL-DL-ConfigurationCommon配置中的Flexible Symbol。Flexible Symbol即由周期内除去配置的上下行Slot/上下行符号数后的符号(如图4所示)

ecf197158ecfd40a9f16854240d2dd48.png

图3

67bded6f71d6718dceb11f8e2a34235d.png

图4

tdd-UL-DL-ConfigurationDedicated中配置的是Slot符号指示数组,基本元素为TDD-UL-DL-SlotConfig,通过其中的slotIndex确定Slot位置,可以将该Slot指示为全下行符号,全上行符号,或者上行符号数/下行符号数。

tdd-UL-DL-ConfigurationDedicated不能将tdd-UL-DL-ConfigurationCommon指示的下行符号变更为上行符号,上行符号变更为下行符号。

tdd-UL-DL-ConfigurationCommon和tdd-UL-DL-ConfigurationDedicated配置确定后的上下行配置后,上下行符号的使用比较明确。另外 Flexible 符号上调度,比较灵活,DCI调度决定了在该符号位置是下行接收还是发送。

2. TDD帧格式说明

TDD帧格式 = 若干个下行时隙 + 1个灵活时隙 + 若干个上行时隙。

其中,下行时隙可以有多个,每个时隙中的14个符号全部配置为下行;上行时隙也可以有多个,每个时隙中的14个符号全部配置为上行;灵活时隙只有一个,可以灵活设置下行符号,灵活符号和上行符号的比例,只要上面那张表里有定义就行(如图5所示)。

085881ff98e182ff5bdf4ac15c0e085d.png

图5

TDD帧格式的具体可支持的上行行配置与子载波间隔SCS有关系,具体可以参考协议38101 A.1章节(例如图6表示SCS等于15KHZ条件下所支持的上下行配置)

42a216073bbd4fec3f3387b562ac191f.png

图6

下面以30KHz子载波间隔为例,说明业界如下三种主流的帧格式。

第一种模式:2毫秒单周期

每个周期内2个下行时隙(D),1个上行时隙(U),1个灵活时隙(S)

595530c13772d1196fca4f4327e0634e.png

图7

第二种模式:2.5毫秒单周期

每个周期内3个下行时隙(D),1个上行时隙(U),1个灵活时隙(S)

05b25ea39cefd77fc199ea69554ab118.png

图8

第三种模式:2.5毫秒双周期

双周期是指两个周期的配置不同,一起合成一个大的循环,其中含有5个下行时隙(D),3个上行时隙(U),2个灵活时隙(S)

6a700c2c44d2258abfbb345c9c006be0.png

图9

说明:

(1)在这三种帧格式中,对于灵活时隙,可配置为:10个下行符号 + 2个灵活符号 + 2个上行符号。其中两个灵活符号用作上下行之间转换的隔离,不用于收发信号。

(2)把灵活时隙中的上下行符号也考虑进来计算可得,2毫秒单周期的上行资源占比约为29%,2.5毫秒单周期的上行资源占比约为23%,2.5毫秒双周期的上行资源占比约为33%。因而导致了几种帧结构在上下行性能上的差异。

(3)由上述时隙示例可以看出,5G对TDD的实现是非常灵活的,不再像TDD那样预定义子帧配比,可以根据需求灵活配置上下行时隙数量,用于5G需求各异的应用。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyQt5中,多线程可以通过QThread类来实现。为了防止线程阻塞主线程,可以使用信号与槽机制来实现多线程与主线程之间的通信。 下面是一个简单的多线程例子: ```python from PyQt5.QtCore import QThread, pyqtSignal class Worker(QThread): finished = pyqtSignal() progress = pyqtSignal(int) def __init__(self): super().__init__() def run(self): for i in range(100): self.progress.emit(i) self.finished.emit() ``` 在这个例子中,我们定义了一个名为Worker的QThread类。该类包含两个信号:finished和progress。finished信号用于通知主线程子线程已完成工作,而progress信号用于向主线程发送工作进度。 在run方法中,我们使用了一个for循环模拟了一个耗时的任务,并在每次迭代中使用progress信号更新了工作进度。在任务完成后,我们使用finished信号通知主线程。 下面是一个使用多线程的例子: ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel from PyQt5.QtCore import Qt import sys class MainWindow(QMainWindow): def __init__(self): super().__init__() self.label = QLabel("0%", self) self.label.setAlignment(Qt.AlignCenter) self.label.setGeometry(100, 100, 100, 100) self.worker = Worker() self.worker.progress.connect(self.update_progress) self.worker.finished.connect(self.finished) self.worker.start() def update_progress(self, val): self.label.setText(f"{val}%") def finished(self): self.label.setText("Done!") if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 在这个例子中,我们创建了一个MainWindow类,该类包含一个QLabel和一个Worker的实例。当窗口被创建时,我们启动了Worker线程。 在MainWindow类中,我们将Worker的progress和finished信号与update_progress和finished方法连接起来。update_progress方法用于更新QLabel的文本,而finished方法用于在任务完成后显示“Done!”文本。 通过使用多线程,我们可以避免任务阻塞主线程,从而使应用程序保持响应。同时,通过使用信号与槽机制,我们可以实现多线程与主线程之间的通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值