C16 INST DOC


Ćwiczenie nr 16

Cyfrowe przetwarzanie sygnałów pomiarowych

SPIS TREŚCI

1. Informacja ogólna o ćwiczeniu 2

2. Instrukcja wykonania ćwiczenia 3

2.1 program demonstracyjny 3

2.2 wybór okna czasowego 3

2.3 generacja sygnałów testowych 4

2.4 zaprojektowanie filtru separującego 5

2.5 zaprojektowanie filtru odszumiającego 5

2.6 filtracja i analiza widmowa sygnałów rzeczywistych 6

2.7 filtracja harmonicznych przebiegu prostokątnego 6

3. Informacja ogólna o oprogramowaniu 7

3.1 opis całego systemu 7

3.2 generowanie sygnałów testowych 8

3.3 projektowanie filtru cyfrowego 9

3.4 testowanie filtru na komputerze PC 10

3.5 testowanie filtru na procesorze sygnałowym 11

3.6 edytor tekstu 12

4. Podstawy teoretyczne 13

4.1 oznaczenia 13

4.2 rodzaje transformat Fouriera 13

4.3 splot sygnałów analogowych - filtracja analogowa 14

4.4 splot sygnałów cyfrowych - filtracja cyfrowa 14

4.5 wymnożenie dwóch sygnałów cyfrowych 15

4.6 okna czasowe-widmowe 16

4.7 projektowanie filtrów cyfrowych SOI metodą okien 17

5. Wykaz aparatury 20

1. Informacja ogólna o ćwiczeniu

Program ćwiczenia:

1. Zapoznanie się z programem demonstracyjnym.

2. Zaprojektowanie (wybranie) okna czasowego o wybranych własnościach. Zapoznanie się z kształtem różnych okien oraz ich widmami częstotliwościowymi.

3. Wygenerowanie sygnałów testowych - trzy sinusoidy o różnych amplitudach, fazach i częstotliwościach, ich suma oraz ich zaszumiona suma. Obserwacja widm częstotliwościowych sygnałów.

4. Zaprojektowanie filtru o zadanych własnościach, odseparowywującego poszczególne sygnały z ich sumy oraz zaszumionej sumy (filtr dolnoprzepustowy, górnoprzepustowy, pasmowo­przepustowy i pasmowozaporowy).

5. Sprawdzenie jakości zaprojektowanego filtru metodą filtracji sygnałów testowych (zbiory w komputerze PC).

6. Sprawdzenie jakości zaprojektowanego filtru metodą filtracji sygnałów rzeczywistych (z generatora lub płyty CD) na karcie z procesorem sygnałowym Motorola DSP56002. Obserwacja kształtu sygnałów i ich widm częstotliwościowych na oscyloskopie i monitorze komputera PC. Odsłuch przefiltrowanych sygnałów akustycznych na słuchawkach lub głośnikach.

7. Powtórzenie operacji 46 według zaleceń pracownika prowadzącego ćwiczenie.

8. Zaprojektowanie i przetestowanie na karcie z procesorem sygnałowym DSP56002 filtru pasmowoprzepustowego wycinającego jedną z harmonicznych sygnału prostokątnego.

Zakres wymaganych wiadomości:

1. sygnały analogowe - splot całkowy dwóch sygnałów, całkowe przekształcenie Fouriera i jego własności, przekształcenie Fouriera splotu, przekształcenie Laplace'a, transmitancja operatorowa filtra analogowego, zera i bieguny transmitancji, widmo częstotliwościowe sygnału prosto­kątnego

2. sygnały cyfrowe - dyskretyzacja w czasie, kwantyzacja w poziomie, kodowanie (np. liczba-znak, kod uzupełnień do dwóch), splot sygnałów dyskretnych, dyskretne przekształcenie Fouriera, transformata Z, transmitancja operatorowa filtra cyfrowego, okna czasowe i ich widma częstotliwościowe, projektowanie filtrów o skończonej odpowiedzi impulsowej (SOI) metodą okien czasowych

Literatura:

1. K. Steiglitz: "Wstęp do systemów dyskretnych", WNT, 1977.

2. J. Szabatin: "Podstawy teorii sygnałów", WKŁ, 1982 i 1990.

3. K.G. Beauchamp: "Przetwarzanie sygnałów metodami analogowymi i cyfrowymi", 1978.

4. W. Borodziewicz, K. Jaszczak: "Cyfrowe przetwarzanie sygnałów", WNT, 1987.

5. A. Wojtkiewicz: "Elementy syntezy filtrów cyfrowych", WNT, 1987.

6. A.V. Oppenheim, R.W. Schafer: "Cyfrowe przetwarzanie sygnałów", WKŁ, 1979.

7. A.V. Oppenheim: "Sygnały cyfrowe, przetwarzanie i zastosowania", WNT, 1982.

8. R.K. Otnes, L. Enochson: "Analiza numeryczna szeregów czasowych", WNT, 1978.

9. G.T. Temes, S.K. Mitra: "Teoria i projektowanie filtrów", WNT, 1978.

3. Instrukcja wykonania ćwiczenia

2.1 Zapoznanie się z programem demonstracyjnym c16_demo.m, napisanym programie MATLAB.

