가중 적용


11

주어진 신호의 음량을 계산 하고이 스레드를 발견했습니다 . 나는 그것의 A-Weighting 측면에 대해 약간 혼란스러워합니다. 이미지를 게시 할 수 없지만 이 사이트에 필요한 수식 있다고 생각 합니다. (Wa = 10log ...)

내가 이해하지 못하는 것은 내 프로그램에서 실제로 사용하는 방법입니다. f주파수를 나타내는 경우 값이 일정하게 유지되므로 값을 하드 코딩 할 수 있습니다. 이 경우 Wa샘플 값에 어떻게 적용 하고 어떤 값을 사용합니까? WINDOW_SIZE/2값 을 얻기 위해 전력 스펙트럼을 계산하고 주파수 대역의 각 값에 미리 계산 된 관련 값을 곱 Wa하거나 잘못된 방법입니까? 미리 감사드립니다.

답변:


8

예, 당신은 값을 하드 코딩하여 신호의 FFT를 수행하고 번성 하드 코딩 된 값으로, 다음 수있는 주파수 영역에서 진폭 얻을 에서 Parseval의 정리 ( ).

디지털 필터를 구현하여 시간 영역에서 수행 할 수도 있습니다. Matlab 코드Python으로의 번역은 다음과 같습니다 .

쌍 선형 변환으로 인해 디지털 필터가 아날로그 필터보다 더 빨리 롤오프되어 일반적인 샘플 속도에서 측정 오류가 발생합니다. 간단한 수정은 데이터를 먼저 업 샘플링하여 불일치를 최소화하는 것입니다. 다른 필터 설계는 여기에 있습니다 : http://dsp.stackexchange.com/q/36077/29


고맙습니다, 나는 그것을 조금 더 잘 이해하고 있습니다. 구문 분석 예제에서 rms_flat은 RMS 방정식 (SQRT(x1^2 + x2^2...xn^2/n))이며 신호의 rms_flat과 FFT의 rms_flat의 차이는 무엇입니까?
TryNCode

@ExpAns : 네, rms_flat()그냥 sqrt(mean(absolute(a)**2)). 은 /n외부에있다. 신호의 RMS 값과 FFT는 스케일링 계수를 제외하고 동일합니다.
endolith
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.