나는 ffmpeg에서 나온 샘플을 가지고 있는데, 매우 자주 16 비트 샘플 (짧은 타입)이다. dbGain과 함께 iir band pass 필터를 사용했다. here으로 필터링 한 후 가끔씩 짧은 타입 오버플로가 발생하고 그 결과가 일부 발생한다. 계산 된 샘플 값이 32767/-32767에서 벗어날 때 노이즈가 발생합니다. 오디오 pcm 샘플 클리핑을 벗어나는 방법은 없습니다. 어떤 접근법이 존재할 수 있습니까?등화 후 오디오 샘플 16 비트 클리핑을 피하는 방법은 무엇입니까?
내가 봤지만 어떤 실제 예제를 찾을 수 없습니까? I 정수하고 노이즈가 계속 발생 ::
int result = A1 * ((int) Rx) + A2 * ((int) Rxx) + A3 * ((int) Rxxx)
- B1 * ((int) Ryy) - B2 * ((int) Ryyy);
if (result > 32767)
result = 32767;
if (result < -32700)
result = -32700;
y = (short) result;
필터의 게인이 양수이면 채도가 높아질 위험이 있습니다. 구체적인 질문을 더 잘 설명 할 수 있습니까? –
구체적으로 무엇을 알고 싶습니까? – testCoder
글쎄, 만약 당신이 이득을 적용한다면, 왜 그것이 때때로 오버플로/포화 될 것이라고 기대하지 않습니까? –