a. włącz komputer

b. napisz matlab

c. wciśnij klawisz Enter

d. napisz cw16_demo i wciśnij klawisz Enter

e. czytaj wyświetlany tekst i oglądaj rysunki, wciskając klawisz Enter na żądanie komputera oraz po każdym rysunku.

Jeśli jesteś już w programie MATLAB, napisz tylko c16_demo i naciśnij Enter.

2.2 Zaprojektowanie (wybranie) okna widmowego o wybranych własnościach z wykorzysta­niem programu c16_okno.m, napisanym w programie MATLAB.

a. jeśli jesteś w MATLABIE napisz c16_okno i wciśnij klawisz Enter, w przeciwnym przypadku wykonaj przed tym podpunkty 2.1.a 2.1.c.

b. wybieraj rodzaje okien pisząc cyfry od 1 do 8 (plus Enter). Obserwuj różne kształty okien czasowych (pierwszy rysunek + Enter) oraz ich różne widma częstotliwościowe (drugi rysunek + Enter).

Pierwszy rysunek:

x = czas (nr próbki czasowej),

y = wartość okna.

Drugi rysunek:

x = częstotliwość unormowana (0.5 = 0.5 częstotliwości próbkowania),

y = wartość widma częstotliwościowego okna w decybelach.

Zwróć uwagę na fakt, że tzw. listek główny - przepuszczający (pierwsze maksimum widma) ma różną szerokość częstotliwościową oraz że listki boczne - tłumiące są na różnym poziomie. Okna o stałych parametrach, mają własności niezmienne. W oknach o zmiennych parametrach, można zmieniać ich własności zmieniając wartość parametru.

Zmieniając długość okna (9 + Enter) oraz parametry okien Czebyszewa (7+Enter) i Kaisera (8+Enter) zaprojektuj okna, które mają szerokość połowy listka głównego 0.05 i tłumienie -60 dB. Interesuje nas minimalna długość okna, spełniająca powyższe wymagania.

Charakterystyka częstotliwościowa okna ma decydujące znaczenia podczas projektowania filtrów cyfrowych metodą okien czasowych. Ponieważ odpowiedź impulsowa filtru idealnego jest wymnażana przez współczynniki okna, w dziedzinie częstotliwościowej ch-ka okna splata się z ch-ką filtru idealnego. Stromy filtr wymaga okna o stromym listku głównym. Filtr o dużym tłumieniu wymaga okna o dużym tłumieniu.

c. napisz c16_kais i wciśnij klawisz Enter; wybierz wymaganą szerokość listka głównego widma okna Kaisera oraz poziom tłumienia pierwszego listka bocznego; zapisz wartość współczynnika beta oraz długość okna; sprawdź, czy wyświetlona na ekranie monitora charakterystyka częstotliwościowa okna odpowiada postawionym wymaganiom

2.3 Wygenerowanie sygnałów testowych programem c16_sygn.m.

Filtry częstotliwościowe mają za zadanie usuwać z sygnału składowe znajdujące się poza pasmem przepuszczania. Projektując filtr użytkownik musi określić jakie pasmo (częstotliwości) go interesują, a jakie nie. Sygnały testowe w ćwiczeniu mają długość ns próbek i są dyskretyzowane w czasie z częstotliwością fp . Są to następujące sygnały:

s1, s2, s3 trzy sygnały sinusoidalne o różnych amplitudach (as1, as2, as3),

fazach (ps1, ps2 i ps3) oraz częstotliwościach (fs1, fs2 i fs3)

sz05, sz10, sz15 szum o rozkładzie normalnym i odchyleniu standard 0.5, 1.0, 1.5

s12=s1+s2

s13=s1+s3

s23=s2+s3

s123 = s1 + s2 +s3

s1sz05 = s1 + sz05

s1sz10 = s1 + sz10

s1sz15 = s1 + sz15

s123sz05 = s1 + s2 + s3 + sz05

s123sz10 = s1 + s2 + s3 + sz10

s123sz15 = s1 + s2 + s3 + sz15

Zmodyfikuj zbiór par_sygn.m !edit par_sygn.m

Uruchom program c16_sygn c16_sygn

Na początku należy ustawić parametry: zapis=0, pokaz=1, windows=0, i obserwować kształt sygnałów i ich widm dla różnych parametrów. Sugerowana jest zmiana jednej z częstotliwości np. o 50 Hz i zwrócenie uwagi na jej "rozmycie" w widmie (szczególnie w skali logarytmicznej).

Widmo szumu jest rozłożone "równomiernie" w całym paśmie częstotliwościowym, ale posiada lokalne maksima, które teoretycznie mogą odpowiadać sygnałom sinusoidalnym o małej amplitudzie. W związku z tym istnieje niebezpieczeństwo błędnej interpretacji widma silnie zaszumionego sygnału.

Kończąc tą część ćwiczenia należy wybrać parametry i wygenerować sygnał (zapis=1) przeznaczony do dalszej analizy i przetwarzania.

W przypadku problemów, przeczytać podrozdział 3.2 (str. 8) i 3.6 (str.12).

