이동 평균 필터의 차단 주파수는 무엇입니까?


18

컷오프 주파수가 7.8Hz 인 이동 평균 필터를 설계해야합니다. 나는 이전에 이동 평균 필터를 사용했지만, 내가 아는 한, 공급 될 수있는 유일한 매개 변수는 평균을 내야 할 포인트의 수입니다 ... 어떻게 차단 주파수와 관련이 있습니까?

7.8Hz의 역수는 ~ 130ms이며, 1000Hz에서 샘플링 된 데이터로 작업하고 있습니다. 이것은 130 샘플의 이동 평균 필터 창 크기를 사용해야한다는 것을 의미합니까, 아니면 여기에 누락 된 것이 있습니까?


먼저 "차단"에 대한 이해를 정의해야합니다. 필터의 응답이 0보다 높은 위 (아래)의 마지막 주파수 인 경우, 이동 평균 필터의 커널이 유한 지원을하고 유한 잔물결이 무한 푸리에 이미지로 변환되므로 답은 "없음"입니다.
mbaitoff

이동 평균 필터는 추가 된 노이즈를 제거하고 평활화 목적으로 시간 도메인에서 사용되는 필터이지만 주파수 분리를 위해 주파수 도메인에서 동일한 이동 평균 필터를 사용하면 성능이 최악입니다. 이 경우 주파수 도메인 필터를 사용하십시오

답변:


27

이동 평균 필터 (때로는 박스 카 필터 라고도 함 )는 직사각형 임펄스 응답을 갖습니다.

h[n]=1Nk=0N1δ[nk]

또는 다르게 언급하십시오.

h[n]={1N,0n<N0,otherwise

이산 시간 시스템의 주파수 응답이 임펄스 응답 의 이산 시간 푸리에 변환 과 같다는 것을 기억 하여 다음과 같이 계산할 수 있습니다.

H(ω)=n=x[n]ejωn=1Nn=0N1ejωn

이를 단순화하기 위해 기하 급수 의 첫 번째 항의 합으로N 알려진 공식을 사용할 수 있습니다 .

n=0N1ejωn=1ejωN1ejω

우리가 귀하의 경우에 가장 관심있어하는 필터의 크기 응답입니다 . 몇 가지 간단한 조작을 사용하면 이해하기 쉬운 형태로 얻을 수 있습니다.|H(ω)|

H(ω)=1Nn=0N1ejωn=1N1ejωN1ejω=1NejωN/2ejω/2ejωN/2ejωN/2ejω/2ejω/2

이해하기 쉽지 않을 수 있습니다. 그러나 오일러의 정체성 으로 인해 다음을 기억하십시오.

sin(ω)=ejωejωj2

따라서 위와 같이 작성할 수 있습니다.

H(ω)=1NejωN/2ejω/2j2sin(ωN2)j2sin(ω2)=1NejωN/2ejω/2sin(ωN2)sin(ω2)

앞에서 언급했듯이, 실제로 우려하는 것은 주파수 응답의 크기입니다. 따라서 위의 크기를 더 단순화하여 더 단순화 할 수 있습니다.

|H(ω)|=1N|sin(ωN2)sin(ω2)|

참고 : 지수 항은 결과의 크기에 영향을 미치지 않기 때문에 제거 할 수 있습니다. 의 모든 값에 대한 ω . 이후 | x y | = | x | | y | 두 개의 유한 복소수 xy 에 대해 지수 항의 존재는 전체 크기 반응에 영향을 미치지 않는다 (대신 시스템의 위상 반응에 영향을 미침).|ejω|=1ω|xy|=|x||y|xy

크기 괄호 안의 결과 함수는 Dirichlet 커널 의 한 형태입니다 . 그것은 때때로이라고 주기적인 싱크 가 유사하기 때문에, 기능 싱크 기능을 외관에 다소 대신 주기적이다.

어쨌든 컷오프 주파수의 정의가 다소 지정되지 않았기 때문에 (-3dB 포인트? -6dB 포인트? 첫 번째 사이드 로브 null?) 위의 방정식을 사용하여 필요한 모든 것을 해결할 수 있습니다. 특히 다음을 수행 할 수 있습니다.

  1. 세트 차단 주파수에서 원하는 필터 응답에 해당하는 값.|H(ω)|

  2. 를 차단 주파수와 동일하게 설정하십시오 . 연속 시간 주파수를 이산 시간 도메인에 매핑하려면 ω = 2 π fω 어디F샘플 속도입니다.ω=2πffsfs

  3. 방정식의 왼쪽과 오른쪽이 가장 잘 일치하는 값을 찾으십시오 . 이동 평균의 길이 여야합니다.N


내 생각에 그것은 '예'입니까? 내가 알 수있는 한 130 샘플은 ω = 7.8 인 N에 맞는 것처럼 보이지만 수학자는 아닙니다.
CaptainProg

@CaptainProg : 오직 당신 만이 말할 수 있습니다; 크기 응답이 차단 주파수에 무엇을 원하는지 잘 모르겠습니다.
Jason R

1
n과 N이 무엇인지 정의 할 수 있습니까? 주어진 샘플링 주파수를 가진 예제도 매우 도움이 될 것입니다. 이것은 간단하게 들릴지 모르지만,이 질문은 "이동 평균 컷오프 주파수"의 최고 결과이므로 필터 뒤의 수학에 익숙하지 않은 다른 시청자가 많이있을 것입니다.
FvD

@FvD 은 불연속 시간 신호에 일반적으로 사용되는 신호 x [ n ] 의 샘플 인덱스입니다 . N 은 위의 첫 번째 방정식에서 정의됩니다. 기회가 생기면 예제를 추가 할 수 있지만 특정 컷오프 주파수를 충족시키기 위해 필터를 설계하려는 사람은 누구나 수학을 따를 수 있다고 생각합니다. nx[n]N
Jason R

10

경우 이동 평균, 그때 대략 차단 주파수의 길이 F C O (유효 N > = 2 규격화 주파수) F가 = F / F (S) 이다NFcoN>=2F=f/fs

Fco=0.442947N21

이것의 반대는

N=0.196202+Fco2Fco

이 공식은 큰 N에 대해 점증 적으로 정확하며 N = 2의 경우 약 2 %, N> = 4의 경우 0.5 % 미만입니다.

추신 : 2 년 후 여기에 마지막으로 어떤 접근 방식이 뒤따 랐습니다. 결과는 주위의 MA 진폭 스펙트럼을 포물선 (2 차 시리즈) 으로 근사화 한 결과를 기반으로 합니다.f=0

MA(Ω)=Sin(ΩN/2)Sin(Ω/2)

MA(Ω)1+(124N224)Ω2

의 제로 크로싱 근처에서 더 정확하게 만들 수 있습니다.MA(Ω)22Ω

α=0.95264

MA(Ω)1+0.907523(124N224)Ω2

MA(Ω)22=02πFco=Ωco

위의 모든 내용은이 게시물의 주제 인 -3dB 차단 주파수와 관련이 있습니다.

때때로 주어진 -3dB 차단 주파수를 갖는 1 차 IIR 저역 통과 필터 (단극 LPF)와 비슷한 정지 대역에서 감쇠 프로파일을 얻는 것이 흥미롭지 만 (LPF를 누설 통합 기라고도 함), DC에 정확하게 있지 않지만 근처에 극을 갖는 것).

