- 令块 m 中频率区间 n 处的脉冲响应滤波器信号为 f[n,m] = f_Real[n,m] + if_Imag[n,m]。
- 令块 m 中频率区间 n 处的输入信号为 s[n,m] = s_Real[n,m] + is_Imag[n,m]。
- 令滤波器块 m 的增益值表示为 K[m](块 m 的包络增益)。
XDSP 包络概述
XDSP 包络概述
在本主题中,我们将逐步介绍在 XBOX Series X|S 设备上使用 XDSP 执行卷积时的包络 (enveloping) 用法。这一机制是作为一种灵活手段而设计的,让开发者可以在现有流上动态改变脉冲响应滤波器的一部分,而无需重新激活一个新的流。为此提供了 XDspSubmitCommandWithEnvelope API,它在 XDspSubmitCommand API 参数的基础上,还额外接收一个包含脉冲响应滤波器每个块增益值的 envelopeBuffer。这些增益值会在卷积过程中与脉冲响应滤波器对应的块相乘,从而产生期望的效果。此过程中原始脉冲响应滤波器不会被修改。
为了更好地理解包络机制,我们在频域中定义以下变量:
该缓冲区在结构上与脉冲响应滤波器一致。对于立体声脉冲响应,整个左声道的增益值之后紧跟着整个右声道的增益值,正如脉冲响应中左声道之后紧跟着右声道一样。
对于单声道脉冲响应,同一组增益值会应用到立体声输入信号的左右两个声道上。
最后修改于 2026年8月24日