2.4 Zaprojektowanie filtru odseparowywującego poszczególne sygnały z ich sumy (filtr dolnoprzepustowy, górnoprzepustowy, pasmowoprzepustowy i pasmowozaporowy).

a. programem c16_filt zaprojektować filtry wydzielające sygnały s1, s2 i s3 z sygnału s123 (odpowiednio filtr dolnoprzepustowy, pasmowoprzepustowy i górnoprzepustowy);

maksymalny błąd w paśmie przepuszczanym: 0.5 dB

wymagane minimalne tłumienie pozostałych składowych: 60 dB

należy wykorzystać tablicę 2 oraz wzór (9) z podrozdziału 4.7 (strona 19)

Na szczególną uwagę zasługują:

liniowość ch-ki częstotliwościowo-fazowej filtru w paśmie przepustowym,

rośnięcie stromości filtru wraz z jego długością niezależnie od typu zastosowanego okna;

b. jakość projektów zweryfikować programem c16_test metodą symulacji komputerowej;

zwrócić uwagę na parametry pokazywane na końcu programu (odległość sygnału odseparowanego od oryginału);

powtórzyć projekt (pkt. 2.4a) w przypadku niesatysfakcjonujących wyników (maksymalny błąd absolutny pomiędzy sygnałem odfiltrowany a oryginałem > 0.01)

c. zaprojektować filtr usuwający sygnał s2 z sygnału s123

Zmodyfikuj zbiór par_filt.m !edit par_filt.m

Uruchom program c16_filt c16_filt

Zmodyfikuj zbiór par_test.m !edit par_test.m

Uruchom program c16_filt c16_test

Zapamiętaj dane wynikowe dla Matlaba !copy filtr.pc nazwa.pc

Zapamiętaj dane wynikowe dla DSP !copy filtr.dsp nazwa.dsp

W przypadku problemów, przeczytać podrozdział 3.3 (str. 9), 3.4 (str.10) i 3.6 (str.12).

2.5 Zaprojektowanie filtrów redukujących szum

a. programem c16_filt zaprojektować filtr odzyskujący sygnał s1 z zaszumionego sygnału s1sz05 (dolnoprzpustowy lub pasmowoprzepustowy);

b. sprawdzić jego skuteczność na sygnałach s1sz05, s1sz10 i s1sz15 programem c16_test;

odchylenie standardowe pomiędzy sygnałem odzyskanym a oryginałem nie powinno być większe od 0.1; zwrócić uwagę na maksymalną wartość błędu oraz stosunek sygnału do szumu przed i po filtracją.

c. powtórzyć pkt 2.5a. i 2.5b. dla sygnałów s123sz05, s123sz10 i s123sz15; w tym przypadku należy się starać pozostawić tylko sygnał s2.

Wywołania programów jak w pkt. 2.4

W przypadku problemów, przeczytać podrozdział 3.3 (str. 9), 3.4 (str.10) i 3.6 (str.12).

2.6 Filtracja i analiza widmowa sygnałów rzeczywistych.

uruchomienie odtwarzania płyty CD

!CD_start (potem "" + Enter)

podstawienie uprzednio zapamiętanych parametrów filtrów do zbioru danych procesora sygnałowego DSP56002

!copy stare.dsp filtr.dsp

wejście na wyjście bez zmian

!dsp_wewy

wejście filtrowane i podawane na wyjście

!dsp_fi

widmo wejścia na monitor lub oscyloskop

!dsp_wi

widmo filtrowanego wejścia na monitor lub oscyloskop

!dsp_wifi

W przypadku kiedy wejściem jest sygnał sinusoidalny z generatora można go zmieniać od zera do połowy częstotliwości próbkowania.

W przypadku problemów, przeczytać podrozdział 3.5 (str. 11).

2.7 Zaprojektowanie i przetestowanie na karcie z procesorem sygnałowym DSP56002 filtru pasmowoprzepustowego wycinającego jedną z harmonicznych sygnału prostokątnego.

a. Ustawić na generatorze przebieg prostokątny.

b. Porównać widmo tego sygnału (!dsp_wi) dla różnych częstotliwość.

c. Ustawić częstotliwość równą ok. 4000 Hz

d. Zaprojektować filtr wycinający jedną z harmonicznych (np. drugą równą ok. 8000 Hz):

!edit par_filt.m + c16_filt

e. Sprawdzić działanie filtru w czasie rzeczywistym:

!dsp_fi + !dsp_fiwi

W przypadku problemów, przeczytać podrozdział 3.5 (str. 11).

3. Informacja ogólna o oprogramowaniu

3.1 Opis całego systemu

W programie dokonuje się obliczeń i symulacji komputerowych w programie MATLAB firmy MathWorks Inc. Wszystkie zbiory potrzebne do ćwiczenia znajdują się w katalogu c:\student\cwicz_16 i wszystkie programy się uruchamia oraz modyfikuje z programu MATLAB. Aby go uruchomić należy wejść do tego katalogu c:\student\cwicz_16, napisać matlab i nacisnąć klawisz Enter. Następnie wywołuje się następujące funkcje

CZYNNOŚĆ PROGRAM WYWOŁANIE

Wstępne sprzątanie po sobie lub kolegach c16_init.m c16_init

