Przejście do transmitancji cyfrowej (operatora z)
Matematycznie ścisłe przejście z operatora analogowego s do cyfrowego operatora z dane jest wzorem:
gdzie Td to okres próbkowania sygnału. Wydaje się to prostą zależnością, dopóki nie zauważymy, że wykładnik potęgi jest liczbą zespoloną, co znacznie komplikuje obliczenia. Dlatego w praktyce stosuje się pewne przybliżenie wzoru teoretycznego zwane przekształceniem dwuliniowym lub bilinearnym. Przybliżenie to wygląda następująco:
Gdzie s' jest to przetransformowany wcześniej biegun filtru analogowego, a z biegun filtru cyfrowego. Takie przekształcenie jest znacznie prostsze obliczeniowo i daje dobre rezultaty praktyczne. Przekształcenie zachowuje sprzężenie biegunów, to znaczy że para biegunów zespolonych sprzężonych s pozostaje parą biegunów zespolonych sprzężonych z. Dzięki temu dla pary biegunów sprzężonych można wykonać tylko połowę obliczeń. Podobnie biegun rzeczywisty pozostaje po przekształceniu biegunem rzeczywistym. Dla przykładowego filtru bieguny po przekształceniu dwuliniowym są następujące:
Filtr Czebyszewa:
s12 = 0,795271±j0,372823
s3 = 0,760628
Wyliczenie transmitancji polega na wstawieniu obliczonych biegunów do mianownika, oraz wstawieniu odpowiednich zer (miejsc zerowych licznika) do licznika. Do obliczeń w MatLabie wymnażamy wszystkie bieguny (podobnie zera) przez siebie aż do uzyskania w liczniku i mianowniku wielomianów stopnia N równego rzędowi filtru. Do praktycznej realizacji filtru korzystniej jest pozostawić licznik i mianownik jako iloczyn wielomianów stopnia pierwszego i drugiego. Odpowiada to wykonaniu filtru jako kaskadowego połączenia filtrów pierwszego i drugiego rzędu. Takie rozwiązanie jest korzystne ponieważ znacznie zmniejsza wrażliwość filtru na zaokrąglenia współczyników wzmacniaczy. Szczególnie warto więc je zastosować w przypadku pracy w arytmetyce stałoprzecinkowej. Wtedy każdy biegun rzeczywisty odpowiada blokowi pierwszego rzędu, a każda para zespolonych biegunów sprzężonych – blokowi drugiego rzędu.
Blok taki powstaje z bieguna rzeczywistego i ma jedno zero w punkcie −1 (filtr górnoprzepustowy ma zero w punkcie 1). Licznik transmitancji ma zatem postać
Mianownik natomiast (zakładając że biegun wynosi c)
Od transmitancji można przejść do schematu blokowego, korzystając z definicji transmitancji, jest to bowiem stosunek transformaty sygnału wyjściowego Y(z) do transformaty sygnału wejściowego X(z). Dla bloku pierwszego stopnia mamy zatem:
Z ostatniego wzoru bezpośrednio można narysować schemat blokowy bloku filtru I rzędu.
Przykładowy filtr Butterwortha nie posiada biegunów rzeczywistych, a więc i bloków I rzędu. Filtr Czebyszewa posiada jeden biegun rzeczywisty, odpowiadający mu blok ma transmitancję
Blok ten powstaje z pary biegunów zespolonych sprzężonych i ma podwójne zero w punkcie -1 (filtr górnoprzepustowy ma podwójne zero w punkcie 1). Zatem licznik transmitancji tego bloku ma postać
Mianownik natomiast przyjmuje postać (przy parze biegunów a±jb)
Podobnie jak przy bloku pierwszego rzędu korzystamy z definicji transmitancji, aby uzyskać wzór definiujący postać schematu blokowego
Przykładowy filtr Butterwortha posiada dwie pary biegunów zespolonych sprzężonych, będzie zatem miał dwa bloki drugiego rzędu. Dla bieguna z12 transmitancja wyniesie
Dla bieguna z34 transmitancja wyniesie
Przykładowy filtr Czebyszewa posiada jedną parę biegunów zespolonych sprzężonych. Transmitancja odpowiadającego mu bloku jest następująca
Do weryfikacji obliczeń w MatLabie niezbędna jest kompletna transmitancja filtru jako całości. Uzyskujemy ją wstawiając wszystkie bieguny jako miejsca zerowe mianownika, oraz N-krotne zero w punkcie -1 jako miejsce zerowe licznika, a następnie wymnażając. Równoważnym sposobem jest wymnożenie przez siebie transmitancji wszystkich bloków filtru. Tramsmitancja przykładowego filtru Butterwortha ma postać
Transmitancja filrtu Czebyszewa natomiast
W programie MatLab można sprawdzić charakterystykę amplitudową przykładowego filtru wydając następujące polecenie (wartości liczbowe dla przykładowego filtru Butterwortha):
freqz([1 4 6 4 1],[1 -2.555369 2.622493 -1.245102 0.228714],10:10:20000,44100)
Pierwszy wektor zawiera kolejne współczynniki wielomianu licznika transmitancji, drugi kolejne współczynniki mianownika.
|
REKLAMA |
REKLAMA |
REKLAMA |
REKLAMA |
REKLAMA |
KOŁA SEP Studenckie, pracownicze czy inne - wszystkie koła związane z działalnością Stowarzyszenia ... |
LabVIEW Grupa użytkowników środowiska programowania LabVIEW. |
Amatorskie urządzenia ... Zapraszam do zbierania, prezentowania, dyskutowania nad amatorskimi rozwiązaniami energetycznymi, ... |
REKLAMA |