Szacowanie kolejności filtrów


9

Załóżmy pewną nieznaną, ale małą i skończoną liczbę biegunów i zer na złożonej płaszczyźnie Z, wszystkie ze złożonymi koniugatami, dającymi pewną odpowiedź. Ściśle z bezwzględnej wartości zestawu równomiernie rozmieszczonych punktów wokół koła jednostkowego, powiedzmy, że jest większa niż 2X liczba biegunów i zer tej odpowiedzi, czy można oszacować lub obliczyć liczbę biegunów i zer, które wytworzyły próbkowaną wielkość odpowiedź?

Dodano: Czy do ustalenia liczby biegunów i zer wymagane są ponad 2-krotne punkty próbne? (pod warunkiem, że suma jest mniejsza niż X).

Dodano: Czy istnieje więcej niż jedno rozwiązanie, czy można znaleźć lub oszacować rozwiązanie minimalne (jak w minimalnej liczbie całkowitych biegunów i zer)?


Jest to o wiele łatwiejszy problem bez biegunów. Byłby to w zasadzie algorytm w komendzie matlab / oktawa firls.
Mark Borgerding

Zastanawiam się, czy mógłbyś przeanalizować licznik i mianownik odpowiedzi częstotliwościowej pod kątem uogólnionego problemu wartości własnej. Prawdopodobnie trzeba założyć fazę (liniowy na początek)
Mark Borgerding

Chyba filtry allpass są wykluczone! Jeśli bieguny i zera są „wystarczająco blisko”, myślę, że będziesz miał problemy, gdy próbki odpowiedzi będą równo rozmieszczone. W każdym razie, powiedzmy, że masz płaską odpowiedź, z wyjątkiem małego uderzenia gdzieś niezbyt niskiej częstotliwości. W zależności od preferencji możesz następnie modelować ten przy użyciu biquad (2 zera i 2 bieguny) lub zamiast tego możesz modelować go za pomocą 4 do 6 zer. Powiązane pytanie brzmi: biorąc pod uwagę zestaw biegunów i zer, jaka jest minimalna liczba punktów odpowiedzi wielkościowej wymagana do dokładnego obliczenia liczby biegunów i zer.
niaren

1
Myślę, że problem, jak stwierdzono, nie jest do rozwiązania. Możesz wziąć dowolny dowolny system i połączyć go kaskadowo z jednym lub kilkoma filtrami allpass; nie wpłynęłoby to na jego odpowiedź wielkościową, ale zmieniłoby liczbę biegunów / zer w kaskadzie. Zatem dla danej odpowiedzi wielkości nieskończenie wiele liczb odpowiadałoby biegunom i zerom. To może być inna historia, jeśli masz dostęp do reakcji fazowej systemu. W przeciwnym razie można zdecydowanie oszacować kolejność w systemie (używając jakiegoś nieokreślonego schematu). Fajny problem do przemyślenia.
Jason R

Naprawiono pytanie o usunięcie nieskończonego zoo filtrów Allpass z rozwiązania.
hotpaw2

Odpowiedzi:


1

Teoretycznie można to zrobić, chociaż często nie będzie to praktyczne.

Rozważmy to w przestrzeni wielomianowej. Dla filtra rzędu N masz 2 * N + 1 zmiennych niezależnych (N dla mianownika i N + 1 dla licznika). Spójrzmy na dowolny punkt na płaszczyźnie z i powiedzmy, że wartość funkcji przenoszenia w tym punkcie to H ( ). Zależność między funkcją przesyłania a wszystkimi współczynnikami filtra można zapisać jako równanie liniowe we wszystkich współczynnikach filtra w następujący sposób: Więc jeśli wybierzesz M różnych częstotliwościzkzk

n=02NbnzknH(zk)n=12Nanzkn=H(zk)
zkskończysz z zestawem M złożonych równań liniowych lub 2 * M równań rzeczywistych. Ponieważ liczba niewiadomych jest nieparzysta (2 * N + 1), prawdopodobnie zawsze chcesz wybrać jedną częstotliwość, gdzie z jest prawdziwe, tj. Z = 1 lub = 0.ω

Jeśli M jest większy niż N, to układ równań jest liniowo zależny. Możesz znaleźć kolejność filtrów, zaczynając od N = 1 i zwiększać N, aż układ równań stanie się zależny liniowo. Największym N, przy którym układ jest liniowo niezależny, jest faktyczna kolejność filtrów. W przypadku tego podejścia nie ma nawet znaczenia, jakie częstotliwości wybierzesz. Dopóki są one różne, każdy zestaw częstotliwości będzie działał.

Jest to jednak bardzo trudny numerycznie problem. Reprezentacja wielomianowa dla większych rzędów filtrów jest bardzo krucha liczbowo, a najmniejsza ilość szumu lub niepewności prowadzi do bardzo dużych błędów numerycznych. Na przykład, jeśli określisz wartości funkcji transferu próbkowanej przez pomiar, wymagana dokładność pomiaru będzie niemożliwa, chyba że będzie to bardzo łagodny filtr niskiego rzędu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.