Okna czasowe porównuje się programem c16_okno.m c16_okno

Okno Kaisera projektuje się programem c16_kais.m c16_kais

Sygnały testowe generuje program c16_sygn.m c16_sygn

który czyta parametry ze zbioru par_sygn.m !edit par_sygn.m

Wagi filtru projektuje się programem c16_filt.m c16_filt

który czyta parametry ze zbioru par_filt.m !edit par_filt.m

Działanie filtru sprawdza się programem c16_test.m c16_test

który czyta parametry ze zbioru par_test.m !edit par_test.m

Uruchomienie napędu CD CD_start.bat !CD_start ( i Enter)

Procesor DSP wejście --> wyjście bez zmian dsp_wewy.bat !dsp_wewy

Filtr na procesorze sygnałowym DSP dsp_fi.bat !dsp_fi

Widmo na procesorze sygnałowym DSP dsp_wi.bat !dsp_wi

Widmo sygnału przefiltrowanego na proc DSP dsp_wifi.m !dsp_wifi

Wyjście z programu MATLAB quit

Po każdej komendzie wywołania zaznaczonej w powyższej tabeli należy ją zakończyć naciśnięciem klawisza Enter.

W ćwiczeniu nazwy zbiorów z danymi są STAŁE:

wagi filtru: filtr.pc i filtr.dsp

sygnały testowe: sinusoidy s1, s2, s3,

szum sz05, sz10, sz15 (odchylenie standardowe=0.5, 1.0, 1.5)

złożone s12=s1+s2, s13=s1+s3, s23=s2+s3

s123 = s1 + s2 +s3,

s1sz05=s1+sz05, s1sz10, s1sz15

s123sz05=s123+sz05, s123sz10, s123sz15

Zbiory sygnałów testowych mają na dysku rozszerzenie syg (np. s1.syg, s1sz05.syg).

Po każdym uruchomieniu programu generującego dane, zbiory z nimi mają aktualizowane wartości. W celu zachowania wartościowych wyników (np. wag filtrów), należy je przed ponownym uruchomieniem programu skopiować do zbioru o nazwie innej niż standardowa:

skopiowanie zbioru !copy aktualna nowa np. !copy filtr.pc kopia.pc

3.2 Generowanie sygnałów testowych

Program c16_sygn - GENEROWANIE SYGNAŁÓW TESTOWYCH

Program czyta parametry ze zbioru par_sygn.m, który ma następującą postać:

% PARAMETRY GENERATORA SYGNAŁÓW TESTOWYCH =============================

zapis = [ 1 ]; % 0=zapisz na dysku, 1=nie zapisuj

pokaz = [ 1 ]; % 0=nie wyświetlaj na ekranie, 1=wyświetlaj

windows = [ 0 ]; % 0=DOS, 1=Ms Windows

%

ns = [ 1024 ]; % długość sygnału testowego (ilość próbek); maksymalnie 1024

fp = [ 48000 ]; % częstotliwość próbkowania w [Hz]: 48000, 32000, 16000, 8000

%

fs1 = [ 4687.5 ]; % częstotliwość sinusoidy 1 w [Hz]

fs2 = [ 9375 ]; % częstotliwość sinusoidy 2 w [Hz]

fs3 = [ 18750 ]; % częstotliwość sinusoidy 3 w [Hz]

%

as1 = [ 0.75 ]; % amplituda sinusoidy 1

as2 = [ 0.5 ]; % amplituda sinusoidy 2

as3 = [ 1.0 ]; % amplituda sinusoidy 3

%

ps1 = [ 90 ]; % faza sinusoidy 1 w stopniach

ps2 = [ -45 ]; % faza sinusoidy 2 w stopniach

ps3 = [ 180 ]; % faza sinusoidy 3 w stopniach

===========================================================================

Modyfikuje się w nim tylko wartości w nawiasach kwadratowych. Wszystko znajdujące się za znakiem % oznacza komentarz.

Wygenerowane sygnały zapisywane są zawsze do zbiorów (z rozszerzeniem .syg):

Sygnały sinusoidalne: s1, s2, s3

Szum (std = 0.5, 1.0, 1.5): sz05, sz10, sz15

Kombinacje: s12=s1+s2;

s13=s1+s3;

s23=s2+s3;

s123=s1+s2+s3,

s1sz05=s1+sz05,

s1sz10=s1+sz10,

s1sz15=s1+sz15

s123sz05=s123+sz05,

s123sz10=s123+sz10,

s123sz15=s123+sz15

Generowany szum ma rozkład normalny. std oznacza jego zadane odchylenie standardowe.

3.3 Projektowanie filtru cyfrowego

Program c16_filt - PROJEKTOWANIE FILTRA

Program czyta parametry ze zbioru par_filt.m, który ma następującą postać:

% PARAMETRY PROJEKTOWANEGO FILTRA %==========================================================================

typ = [3] % 1=dolno, 2=górno, 3=pasmowo-przepustowy, 4=pasmowo-zaporowy

fprobk = [48000] % częstotliwość próbkowania w [Hz]

% 48000, 32000, 16000, 8000

