nearlink_sdr.mac.power_control¶
功率控制信令 -- TXS-10002-2025 标准 7.2.13 / 7.3.2.27-29
提供三类功率控制信令的编解码以及功率控制状态管理:
PowerControlRequest (0x0019, 24 bits)
PowerControlResponse (0x001A, 32 bits)
PowerChangeIndication(0x001B, 32 bits)
Module Contents¶
Classes¶
功率变化指示信令。 |
|
功率控制请求信令。 |
|
功率控制响应信令。 |
|
单链路功率控制状态管理。 |
Data¶
API¶
- nearlink_sdr.mac.power_control.TX_POWER_STOP_MANAGEMENT¶
126
- nearlink_sdr.mac.power_control.TX_POWER_UNAVAILABLE¶
127
- class nearlink_sdr.mac.power_control.Bandwidth[源代码]¶
Bases:
enum.IntEnum- BW_1MHZ¶
0
- BW_2MHZ¶
1
- BW_4MHZ¶
2
- RESERVED¶
3
- class nearlink_sdr.mac.power_control.FreqDensity[源代码]¶
Bases:
enum.IntEnum- RATIO_4_1¶
0
- RATIO_8_1¶
1
- RATIO_16_1¶
2
- NO_PILOT¶
3
- class nearlink_sdr.mac.power_control.PowerChangeIndication[源代码]¶
功率变化指示信令。
字段顺序:
frame_type: 4 bits, 无线帧类型指示
bandwidth: 2 bits, 带宽指示
freq_density: 2 bits, 导频密度指示
sender_min_power: 1 bit
sender_max_power: 1 bit
reserved: 6 bits
tx_power_change: 8 bits, 有符号, 本次功率变化值 (dB)
sender_tx_power: 8 bits, 有符号, 变更后发射功率 (dBm)
- DATA_TYPE_INDEX¶
27
- BYTE_LENGTH¶
4
- classmethod unpack(data: bytes) nearlink_sdr.mac.power_control.PowerChangeIndication[源代码]¶
从 4 字节解码。
- class nearlink_sdr.mac.power_control.PowerControlRequest[源代码]¶
功率控制请求信令。
字段顺序 (MSB → LSB 按标准比特排列):
frame_type: 4 bits, 无线帧类型指示 (0-15)
bandwidth: 2 bits, 带宽指示 (Bandwidth 枚举)
freq_density: 2 bits, 频密度指示 (FreqDensity 枚举)
tx_power_change: 8 bits, 有符号, 要求接收方发射功率变化值 (dB)
sender_tx_power: 8 bits, 有符号, 发送方发射功率 (dBm)
- DATA_TYPE_INDEX¶
25
- BYTE_LENGTH¶
3
- classmethod unpack(data: bytes) nearlink_sdr.mac.power_control.PowerControlRequest[源代码]¶
从 3 字节解码。
- class nearlink_sdr.mac.power_control.PowerControlResponse[源代码]¶
功率控制响应信令。
字段顺序:
sender_min_power: 1 bit, 置 1 表示发送端以最小功率发送
sender_max_power: 1 bit, 置 1 表示发送端以最大功率发送
reserved: 6 bits
tx_power_change: 8 bits, 有符号, 本端实际功率变化值 (dB)
sender_tx_power: 8 bits, 有符号, 发送端发射功率 (dBm)
acceptable_power_reduction: 8 bits, 无符号, 可接受的功率减少量 (dB)
- DATA_TYPE_INDEX¶
26
- BYTE_LENGTH¶
4
- classmethod unpack(data: bytes) nearlink_sdr.mac.power_control.PowerControlResponse[源代码]¶
从 4 字节解码。
- class nearlink_sdr.mac.power_control.PowerController(tx_power_dbm: float = 0.0, min_power_dbm: float = -127.0, max_power_dbm: float = 20.0)[源代码]¶
单链路功率控制状态管理。
管理本端发射功率, 处理对端发来的功率控制请求/响应/变化指示, 并生成需要发送给对端的信令。
参数
tx_power_dbm : 当前发射功率 (dBm) min_power_dbm : 最小支持发射功率 (dBm) max_power_dbm : 最大支持发射功率 (dBm)
Initialization
- handle_request(req: nearlink_sdr.mac.power_control.PowerControlRequest) nearlink_sdr.mac.power_control.PowerControlResponse[源代码]¶
处理对端的功率控制请求, 调整本端功率并返回响应。
- create_request(requested_change_db: int, frame_type: int = 0, bandwidth: int = Bandwidth.BW_1MHZ, freq_density: int = FreqDensity.RATIO_4_1) nearlink_sdr.mac.power_control.PowerControlRequest[源代码]¶
生成功率控制请求信令。
- apply_response(resp: nearlink_sdr.mac.power_control.PowerControlResponse) None[源代码]¶
处理对端的功率控制响应, 可据此调整本端策略。
场景 b: 根据对端反馈的 acceptable_power_reduction 调整本端功率。