결과가 복잡하다는 사실이 예상됩니다. 몇 가지 사항을 지적하고 싶습니다.
데이터에 브릭 월 주파수 도메인 필터를 적용하여 0.005Hz보다 큰 주파수에 해당하는 모든 FFT 출력을 제로하려고 시도한 다음 역변환하여 시간 도메인 신호를 다시 얻습니다. 결과가 실제가 되려면 역 FFT에 대한 입력 값이 켤레 대칭 이어야합니다 . 이것은 길이 FFT의 경우엔
엑스[ k ] = X※[ N− k ] , k = 1 , 2 , … , N2− 1( Ne v e n )
엑스[ k ] = X※[ N− k ] , k = 1 , 2 , … , ⌊ N2⌋( No d디)
- 참고 용 심지어 및 일반적으로 동일하지만, 모두 진짜 아니다. 홀수 경우 은 실수 여야합니다.엔엑스[ 0 ]엑스[ N2]엔엑스[ 0 ]
위의 코드에서 이와 같은 작업을 시도했지만 정확하지 않습니다. 역 FFT에 전달하는 신호에 대해 위의 조건을 적용하면 실제 신호를 얻을 수 있습니다.
두 번째 요점은 더 철학적 인 것입니다. 원하지 않는 주파수 영역 내용을 억제한다는 점에서 당신이하고있는 일은 효과가 있습니다. 그러나 이것이 일반적으로 저역 통과 필터가 실제로 구현되는 방식은 아닙니다. 앞에서 언급했듯이, 당신이하고있는 일은 본질적으로 벽돌 벽 (즉, 완벽하게 직사각형) 크기 응답을 가진 필터를 적용하는 것입니다. 이러한 필터의 임펄스 응답은 모양입니다. 주파수 영역에서의 곱셈은 시간 영역에서의 (DFT, 원형) 컨볼 루션과 동일하기 때문에,이 동작은 시간 영역 신호를 함수 와 관련시키는 것과 동일하다 .s i n c ( x )s i n c
이것이 왜 문제입니까? 시간 영역에서 함수의 모습을 생각해보십시오 (위키 백과에서 뻔뻔스럽게 빌린 이미지 아래).s i n c
기능은 시간 영역에서 매우 폭 넓은 지원을하고있다; 메인 로브에서 시간이 지남에 따라 매우 느리게 붕괴됩니다. 많은 응용 분야에서 이것은 바람직한 속성이 아닙니다. 로 신호를 컨볼 루션 할 때 느리게 감소하는 사이드 로브의 효과는 필터링 된 출력 신호의 시간 영역 형태로 종종 나타납니다. 효과 이런 종류의 종종라고 울리는 . 수행중인 작업을 알고있는 경우 이러한 유형의 필터링이 적절한 경우가 있지만 일반적으로 원하는 것은 아닙니다.s i n cs i n c
시간 영역과 주파수 영역 모두에서 저역 통과 필터를 적용하는보다 실용적인 방법이 있습니다. 유한 임펄스 응답 및 무한 임펄스 응답 필터는 차이 방정식 표현을 사용하여 직접 적용 할 수 있습니다 . 또는 필터가 충분히 긴 임펄스 응답 을 갖는 경우 오버랩 과 같이 FFT (시간 영역에서 회선 대신 주파수 도메인을 곱하여 필터 적용)를 기반으로 빠른 회선 기술을 사용하여 성능 이점을 얻을 수 있습니다. 저장 및 겹침 추가 방법.