fdol = [8400] % dolna częstotliwość graniczna w [Hz] :

% 0 <= fdol < fprob/2

fgora = [10400] % górna częstotliwość graniczna w [Hz] :

% fdol < fgora <= fprob/2

ilewag = [29] % liczba współczynników wagowych POŁOWY FILTRA (cały=2*ilewag-1)

% maksymalna wartość ilewag = 99

okno = [8] % rodzaj okna :

% 1 = Prostokąt, 2 = Trójkąt, 3 = Hanning, 4 = Hamming

% 5 = Blackmann, 6 = Szyper, 7 = Czebyszew 8 = Kaiser

% 9 = Metoda Remeza

riples = [60.]; % parametr okna CZEBYSZEWA (poziom tłumienia w dB, np. 60.)

betka = [8.2]; % parametr okna KAISERA (1. betka 20.)

%==========================================================================

Modyfikuje się w nim tylko wartości w nawiasach kwadratowych. Wszystko znajdujące się za znakiem % oznacza komentarz.

Wynikowe współczynniki wagowe filtra zapisywane są zawsze do zbiorów:

filtr.pc - dla MATLABA

filtr.dsp - dla procesora DSP56002 firmy Motorola

Zapamiętywane aktualnego zbioru: !copy filtr.pc stare.pc

!copy filtr.dsp stare.dsp

Odtworzenie zapamiętanego zbioru: !copy stare.pc filtr.pc

!copy stare.dsp filtr.dsp

Pierwszy zbiór jest skopiowany na drugi, ale sam pozostaje na dysku.

Możemy w ten sposób utworzyć bibliotekę różnych filtrów i je potem zbiorczo testować programami:

c16_test - MATLAB

dsp_fi - procesor DSP

dsp_wifi - procesor DSP

3.4 Testowanie filtru na komputerze PC

Program c16_test - TESTOWANIE DZIAŁANIA FILTRU SYGNAŁAMI TESTOWYMI

Program czyta parametry ze zbioru par_test.m, który ma następującą postać:

function par_test()

% podstawienie parametrów do testowania zaprojektowanego filtru

fp = [ 48000 ]; % <--- częstotliwość próbkowania w [Hz]: 48000, 32000, 16000, 8000

%

load s123sz10.syg; % <--- nazwa 1 zbioru z sygnałem do filtracji

sygnal = s123sz10; % <--- nazwa 1 zbioru z sygnałem do filtracji

%

load s2.syg; % <--- nazwa 2 zbioru z sygnałem wzorowym

wzorzec = s2; % <--- nazwa 2 zbioru z sygnałem wzorowym

%

load filtr.pc; % <--- nazwa 3 zbioru ze współczynnikami wagowymi filtru

h = filtr; % <--- nazwa 3 zbioru ze współczynnikami wagowymi filtru

W powyższym programie zmieniane są tylko nazwy zaznaczone pogrubionym drukiem, występujące przed znakiem %.

BARDZO WAŻNE

Nazwy odpowiednich zbiorów muszą być zmienione w dwóch miejscach

3.5 Testowanie filtru na procesorze sygnałowym

FILTRACJA I ANALIZA WIDMOWA SYGNAŁÓW RZECZYWISTYCH

Z WYKORZYSTANIEM PROCESORA SYGNAŁOWEGO MOTOROLA DSP56002

Programy:

dsp_wewy - podaj wejście na wyjście bez zmian

dsp_fi - podawaj na wyjście przefiltrowane wejście

dsp_wi - podawaj na monitor moduł widma częstotliwościowego wejścia

dsp_wifi - podawaj na monitor moduł widma częstotliwościowego przefiltrowanego wejścia

CD_start - uruchom napęd CD w komputerze (dodatkowo strzałka w prawo i Enter)

Programy dsp_fi i dsp_wifi czytają parametry z aktualnego zbioru filtr.dsp (częstotliwość próbkowania, ilość współczynników wagowych, współczynniki wagowe).

Zapamiętywane aktualnego zbioru parametrów: !copy filtr.dsp moj.dsp

Odtworzenie zapamiętanego zbioru parametrów: !copy moj.dsp filtr.dsp

Schemat ideowy układu:

0x01 graphic

Sygnały wejściowe: 1. generator

2. napęd CD

Sygnały wyjściowe: 1. oscyloskop

2. słuchawki (głośniki)

3. monitor

3.6 Edytor tekstu

Aby wywołać wybraną funkcję edytora należy nacisnąć:

klawisz Alt + pierwsza litera komendy z górnej linii

Na przykład:

Alt - O (output) - zapis zmodyfikowanego zbioru parametrów

Alt - Q (quit) - wyjście

Alt - E (exit) - wyjście

Podczas edycji należy wykorzystywać klawisze:

strałki prawo, lewo, góra, dół - poruszanie się po tekście

Insert - przełączenie trybów wstawiania tekstu:

"rozsuwające" (insert) lub "nakładkowe" (overlay)

Delete - kasowanie za kursorem

Backspace - kasowanie przed kursorem

4. Podstawy teoretyczne

4.1 Oznaczenia

0x01 graphic
- sygnał ciągły

