Jak oszacować funkcję przeniesienia na podstawie odpowiedzi częstotliwościowej tylko wielkości?

11

Biorąc pod uwagę dowolną odpowiedź częstotliwościową, jakie mogą istnieć metody przetwarzania sygnału, które mogłyby odgadnąć, oszacować lub określić funkcję przenoszenia (konstelacja bieguna i zera), która daje „dość dobrą” aproksymację (dla niektórych określonych kryteriów jakości estymacji) dla tej danej odpowiedzi częstotliwościowej? Jakie istnieją środki do oszacowania liczby biegunów i zer wymaganych dla danej funkcji przenoszenia plus dany błąd błędu przybliżenia? Lub jak można ustalić, że ograniczenia te nie mogą być spełnione, jeśli to możliwe?

Jeśli dana odpowiedź częstotliwościowa została faktycznie wytworzona przez znaną funkcję przenoszenia, czy którakolwiek z tych metod będzie zbieżna z tą pierwotną funkcją przenoszenia? Co powiesz na to, czy dana odpowiedź częstotliwościowa podlegała (zakładano Gaussowi) błędom pomiaru?

Załóżmy, że pracujesz w płaszczyźnie Z z próbkowanym spektrum, chociaż ciągłe odpowiedzi w domenie mogą być również interesujące.

Dodano: Czy metody rozwiązania są inne, jeśli podana jest tylko wielkość odpowiedzi częstotliwościowej (np. Dozwolone jest rozwiązanie o dowolnej odpowiedzi fazowej)?

Dodano: Ten ostatni problem jest tym, co najbardziej mnie interesuje, biorąc pod uwagę znaną odpowiedź wielkościową wokół koła jednostki, ale nieznaną / niezmierzoną odpowiedź fazową, czy można zmierzyć zmierzony układ, a jeśli tak, to w jakich warunkach?

hotpaw2
źródło
Czy próbujesz przybliżyć dowolną odpowiedź częstotliwościową jako racjonalne spektrum? Czyli (b [0] + b [1] z ^ -1 ...) / (1 + a [1] z ^ -1 ...)? Jeśli tak, jest to zwykle nazywane modelowaniem ARMA. Jest to trudniejsze niż modelowanie AR, ponieważ autokorelacja sygnału ma tendencję do nieliniowego powiązania ze współczynnikami średniej ruchomej (b [] lub zera). Jeśli moje założenie jest prawidłowe, mogę napisać bardziej formalną odpowiedź.
Bryan
@Bryan: Tak. Próbowałem zasugerować, że stwierdzenie, że rozwiązanie „biegun i zero” jest odpowiednie (funkcja racjonalnego transferu) jest odpowiednie (najlepiej tylko wtedy, gdy jest lepsze niż rozwiązanie dla całego bieguna lub całego zeru / oszacowanie tego samego stopnia).
hotpaw2
Jakie znaczenie ma charakterystyka częstotliwościowa ? Niektóre osoby rozróżniają funkcję odpowiedzi częstotliwościowej lub H ( f ) od funkcji przenoszenia H ( s ), a niektóre nie. Zobacz na przykład dyskusję po tej odpowiedzi na wcześniejsze pytanie. H(ω)H(f)H(s)
Dilip Sarwate
@Dilip Sarwate: Biorąc pod uwagę H (w) tylko dla koła jednostkowego (czy to jest zbędne?), Rozwiąż / oszacuj pełną reprezentację płaszczyzny Z. Mam nadzieję, że jest to zgodne z moim pierwotnym stwierdzeniem pytania.
hotpaw2
1
Dodanie zmienia rzeczy. Biegi i zera mogą się zmieniać, a odpowiedź wielkości pozostaje taka sama. Najczęstszym tego przykładem jest projektowanie minimalnego filtra fazowego. Zazwyczaj wymaga to zajęcia istniejącego systemu i odzwierciedlenia biegunów i zer wewnątrz okręgu jednostki. Zmienia to tylko odpowiedź fazową, a nie odpowiedź wielkościową.
Bryan

Odpowiedzi:

14

Jednym podejściem byłoby zastosowanie metody najmniejszych kwadratów w dziedzinie częstotliwości (FDLS) . Biorąc pod uwagę zestaw (złożonych) próbek odpowiedzi częstotliwościowej układu z czasem dyskretnym i kolejność filtrów wybraną przez projektanta, metoda FDLS wykorzystuje liniową optymalizację najmniejszych kwadratów do rozwiązania dla zestawu współczynników (które są odwzorowane bezpośrednio na zestawy biegunów i zera) dla systemu, którego odpowiedź częstotliwościowa odpowiada żądanej odpowiedzi z minimalnym całkowitym błędem do kwadratu.

Pasmo przenoszenia liniowego układu dyskretnego -tego rzędu można zapisać jako:N

H.(ω)=H.(z)|z=mijotω

