Skip to content

Volume control cannot amplify the signal #579

@singalsu

Description

@singalsu

The current gain value in kernel to firmware IPC does not support > 0 dB gain and also is not very accurate at low gains due to using only lowest 17 bits of the 32 bit IPC value.

  • Larger than 1.0x or 0 dB gain are useful in audio capture from microphones where the signal level can be low.
  • The Q1.16 format gain can't support monotonically 0.1 dB gain steps at < -50 dB gains. Though it's a minor issue since the smallest supported steps in SOF kernel are 0.5 dB.
  • Adding Q16.16 volume support to FW would be a fairly small task and would not break compatibility with current kernel. Due to very large integer part in fraction and due to DSP multiply instruction limitation the FW would need to extract the lowest 24 bits and use the Q16.16 gain as Q8.16.
  • Other format such as Q7.25 would address both issues but need changes at both kernel and FW side. In this case the DSP could always use as many bits for multiply from MSB side of the 32 bit word.

Metadata

Metadata

Labels

P2Critical bugs or normal featuresenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions