增益类模块设计文档
本文档覆盖以下模块:channel_gain_v1、adaptive_gain_v1、speaker_level_v1、headroom_v1、ut_gain_20ch_v1。
channel_gain_v1 — 通道增益 20ch
概述
带标准车载通道名的 20 通道增益控制模块。与 gain_v1 的区别在于通道名固定为汽车标准 20 通道名(FLH/FRH/… /SWF),并去掉了 Mute / Phase 参数,专注于纯增益调节。
- 分类:
gain
- UI 组件:
GenericTuningDialog.vue
- 通道数:20(输入/输出均为 20ch,48kHz,float32)
- 通道名:
FLH FRH FLM FRM FLL FRL FLSE FRSE RLH RRH RLM RRM RLL RRL RLSE RRSE RLS RRS CHM SWF
参数
| 参数 ID |
类型 |
范围 |
默认值 |
说明 |
enable |
bool |
— |
true |
模块启用/禁用 |
gainDb |
float |
-96 ~ 24 dB,步长 0.1 |
0 |
各通道独立增益(perChannel,20ch) |
gainDb 为 perChannel 参数,对每条通道独立下发,channel 字段取值 0~19。
UI 布局
┌────────────────────────────────────────────────────┐
│ ⏻ channel_gain_inst · 通道增益 20ch × │
├────────────────────────────────────────────────────┤
│ 增益 (dB) │
│ FLH ════════○════════ [-96 ~ 24] [ 0.0] │
│ FRH ════════○════════ [-96 ~ 24] [ 0.0] │
│ FLM ════════○════════ [-96 ~ 24] [ 0.0] │
│ ...(共 20 行) │
└────────────────────────────────────────────────────┘
WebSocket 协议
// 设置 FLH(ch=0)增益 -3 dB
{ "type": "set_params", "instanceId": "channel_gain_0", "paramId": "gainDb", "value": -3.0, "channel": 0 }
// 设置 SWF(ch=19)增益 +6 dB
{ "type": "set_params", "instanceId": "channel_gain_0", "paramId": "gainDb", "value": 6.0, "channel": 19 }
DSP 内存布局
| Offset |
Size |
类型 |
说明 |
| 0 |
1 B |
uint8 |
enable(0/1) |
| 1 |
80 B |
float32×20 |
gainDb[0..19],单位 dB |
| 总计 |
81 B |
— |
binarySize: 81 |
adaptive_gain_v1 — 自适应增益
概述
根据输入电平自动调节增益的模块。当输入电平上升时以 upTime 速率跟踪,电平下降时以 downTime 速率平滑回落,实现自动电平控制(ALC)。
- 分类:
gain
- UI 组件:
GenericTuningDialog.vue
- 通道数:20ch 输入/输出
参数
| 参数 ID |
类型 |
范围 |
默认值 |
说明 |
enable |
bool |
— |
true |
模块启用/禁用 |
upTime |
float |
1 ~ 5000 ms,步长 1 |
100 |
增益上升时间常数 |
downTime |
float |
1 ~ 5000 ms,步长 1 |
500 |
增益下降时间常数 |
UI 布局
┌────────────────────────────────────────────────────┐
│ ⏻ adaptive_gain_inst · 自适应增益 × │
├────────────────────────────────────────────────────┤
│ 启用 [开] │
│ 上升时间 ════○════════════ [1~5000] [100] │
│ 下降时间 ═════════○═══════ [1~5000] [500] │
└────────────────────────────────────────────────────┘
WebSocket 协议
{ "type": "set_params", "instanceId": "adaptive_gain_0", "paramId": "upTime", "value": 200 }
{ "type": "set_params", "instanceId": "adaptive_gain_0", "paramId": "downTime", "value": 1000 }
DSP 内存布局
| Offset |
Size |
类型 |
说明 |
| 0 |
1 B |
uint8 |
enable |
| 1 |
4 B |
float32 |
upTime(ms) |
| 5 |
4 B |
float32 |
downTime(ms) |
| 总计 |
9 B |
— |
binarySize: 9 |
speaker_level_v1 — 扬声器级别
概述
基础 SPL 加上按车速分段补偿增益的模块。在不同车速档位(25/45/65/85/105/125/>125 km/h)叠加不同的增益补偿,用于速度响应音量调节(Speed-Volume Compensation)。
- 分类:
gain
- UI 组件:
GenericTuningDialog.vue
- 通道数:20ch
参数
| 参数 ID |
类型 |
范围 |
默认值 |
说明 |
enable |
bool |
— |
true |
启用/禁用 |
spl |
float |
-96 ~ 24 dB,步长 0.1 |
0 |
基础 SPL 级别 |
gain25 |
float |
0 ~ 48 dB,步长 0.5 |
0 |
25 km/h 补偿增益 |
gain45 |
float |
0 ~ 48 dB,步长 0.5 |
0 |
45 km/h 补偿增益 |
gain65 |
float |
0 ~ 48 dB,步长 0.5 |
0 |
65 km/h 补偿增益 |
gain85 |
float |
0 ~ 48 dB,步长 0.5 |
0 |
85 km/h 补偿增益 |
gain105 |
float |
0 ~ 48 dB,步长 0.5 |
0 |
105 km/h 补偿增益 |
gain125 |
float |
0 ~ 48 dB,步长 0.5 |
0 |
125 km/h 补偿增益 |
gainOver |
float |
0 ~ 48 dB,步长 0.5 |
0 |
>125 km/h 补偿增益 |
UI 布局
┌────────────────────────────────────────────────────┐
│ ⏻ speaker_level_inst · 扬声器级别 × │
├────────────────────────────────────────────────────┤
│ 启用 [开] │
│ SPL 基础级别 ════○═══════ [-96~24] [ 0.0] │
│ 25 km/h 补偿 ○═══════════ [0~48] [ 0.0] │
│ 45 km/h 补偿 ○═══════════ [0~48] [ 0.0] │
│ 65 km/h 补偿 ○═══════════ [0~48] [ 0.0] │
│ 85 km/h 补偿 ○═══════════ [0~48] [ 0.0] │
│ 105 km/h 补偿 ○═══════════ [0~48] [ 0.0] │
│ 125 km/h 补偿 ○═══════════ [0~48] [ 0.0] │
│ >125 km/h 补偿 ○═══════════ [0~48] [ 0.0] │
└────────────────────────────────────────────────────┘
WebSocket 协议
{ "type": "set_params", "instanceId": "speaker_level_0", "paramId": "spl", "value": -6.0 }
{ "type": "set_params", "instanceId": "speaker_level_0", "paramId": "gain65", "value": 3.0 }
{ "type": "set_params", "instanceId": "speaker_level_0", "paramId": "gainOver","value": 6.0 }
DSP 内存布局
| Offset |
Size |
类型 |
说明 |
| 0 |
1 B |
uint8 |
enable |
| 1 |
4 B |
float32 |
spl |
| 5 |
4 B |
float32 |
gain25 |
| 9 |
4 B |
float32 |
gain45 |
| 13 |
4 B |
float32 |
gain65 |
| 17 |
4 B |
float32 |
gain85 |
| 21 |
4 B |
float32 |
gain105 |
| 25 |
4 B |
float32 |
gain125 |
| 29 |
4 B |
float32 |
gainOver |
| 总计 |
33 B |
— |
binarySize: 33 |
headroom_v1 — 余量控制
概述
全局余量(Headroom)控制模块,对所有 20 通道施加统一的增益偏移,用于控制系统整体的电平余量。
- 分类:
gain
- UI 组件:
GenericTuningDialog.vue
- 通道数:20ch
参数
| 参数 ID |
类型 |
范围 |
默认值 |
说明 |
enable |
bool |
— |
true |
启用/禁用 |
headRoom |
float |
-96 ~ 24 dB,步长 0.1 |
0 |
全局余量值 |
UI 布局
┌───────────────────────────────────────────────┐
│ ⏻ headroom_inst · 余量控制 × │
├───────────────────────────────────────────────┤
│ 启用 [开] │
│ Headroom ════════○════ [-96~24] [ 0.0] │
└───────────────────────────────────────────────┘
WebSocket 协议
{ "type": "set_params", "instanceId": "headroom_0", "paramId": "headRoom", "value": -6.0 }
DSP 内存布局
| Offset |
Size |
类型 |
说明 |
| 0 |
1 B |
uint8 |
enable |
| 1 |
4 B |
float32 |
headRoom(dB) |
| 总计 |
5 B |
— |
binarySize: 5 |
ut_gain_20ch_v1 — UT 增益 20ch
概述
UT(Unit Test)专用 20 通道增益模块,增益范围限制在 -96 ~ 0 dB(不允许超过 0 dB 增益),用于测试场景下的精确衰减控制。通道名同标准车载 20ch。
- 分类:
gain
- UI 组件:
GenericTuningDialog.vue
- 通道数:20ch
- 通道名:标准车载 20 通道名
参数
| 参数 ID |
类型 |
范围 |
默认值 |
说明 |
enable |
bool |
— |
true |
启用/禁用 |
gainDb |
float |
-96 ~ 0 dB,步长 0.1 |
0 |
各通道独立增益(perChannel,20ch) |
与 channel_gain_v1 的区别:上限为 0 dB(非 +24 dB),用于 UT 测试场景。
UI 布局
┌────────────────────────────────────────────────────┐
│ ⏻ ut_gain_20ch_inst · UT 增益 20ch × │
├────────────────────────────────────────────────────┤
│ 增益 (dB) │
│ FLH ════════════○ [-96 ~ 0] [ 0.0] │
│ FRH ════════════○ [-96 ~ 0] [ 0.0] │
│ ...(共 20 行) │
└────────────────────────────────────────────────────┘
WebSocket 协议
{ "type": "set_params", "instanceId": "ut_gain_0", "paramId": "gainDb", "value": -6.0, "channel": 0 }
DSP 内存布局
| Offset |
Size |
类型 |
说明 |
| 0 |
1 B |
uint8 |
enable |
| 1 |
80 B |
float32×20 |
gainDb[0..19](dB,≤ 0) |
| 总计 |
81 B |
— |
binarySize: 81 |