0x01 graphic
- sygnał ciągły zdyskretyzowany w czasie; 0x01 graphic
- numer próbki, 0x01 graphic
- okres próbkowania

0x01 graphic
- częstotliwość próbkowania sygnału ciągłego (ilość próbek na sekundę)

0x01 graphic
- wyniki przekształcenia Fouriera sygnałów 0x01 graphic
; 0x01 graphic
- pulsacje

0x01 graphic
- zdyskretyzowane wyniki przekształcenia Fouriera sygnałów

4.2 Rodzaje transformat Fouriera

I. Ciągły czas "t" [s]- ciągła pulsacja "" [rad/s] (0x01 graphic
, gdzie f - częstotliwość w [Hz]):

0x01 graphic

II. Dyskretny czas "0x01 graphic
" [s] - unormowana ciągła pulsacja "" [rad] (0x01 graphic
:, gdzie 0x01 graphic
; 0x01 graphic
; 0x01 graphic
)

0x01 graphic

III. Ciągły czas "t" [s] - dyskretna pulsacja "0x01 graphic
" [rad/s] (T - okres sygnału; k=..-2,-1,0,1,2,..)

0x01 graphic

IV. Dyskretny czas "0x01 graphic
" [s]- unormowana dyskretna pulsacja "0x01 graphic
" [rad] :

0x01 graphic

0x01 graphic

4.3 Splot sygnałów analogowych - filtracja analogowa

0x01 graphic
0x01 graphic

0x01 graphic
- wyjściowy sygnał ciągły po filtrze

0x01 graphic
- ciągła odpowiedź impulsowa filtru

0x01 graphic
- wejściowy sygnał ciągły przed filtrem

0x01 graphic
, 0x01 graphic
, 0x01 graphic
- odpowiednie transformaty Fouriera typu I (ciągła-ciągła)

4.4 Splot sygnałów cyfrowych - filtracja cyfrowa

0x01 graphic
0x01 graphic

0x01 graphic
- wyjściowy sygnał dyskretny po filtrze

0x01 graphic
- dyskretna (spróbkowana) odpowiedź impulsowa filtru

0x01 graphic
- wejściowy sygnał dyskretny przed filtrem

0x01 graphic
- odpowiednie transformaty Fouriera typu IV (dyskretna-dyskretna)

Transmitancja filtru SOI (skończona odpowiedź impulsowa)

0x01 graphic
(z - zmienna zespolona)

Charakterystyka częstotliwościowa filtru SOI:

0x01 graphic

ponieważ:

0x01 graphic
, 0x01 graphic
, 0x01 graphic

gdzie

- pulsacja unormowana,

f - częstotliwość unormowana,

fHz - częstotliwość nieunormowana w [Hz],

fp - częstotliwość próbkowania w [Hz].

4.5 Wymnożenie dwóch sygnałów cyfrowych

0x01 graphic

0x01 graphic

0x01 graphic
- sygnał dyskretny

0x01 graphic
- dyskretne okno czasowe o długości N (0x01 graphic
)

0x01 graphic
- transformaty Fouriera typu II (dyskretna-ciągła)

4.6 Okna czasowe - widmowe

Okno prostokątne:

0x01 graphic

Stała wysokość pierwszego listka bocznego widma.

Szerokość listka głównego malejąca wraz ze wzrostem długości okna

Okno Kaisera:

0x01 graphic

gdzie 0x01 graphic
- zmodyfikowana funkcja Bessela zerowego rzędu. Dla =0, okno prostokątne.

Wybór parametrów: i N. Wpływają one na:

1. szerokość listka głównego widma ("zerowego") - jakie 0x01 graphic
?

2. tłumienie pierwszego listka bocznego widma w dB - jakie 0x01 graphic
?

0x01 graphic

0x01 graphic

Parametr decyduje o wysokości pierwszego listka bocznego widma.

Długość N decyduje o szerokości listka głównego widma. Kiedy N rośnie, szerokość maleje.

4.7 Projektowanie filtrów czasowych typu SOI metodą okien

a. zadanie pożądanej ch-ki częstotliwościowej filtru (rys. 1, 2, 3, 4):

0x01 graphic
, 0x01 graphic
, 0x01 graphic
(1)

f - częstotliwość unormowana,

fHz - częstotliwość nieunormowana w Hz,

fp - częstotliwość próbkowania w Hz.

b. wyznaczenie odpowiedzi impulsowej filtru:

0x01 graphic
(2)

c. ograniczenie odpowiedzi impulsowej filtru oknem czasowym:

0x01 graphic
, gdzie 0x01 graphic
- okno czasowe ograniczające długość 0x01 graphic
(3)

transmitancja wynikowego filtru:

0x01 graphic

Bardzo duży wpływ własności okna 0x01 graphic
i jego widma 0x01 graphic
na wynikową ch-kę częstotliwościową filtru.

ad. 5a) Ch-ki częstotliwościowe filtrów idealnych - 0x01 graphic

0x01 graphic
0x01 graphic

Rys.1. Filtr dolnoprzepustowy Rys.2. Filtr górnoprzepustowy

0x01 graphic
0x01 graphic

Rys.3. Filtr pasmowoprzepustowy Rys.4. Filtr pasmowozaporowy

