Ćwiczenie 8. Podstawowe systemy dyskretne, ich charakterystyki
i przykłady zastosowań
1. Cele ćwiczenia
Celem ćwiczenia jest bliższe zapoznanie się z trzema podstawowymi systemami dyskretnymi: transformatorem
Hilberta, filtrem różniczkującym i filtrem grzebieniowym, ich charakterystykami i niektórymi zastosowaniami
do przetwarzania sygnałów dyskretnych.
2. O sposobie osiągania celów ćwiczenia
W ramach przygotowania do ćwiczenia student:
" odświeży wiedzę z wykładu z PCPS z poprzedniego semestru na temat różnych sposobów opisu systemów
dyskretnych, zwłaszcza na temat charakterystyk czasowych i częstotliwościowych tych systemów,
" odświeży wiedzę na temat obliczania odpowiedzi systemu FIR (od ang. finite impulse response) na dowolne
pobudzenie (splot dyskretny, mnożenie transformat DTFT),
" zapozna się z zalecaną literaturą [1], [2] na temat badanych w ćwiczeniu systemów dyskretnych,
" zapozna się uważnie z treścią niniejszej instrukcji,
" przygotuje pisemne rozwiązania problemów postawionych w instrukcji, przyniesie je na zajęcia laboratoryjne
celem porównania wyników obliczeń teoretycznych z wynikami obliczeń komputerowych i dołączy do
sprawozdania.
W sprawozdaniu należy krótko przedyskutować oraz rzeczowo i konstruktywnie podsumować otrzymane
wyniki, wykorzystując m.in. wskazania z dalszych części instrukcji.
3. Podstawy teoretyczne
System różniczkujący, nazywany również filtrem różniczkującym, to taki system, którego odpowiedz jest
pochodną pobudzenia. Idealny dyskretny system różniczkujący o opóznieniu wynoszącym odstępów
próbkowania, pobudzony sygnałem dyskretnym x[n] pochodzącym z równomiernego próbkowania, z okresem
T, nieznanego sygnału analogowego x(t) tak, że x[n] = x(t) , ma za zadanie dostarczenie na wyjście
t=nT
sygnału:
d
y[n] = x(t) (1)
t =(n- )T
dt
W systemie dyskretnym sygnał y[n] jest znajdowany bez odtwarzania sygnału analogowego x(t) . Oczywiście,
byłoby pożądane, gdyby opóznienie było równe zeru. W praktyce tak jednak nie jest, dlatego uwzględniamy
to opóznienie w opisie systemu różniczkującego.
Charakterystyka amplitudowo-fazowa idealnego systemu różniczkującego, realizującego funkcję (1) jest
następująca:
"
j
H (e ) = j exp(- j ), < (2)
Aatwo sprawdzić, że charakterystyka amplitudowa tego systemu narasta liniowo, gdy częstotliwość f = / 2
zmienia siÄ™ od 0 do ½. Z tego powodu system różniczkujÄ…cy wykorzystuje siÄ™ do uwypuklania skÅ‚adowych
wysokoczęstotliwościowych w widmie sygnału.
Odpowiedz impulsowÄ… idealnego systemu (2) znajdujemy za pomocÄ… odwrotnego dyskretno-czasowego
przekształcenia Fouriera (DTFT) w następujący sposób [3]:
1 1
j j n j (n- )
h[n] = (e )e d = j e d =
+"H +"
2 2
- -
, n = 0,Ä…1,... (3)
cos[ (n - )] sin[ (n - )]
= -
n -
(n - )2
Dla =0 (system o zerowym opóznieniu) z (3) otrzymujemy
Å„Å‚ 0, n = 0
Å„Å‚ 0, n = 0
ôÅ‚ ôÅ‚
h[n] = n (4)
òÅ‚cos , n `" 0 =òÅ‚(-1)n , n `" 0
ôÅ‚ ôÅ‚
ół n
ół n
a dla = -1/ 2 (system z wyprzedzeniem o pół odstępu próbkowania) dostajemy
- cos n 4 cos n
h[n] = = - (5)
1
(n + )2 (2n +1)2
2
Obie powyższe odpowiedzi impulsowe są antysymetryczne, przy czym dla systemu (4)
h[n] = -h[-n] , n = 1,2,... (6a)
a dla systemu (5)
h[n] = -h[-n -1] , n = 0,1,... (6b)
W obu przypadkach odpowiedz idealnego systemu różniczkującego jest obustronnie nieskończona, tzn. próbki
h[n] są różne od zera dla n = ą1,ą2... aż do nieskończoności. A więc idealny system różniczkujący nie jest
realizowalny.
Transformator Hilberta jest szeroko wykorzystywany praktycznie, zwłaszcza w cyfrowych systemach
telekomunikacyjnych. Służy on do przekształcania sygnału rzeczywistego o widmie amplitudowym
symetrycznym względem częstotliwości zerowej, czyli parzystym, na sygnał zespolony, nazywany również
sygnałem analitycznym (przez analogię do odpowiadającego mu sygnału z czasem ciągłym), lub hilbertowskim,
o widmie prawostronnym, tzn. równym zeru dla ujemnych częstotliwości. Transformator Hilberta wykorzystuje
się w systemach radarowych, w systemach przetwarzania sygnałów mowy, systemach z modulacją, z
efektywnym zespolonym próbkowaniem sygnałów rzeczywistych pasmowych [4].
Idealny dyskretny transformator Hilberta ma charakterystykÄ™ amplitudowo-fazowÄ… zdefiniowanÄ… wzorem
"
j
H (e ) =- j sgn( ) exp(- j ), < (7a)
"
Å„Å‚ 1, > 0
gdzie sgn( ) =òÅ‚ jest funkcjÄ… znaku, a ma takie samo znaczenie, jak poprzednio. Wzór (7a) można
ół-1, < 0
równoważnie zapisać w postaci
Å„Å‚- j exp(- j ), 0 < <
j
H (e ) = (7b)
òÅ‚
j exp(- j ), - < < 0
ół
Odpowiedz impulsowa systemu idealnego (7) wyraża się wzorem [4]:
2 sin2[ (n - ) / 2]
h[n] = , n = 0,Ä…1,... (8)
n -
Jest ona obustronnie nieskończona, a więc nie jest realizowalna. Dla =0 z (8) otrzymujemy
Å„Å‚ 0, n = 0
ôÅ‚
h[n] = (9)
2 sin2 ( n / 2)
òÅ‚
ôÅ‚ n , n `" 0
ół
gdzie h[n] spełnia warunek (6a), a co druga próbka jest zerowa: h[2n] = 0, n = 0,ą1,... . Natomiast dla = -1/ 2
dostajemy
1
h[n] = (10)
1
(n + )
2
gdzie h[n] spełnia warunek (6b), ale próbki h[n] są niezerowe. Zauważmy, że gdy =0 to wzór (7b) ,
reprezentuje idealny przesuwnik fazy o 90o .
Zespolony sygnał hilbertowski. Jeżeli na wejście transformatora Hilberta (7b), przy =0, podamy sygnał
j
Ć
rzeczywisty x[n] o widmie dwustronnym X (e ) , to na jego wyjściu otrzymamy sygnał x[n] o następującym
widmie:
Å„Å‚- jX (e j ), 0 < <
ôÅ‚
j j j
Ć
X (e ) = X (e )H (e ) = (11)
òÅ‚
j
ôÅ‚ jX (e ), - < < 0
ół
Utwórzmy sygnał zespolony hilbertowski
Ć
y[n] = x[n] + jx[n] (12)
Ć
Stanowi on sumę oryginalnego sygnału rzeczywistego x[n] i odpowiedzi x[n] transformatora Hilberta na x[n] ,
potraktowanej jako składowa urojona sygnału.
x[ n ]
x[ n ]
Transformator Ć
x[ n ]
Hilberta
Ć
Rys.1. Filtr zespolony hilbertowski; x[n] jest transformatą Hilberta rzeczywistego sygnału wejściowego x[n] o
Ć
widmie dwustronnym, a na wyjściu otrzymuje się sygnał zespolony x[n] +j x[n] o widmie prawostronnym.
Sygnał y[n] jest, rzecz jasna, zespolony i ma widmo
j j j
Ć
Y(e ) = X (e ) + jX (e ) (13)
PodstawiajÄ…c (11) do (13) dostajemy
Å„Å‚2X (e j ), 0 < <
ôÅ‚
j
Y (e ) = (14)
òÅ‚
ôÅ‚ - < < 0
0,
ół
Oznacza to, że sygnał y[n] ma widmo prawostronne. System przekształcający dany sygnał rzeczywisty x[n] na
Ć
sygnał zespolony (12) taki, że składowa urojona x[n] jest transformatą Hilberta składowej rzeczywistej,
nazywamy filtrem zespolonym (hilbertowskim). Schemat blokowy tego filtru przedstawia rys.1.
Ć
Przykład. Jeżeli x[n] = a cos( n) i a=const, to x[n] = a sin( n) i, konsekwentnie, y[n] = a exp( j n) . Jeżeli
0 0 0
j j
-" < n < " , to mamy do czynienia z widmem X (e ) = [ ( - ) + ( + )] i Y(e ) = 2 ( - ) ,
0 0 0
gdzie ( ) jest deltÄ… Diraca.
Aproksymacja FIR. Oba systemy idealne, system różniczkujący i transformator Hilberta, można z dowolną
dokładnością aproksymować za pomocą realizowalnego systemu FIR lub IIR (od ang. infinite impulse response).
Dalej zajmiemy się wyłącznie liniowo-fazowymi systemami FIR. Będziemy rozważać system FIR o odpowiedzi
impulsowej hN [n] , n = 0,1,..., N -1 o skończonej długości (liczbie próbek) N i charakterystyce amplitudowo-
fazowej
N -1
"
j
H (e ) = [n]exp(- j n) (15)
N N
"h
n=0
System FIR (15) ma dokładnie liniową charakterystykę fazową, gdy
hN [n] = hN [N - n -1] , n = 0,1,..., N -1 (16a)
lub, gdy
hN [n] = -hN [N - n -1] , n = 0,1,..., N -1 (16b)
W tym ćwiczeniu mamy do czynienia z systemami FIR o antysymetrycznej odpowiedzi impulsowej, a więc
wchodzi w grę wzór (16b). Niemniej, w obu przypadkach, opóznienie wnoszone przez filtr wynosi
(N -1) / 2 odstępów próbkowania.
.
Systemy o uogólnionej charakterystyce fazowej Jeżeli N jest nieparzyste, to hN [n] jest antysymetryczna
względem próbki o numerze n= (N -1) / 2 . Ta sytuacja odpowiada rozpatrzonemu wyżej przypadkowi =0, ale
z dodatkowym opóznieniem o całkowitą liczbę (N -1) / 2 odstępów próbkowania.
Jeżeli N jest parzyste, to hN [n] jest antysymetryczna względem punktu na osi n w połowie odcinka
pomiędzy próbkami o numerach: n= N / 2 i n= N / 2 +1 . Ta sytuacja odpowiada rozpatrzonemu wyżej
przypadkowi = -1/ 2 , ale z dodatkowym opóznieniem o całkowitą liczbę N / 2 odstępów próbkowania.
Oznacza to, że odpowiedz impulsową idealnego (dalej wykorzystywanego w metodzie okien) systemu o
opóznieniu = (N -1) / 2 takim samym, jak w docelowym systemie FIR, można otrzymać za pomocą wzorów
(4) i (9) dla N nieparzystych i za pomocą wzorów (5) i (10) dla N parzystych. Wystarczy tylko przesunąć h[n]
na osi n w prawo o (N -1) / 2 odstępów dla N nieparzystych i o N / 2 odstępów dla N parzystych (twierdzenie o
N -1
przesunięciu dla DTFT). Ze wzoru (16b) wynika też, że dla N nieparzystych hN [ ] = 0 oraz, że
2
j0 j j0
H (e ) = H (e ) = 0 . Natomiast dla N parzystych jedynie H (e ) = 0 . To z kolei oznacza, że system nie
N N N
przenosi składowej stałej (wyzerowuje ją).
W praktyce nie zawsze jest pożądana aproksymacja w całym pasmie pulsacji < . Nieraz wystarcza
aproksymacja w pasmie ograniczonym do < 2 fc , gdzie 0 < fc <1/ 2 nazywamy częstotliwością odcięcia (od
ang. cutoff). Wówczas transmitancje idealne (2) i (7), które mamy aproksymować liniowo-fazowym systemem
FIR o długości N, zapiszemy w postaci
"
j
HI (e ) = j exp(- j (N -1) / 2), d" 2 fc (17)
dla systemu różniczkującego i
"
j
H (e ) =- j sgn( ) exp(- j (N -1) / 2), d" 2 fc (18)
I
dla transformatora Hilberta. Tu fc jest największą częstotliwością, dla której aproksymacja ma być dobra.
Częstotliwość fc nazywamy również szerokością pasma systemu. Poza pasmem < 2 fc zwykle nie
specyfikuje się wymagań na charakterystykę częstotliwościową systemu, chociaż można by to uczynić, np.
j
narzucając warunek, że HI (e ) = 0 dla 2 fc < < . Dodajmy, że charakterystyki (17) i (18) reprezentują
systemy idealne o tzw. uogólnionej charakterystyce fazowej [1], z uwagi na obecność czynnika
exp(- j(N -1) / 2) .
Metoda okien należy do elastycznych i z tego powodu popularnych metod aproksymacji. W tej metodzie
odpowiedz impulsową hN [n] docelowego systemu FIR otrzymujemy w następujący sposób. Mnożymy
odpowiedz impulsową idealną hI [n] projektowanego systemu o uogólnionej charakterystyce fazowej (tu
odpowiadającą charakterystyce (17) lub (18), a więc odpowiednio przesuniętą na osi n, co wcześniej
przedyskutowaliśmy) przez funkcję okna wN [n] o długości docelowego systemu FIR, zdefiniowaną dla
n=0,1,...,N-1. Wykonujemy więc działanie
hN [n] = hI [n]wN [n] (19)
W ten sposób ograniczamy długość odpowiedzi impulsowej systemu do realizowalnej, przyczynowej, N-
punktowej. Najprościej jest, rzecz jasna, zastosować okno prostokątne (ang. boxcar)
1, n = 0,1,..., N -1
Å„Å‚
wN [n] = (20)
òÅ‚
0, n < 0, n e" N
ół
Jest to równoważne obcięciu nieskończonej odpowiedzi impulsowej hI [n] symetrycznie względem
n= (N -1) / 2 . Jednakże, jak można się przekonać eksperymentalnie za pomocą interfejsu systdys w tym
ćwiczeniu, okno prostokątne wnosi niepożądane zafalowania do charakterystyki amplitudowej systemu FIR. Jest
tak dlatego, że efektowi obcięcia ogonów odpowiedzi impulsowej hI [n] towarzyszy zjawisko Gibbsa, znane z
teorii szeregów Fouriera o skończonej liczbie wyrazów. To samo zjawisko można również wyjaśnić przenosząc
wzór (19) do dziedziny częstotliwości. Oznacza to splot kołowy widma okna prostokątnego
sin( N / 2)
Å„Å‚
ôÅ‚ exp(- j (N -1) / 2), `" 0
j
WN (e ) = (21)
òÅ‚ sin( / 2)
ôÅ‚
N, = 0
ół
j
z charakterystyką amplitudowo-fazową H (e ) systemu idealnego. Splot ten ma postać
I
1 1
j j j j j( - )
H (e ) = HI (e ) "WN (e ) = (22)
N I
+"H (e )WN (e )d
2 2
-
Widmo amplitudowe okna (moduł (21)) nie jest gładkie. Występują w nim zafalowania. Na skutek tego w
wyniku splotu kołowego również pojawiają się zafalowania. Oprócz tego następuje rozmycie charakterystyki
amplitudowej w otoczeniu nieciągłości charakterystyki idealnej, np. wokół = 0 dla transformatora Hilberta.
Jest ono tym większe im szerszy jest listek główny widma okna. Aby zmniejszyć zafalowania, zamiast okna
prostokątnego stosuje się okna łagodnie opadające w kierunku krańców, do n = 0 i n = N -1. Do
najpopularniejszych okien należy okno von Hanna [1], [2]
2 n
wN [n] = 0.5(1- cos( )), n = 0,1,..., N -1 (23)
N -1
Inne znane okna są dostępne za pośrednictwem interfejsu graficznego systdys.
6
Przykład. Obliczymy odpowiedz impulsową h7[n] systemu różniczkującego FIR o długości N=7 z oknem ,
n=0
prostokątnym i z oknem von Hanna. Ponieważ N jest nieparzyste, skorzystamy ze wzoru (4):
3 3
h[n] = 1/ 3, -1/ 2, 1, 0 ,-1, 1/ 2, -1/ 3 . Docelowy FIR z oknem prostokÄ…tnym ma odpowiedz
n=-3 n=-3
6 3 6
impulsowÄ… h7[n] = h[n] = 1/ 3, -1/ 2, 1, 0 ,-1, 1/ 2, -1/ 3 , a FIR z 7-punktowym oknem von
n=0 n=-3 n=0
n:=n+3
6 6
Hanna ma odpowiedz impulsowÄ…
w7[n] = 0, 1/ 4, 3/ 4, 1 ,3/ 4, 1/ 4, 0
n=0 n=0
6 3 6 6
h7[n] = h[n] w7[n] = 0, - 0.125, 0.75, 0 ,-0.75, 0.125, 0 . Oczywiście, zero na początku
n=0 n=-3 n=0
n=0
n:=n+3
i końcu można pominąć, a więc faktycznie ten drugi system jest N=5 punktowy, o odpowiedzi impulsowej
4 4
h5[n] = - 0.125, 0.75, 0 ,-0.75, 0.125 .
n=0 n=0
Filtr grzebieniowy służy przede wszystkim do wycinania z widma danego sygnału niepożądanych, okresowych
składowych szumów i zakłóceń, np. częstotliwości sieci energetycznej 50Hz i harmonicznych tej częstotliwości.
Ma on oprócz tego inne interesujące zastosowania, np. do przetwarzania muzyki [2]. Filtr grzebieniowy można
zrealizować na różne sposoby: jako system FIR lub IIR [2]. W tym ćwiczeniu, w interfejsie systdys
oprogramowano dwa grzebieniowe filtry FIR o transmitancjach:
H1(z) = 1- z-N filtr grzebieniowy 1 (24)
H2(z) = 1+ z- N filtr grzebieniowy 2 (25)
Długość odpowiedzi impulsowej każdego z tych filtrów wynosi N +1 . Częstotliwości wycinane przez te filtry,
to:
Å„Å‚ N / 2 dla N parzystych
k
fk = , k = 0,1,..., filtr grzebieniowy 1 (26)
òÅ‚
N
ół(N -1) / 2 dla N nieparzystych
N / 2
Å„Å‚ -1 dla N parzystych
2k +1
fk = , k = 0,1,..., filtr grzebieniowy 2 (27)
òÅ‚
2N
ół(N -1) / 2 dla N nieparzystych
W programie demonstracyjnym cw08ch wykorzystano filtr grzebieniowy 1, ale o transmitancji
1
H (z) = H1(z) / 2 = (1- z- N ) unormowanej tak, że max H ( f ) = 1 .
2
4. Narzędzia programowe
W ćwiczeniu wykorzystuje się zestaw napisanych w MATLABie programów komputerowych dostępnych za
pośrednictwem interfejsu graficznego z wywołaniem >> systdys. Interfejs graficzny jest przeznaczony do
prezentacji charakterystyki amplitudowej systemu różniczkującego FIR i transformatora Hilberta FIR
projektowanych metodą okien oraz do obserwacji charakterystyki amplitudowej dwóch filtrów grzebieniowych.
Projektant, oprócz wyżej wymienionych typów systemów, ma do wyboru: rząd filtru grzebieniowego, długość
odpowiedzi impulsowej i częstotliwość odcięcia fc systemu różniczkującego, i transformatora Hilberta.
Również, dla systemu różniczkującego i transformatora Hilberta wybierana jest funkcja okna. Dwa okna:
Kaisera i Czebyszewa, wymagają zadania parametru. Okno Czebyszewa może mieć długość tylko nieparzystą.
Aktualizacja wykresu charakterystyki amplitudowej może odbywać się automatycznie lub ręcznie, za
pośrednictwem myszy. Dostęp do siatki ułatwiającej odczytanie szczegółów wykresu i do rozciągania
wybranych fragmentów, odbywa się za pośrednictwem poleceń >> grid i >> zoom. Z menu Plik eksportowany
jest do obszaru roboczego MATLABa plik o nazwie wspolczsys, zawierajÄ…cy odpowiedz impulsowÄ… aktualnie
badanego systemu dyskretnego. Można go odczytać przez nazwę pod znakiem zachęty: >> wspolczsys. Oprócz
tego w zestawie ćwiczenia znajduje się niezależny program z wywołaniem >> cw08ch, napisany w MATLABie,
demonstrujący przetwarzanie sygnału w badanych systemach.
5. Przygotowanie do ćwiczenia
5.1. Oblicz odpowiedz impulsową przyczynowego systemu różniczkującego FIR o długości N=3 z oknem
prostokątnym i z oknem von Hanna o długości N=5. Porównaj wyniki.
5.2. Powtórz obliczenia z p.5.1 dla transformatora Hilberta.
Ć
5.3. Oblicz sygnał x[n] na wyjściu idealnego transformatora Hilberta (7b) z = 0 , pobudzonego sygnałem
x[n] = sin( n) ([2] str.570) i znajdz odpowiadający mu zespolony sygnał hilbertowski y[n] (12).
0
1
5.4. Napisz wzór zamknięty na odpowiedz impulsową h[n] filtru grzebieniowego H (z) = (1- z- N ) .
2
j
5.5. Oblicz charakterystykę amplitudową H ( f ) = H (e ) powyższego filtru (z p.5.4) i naszkicuj ją dla
=2 f
N=8. Oznacz osie i wyskaluj.
5.6. Znajdz odpowiedz tego samego filtru z p. 5.5 na pobudzenie sygnałem x[n] = a cos( n) , = 2 f0 ,
0 0
0 d" f0 d" 1/ 2 i zapisz tę odpowiedz w postaci y[n] = b cos[ (n - N / 2) + ] . Skorzystaj ze wzorów
0
+ -
trygonometrycznych: cos cos = -2sin sin , - sin = cos( + / 2) . Ile wynoszÄ…: b i ? Dla
2 2
jakich f0 sygnał na wyjściu filtru grzebieniowego y[n] = 0 ? Jak powinna wyglądać charakterystyka
amplitudowa idealnego odpowiednika rozważanego tu filtru grzebieniowego, by wprowadzał on jak najmniej
zniekształceń do użytecznej części widma przetwarzanego sygnału? Nanieś taką idealną charakterystykę innym
kolorem na wcześniej naszkicowaną H ( f ) .
5.7. Które ze składowych sygnału
3
x[n] = 0.5 + cos( n) + 2 cos( n) - 0.4 cos( n) + 0.6sin( n) (28)
10 4 2 4
zostaną usunięte przez filtr grzebieniowy 1, o rzędzie N=8 a które zostaną przeniesione przez ten filtr? Jaki ,
sygnał y[n] otrzymamy faktycznie na wyjściu tego filtru, a jaki powinien on być, gdyby filtr grzebieniowy był
idealny?
6. Eksperymenty laboratoryjne
6.1. Korzystając z interfejsu systdys zbadaj charakterystyki amplitudowe systemu różniczkującego o długości
nieparzystej, N=51, i o najbliższej długości parzystej, N=50. Przyjmij fc =0.5. Wybierz okno prostokątne i okno
von Hanna. Zaobserwuj różnice dotyczące maksymalnej wielkości zafalowań i kształtu charakterystyki w
otoczeniu częstotliwości f=0 i f=1/2, w porównaniu z charakterystyką idealną. Zanotuj wyniki obserwacji w
sprawozdaniu. Możesz, oczywiście, zilustrować te wyniki rysunkami. Wyeksportuj do obszaru roboczego
MATLABa plik ze współczynnikami systemu różniczkującego z oknem von Hanna N=51 i zapisz go w pamięci
za pomocą poleceń: >> firoz51=wspolczsys; save firoz51 firoz51. Powtórz to samo dla systemu z N=50; tu
utwórz plik firoz50.
6.2. Powtórz badania z p.6.2 dla transformatora Hilberta. Wyeksportowane pliki nazwij: fihil51 fihil50.
6.3. Korzystając dalej z interfejsu systdys zbadaj charakterystyki amplitudowe filtrów grzebieniowych 1 i 2 dla
N=8 i dla N=7 Naszkicuj je. Zanotuj wycinane częstotliwości i porównaj z wynikami z odpowiednich wzorów z .
p.3 tej instrukcji. Skorzystaj z możliwości rozciągnięcia wykresu i wprowadzenia siatki pisząc zoom i grid w
oknie MATLABa pod znakiem zachęty >> . Jakie istotne różnice występują dla N parzystych i dla N
nieparzystych? Zwróć uwagę na wartości charakterystyki amplitudowej dla f = 0 i dla f = 1/ 2 .
6.4. Sprawdz wyniki swoich obliczeń z p.5.1 i 5.2 porównując je z zawartością plików ze współczynnikami
odpowiednich systemów wyeksportowanych z systdys do obszaru roboczego MATLABa.
6.5.1. Załaduj pliki ze współczynnikami systemu różniczkującego i transformatora Hilberta: >> load fihil51,
>> load firoz51. Uruchom program cw08ch za pomocÄ… polecenia:
>> cw08ch(512, 1024, 5*10^(-4), 1, 128, 0.1, fihil51, firoz51, 8). Kolejne parametry tego programu-funkcji to:
L, długość sygnału świergotowego (ang. chirp)
x[n] = a cos[2 f0n + (n - L / 2)2] (29)
wykorzystanego do demonstracji filtracji hilbertowskiej i różniczkowania, liczba punktów FFT do obliczania
widma, współczynnik świergotu (29), amplituda świergotu a, iloczyn f0L częstotliwości środkowej
świergotu i L, współczynnik skalujący wartości próbek szumu addytywnego z generatora liczb losowych o
rozkładzie równomiernym w przedziale [0,1], dodanego do świergotu, pliki współczynników i rząd filtru
grzebieniowego.
Dalej zajmiemy siÄ™ eksperymentem ilustrowanym na Fig.2 do 7. Fig.2 do 4 to ilustracje dla transformatora
Hilberta, a Fig.5 do 7 ilustrują system różniczkujący.
Eksperyment z transformatorem Hilberta. Fig.2a prezentuje wejściowy sygnał świergotowy x[n] , a Fig.2b
pokazuje sygnał na wyjściu transformatora Hilberta. Idealny odpowiednik tego sygnału wyraża wzór
Ć
x[n] = a sin[2 f0n + (n - L / 2)2 ] (30)
Fig.2c pokazuje przebieg błędu, czyli różnicy pomiędzy sygnałem idealnym (30) i sygnałem otrzymanym z
transformatora Hilberta fihil51 o odpowiedzi impulsowej z Fig.2d. Chwilowa wartość bezwzględna błędu
wynosi około 5% lub mniej. Fig.3 przedstawia widma amplitudowe odpowiednich sygnałów: a) wejściowego
rzeczywistego świergotu o widmie dwustronnym, b) za transformatorem Hilberta, c) za filtrem zespolonym
hilbertowskim widmo praktycznie prawostronne i d) widmo idealnego sygnału zespolonego:
Ć
y[n] = x[n] + jx[n] = a exp{ j[2 f0n + (n - L / 2)2 ]} (31)
do porównania z Fig.3c. Widać, że różnice są niewielkie. Fig.4 pokazuje odpowiednie widma fazowe.
Eksperyment z systemem różniczkującym. Fig.5a i b pozwalają porównać pochodną świergotu z Fig.2a,
otrzymaną za pomocą filtru różniczkującego firoz51, ze świergotem zróżniczkowanym idealnie, tj.
d
x[t] = -2a ( f0 + (n - L / 2))sin[2 f0n + (n - L / 2)2 ] (32)
t=nT
dt
Wartość bezwzględna błędu nie przekracza tu 10%. Fig.5d pokazuje antysymetryczną odpowiedz impulsową
użytego tu 51-punktowego filtru różniczkującego z centralną próbką zerową. Fig.6 przedstawia odpowiednie
widma amplitudowe i fazowe. Widmo amplitudowe pochodnej świergotu (Fig.6a i c) odzwierciedla narastający
przebieg charakterystyki amplitudowej filtru różniczkującego. Wysokie częstotliwości świergotu zostały
uwypuklone. Fig.7 prezentuje standardowy eksperyment z różniczkowaniem fali trójkątnej, typowy dla
testowania filtrów różniczkujących. Widać, że błąd różniczkowania jest największy tam, gdzie występują
załamania ( ostrza ) sygnału wejściowego. Widać też, że w sygnale wyjściowym, zróżniczkowanym, występują
tam przerzuty. Rozciągnij sygnał na Fig.7b i zanotuj maksymalną wartość przerzutu. Porównasz ją w p.6.5.2 z
przerzutem dla systemu różniczkującego o długości parzystej.
Pozostałe wykresy (Fig.8 do 11) dotyczą filtru grzebieniowego i zajmiemy się nimi dalej, w p.6.5.3.
6.5.2. Powtórz kolejno powyższe obserwacje dla transformatora Hilberta i systemu różniczkującego o parzystej
długości N=50: >> load fihil50, >> load firoz50, >> cw08ch(512, 1024, 5*10^(-4), 1, 128, 0.1, fihil50,
firoz50, 8). Porównaj wartości przerzutów fali prostokątnej na wyjściu filtru różniczkującego o długości N=51 i
o długości 50.
.
6.5.3. Eksperyment z filtrem grzebieniowym Teraz zajmiemy się dalszą częścią eksperymentu z filtrem
grzebieniowym 1, o rzędzie N=8, z Fig.8 do 11. Jego odpowiedz impulsowa jest na tyle prosta, że jest
generowana wewnątrz programu demonstracyjnego. Jest ona pokazana na Fig.8b. W tym miejscu porównaj tę
odpowiedz impulsową z obliczoną w p.5.4. Powinny być identyczne.
W dalszej części eksperymentu powyższy filtr grzebieniowy przetwarza sygnał x[n] = s[n] + v[n] opisany
wzorem (28) i pokazany na Fig.9c. Stanowi on sumę sygnału pożądanego s[n] (Fig.9a) i zakłócenia v[n]
(Fig.9b). Wynik filtracji pokazuje Fig.9d, gdzie wycięto N/2 próbki początkowe i N/2 próbki końcowe (stany
przejściowe). Jaki wzór opisuje sygnał y[n] na Fig.9d? Sprawdz obliczenie np. dla n=100, rozciągając wykres.
Tu uwaga, próbki na Fig.9 są numerowane w konwencji MATLABa, a więc od n=1 zamiast od n=0 Na Fig.10 .
,
pokazano widma amplitudowe sygnałów z Fig.9 w skali liniowej, w tym samym układzie. Przyjrzyj się uważnie
tym wykresom. Fig.11 przedstawia widma sygnałów tego eksperymentu, ale unormowane w taki sposób, by
wartość maksymalna widma amplitudowego byłą równa 1. Fig.11b pokazuje wycinanie niepożądanych
składowych przez filtr grzebieniowy. Splot realizowany przez filtr grzebieniowy jest równoważny mnożeniu
widma sygnału x[n] przez charakterystykę częstotliwościową filtru grzebieniowego. W rezultacie widmo
sygnału y[n] z Fig.11d jest bardzo zbliżone do widma pożądanego sygnału s[n] z Fig.11a, a zakłócenia są
odfiltrowane.
Literatura uzupełniająca
[1] Oppenheim A.V., Schafer R.W. with Buck J.R.: Discrete-Time Signal Processing. Prentice Hall 1999,
transformator Hilberta: str.789-795 (p.11.4), filtr różniczkujący: str.482-485 (p.7.3.2).
[2] Orfanidis S.J.: Introduction to Signal Processing. Prentice Hall 1996, transformator Hilberta: str.542-543,
filtr różniczkujący: str.542-543, 569-570 problems 10.3 i 10.8, i filtry grzebieniowe: str.253-258 (p.6.4.3),
str. 293, str.404-416 (p.8.3.2), str. 601-603 (p.11.5) i ich zastosowania: str.355-360 (p.8.2.2).
[3] Rabiner L.R. and Schafer R.W.: On the behavior of minimax relative error FIR digital differentiators. The
Bell System Technical Journal, vol. 53, No. 1, January 1974, str.333-361 (str.334-335 do wykorzystania w
laboratorium).
[4] Rabiner L.R. and Schafer R.W.: On the behavior of minimax FIR digital Hilbert transformers. The Bell
System Technical Journal, vol. 53, No. 2, February 1974, str.363-390 (str.364-365 do wykorzystania w
laboratorium).
Sprawozdanie z Lab. PCPS ćwiczenie 8
ImiÄ™ i nazwisko.................................................................. Data...............................
Kierunek studiów& & & & & & .. Grupa dziekańska...................
Nr komputera......................
Wyniki obliczeń
5.1. System różniczkujący.
Okno prostokÄ…tne, N=3 hN [n] =
Okno von Hanna, N=5 hN [n] =
5.2. Transformator Hilberta.
Okno prostokÄ…tne, N=3 hN [n] =
Okno von Hanna, N=5 hN [n] =
Ć
5.3. Sygnał na wyjściu idealnego transformatora Hilberta x[n] =
Odpowiadający mu zespolony sygnał hilbertowski y[n]=
5.4. Filtr grzebieniowy h [n] =
5.5. Charakterystyka H ( f ) =
Wykres dla N=8
5.6. y[n] = b cos[ (n - N / 2) + ] =
0
b= =
Sygnał na wyjściu filtru grzebieniowego y[n] = 0 dla f0 =
5.7. Filtr grzebieniowy 1, o rzędzie N=8, usunie z sygnału
3
x[n] = 0.5 + cos( n) + 2 cos( n) - 0.4 cos( n) + 0.6sin( n)
10 4 2 4
składowe o pulsacjach:
a przeniesie
Na wyjściu tego filtru otrzymamy faktycznie sygnał y[n] =
Gdyby filtr grzebieniowy był idealny, to na wyjściu tego filtru powinien być sygnał y[n] =
Wyniki obserwacji
6.1.
6.2.
6.3.
6.4.
6.5.
Wyszukiwarka
Podobne podstrony:
cw8 ochrona przeciwporazeniowacw8 analiza widmowa metoda szybkiej transformaty fouriera (FFT)cw8 łóxMED CW8 WINDALowiectwo cw8cw8ćw8 kodyborland cpp builder cw8CW8 10 Uwagi 2CW8WDA lab cw8instrukcja cw8więcej podobnych podstron