MA 필터 (FIR, N-1 0)와 1 극 IIR LPF의 관계

F=k/N1/f1/f

HIIR=1Exp(Ωco)1Exp(Ωco)Exp(jΩ)

이 IIR 필터와 유사한 노이즈 필터링 기능을 가진 MA 필터를 얻고 2 개의 스펙트럼을 비교할 때 3dB 차단 주파수를 동일하게 일치 시키려면 MA 필터의 정지 대역 리플이 발생한다는 것을 알 수 있습니다 IIR 필터보다 3dB 낮습니다.

IIR 필터와 동일한 정지 대역 리플 (즉, 동일한 잡음 전력 감쇠)을 얻기 위해 다음과 같이 공식을 수정할 수 있습니다.

Fco,IIR=0.32N21

N=0.1024+Fco,IIR2Fco,IIR


I changed your formula to the latex format. Please double check and confirm both of them are correct. Thanks.
lennon310

I added a derivation of this approximation here dsp.stackexchange.com/a/28186/15347
Olli Niemitalo

2
As far as i remember i derived this formula with pragmatic concerns in mind, by means of numerical methods (either NSolve in Mathematica or something similar in Matlab), which should be asymptotically correct for large N. The number you gave is about 3% off, so i am not sure what to say.
Massimo

1
@Massimo we did a lot of work on this and other approximations in the other question. If you ever need more decimal places this is your magic number: 0.442946470689452340308369
Olli Niemitalo

1
I found back the Mathematica script where i calculated the cut off for several filters, including the MA one. The result was based on approximating the MA spectrum around f=0 as a parabola according to MA(Ω)=Sin(ΩN/2)/Sin(Ω/2) ; Omega=2πF; MA(F)N+1/6F2(NN3)π2 . And deriving the crossing with 1/2 from there.
Massimo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.