ad. 5b) Teoretyczna odpowiedź impulsowa filtru z wzoru (2):

filtr dolnoprzepustowy 0x01 graphic
(4)

filtr górnoprzepustowy 0x01 graphic
(5)

filtr pasmowoprzepustowy 0x01 graphic
(6)

filtr pasmowozaporowy 0x01 graphic
(7)

Tablica 1. Przykłady okien czasowych

okno

funkcja 0x01 graphic

prostokątne

1

trójkątne (Bartletta)

1-2(|n|/N)

Hanninga

0.5+0.5cos(2n/N)

Hamminga

0.54+0.46cos(2n/N)

Blackmana

0.42+0.5cos(2n/N)+0.08cos(4n/N)

Kaisera

Io[(1-(2n/(N-1))2]0.5/Io(), Io()-funkcja .Bessela

Tablica 2. Wybór rodzaju okna

okno

tłumienie w paśmie zaporowym w dB*)

współczynnik K

prostokątne

21

2.00

trójkątne (Bartletta)

25

4.00

Hanninga

44

4.00

Hamminga

53

4.00

Blackmana

74

6.00

Kaisera (=2.12)

30

1.54

Kaisera (=4.54)

50

2.93

Kaisera (=7.76)

70

4.32

Kaisera (=8.96)

90

5.71

*) wysokość pierwszego listka głównego

Wybór długości okna

Najmniejsza nieparzysta liczba całkowita spełniająca równanie:

0x01 graphic
(9)

gdzie:

0x01 graphic
- współczynnik z tabeli powyżej

0x01 graphic
- szerokość pasma przejściowego, wyrażona w Hz

0x01 graphic
- częstotliwość próbkowania wyrażona w Hz

dla filtru dolnoprzepustowego 0x01 graphic

dla filtru górnoprzepustowego 0x01 graphic

dla filtru pasmowoprzepustowego 0x01 graphic

dla filtru pasmowozaporowego 0x01 graphic

5. Wykaz aparatury

1. komputer IBM PC/AT z napędem CD

2. karta z procesorem sygnałowym Motorola DSP56002

3. oscyloskop

4. generator

5. zestaw głośnikowy

6. słuchawki


Ćwiczenie nr 16

Cyfrowe przetwarzanie sygnałów pomiarowych


Ćwiczenie nr 16

Cyfrowe przetwarzanie sygnałów pomiarowych

Program ćwiczenia:

1. Zapoznanie się z programem demonstracyjnym.

2. Zaprojektowanie (wybranie) okna czasowego o wybranych własnościach. Zapoznanie się z kształtem różnych okien oraz ich widmami częstotliwościowymi.

3. Wygenerowanie sygnałów testowych - trzy sinusoidy o różnych amplitudach, fazach i częstotliwościach, ich suma oraz ich zaszumiona suma. Obserwacja widm częstotliwościowych sygnałów.

4. Zaprojektowanie filtru o zadanych własnościach, odseparowywującego poszczególne sygnały z ich sumy oraz zaszumionej sumy (filtr dolnoprzepustowy, górnoprzepustowy, pasmowo­przepustowy i pasmowozaporowy).

5. Sprawdzenie jakości zaprojektowanego filtru metodą filtracji sygnałów testowych (zbiory w komputerze PC).

6. Sprawdzenie jakości zaprojektowanego filtru metodą filtracji sygnałów rzeczywistych (z generatora lub płyty CD) na karcie z procesorem sygnałowym Motorola DSP56002. Obserwacja kształtu sygnałów i ich widm częstotliwościowych na oscyloskopie i monitorze komputera PC. Odsłuch przefiltrowanych sygnałów akustycznych na słuchawkach lub głośnikach.

7. Powtórzenie operacji 46 według zaleceń pracownika prowadzącego ćwiczenie.

8. Zaprojektowanie i przetestowanie na karcie z procesorem sygnałowym DSP56002 filtru pasmowoprzepustowego wycinającego jedną z harmonicznych sygnału prostokątnego.

Zakres wymaganych wiadomości:

1. sygnały analogowe - splot całkowy dwóch sygnałów, całkowe przekształcenie Fouriera i jego własności, przekształcenie Fouriera splotu, przekształcenie Laplace'a, transmitancja operatorowa filtra analogowego, zera i bieguny transmitancji, widmo częstotliwościowe sygnału prosto­kątnego

2. sygnały cyfrowe - dyskretyzacja w czasie, kwantyzacja w poziomie, kodowanie (np. liczba-znak, kod uzupełnień do dwóch), splot sygnałów dyskretnych, dyskretne przekształcenie Fouriera, transformata Z, transmitancja operatorowa filtra cyfrowego, okna czasowe i ich widma częstotliwościowe, projektowanie filtrów cyfrowych o skończonej odpowiedzi impulsowej (SOI) metodą okien czasowych

Literatura:

1. K. Steiglitz: "Wstęp do systemów dyskretnych", WNT, 1977.

2. J. Szabatin: "Podstawy teorii sygnałów", WKŁ, 1982 i 1990.

3. K.G. Beauchamp: "Przetwarzanie sygnałów metodami analogowymi i cyfrowymi", 1978.

