2,861
社区成员




技术维度 | 4G终端 | 5G终端 |
---|---|---|
波形技术 | OFDMA/SC-FDMA | 灵活参数OFDM(可配置子载波间隔) |
波束管理 | 固定波束 | 动态波束赋形+波束追踪 |
信道编码 | Turbo码 | 数据信道LDPC/控制信道Polar码 |
频谱效率 | 5-8bps/Hz | 10-15bps/Hz |
连接密度 | 10万设备/km² | 百万设备/km² |
```python
class DynamicSpectrumSharing:
def init(self, total_rbs=100, max_lte_ratio=0.4):
self.total_rbs = total_rbs # 总资源块数
self.max_lte_ratio = max_lte_ratio # LTE最大资源占比
self.nr_priority = True # 5G业务优先级标志
self.load_history = [] # 网络负载历史记录
def monitor_network_load(self):
"""实时监测网络负载状态"""
# 模拟获取4G/5G业务需求比例(0.0-1.0)
current_load = {
'lte_ratio': random.uniform(0.1, self.max_lte_ratio),
'nr_ratio': random.uniform(0.5, 0.9)
}
self.load_history.append(current_load)
return current_load
def dynamic_allocation(self):
"""动态资源分配引擎"""
load = self.monitor_network_load()
# 计算动态分配比例(带优先级加权)
lte_alloc = int(self.total_rbs * load['lte_ratio'])
nr_alloc = self.total_rbs - lte_alloc
# 5G优先级补偿机制
if self.nr_priority and nr_alloc < (self.total_rbs*0.6):
nr_alloc += int(self.total_rbs*0.1)
lte_alloc = max(0, lte_alloc - int(self.total_rbs*0.1))
return {
'LTE_RBs': self._allocate_pattern(lte_alloc, 'LTE'),
'NR_RBs': self._allocate_pattern(nr_alloc, 'NR')
}
def _allocate_pattern(self, num, rat_type):
"""生成物理资源映射模式"""
# 创建交织分配模式(避免连续RB分配)
pattern = []
step = 2 if rat_type == 'LTE' else 3 # 不同制式的分配间隔
for i in range(0, self.total_rbs, step):
if len(pattern) < num:
pattern.append(i)
return pattern[:num] # 确保不超分配
dss = DynamicSpectrumSharing()
allocation = dss.dynamic_allocation()
print(f"动态分配结果:\nLTE分配 {len(allocation['LTE_RBs'])}RB → {allocation['LTE_RBs']}"
f"\nNR分配 {len(allocation['NR_RBs'])}RB → {allocation['NR_RBs']}")