FIR 필터는 몇 개의 탭이 필요합니까?


20

저역 통과 필터를 구현하기 위해 FIR 필터 세트를 설계하려고합니다. 또한 필터를 통해 신호의 대기 시간을 줄이려고 할 수 있으므로 사용할 수있는 최소 탭 수가 무엇인지 궁금합니다.

나는 더 많은 탭이 등 주파수의 선명한 차단하고 더 나은 정지 대역 거부로 이어질 수 있다는 사실을 알고하지만 나는 관심에보다 근본적인있어 무엇을 - 나는에서 컷오프 로우 패스 필터 구현하려는 경우 은 저주파수 신호를 감쇠시키기 위해 적어도 100 개의 탭이 필요하다는 것을 의미합니까? 아니면 더 적은 수의 탭으로 도망 갈 수 있습니까? 그렇다면 이론적 인 하한이 있습니까?fs100

답변:


24

Bellanger의 고전적인 디지털 신호 처리 – 이론 및 실습을 인용 하면 요점은 차단 주파수의 위치가 아니라 필요한 감쇠량, 보존하려는 신호의 리플의 양, 허용 할 수있는 것, 가장 중요한 것은 통과 대역에서 저지 대역으로의 전환 범위를 좁히십시오 (전환 폭).

선형 위상 필터를 원한다고 가정합니다 (최소 대기 시간을 지정하더라도, 나중에 신호로 무엇을할지 잘 모르는 경우 최소 위상 필터는 일반적으로 좋은 생각은 아닙니다) . 이 경우 필터 순서 (탭 수)는

N23log10[110δ1δ2]fsΔf

fs the sampling rateΔf the transition width, ie. the difference between end of pass band and start of stop bandδ1 the ripple in passband, ie. "how much of the original amplitude can you afford to vary"δ2 the suppresion in the stop band.

숫자를 꽂자! 차단 주파수 fs100 이므로 전이 폭이 절반을 넘지 않는다고 주장하므로Δf=fs200

SDR / RF 기술에서 나온 60dB의 억제는 일반적으로 충분합니다. 비용이 많이 들지 않는 하드웨어 입력에서 원하지 않는 신호를 유지하는 데 더 나을 것이 없으므로 CPU가 더 나은 환상적인 필터를 만드는 데 CPU를 낭비하지 마십시오. 하드웨어가 할 수있는 것보다 따라서, δ2=60 dB=103 .

통과 대역에서 진폭 변동이 0.1 % 인 상태로 살 수 있다고 가정 해 봅시다. 그것은 δ1=104 입니다.

그래서 이것을 연결 :

NTommy's filter23log10[110δ1δ2]fsΔf=23log10[110104103]fsfs200=23log10[110107]200=23log10[1106]200=23(log10106)200=236200=800 .

따라서 200 탭으로 멀리 떨어져 있습니다. 필자가 생각한 것처럼 필터에 극도로 좁은 통과 대역을 사용하는 경우 .

이것이 문제가 될 필요 는 없습니다. 우선 800 탭 필터 무섭지 만 솔직히 첫눈에 반합니다.

  • 이 답변에서 StackOverflow에서 테스트 한 것처럼 : 누군가의 CPU 최적화 FIR 구현을 사용하면 요즘 CPU가 빠릅니다 . 예를 들어, 필자는 위의 필터 사양 개요와 함께 GNU Radio의 FFT-FIR 구현을 사용했습니다. 초당 1 억 4,400 만 샘플의 성능을 얻었습니다. 충분하지 않을 수도 있습니다. 질문에 맞는 테스트 사례는 다음과 같습니다 (제작에 몇 초가 걸렸습니다).GNU 라디오 기반 FFT FIR 필터링평가 결과 : rate_avg = 1.40982e + 08
  • MMM=50120050=24
  • 지연 : 걱정하지 마십시오. 꼭 필요한 경우가 아니라면하지 마십시오. 일반적인 오디오 샘플링 속도로이 작업을 수행하고 있습니까? 기억해96kSsridiculously141MSs
  • 1100

3
Lake DSP는 1990 년대 중반에서 초반까지 256,000 개의 탭 FIR 필터를 실시간으로 수행하고있었습니다. 1200 탭? Phfffft! ;-)
Peter K.

