Filtruj kolejność w zależności od liczby odczepów i liczby współczynników

28

Uczę się DSP powoli i staram się owijać w głowie pewną terminologię:

  • Pytanie 1 : Załóżmy, że mam następujące równanie różnicy filtrów:

    y[n]=2x[n]+4x[n2]+6x[n3]+8x[n4]

    Po prawej stronie znajdują się 4 współczynniki. Czy „liczba dotknięć” również wynosi 4? Czy „kolejność filtrów” to także 4?

  • Pytanie 2 : Próbuję użyć fir1(n, Wn)funkcji MATLAB . Gdybym chciał utworzyć filtr 10-kranowy, czy ustawiłbym ?n=10

  • Pytanie 3 : Załóżmy, że mam następujące równanie różnicy filtrów rekurencyjnych (prawdopodobnie IIR):

    y[n]+2y[n1]=2x[n]+4x[n2]+6x[n3]+8x[n4]

    Jak określić „liczbę odczepów” i „kolejność filtrów”, ponieważ liczba współczynników różni się po lewej i po prawej stronie?

  • Pytanie 4 : Czy poniższe logiczne instrukcje „jeśli i tylko jeśli” są prawdziwe?

    • Filtr jest rekurencyjny Filtr to IIR.
    • Filtr nie jest rekurencyjny Filtr ma wartość FIR.
stackoverflowuser2010
źródło

Odpowiedzi:

37

OK, postaram się odpowiedzieć na twoje pytania:

P1: liczba uderzeń nie jest równa kolejności filtrów. W twoim przykładzie długość filtra wynosi 5, tzn. Filtr rozciąga się na 5 próbek wejściowych [ ]. Liczba uderzeń jest taka sama jak długość filtra. W twoim przypadku masz jedno dotknięcie równe zero (współczynnik dla ), więc masz 4 niezerowe uderzenia. Mimo to długość filtra wynosi 5. Kolejność filtra FIR to długość filtra minus 1, tzn. Kolejność filtrów w twoim przykładzie wynosi 4.x(n),x(n1),x(n2),x(n3),x(n4)x(n1)

Q2: funkcji Matlab fir1 () to kolejność filtrów, tzn. Otrzymujesz wektor z elementami (więc to długość filtra = liczba uderzeń).nn+1n+1

P3: kolejność filtrów jest ponownie 4. Możesz to zobaczyć z maksymalnego opóźnienia potrzebnego do wdrożenia filtra. Jest to rzeczywiście rekurencyjny filtr IIR. Jeśli przez liczbę uderzeń masz na myśli liczbę współczynników filtra, to dla filtra IIR rzędu masz ogólnie współczynniki, chociaż w twoim przykładzie kilka z nich jest zerowych.nth2(n+1)

P4: To trochę trudne. Zacznijmy od prostego przypadku: filtr nierekurencyjny zawsze ma skończoną odpowiedź impulsową, tzn. Jest filtrem FIR. Zwykle filtr rekurencyjny ma nieskończoną odpowiedź impulsową, tj. Jest filtrem IIR, ale zdarzają się przypadki zdegenerowane, w których skończona odpowiedź impulsowa jest realizowana przy użyciu struktury rekurencyjnej. Ale ten drugi przypadek jest wyjątkiem.

Matt L.
źródło
3
+1: Ładna odpowiedź, szczególnie subtelny punkt # 4. Jak mówisz, jest całkowicie możliwe (a czasem pożądane) pisanie filtrów FIR w formie rekurencyjnej.
Peter K.
Odnośnie do pytania 3: Czy kolejność filtrów została znaleziona na podstawie „maksymalnego opóźnienia potrzebnego do wdrożenia filtra” w odniesieniu tylko do prawej strony? Zakładam, że musi to dotyczyć zarówno filtrów FIR, jak i IIR. Jeśli odpowiedź brzmi „tak”, to prawa strona filtra IIR nie ma wpływu na kolejność filtrów, prawda?
stackoverflowuser2010
1
Odnośnie do pytania 4: Czy poprawne są następujące logiczne implikacje: (1) Filtr rekurencyjny -> („implikuje”) FIR lub IIR; (2) Filtr nierekurencyjny -> FIR; (3) FIR -> nierekurencyjny lub rekurencyjny (rzadki); (4) IIR -> rekurencyjne. Czy te stwierdzenia są prawidłowe?
stackoverflowuser2010
2
P3: Kolejność filtrów to maks. potrzebne opóźnienie, bez względu na to, czy konieczne jest opóźnienie czy , więc jeśli twój filtr to , masz filtr rzędu 10.y(n)x(n)y(n)+y(n10)=x(n)
Matt L.
2
P4: Twoje implikacje są prawidłowe.
Matt L.
3
  • Pytanie 1: Liczba uderzeń = liczba współczynników s = długość filtra w przypadku filtra FIR. Kolejność filtra jest równa długości filtra-1.
  • Pytanie 2: należy ustawić na 9, jeśli używasz filtra FIR.n
  • Pytanie 3: To jest filtr IIR, ponieważ masz w nim informacje zwrotne. Spróbuj przekonwertować równanie na Z-transform i wyrazić je jako funkcję przenoszenia, taką jak a wtedy zobaczysz, o co pytasz lub możesz przeczytać więcej o IIR filtry określające ich kolejność.
    Y(z)/X(z)=H(z)
  • Pytanie 4: Filtr FIR jest bezpośredni, co oznacza, że ​​nie ma sprzężenia zwrotnego, ale w przypadku filtra IIR otrzymasz informację zwrotną. Sugerowałbym użycie filtrów FIR, ponieważ mają fazę liniową. Z drugiej strony obliczenia filtrów IIR są mniejsze dla tego samego rozmiaru filtra FIR, ponieważ filtr IIR ma mniejszą liczbę współczynników, ale filtr IIR nie ma fazy liniowej. Więc to jest kompromis, który możesz powiedzieć.
DX
źródło