gdzie jest funkcją transferu systemu w domenie z . Zazwyczaj jest to zapisane w racjonalnym formacie, który wynika bezpośrednio z równania różnicy w systemie:H.(z)z

H.(z)=k=0N.bkz-k1+k=1N.zakz-k

Pasmo przenoszenia wynosi zatem:

H.(ω)=k=0N.bkmi-jotkω1+k=1N.zakmi-jotkω

Zmień powyższe ustawienia, aby uzyskać:

k=0N.bkmi-jotkω-H.(ω)(1+k=1N.zakmi-jotkω)=0

To równanie jest liniowe w 2)N.+1bkzakH.(ω)ω

Aby rozwiązać odpowiedni zestaw współczynników za pomocą liniowej metody najmniejszych kwadratów, w tych niewiadomych generujemy przesadzony układ równań. Aby wygenerować te równania, wybierz zbiór częstotliwości ωm[0,2)π),m=0,1,,M.-1M.>2)N.+1M.2)N.+1)ωk

k=0N.bkmi-jotkωk-H.(ωk)(1+k=1N.zakmi-jotkωk)=0

H.(ωk)ωkbkzakH.(ω)

Ta technika ma kilka zalet:

  • Jako szablon można zastosować dowolną kompleksową odpowiedź częstotliwościową (wielkość i faza). Jeśli masz tylko ograniczenie wielkości, możesz po prostu wybrać odpowiedź fazową, taką jak faza liniowa.

  • zak

  • Technika jest bardzo prosta do wdrożenia i można ją łatwo parametryzować w oparciu o pożądaną kolejność w systemie.

  • N.

W razie potrzeby można nieco rozszerzyć tę metodę, aby zastosować ważoną optymalizację metodą najmniejszych kwadratów; pozwoli to określić regiony odpowiedzi częstotliwościowej, których błąd aproksymacji jest ważony bardziej niż inne. To pozwala ci ściślej kontrolować obszary pasma / stopbandu, jednocześnie pozwalając na większy spadek w obszarach „nieobsługujących”.

Jason R.
źródło
1
Doskonała odpowiedź !! „Sztuką” w tworzeniu projektów filtrów z najmniejszym błędem kwadratowym jest prawidłowe zdefiniowanie, czym dokładnie jest „błąd”. Kontroluje się to, wybierając odpowiednią siatkę częstotliwości, współczynniki ważenia dla określonych częstotliwości i dodając więcej ograniczeń dla zachowania poza pasmem, a także dla utrzymania biegunów wewnątrz okręgu jednostki.
Hilmar
Problem z tym potencjalnym rozwiązaniem polega na tym, że jeśli faza nie jest znana w odniesieniu do istniejącej funkcji przenoszenia, FDLS może zbiegać się w niewłaściwym rozwiązaniu, jeśli założona zostanie niewłaściwa faza, bez względu na to, jak dokładnie kolejność jest poprawnie odgadnięta lub mierzona jest odpowiedź wielkości.
hotpaw2
@ hotpaw2: Tego należy się spodziewać. Jeśli nie wiesz nic o reakcji fazowej, istnieje nieskończona liczba rozwiązań, które są równie ważne (tj. Miałyby poprawną odpowiedź wielkościową). Będziesz potrzebować informacji, które poprowadzą Cię do tego, co uważasz za najbardziej odpowiednie rozwiązanie.
Jason R
@JasonR: Jedynymi poprawnymi rozwiązaniami powinny być permutacje przewracających się biegunów / zer wewnątrz / na zewnątrz, które są liczbą skończoną dla dowolnego (istniejącego) systemu skończonego porządku.
hotpaw2
6

Moi koledzy osiągnęli świetne wyniki dzięki dopasowaniu wektorowemu :

Dopasowanie wektorowe jest solidną metodą numeryczną do racjonalnego przybliżenia w dziedzinie częstotliwości. Umożliwia identyfikację modeli przestrzeni stanów bezpośrednio na podstawie zmierzonych lub obliczonych odpowiedzi częstotliwościowych, zarówno dla pojedynczych, jak i wielokrotnych systemów wejścia / wyjścia. Wynikowe przybliżenie gwarantuje stabilne bieguny, które są rzeczywiste lub występują w złożonych parach sprzężonych.

Używamy go do konwersji FIR na IIR.

W przypadku mniej wymagających aplikacji możesz po prostu użyć nieliniowego dopasowania najmniejszych kwadratów dla stałej liczby biegunów i zer. Jest to zaimplementowane w Matlab as invfreqsi invfreqz.

nibot
źródło
0

Inne podejście: wykreśl pasmo przenoszenia i dopasuj do niego wykres Bode najlepiej, jak to możliwe. Można to zrobić bardzo szybko, aby uzyskać przybliżone rozwiązanie, lub w jakimś skomplikowanym sensie najmniejszych kwadratów dla lepszego dopasowania. GTH

G Heydt
źródło