2
@PeterK. 그 정신이야! 256kT FIR에 대한 깊은 존중 – 그들이 설계 한 수치 정확도는 단순한 크기의 디자인만큼 놀랍습니다. 기술적으로 자신을 즐기기에는 너무 어리기 때문에 90 년대 초반은 흥미로운 시간이었습니다. 당시에는 DFT IC를 사용했던 엔지니어와 잠시 대화를 나; 다. 사람들이 컴퓨팅 플랫폼을 통해 DSP와 현명한 데이터 스트림을 실제로 처리 할 수 ​​있었지만 오늘날과는 달리 "다목적"액셀러레이터가 없다는 것을 깨달았을 때 애플리케이션 별 DSP ASIC의 필요성이 높아진 것 같습니다.
Marcus Müller

@ PeterK., 그렇습니다. 그러나 호주인들은 항상 우리의 다리를 당기고 있습니다.
robert bristow-johnson 2012

@ robertbristow-johnson oy matey, 무슨 내부자 농담이 여기에서 진행되고 있습니까 : D?
Marcus Müller

2
@ MarcusMüller는 ASIC의 인기가 높아졌지만 지금과 비교할 때 증가한 것처럼 보였지만 (ASIC 사양 / 디자이너였던 모든 사람들이 이제는 FPGA를 사용하기 때문에) 이른바 "다목적"DSP 있었다고 생각 합니다 90 년대 LakeDSP는 6 DSP56001로 만들어졌습니다.
robert bristow-johnson

14

빠르고 실용적인 평가를 위해 프레드 해리스 (Fred harris)의 룰 오브 썸을 좋아합니다.

Ntaps=Atten22BT

어디에:

Atten은 dB 단위의 원하는 감쇠입니다.

BTBT=FstopFpassFs

FstopFpass

Fs

이것은 0.1dB의 통과 대역 리플을 갖는 선형 위상 필터에 대해 얻을 수있는 것과 매우 가깝습니다. 필자는이 경험 법칙을 자주 사용하여 필요한 탭 수를 먼저 잘라낸 다음 필터 설계 프로세스에서 반복을 통해 수정합니다.

참고 사항 :이 규칙은 실제로 탭 수를 결정하는 요인에 대한 훌륭한 통찰력을 제공합니다 : 정지 밴드 감쇠 및 전이 대역의 가파름 (및 통과 대역 리플). 그러나 적어도 필터를 위해 설계해야했습니다 무선 통신 애플리케이션-감쇠 요구 사항이 리플보다 우세합니다. 따라서 Fs / 100에서 컷오프에 관한 질문은 정지 대역으로 얼마나 빨리 전환해야 하는지를 놓치고 있습니다.

FsFpassFstop

Ntaps=60222/100=137

이러한 수치를 가지고 놀아도 데시 메이션 접근법을 사용하여 프로세싱 감소의 중요성을 입증 할 수 있습니다.


7

수락 된 답변에 몇 가지 추가 참조가 추가되었습니다. 나는 관여 할 수있는 공식을 쓰지 않을 것입니다. 이러한 수식은 주로 시작 규칙 또는 대략적인 규칙을 산출합니다. 실제 디자인을 위해이 숫자들을 둘러 볼 수 있습니다.

Bellanger 디자인의 원점 중 하나는 다음과 같습니다. 디지털 필터의 계산 복잡성, 1981, Proc. 유로 교수 회로 이론 설계, M. Bellanger. 얻는 것이 매우 어렵지만,이다 해 드리겠습니다 . 흥미롭게도, 계수 당 비트 수를 평가하는 공식도 지정하는데, 이는 유한 산술 구현에서 고려해야합니다. 프랑스어로 더 접근 가능한 버전은 다음과 같습니다 : Evaluation de la complexité des filtres numériques , 1982.

몇 가지 다른 공식들이 유한 임펄스 응답 필터 설계 , 디지털 신호 처리를위한 핸드북, 1993, T. Samamaki에서 수집됩니다.

보다 최근에는 최적의 FIR 디지털 필터를위한 최소 필터 길이의 정확한 추정치를 읽을 수 있습니다 ( 2000, K. Ichige et al.).

마지막으로, l-norm 최적화를 사용하여 최소 필터 차수를 갖는 FIR 필터의 효율적인 설계 보고서 는 차수가 점차 감소하는 설계를 주장합니다.


4

minimize max(|H(ω)|)for all ω in the stopband
subject to1δ|H(ω)|δ for all ω in the passband

내가 생각할 수있는 주요 실제 문제는 최적화를 수행 할 때 사용되는 주파수 샘플의 수입니다. 주파수 간 샘플 동작으로 인해 원하지 않는 효과가 발생할 수 있습니다. 적합도는 탭 수에 따라 다릅니다. 최소 탭 수는 문제를 해결할 수 없을 때라고 말할 수 있습니다. 따라서 하나의 해결책은 타당성 문제를 해결하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.