4. W. Borodziewicz, K. Jaszczak: "Cyfrowe przetwarzanie sygnałów", WNT, 1987.

5. A. Wojtkiewicz: "Elementy syntezy filtrów cyfrowych", WNT, 1987.

6. A.V. Oppenheim, R.W. Schafer: "Cyfrowe przetwarzanie sygnałów", WKŁ, 1979.

7. A.V. Oppenheim: "Sygnały cyfrowe, przetwarzanie i zastosowania", WNT, 1982.

8. R.K. Otnes, L. Enochson: "Analiza numeryczna szeregów czasowych", WNT, 1978.

9. G.T. Temes, S.K. Mitra: "Teoria i projektowanie filtrów", WNT, 1978.

CZYNNOŚĆ PROGRAM WYWOŁANIE

Wstępne sprzątanie po sobie lub kolegach c16_init.m c16_init

Okna czasowe porównuje się programem c16_okno.m c16_okno

Okno Kaisera projektuje się programem c16_kais.m c16_kais

Sygnały testowe generuje program c16_sygn.m c16_sygn

który czyta parametry ze zbioru par_sygn.m !edit par_sygn.m

Wagi filtru projektuje się programem c16_filt.m c16_filt

który czyta parametry ze zbioru par_filt.m !edit par_filt.m

Działanie filtru sprawdza się programem c16_test.m c16_test

który czyta parametry ze zbioru par_test.m !edit par_test.m

Uruchomienie napędu CD CD_start.bat !CD_start ( i Enter)

Procesor DSP wejście --> wyjście bez zmian dsp_wewy.bat !dsp_wewy

Filtr na procesorze sygnałowym DSP dsp_fi.bat !dsp_fi

Widmo na procesorze sygnałowym DSP dsp_wi.bat !dsp_wi

Widmo sygnału przefiltrowanego na proc DSP dsp_wifi.m !dsp_wifi

Wyjście z programu MATLAB quit

Czyszczenie pamięci jeśli brak pamięci clear

Po każdej komendzie wywołania zaznaczonej w powyższej tabeli należy ją zakończyć naciśnięciem klawisza Enter. Po każdym rysunku należy nacisnąć klawisz Enter.

OZNACZENIA

wagi filtru: filtr.pc i filtr.dsp

sygnały testowe: sinusoidy s1, s2, s3, szum sz05, sz10, sz15

złożone s12=s1+s2, s13=s1+s3, s23=s2+s3

s123 = s1 + s2 +s3,

s1sz05=s1+sz05, s1sz10, s1sz15

s123sz05=s123+sz05, s123sz10, s123sz15

Zbiory sygnałów testowych mają na dysku rozszerzenie syg (np. s1.syg, s1sz05.syg).

Po każdym uruchomieniu programu generującego dane, zbiory z nimi mają aktualizowane wartości. W celu zachowania wartościowych wyników (np. wag filtrów), należy je przed ponownym uruchomieniem programu skopiować do zbioru o nazwie innej niż standardowo przyjęta.

skopiowanie zbioru !copy aktualna nowa np. !copy filtr.pc kopia.pc

EDYTOR TEKSTU

klawisz Alt + pierwsza litera komendy z górnej linii

Alt - O (output) - zapis zmodyfikowanego zbioru parametrów

Alt - Q (quit) - wyjście (powrót do MATLABA)

Alt - E (exit) - wyjście (powrót do MATLABA)

strałki prawo, lewo, góra, dół - poruszanie się po tekście

Insert - przełączenie trybów wstawiania tekstu:

"rozsuwające" (insert) lub "nakładkowe" (overlay)

Delete - kasowanie za kursorem

Backspace - kasowanie przed kursorem

Metodologia projektowania i testowania filtru cyfrowego

0x01 graphic

Schemat ideowy układu pomiarowego

0x01 graphic

3



Wyszukiwarka

Podobne podstrony:
akt. inst..DOC, STOWARZYSZENIE
Or Monter inst. kanalizac, Ocena-Ryzyka-DOC
BP10 doc
europejski system energetyczny doc
BP3 doc
Zaburzenia u dzieci i mlodziezy (1) doc
KLASA 1 POZIOM ROZSZERZONY doc Nieznany
5 M1 OsowskiM BalaR ZAD5 doc
CW3 INST
Opis zawodu Hostessa, Opis-stanowiska-pracy-DOC
Messerschmitt Me-262, DOC
Opis zawodu Robotnik gospodarczy, Opis-stanowiska-pracy-DOC
Opis zawodu Położna, Opis-stanowiska-pracy-DOC
Opis zawodu Przetwórca ryb, Opis-stanowiska-pracy-DOC
Blessing in disguise(1), Fanfiction, Blessing in disguise zawieszony na czas nie określony, Doc
Opis zawodu Politolog, Opis-stanowiska-pracy-DOC
Protokół wprowadzenia na roboty, Pliki DOC PPT
inst pneumatyczna su-22 wnioski przemek, PWR [w9], W9, 5 semestr, aaaOrganizacja SEM5, Od sebka, Wyp
Połączenie komputerów w sieć, DOC

więcej podobnych podstron