You are on page 1of 113

Sygnay i systemy dynamiczne

laboratorium

Wojciech leszyski
Politechnika Gdaska
Wydzia Elektrotechniki i Automatyki
Gdask 2010

Publikacja jest dystrybuowana bezpatnie.


Materia zosta przygotowany w zwizku z realizacj projektu pt. Zamawianie ksztacenia na kierunkach technicznych,
matematycznych i przyrodniczych pilota wspfinansowanego ze rodkw Unii Europejskiej w ramach
Europejskiego Funduszu Spoecznego Nr umowy: 46/DSW/4.1.2/2008 zadanie 018240 w okresie od 21.08.2008
15.03.2012

Wprowadzenie
Skrypt zawiera siedem wicze laboratoryjnych przeznaczonych do realizacji w ramach
przedmiotu Sygnay i systemy dynamiczne. W wiczeniu pierwszym scharakteryzowano
krtko rodowisko Matlab, omwiono podstawy jzyka Matlab i moliwoci graficznego
przedstawiania danych. Podano przykady tworzenia i wizualizowania sygnaw w tym
rodowisku. wiczenie drugie powiecono szeregowi Fouriera sygnaw cigych i
dyskretnych, poruszono zagadnienia zwizane z prbkowaniem sygnaw, czstotliwoci
sygnaw dyskretnych i zjawiskiem nakadania widma, dokonano analizy i syntezy prostych
sygnaw okresowych, wykorzystujc w tym celu rwnie wybrane waciwoci szeregu
Fouriera. wiczenie trzecie dotyczy przeksztacenia Fouriera sygnaw cigych i
dyskretnych oraz dyskretnej transformaty Fouriera. Podano przykady wykorzystania
dyskretnej transformaty Fouriera w celu wyznaczania widm sygnaw o ograniczonej energii
oraz widm sygnaw okresowych i zwrcono uwag na waciw interpretacj uzyskiwanych
wynikw. W wiczeniu czwartym analizowane s trjfazowe sygnay okresowe, mierzone w
ukadach energoelektronicznych. Studenci samodzielnie wykonuj analiz widmow i
obliczaj podstawowe parametry zarejestrowanych sygnaw trjfazowych, a take sygnaw
zespolonych, uzyskanych dziki transformacji sygnaw trjfazowych. W wiczeniu pitym
skupiono si na ilustracji podstawowych waciwoci dyskretnych ukadw liniowych.
Pokazane s w praktyce metody wyznaczania charakterystyk czstotliwociowych ukadw
dyskretnych, analizowane jest dziaanie i charakterystyki filtrw o skoczonej i nieskoczonej
odpowiedzi impulsowej, implementowany jest w jzyku Matlab rekurencyjny algorytm
obliczania wartoci redniej. wiczenie szste stanowi wprowadzenie do projektowania
filtrw cyfrowych metodami transformacji filtrw analogowych do postaci cyfrowej. W
wiczeniu badane s ukady cyfrowe uzyskane metodami niezmiennoci odpowiedzi
czasowych i metodami opartymi na cakowaniu numerycznym. W wiczeniu sidmym
przedstawiono zasad dziaania i szczegy implementacyjne ukadu ptli synchronizacji
fazowej.
Instrukcje do wicze zostay napisane w taki sposb, aby kada z nich stanowia
autonomiczn cao i zawieraa cz teoretyczn uatwiajc studentom przygotowanie si
do zaj. Poszczeglne instrukcje laboratoryjne rozpoczynaj si od podania celu wiczenia.
Nastpnie w czci teoretycznej wprowadzane s nowe pojcia i zalenoci wraz z
przykadami i sownymi wyjanieniami. Wikszo instrukcji zawiera take zadania
przeznaczone do rozwizania w domu, ktrych celem jest utrwalenie wiedzy niezbdnej do
realizacji wicze laboratoryjnych. W ramach przygotowania do zaj wymagane jest
zapoznanie si z czci teoretyczn i wykonanie zada domowych. Ostatni cz kadej
instrukcji stanowi opis zada przeznaczonych do wykonania w czasie zaj laboratoryjnych.
Cz zada laboratoryjnych zawiera rozwizania wybranych zagadnie w rodowisku
Matlab i wymaga analizy uzyskanych wynikw. Druga grupa to zadania problemowe
przeznaczone do samodzielnego rozwizania lub wymagajce modyfikacji przykadowych
rozwiza. Do kadej instrukcji laboratoryjnej doczony jest zestaw programw
zrealizowanych w rodowisku Matlab, ktre bd wykorzystywane w trakcie wicze.

Spis treci
Wprowadzenie
1.

2.

Wprowadzenie do programu Matlab

1-1

1.1.

Cel wiczenia

1-1

1.2.

Wprowadzenie

1-1

1.3.

Uruchomienie programu Matlab

1-2

1.4.

Podstawy jzyka rodowiska Matlab

1-3

1.4.1.

Podstawowe typy i formaty danych

1-3

1.4.2.

Wprowadzanie macierzy, indeksowanie

1-5

1.4.3.

Operatory arytmetyczne

1-7

1.4.4.

Relacje, operatory logiczne i bitowe

1-8

1.4.5.

Priorytety i kolejno oblicze

1-9

1.4.6.

Wybrane funkcje matematyczne

1-9

1.4.7.

Instrukcje sterujce dziaaniem programu

1-10

1.5.

Grafika

1-11

1.6.

Reprezentacja sygnaw w rodowisku Matlab

1-14

1.7.

Zadania do wykonania w trakcie zaj laboratoryjnych

1-16

1.8.

Literatura

1-16

Szereg Fouriera sygnaw cigych i dyskretnych.

2-1

2.1.

Cel i zakres wiczenia

2-1

2.2.

Podstawy teoretyczne

2-1

2.2.1.

Szereg Fouriera sygnaw cigych

2-1

2.2.2.

Prbkowanie, dyskretny sygna sinusoidalny

2-7

2.2.3.

Szereg Fouriera sygnau dyskretnego

2-12

2.2.4.

Wybrane waciwoci szeregu Fouriera

2-13

2.3.

Zastosowanie rodowiska Matlab do analizy i syntezy sygnaw okresowych

2-14

2.4.

Wykaz zada do wykonania

2-15

2.4.1.

Zadania do wykonania przed zajciami

2-15

2.4.2.

Zadania do wykonania w trakcie zaj laboratoryjnych

2-16

2.5.
3.

Literatura

2-17

Przeksztacenie Fouriera sygnaw cigych i dyskretnych


3.1.

Cel i zakres wiczenia

3-1
3-1

II

3.2.

Przeksztacenie Fouriera

3-1

3.2.2.

Transformaty Fouriera wybranych sygnaw

3-5

3.2.3.

Transformacja Fouriera sygnau dyskretnego

3-9

3.2.4.

Waciwoci transformat Fouriera

3-12

3.2.5.

Dyskretna transformacja Fouriera

3-14

3.2.6.

Interpretacja dyskretnej transformaty Fouriera

3-15

3.3.

Zastosowanie rodowiska Matlab do analizy widmowej sygnaw

3-19

3.4.

Wykaz zada do wykonania

3-20

3.4.1.

Zadania do wykonania przed zajciami

3-20

3.4.2.

Zadania do wykonania w trakcie zaj laboratoryjnych

3-20
3-21
4-1

4.1.

Cel i zakres wiczenia

4-1

4.2.

Podstawy teoretyczne

4-1

4.2.1.

Harmoniczne napi i prdw

4-1

4.2.2.

Analiza widmowa sygnaw okresowych trjfazowych

4-3

Wykaz zada do wykonania

4-5

4.3.1.

Zadania do wykonania przed zajciami

4-5

4.3.2.

Zadania do wykonania w trakcie zaj laboratoryjnych

4-5

4.4.

Literatura

4-6

Dyskretne systemy liniowe

5-1

5.1.

Cel i zakres wiczenia

5-1

5.2.

Podstawy teoretyczne

5-1

5.3.

Wykaz zada do wykonania

5-12

5.3.1.

Zadania do wykonania przed zajciami

5-12

5.3.2.

Zadania do wykonania w trakcie zaj laboratoryjnych

5-12

5.4.
6.

Literatura

Analiza widmowa sygnaw

4.3.

5.

3-1

3.2.1.

3.5.
4.

Podstawy teoretyczne

Literatura

5-15

Filtry o nieskoczonej odpowiedzi impulsowej

6-1

6.1.

Cel i zakres wiczenia

6-1

6.2.

Podstawy projektowania rekursywnych filtrw cyfrowych

6-1

6.2.1.

Metoda niezmiennoci odpowiedzi czasowej

6-1

6.2.2.

Metody oparte na cakowaniu numerycznym

6-4

III

6.3.

6-11

6.3.1.

Zadania do wykonania przed zajciami

6-11

6.3.2.

Zadania do wykonania w trakcie zaj laboratoryjnych

6-11

6.4.
7.

Wykaz zada do wykonania

Literatura

6-12

Ptla synchronizacji fazowej

7-1

7.1.

Cel wiczenia

7-1

7.2.

Podstawy teoretyczne

7-1

7.3.

Wyniki symulacji ptli synchronizacji fazowej

7-7

7.4.

Wykaz zada do wykonania

7-10

7.4.1.

Zadania do wykonania przed zajciami

7-10

7.4.2.

Zadania do wykonania w trakcie zaj laboratoryjnych

7-10

7.5.

Literatura

7-10

IV

1. Wprowadzenie do programu Matlab


1.1. Cel wiczenia
wiczenie ma charakter wprowadzajcy do oprogramowania Matlab. Celem wiczenia
jest poznanie podstaw jzyka symulacyjnego Matlab.

1.2. Wprowadzenie
Matlab jest zaawansowanym technicznym jzykiem do wykonywania rnego rodzaju
oblicze i interaktywnym rodowiskiem do opracowywania algorytmw, analizy i
wizualizacji danych. Uywajc rodowiska Matlab, mona zazwyczaj rozwiza techniczne
problemy obliczeniowe szybciej ni z tradycyjnymi jzykami programowania, takim jak C,
C++ i Fortran. Nazwa Matlab pochodzi od angielskiego zwrotu Matrix Laboratory. Od
samego pocztku rodowisko Matlab byo tak projektowane, aby umoliwi efektywne
prowadzenie oblicze na macierzach.
Oprogramowania Matlab mona uywa do rnorodnych zastosowa, wczajc
przetwarzanie sygnaw i obrazw, komunikacj, projektowanie ukadw sterowania,
testowanie i pomiary, modelowanie finansowe, biologi komputerow i in. Program ma
budow moduow. Dodatkowe przyborniki narzdziowe, tzw. toolbox (zbiory funkcji
programu Matlab specjalnego przeznaczenia, ktre mona dokupi w zalenoci od potrzeb)
rozszerzaj rodowisko Matlab i umoliwiaj rozwizywanie szczeglnych klas problemw.
Program dostarcza rwnie licznych narzdzi do dokumentowania wykonanej pracy.
Matlab skada si z nastpujcych gwnych czci:
Narzdzia pulpitu i rodowisko programistyczne. Ta cz rodowiska Matlab jest
zbiorem programw narzdziowych i udogodnie uatwiajcych wykorzystywanie jego
funkcji i plikw w efektywny sposb. Wiele tych programw jest graficznymi
interfejsami uytkownika, m.in. pulpit programu Matlab, okno polece, edytor,
analizator kodu, przegldarki pomocy, przestrzeni roboczej i folderw.
Biblioteka funkcji matematycznych. Ogromny zbir algorytmw obliczeniowych
rozcigajcych si od elementarnych funkcji, jak suma, sinus i arytmetyka liczb
zespolonych, do bardziej wyszukanych funkcji jak odwracanie macierzy, funkcje
Bessela i szybka transformata Fouriera.
Jzyk. Jest zaawansowanym macierzowo/wektorowym jzykiem z instrukcjami
przepywu sterowania, funkcjami, strukturami danych, obsug urzdze wejcia/wyjcia
i cechami programowania obiektowo-zorientowanego.
Grafika. Matlab posiada obszerne moliwoci wywietlania wektorw i macierzy w
postaci wykresw, jak rwnie wykonywania adnotacji i drukowania wykonanej grafiki.
Zawiera zaawansowane funkcje dla dwuwymiarowej i trjwymiarowej wizualizacji
danych, przetwarzania obrazu, animacji i grafiki na potrzeby prezentacji. Zawiera
rwnie funkcje niskiego poziomu, ktre pozwalaj w peni przystosowa wygld
grafiki, jak rwnie stworzy kompletny graficzny interfejs uytkownika dla aplikacji.

1-1

Zewntrzne interfejsy. Zewntrzna biblioteka interfejsw umoliwia wspprac z


innymi jzykami programowania, m.in. C/C++, Java i Fortran.

1.3. Uruchomienie programu Matlab


Po uruchomieniu rodowiska Matlab pojawia si okno dialogowe pokazane na rys 1,
ktre jest podzielone na kilka czci.

Rys. 1.1. Wygld okna dialogowego programu Matlab


rodkowa cz, okno polece (Command Window) suy do wprowadzania zmiennych,
wykonywania oblicze oraz uruchamiania funkcji i skryptw. Po prawej stronie, u gry
mamy podgld obszaru roboczego (Workspace) pokazujcego aktualne zmienne natomiast na
dole histori komend (Command History). Z lewej strony, u gry jest okno podgldu
zawartoci aktualnego folderu roboczego (Current Directory). Folder roboczy mona
wskaza midzy innymi za pomoc przycisku Browse for folder na pasku narzdziowym,
umieszczonym poniej paska z zakadkami. Zawsze mona przywrci domylny ukad okien
pulpitu programu Matlab poprzez wybr opcji: Desktop Desktop Layout Default. W
lewym dolnym rogu pulpitu znajduje si przycisk Start, ktry umoliwia dostp do narzdzi
rodowiska Matlab, przybornikw i in.
W oknie polece (Command Window) programu Matlab wywietlany jest znak
gotowoci >>, po ktrym wprowadza si polecenie do wykonania lub kilka polece
rozdzielonych rednikami (tzw. tryb interaktywny). Polecenia naley pisa maymi literami.
Sekwencje polece mona zapisywa w tzw. m-plikach (ang. m-file) plikach tekstowych z
rozszerzeniem .m (tzw. tryb wsadowy). Rozrnia si ich dwa rodzaje: skrypty i funkcje.
Skrypty nie akceptuj argumentw wejciowych ani nie zwracaj argumentw wyjciowych,
operuj bowiem na zmiennych zawartych w przestrzeni roboczej programu Matlab (ang.
1-2

workspace). Funkcje akceptuj argumenty wejciowe i zwracaj argumenty wyjciowe,


operuj na zmiennych lokalnych; na pocztku funkcji naley umieci sowo kluczowe
function.
Aby utworzy m-plik naley wybra opcj File New M-file, w celu otworzenia
pliku wczeniej zapisanego File Open. Oba te polecenia powoduj uruchomienie edytora
(ang. editor) programu Matlab. Umoliwia on wygodn edycj m-plikw oraz oferuje
narzdzia do znajdowania i usuwania bdw w programach. W celu wykonania polece
zawartych w skrypcie naley wywoa w oknie polece nazw pliku bez rozszerzenia lub
uruchomi go za pomoc edytora korzystajc z opcji Debug Run (alternatywnie mona
klikn mysz na przycisk Run lub wcisn przycisk klawiatury F5).
Aby zakoczy prac z programem Matlab mona wpisa komend quit lub exit lub
zamkn mysz okno pulpitu. Wszystkie zmienne zostan wwczas utracone. Mona je
zachowa przed zamkniciem programu za pomoc komendy save. Uycie jej bez adnych
parametrw spowoduje, e wszystkie zmienne zostan zapisane do pliku matlab.mat. W celu
zapisania tylko wybranych zmiennych, naley wymieni je po komendzie save, rozdzielajc
spacjami. Moliwe jest midzy innymi okrelenie nazwy pliku z zapisanymi zmiennymi oraz
modyfikacje formatu zapisu. Standardowo zmienne s zapisywane w wewntrznym formacie
MAT programu Matlab, ktry jest nieczytelny dla innych programw. Format zapisu mona
zmieni na ASCII przy uyciu parametru ascii. Przykadowy zapis
>> save nazwa_pliku.dat X Y Z -ascii
umoliwia zapamitanie w pliku nazwa_pliku.dat trzech zmiennych X, Y, Z w
omiocyfrowym formacie ASCII. Aby przywrci zapisane zmienne do przestrzeni roboczej
rodowiska Matlab (lub wczyta dane do przeprowadzenia oblicze) naley skorzysta z
polecenia load (w sposb analogiczny jak w przypadku save).
Wszystkie zmienne programu Matlab mona usun komend clear. Polecenie clear
nazwa_zmiennej usuwa wybran zmienn (lub kilka zmienne oddzielonych spacjami).
Polecenie clc czyci okno polece rodowiska Matlab.
Znak (%) jest uywany do rozpoczcia komentarza.
W oknie polece mona bezporednio skorzysta z pomocy wpisujc komend help,
ktra powoduje wywietlenie tematw pomocy wraz z krtkim opisem. Komenda help
nazwa_polecenia wywietla podpowied odnonie do wskazanego polecenia np.
help matfun wywietla informacje na temat funkcji macierzowych,
help slash wywietla informacje na temat dzielenia.
Polecenie lookfor szukana_nazwa przeszukuje wszystkie teksty pomocy w celu
znalezienia szukanej nazwy.

1.4. Podstawy jzyka rodowiska Matlab


1.4.1. Podstawowe typy i formaty danych
Zmienne s podstawowymi obiektami danych, ktrymi posuguje si program. Zmienne
musz zaczyna si od litery i mog skada si z kombinacji liter i cyfr. Rozrniane s mae
i due litery w nazwach zmiennych i polece. Sowa kluczowe (np. if, end, float) s
zarezerwowane, nie mog by uywane jako nazwy zmiennych. Wszystkie sowa kluczowe i
1-3

funkcje rodowiska Matlab musz by wprowadzane tylko przy uyciu maych liter, bo w
przeciwnym przypadku bdzie sygnalizowany bd. Jeli wprowadzenie zmiennej zostanie
zakoczone rednikiem, to jej warto nie zostanie wywietlona w oknie polece programu
Matlab, a w przeciwnym razie zostanie wywietlona.
Podstawow struktur danych w rodowisku Matlab jest macierz: dwuwymiarowa,
prostoktna struktura danych, ktra moe przechowywa wiele elementw danych. Macierze
s rozmiaru mn, gdzie m jest numerem wiersza a n kolumny. Dane mog by rnych typw
(m.in. numeryczne, znakowe, logiczne, struktury), przy czym nie jest wymagana deklaracja
typu zmiennych ani podawanie ich rozmiarw pami przydzielana jest automatycznie a
do wyczerpania zasobw sprztowych komputera. Podstawowym numerycznym typem
danych w rodowisku Matlab s liczby zmiennoprzecinkowe podwjnej precyzji (double). W
ramach zaj bd gwnie wykorzystywane dane typu rzeczywistego i zespolonego.
Minimaln i maksymaln warto liczby rzeczywistej (reprezentowanej przez typ
zmiennoprzecinkowy) dodatniej mona sprawdzi poleceniem realmin (2.225110-308) i
realmax (1.797710308). Informacj o precyzji liczb zmiennoprzecinkowych mona
uzyska poleceniem eps (2.220410-16). W trakcie zaj zakada si wykorzystywanie
staych: liczby , ktra jest reprezentowana komend pi oraz jednostka urojona j = 1
reprezentowana zapisami: 1i lub 1j (zalecany sposb wprowadzania danej) oraz i lub j
(zapis akceptowalny, lecz niezalecany). Oprcz liczb wystpuj rwnie wartoci specjalne,
na przykad: +Inf i Inf (plus i minus nieskoczono, ang. infinity), NaN (nieliczba, ang.
Not a Number), ktre mog by wynikiem na przykad takich operacji, jak -1/0, 0/0.
Liczba zespolona c = a + jb skada si z dwch liczb rzeczywistych a i b oraz operatora
j (w programie Matlab naley uywa zapisu 1i). Podstawowe funkcje zwizane z operacjami
na liczbach zespolonych to:
complex(a,b) tworzenie liczby zespolonej c z czci rzeczywistej i urojonej,
conj(c) liczba sprzona do c rwna c* = a - jb,

abs(c) modu liczby zespolonej rwny c = a 2 + b 2 ,

angle(c) argument liczby zespolonej rwny arg(c) = arctg(b/a),


real(c) cz rzeczywista liczby zespolonej,
imag(c) cz urojona liczby zespolonej.
Liczby a, b, c mog by zastpione macierzami. Sposb definiowania liczb zespolonych
pokazano w przykadzie P1.1.
P1.1. Liczba zespolona (poprawne zapisy)
a=1; b=2;
%liczby rzeczywiste
c=1+1i*2
%liczby zespolone
c1=a+b*1i
c2=1+1i*b
c3=complex(1,2)
(niepoprawne zapisy)
c4=1+i2
c5=1+bi
1-4

Format wywietlania liczb mona zmienia za pomoc polecenia format. Formatem


domylnym jest short (staoprzecinkowy piciocyfrowy). Inne formaty to long
(staoprzecinkowy pitnastocyfrowy), short e (zmiennoprzecinkowy piciocyfrowy),
long e (zmiennoprzecinkowy pitnastocyfrowy), hex (szesnastkowy), bank (walutowy),
+ (znak liczby), compact (wycza wywietlanie pustych wierszy).
1.4.2. Wprowadzanie macierzy, indeksowanie
[ ] nawiasy kwadratowe uywane s do tworzenia macierzy oraz do otaczania wartoci
zwracanych przez funkcj. Przy wprowadzaniu macierzy naley pamita o tym, e elementy
wierszy macierzy naley oddziela spacjami lub przecinkami, a wiersze macierzy rozdziela
si rednikami.
P1.2. Wprowadzanie macierzy
a=2
%liczba
A=[1 2 3]
%wektor wierszowy
B=[1; 2; 3]
%wektor kolumnowy
C=[1 2 3 ; 4 5 6; 7 8 9]
%macierz
D=[1-1j 2+1j 3 1j]
%dwa wektory liczb zespolonych
D1=[1 -1j 2 +1j 3 1j]
% o rnej liczbie elementw
E=[-1 0 A 4]
%dopisywanie elementw do macierzy
%Skadanie macierzy:
F=[A A+3]
G=[A; 2*A]
H=[C; A]
H1=[C B]
H2=[C B; [A pi]]
H3=[C B; A]
%bdzie sygnalizowany bd dlaczego?
( ) nawiasy okrge s uywane s do wskazania pierwszestwa w wyraeniach
arytmetycznych i logicznych oraz do obejmowania listy argumentw wejciowych funkcji.
Wykorzystywane s take do obejmowania indeksw do wektorw lub macierzy: i-ty element
wiersza oraz j-ty element kolumny macierzy A oznaczane s w sposb nastpujcy A(i,j). W
programie Matlab indeksy macierzy rozpoczynaj si od jedynki: A(1,3) jest elementem
pierwszego wiersza i trzeciej kolumny macierzy A. Jest moliwe odniesienie si do elementu
w macierzy poprzez podanie tylko jednego indeksu np. A(i) co jest oczywiste w przypadku
wektora w postaci wiersza lub kolumny. W przypadku dwuwymiarowej macierzy jest ona
traktowana jako jedna duga kolumna uformowana z kolejnych kolumn oryginalnej macierzy.
Jeli zostanie wykryta prba wskazania elementu spoza macierzy wystpi bd: Index
exceeds matrix dimensions.
Jeeli X i V s wektorami, to wyraenie X(V) jest rwnowane [X(V(1)), X(V(2)), ,
X(V(n))]. Elementy wektora V musz by liczbami cakowitymi, aby mogy by stosowane
jako indeksy. Jeli ktry z indeksw przechowywanych w V jest mniejszy od jedynki lub
wikszy od rozmiaru X, to jest sygnalizowany bd.

1-5

P1.3. Indeksowanie macierzy


b=C(2,3)
c=C(4)
C(2,1)=15
C(2,2)=C(3,3)+C(2,1)
C1=H([12 4 8])
C2=C([3 2 1],[3 1])
(:) dwukropek jest jednym z najwaniejszych operatorw jzyka Matlab. Umoliwia on
tworzenie wektorw, tablic indeksw:
zapis i:n tworzy wektor [i, i+1, , n],
zapis i:k:n tworzy wektor z krokiem k: [i, i+k, , n].
Dwukropek suy take do wybierania wierszy, kolumn i elementw wektorw oraz
macierzy:
A(i,:) i-ty wiersz macierzy A,
A(:,j) j-ta kolumna macierzy A;
A(:,:,k) k-ta strona macierzy A,
A(m:n) elementy macierzy A od m-tego do n-tego,
A(m:n,:) wiersze macierzy A od m-tego do n-tego,
A(:) wektor kolumnowy utworzony ze wszystkich elementw macierzy A; Zapis
A(:)=B oznacza, e macierz A jest wypeniana elementami macierzy B, A i B musz
istnie i mie tyle samo elementw, powstaje macierz A przy czym jej wymiary nie
zmieniaj si.
P1.4. Zastosowania dwukropka
V=1:10
% tworzy wektor z krokiem 1
W=0:pi/6:pi
% tworzy wektor z krokiem /6
Z=5:-.5:-5
% tworzy wektor z krokiem -0.5
I1=C(:,3:-1:1)
I2=C(1:2:3,3:-1:1)
J=C(:)
C(2,:)=[]
Matlab zawiera zestaw funkcji umoliwiajcych generowanie wektorw/macierzy. Poniej
zamieszczono kilka przykadw funkcji tego typu:
linspace wektor liczb rozmieszczonych rwnomiernie w zadanym przedziale,
ones macierz zoona z jedynek,
zeros macierz zoona z zer,
eye macierz jednostkowa,
rand macierz liczb losowych o rozkadzie rwnomiernym,
randn macierz liczb losowych o rozkadzie normalnym,
repmat macierz wypeniona powtrzeniami innej macierzy.
Rozmiar macierzy mona sprawdzi za pomoc funkcji:
1-6

length dugo wektora,


size rozmiar macierzy.
P1.5. Generacja macierzy przy uyciu funkcji
%Wektor rwnomiernie rozmieszczonych 11 liczb z przedziau od 0 do 1
t=linspace(0,1,11)
length(t)
%Macierz o rozmiarze 23 wypeniona liczbami 2
H=2*ones(2,3)
%Macierz o rozmiarze 232 wypeniona liczbami 0
I=zeros(2,3,2)
%Wektor o rozmiarze 11000 wypeniony liczbami losowymi o rozkadzie normalnym
J=randn(1,1000); figure;plot(J); figure;hist(J);
%Macierz o rozmiarze 32 wypeniona liczbami
K=repmat(pi,3,2)
%Macierz o rozmiarze 98 wypeniona wartociami macierzy jednostkowej o rozmiarze 34
L=repmat(eye(3,4),3,2)
size(L)
1.4.3. Operatory arytmetyczne
W rodowisku Matlab wystpuj dwa rne typy operacji arytmetycznych. Operacje
macierzowe s okrelone zgodnie z zasadami algebry liniowej. Operacje tablicowe
arytmetyczne s wykonywane element po elemencie i mog by uywane z tablicami
wielowymiarowymi. Operacje tablicowe okrelane s przez znak kropki (.) i nastpujcy po
nim operator arytmetyczny. Poniewa operacje macierzowe i tablicowe s takie same w
przypadku dodawania i odejmowania nie rozrnia si ich.
Podstawowymi operatorami arytmetycznymi s: (+) dodawanie, (-) odejmowanie, (*)
mnoenie macierzowe, (.*) mnoenie tablicowe, (/) dzielenie macierzowe, (\)
dzielenie macierzowe lewostronne, (./) dzielenie tablicowe, (\) dzielenie tablicowe
lewostronne, (^) potgowanie macierzowe, (.^) potgowanie tablicowe, ()
transpozycja macierzowa (dla macierzy zespolonych zamienia elementy na sprzone do
nich), (.) transpozycja tablicowa (dla macierzy zespolonych nie zamienia elementw na
sprzone do nich).
Tab. 1.1. Przykady uycia operatorw arytmetycznych
Operacje macierzowe
Operacje tablicowe
A
1 2 3
B
4 5 6
A
1
B
4
2
5
3
6
A+B
5 7 9
A-B
-3 -3 -3
A+2
3 4 5
A-2
-1 0 1
A*B
Bd
A.*B
4 10 18

1-7

A*B

4 5 6
8 10 12
12 15 18
A*B
32
A*2
2 4 6
A\B
0 0 0
0 0 0
4/3 5/3 2
2\A
1/2 1 3/2
A/B
32/77
A/2
1/2 1 3/2
A^B
Bd
A^2
Bd
2^A
Bd
(A+j*B)
1-4i
2-5i
3-6i
(A+j*B). 1+4i
2+5i
3+6i

A.*B

Bd

A.*B
A.*2
A.\B

Bd
2 4 6
4 5/2 2

2.\A
A./B
A./2
A.^B
A.^2
2.^A

1/2 1 3/2
1/4 2/5 1/2
1/2 1 3/2
1 32 729
1 4 9
2 4 8

1.4.4. Relacje, operatory logiczne i bitowe


W rodowisku Matlab istniej nastpujce operatory porwnania: (<) mniejsze ni, (>)
wiksze ni, (<=) mniejsze rwne ni, (>=) wiksze rwne ni, (==) rwne, (~=)
rne. Operatory realizuj porwnanie dwch tablic element po elemencie. Zwracaj macierz
zero-jedynkow o tych samych rozmiarach, gdzie (0) oznacza fasz relacji, a (1) prawd. W
przypadku liczb zespolonych operatory (==) i (~=) sprawdzaj rwno / nierwno caej
liczby, natomiast pozostae operatory zwracaj wynik porwnania czci rzeczywistych.
Matlab oferuje trzy typy operatorw i funkcji logicznych:
elementowe operujce na elementach macierzy: (|) suma logiczna (OR), (&)
iloczyn logiczny (AND), (~) negacja (NOT), (xor) nierwnowano (XOR),
bitowe operujce na poszczeglnych bitach liczb cakowitych dodatnich lub
wektorach: bitand iloczyn bitowy, bitor suma bitowa, bitcmp negacja
bitowa liczby n-bitowej, n jest drugim argumentem komendy, bitxor
nierwnowano bitowa,
warunkowe uywane w wyraeniach logicznych zawierajcych skalary: (||) suma
logiczna warunkowa (OR), (&&) iloczyn logiczny warunkowy(AND); drugi argument
wyraenia logicznego jest analizowany jeli pierwszy nie jest wystarczajcy do
okrelenia wartoci wyraenia: kiedy pierwszy argument iloczynu logicznego ma
warto logiczn (0) to warto iloczynu musi by (0) i nie jest brany pod uwag drugi
argument.
Przykady uycia operatorw porwnania i logicznych:
A = [0 0 1 1];
B = [0 5 0 -3];
A > B = [0 0 1 1];
A & B = [0 0 0 1];
1-8

A | B = [0 1 1 1];
~A = [1 1 0 0];
xor(A,B) = [0 1 1 0];
a = 12;
%binarnie
b = 10;
%binarnie
bitand(a,b) = 8 %binarnie
bitor(a,b) = 14 %binarnie
bitcmp(a,4) = 3 %binarnie
bitxor(a,b) = 6 %binarnie

1100
1010
1000
1110
0011
0110.

1.4.5. Priorytety i kolejno oblicze


W jzyku Matlab, podobnie jak w innych jzykach programowania, mona budowa
wyraenia, w ktrych uywane s rne kombinacje operatorw arytmetycznych, logicznych i
relacji. Priorytety operatorw okrelaj kolejno w jakiej Matlab wyznacza warto
wyraenia. Warto wyraenia dla operatorw o takim samym priorytecie jest wyznaczana od
strony lewej do prawej. Ponisza lista operatorw jest uporzdkowana pod wzgldem ich
priorytetw w taki sposb, e na grze znajduj si operatory o najwyszym priorytecie:
1. nawiasy okrge ( ),
2. transpozycja tablicowa (.), potgowanie tablicowe (.^), transpozycja
macierzowa (), potgowanie macierzowe (^),
3. jednoargumentowe operacje (+) i (-), logiczna negacja (~),
4. mnoenie tablicowe (.*), tablicowe dzielenie prawostronne (./), tablicowe dzielenie
lewostronne (.\), mnoenie macierzowe (*), macierzowe dzielenie prawostronne
(/), macierzowe dzielenie lewostronne (\),
5. dodawanie (+), odejmowanie (-),
6. rednik (:),
7. mniejsze ni (<), wiksze ni (>), mniejsze rwne ni (<=), wiksze rwne ni (>=),
rwne (==), rne (~=),
8. iloczyn logiczny elementowy (&),
9. suma logiczna elementowa (|),
10. iloczyn logiczny warunkowy (&&),
11. suma logiczna warunkowa (||).
1.4.6. Wybrane funkcje matematyczne
Standardowe funkcje matematyczne s dostpne w programie Matlab przy uyciu
nastpujcych zapisw:
funkcje trygonometryczne: sin(x), cos(x), tan(x), cot(x),
funkcje trygonometryczne odwrotne: asin(x), acos(x), atan(x), atan2(x,y),
acot(x),
funkcje hiperboliczne: sinh(x), cosh(x), tanh(x), coth(x),
funkcje hiperboliczne odwrotne: asinh(x), acosh(x), atanh(x,y), acoth(x),
funkcja wykadnicza: exp(x),

1-9

funkcje logarytmiczne: log(x), log2(x), log10(x),


pierwiastek kwadratowy: sqrt(x),
funkcje zaokrgle liczby: fix(x), floor(x), ceil(x), round(x),
funkcje dzielenia cakowitoliczbowego: mod(x), rem(x).

1.4.7. Instrukcje sterujce dziaaniem programu


Podstawowymi instrukcjami sterujcymi dziaaniem programu s:
instrukcja warunkowa if:
if wyraenie_logiczne1
if x>=1
instrukcje
y = 1;
elseif wyraenie_logiczne2
elseif x<=-1
y = -1;
instrukcje
else
else
instrukcje
y = 0;
end
end
instrukcja iteracyjna while:
while wyraenie_warunkowe
instrukcje
end

while i<j
i = 2*i-3;
end

instrukcja iteracyjna for:


for zmienna = wyraenie
instrukcje
end

for k = 1:2:2*n
A(k) = 1/(k+n);
end

instrukcja wyboru case:


switch switch_wyraenie
switch sygnal
case case_wyraenie
case 1
instrukcje
y=sin(w*t);
case {c_wyr1, c_wyr2, ...}
case {2, 4}
y=cos(w*t);
instrukcje
otherwise
otherwise
instrukcje
y=2*t;
end
end
W jzyku rodowiska Matlab naley unika stosowania instrukcji iteracyjnych, a jak
najczciej uywa notacji dwukropkowej do generowania macierzy, wskazywania ich
elementw, wierszy i kolumn. Fragment kodu z tzw. wektoryzacj ptli (w prawej czci
tabeli) wykonuje si szybciej ni ten z wykorzystaniem ptli for (do pomiaru czasu
wykorzystano instrukcje tic, toc).
z wykorzystaniem ptli for
bez ptli for
tic;i=0;
tic;
for phi=0:.01:1000
phi=0:.01:1000;
i=i+1;
y=cos(phi);
y(i)=cos(phi);
toc;
end; toc;
1-10

W przypadku wykonywania operacji na duych macierzach, korzystne jest take wczeniejsze


zarezerwowanie pamici przez utworzenie dowolnych macierzy specjalnych np.:
y=zeros(1,100);
for i=1:100
i=i+1;
y(i)=det(x^i);
end

1.5. Grafika
rodowisko Matlab oferuje wiele moliwoci graficznego przedstawienia danych,
umoliwia rwnie tworzenie graficznych interfejsw uytkownika. Grafika skada si z
obiektw (ang. objects), ktrych waciwoci (ang. properties) mog by zmieniane. Obiekty
s uoone zgodnie z pewn hierarchi (rys. 1.2) i maj niepowtarzalne identyfikatory (ang.
handle).

Rys. 1.2. Hierarchia obiektw graficznych w rodowisku Matlab


Nadrzdny obiekt graficzny root odpowiada ekranowi komputera. Zmieniajc jego
waciwoci mona wpywa na wygld i zachowanie programu Matlab. Jest tylko jeden taki
obiekt i nie ma on przodkw. Potomkami obiektu root s figures okna graficzne.
Potomkami okien graficznych s:
UI Objects obiekty reprezentujce skadowe graficznego interfejsu uytkownika (np.
menu, pola wyboru, przyciski, suwaki);
Axes ukad wsprzdnych wykresu;
Annotation Objects pomocnicze obiekty dodawane do rysunku (np. linie, podpisy),
ktre le na warstwie odseparowanej od innych obiektw graficznych.
Core Objects zawieraj obiekty takie jak linie, teksty, wypenienia, osie wsprzdnych,
obrazy, owietlenie rysunku.
Plot Objects s obiektami rysunkowymi (np. wykresami liniowymi, supkowymi,
powierzchniowymi) powstaymi w wyniku dziaania funkcji sporzdzajcych wykresy (np.
plot, stem).

1-11

Group Objects umoliwiaj traktowanie wielu potomkw obiektu axes jako jednej grupy,
tworzy si je za pomoc specjalnych funkcji.
Waciwoci obiektu mona uzyska komend get(h), gdzie h jest identyfikatorem
obiektu. Komenda get(h, NazwaWaciwoci) zwraca warto wybranej
waciwoci.
Analogicznie
komend
set(h,
NazwaWaciwoci,
WartoWaciwoci) mona ustawi wybrane waciwoci obiektu. Istniej funkcje
zwracajce identyfikatory aktywnych obiektw graficznych: gcf aktywne okno graficzne,
gca aktywny ukad wsprzdnych, gco aktywny obiekt.
Funkcja figure tworzy nowe okno graficzne, clf usuwa wszystkie obiekty z aktywnego
okna, shg wywouje istniejce lub tworzy nowe okno graficzne, close zamyka aktywne
okno graficzne, close all zamyka wszystkie otwarte okna graficzne.
Poniej wymieniono kilka funkcji graficznych, dziki ktrym tworzy rne wykresy:
plot wykresy dwuwymiarowe z liniow skal na obu osiach,
plotyy wykresy dwuwymiarowe z liniow skal i podwjnymi osiami rzdnych,
loglog wykresy dwuwymiarowe z logarytmiczn skal na obu osiach,
semilogx wykresy dwuwymiarowe z logarytmiczn skal na osi odcitych,
semilogy wykresy dwuwymiarowe z logarytmiczn skal na osi rzdnych,
stem wykresy prkowe danych dyskretnych,
stairs wykresy schodkowe danych dyskretnych,
bar, barh wykresy supkowe,
pie wykresy koowe,
errorbar wykresy bdw,
polar wykresy we wsprzdnych biegunowych.
Czsto wykorzystywanymi funkcjami graficznymi s take:
grid przecza wywietlanie siatki danych, grid on wcza siatk, grid off
wycza siatk,
hold okrela czy nowe obiekty graficzne zostan dodane do wykresu hold on,
czy te zastpi istniejce obiekty graficzne hold off,
subplot umoliwia utworzenie kilku wykresw w jednym oknie graficznym,
subplot(mnp) dzieli okno graficzne na macierz (m-wierszow i n-kolumnow)
mniejszych ukadw wsprzdnych, wybiera p-ty ukad dla biecego wykresu i zwraca
do niego identyfikator, wykresy s numerowane wzdu wierszy od lewej do prawej
zaczynajc od wiersza grnego;
axis skalowanie i zmiana wygldu osi wsprzdnych, axis([xmin xmax ymin
ymax]) ustawia ograniczenia osi odcitych i rzdnych aktywnego ukadu
wsprzdnych, axis auto skalowanie automatyczne, axis tight zakresy osi
zgodne z zakresami danych, axis square czyni osie odcitych i rzdnych
rwnymi, axis off wyczenie rysowania osi, axis on wczenie rysowania
osi;
box off wyczenie ramki ograniczajcej pole rysowania, box on wczenie
ramki.
1-12

Opisy rysunkw mona tworzy przy uyciu komend:


title tytu rysunku,
xlabel opis osi odcitych rysunku,
ylabel opis osi rzdnych rysunku,
legend wywietlenie legendy na wykresie,
text dodanie opisu tekstowego do wykresu w miejscu okrelonym wsprzdnymi,
gtext wstawienie opisu tekstowego do wykresu w miejscu okrelonym myszk,
annotation dodanie obiektu adnotacji, ktrym moe by prostokt rectangle,
elipsa ellipse, ramka z opisem tekstowym textbox, linia line, strzaka
arrow, strzaka dwukierunkowa doublearrow, strzaka z opisem tekstowym
textarrow.
W ramach zaj, do przedstawiania graficznego sygnaw cigych najczciej bdzie
wykorzystywana funkcja plot, a do sygnaw dyskretnych stem.
Funkcja plot(y) tworzy wykres elementw umieszczonych w kolumnach macierzy (lub w
wektorze) y w zalenoci od ich indeksw. Plot(x,y) tworzy wykres elementw wektora
y w zalenoci od wektora x, czyli wykres y = f(x). Plot(x1,y1,LineSpec, x2,y2,
LineSpec, ...) sporzdza wykresy kilku funkcji na jednym rysunku liniami
specyfikowanymi parametrami LineSpec. Parametr LineSpec jest cigiem znakw
okrelajcych kolor linii, znacznik danych oraz rodzaj linii (np. ro: oznacza lini
czerwon kropkowan ze znacznikami danych w postaci okrgw).
Dostpne s nastpujce kolory linii: b niebieski (domylny kolor), g zielony, r
czerwony, c cyjan (turkus), m magenta (purpura), y ty, k czarny.
Zbir znacznikw danych jest nastpujcy: (.) punkt, (o) okrg, (x) znak x, (+) plus,
(*) gwiazdka, (s) kwadrat, (d) romb, (v) trjkt z wierzchokiem do dou, (^)
trjkt z wierzchokiem do gry, (<) trjkt z wierzchokiem w lewo, (>) trjkt z
wierzchokiem w prawo, (p) piciokt, (h) szeciokt.
W programie Matlab mog by stosowane nastpujce rodzaje linii: (-) ciga, (:)
kropkowana, (-.) kreska-kropka, (--) przerywana, (spacja) brak linii.
Poniej przedstawiono przykad realizacji wykresu funkcji sinus wraz z doczeniem opisw.
P1.6. Zastowanie funkcji graficznych rodowiska Matlab plik pl_manip.m.
%Manipulowanie wygldem wykresu
%Przygotowanie danych
phi=0:pi/20:4*pi; d=phi/pi;
s=sin(phi);
%Utworzenie nowego okna graficznego
figure;
%Wywoanie funkcji graficznej plot
plot(d,s);
%Dodanie tytuu wykresu
title('Tytu wykresu')
%Etykiety osi wsprzdnych
xlabel('O odcitych')
ylabel('O rzdnych')
1-13

%Ustawienie podziaki na osi odcitych


set(gca,'xtick',[0 1 2 3 4])
%Ustawienie etykiet podziaki na osi odcitych
set(gca,'xticklabel',[' 0';'1pi';'2pi';'3pi';'4pi'])
%Dodanie linii poziomej pokrywajcej si z osi odcitych
q = axis;hold on;h=plot([q(1) q(2)],[0 0]);
%Ustawienie koloru dla dodanej linii
set(h,'color',get(gca,'xcolor'))
%Dodanie linii wskazujcej w kolorze czarnym
plot([0.9 1.2],[sin(0.9*pi) 0.62],'k')
%Dodanie tekstu
text(1.25,0.68,['sin(phi) = ',num2str(sin(0.9*pi))])
%Przeskalowanie osi ukadu wsprzdnych
axis([0 4 -1.1 1.1]) %[xmin xmax ymin ymax]
%Dodanie siatki danych
grid on
%Dodanie tekstu poprzez wskazanie mysz
gtext('Opis')

1.6. Reprezentacja sygnaw w rodowisku Matlab


Sygnay dyskretne i cige s reprezentowane w trakcie zaj przez wektory wierszowe
lub kolumnowe o wartociach rzeczywistych lub zespolonych. W przypadku reprezentacji
sygnaw analogowych, ich wartoci (prbki) s generowane z dostatecznie maym odstpem,
aby zmienno sygnau cigego zostaa wiernie oddana. Matlab oferuje wiele funkcji
umoliwiajcych generowanie sygnaw. Funkcje te wymagaj zazwyczaj podania wektora
reprezentujcego czas, kt lub kolejne prbki. Taki wektor mona w prosty sposb utworzy
korzystajc z notacji wykorzystujcej dwukropek (np. wektor phi z przykadu P1.6) lub z
funkcji linspace.
Wykorzystujc funkcje trygonometryczne oraz funkcj eksponencjaln exp mona
generowa sygnay sinusoidalne i wykadnicze.
P1.7. Sygna kosinusoidalny o amplitudzie Am, czstotliwoci f1 [Hz] i fazie pocztkowej phi
[rad] (naley utworzy skrypt o nazwie kosinus.m zawierajcy ponisze komendy)
t=0:0.001:0.02;
Am=sqrt(2)*230; f1=50; phi=-pi/2;
y=Am*cos(2*pi*f1*t + phi)
figure; subplot(211); plot(t,y); grid on; axis tight;
subplot(212); stem(y); grid on; axis tight;
P1.8. Sygna eksponencjalny y = Beat.
t=linspace(-0.02,0.02,41);
B=1; a=50;
y1=B*exp(a*t);
y2=B*exp(-a*t);
figure; plot(t,y1,'r.-', t,y2,'go-'); grid on; axis tight;
P1.9. Sygna y = Amcos(2f1t)eat.
t=-0.02:0.001:0.02;

1-14

Am=sqrt(2)*230; f1=50; a=50;


y=Am*cos(2*pi*f1*t).*exp(-a*t);
figure; plot(t,y); grid on; axis tight;
P1.10. Zespolony sygna eksponencjalny y = ej2ft.
t=0:0.0002:0.06;
f1=50;
Omega = 2*pi*f1;
figure;
% y=exp(1i*Omega*t)=cos(Omega*t)+1i*sin(Omega*t);
plot3(cos(Omega*t),t,sin(Omega*t));grid on;
set(gca,'YDir','reverse','PlotBoxAspectRatioMode','manual',...
'FontName','TimesNewRoman');
xlabel('Re\{\ity\rm(\itt\rm)\}');
ylabel('\itt\rm [s]');
zlabel('Im\{\ity\rm(\itt\rm)\}');
P1.11. Zespolony sygna eksponencjalny y = Amej2ft.
t=linspace(-0.02,0.02,41);
Am=sqrt(2)*230; f1=50;
y=Am*exp(1i*2*pi*f1*t);
figure; subplot(211); plot(t,real(y)); grid on; axis tight;
subplot(212); plot(t,imag(y)); grid on; axis tight;
figure; subplot(211); plot(t,abs(y)); grid on; axis tight;
subplot(212); plot(t,angle(y)); grid on; axis tight;
P1.12. Zespolony sygna eksponencjalny y = Ame(-a+j2f)t.
t=-0.02:0.001:0.02;
Am=sqrt(2)*230; f1=50;a=50
y=Am*exp((-a+1i*2*pi*f1)*t);
figure; subplot(211); plot(t,real(y)); grid on; axis tight;
subplot(212); plot(t,imag(y)); grid on; axis tight;
figure; subplot(211); plot(t,abs(y)); grid on; axis tight;
subplot(212); plot(t,angle(y)); grid on; axis tight;
Poniej przedstawiono przykady uycia funkcji square, sawtooth i sinc umoliwiajcych
generowanie uytecznych sygnaw.
P1.13. Przebieg prostoktny funkcja square.
t=-0.02:0.001:0.02;
A=1; f1=50; gamma = 50; %gamma - wypenienie
y=square(2*pi*f1*t,gamma);
figure; subplot(121); plot(t,y); grid on; axis tight;
subplot(122); stem(y,'filled'); grid on; axis tight;
P1.14. Przebieg pioksztany funkcja sawtooth.
t=-0.02:0.001:0.02;
A=1; f1=50; gamma = 1; %gamma od 0.0 do 1.0
y=sawtooth(2*pi*f1*t,gamma);
figure; subplot(211); plot(t,y); grid on; axis tight;
1-15

subplot(212); stem(y,'filled'); grid on; axis tight;


P1.15. Funkcja sinc.
t=linspace(-5,5);
y=sinc(t);
figure;plot(t,y); grid on; axis tight;

1.7. Zadania do wykonania w trakcie zaj laboratoryjnych


ZL1.1. Zrealizowa w rodowisku Matlab przykady P1.1 P1.15.
ZL1.2. Korzystajc z programu Matlab naley zapozna si z funkcjami sum, mean, min,
max i zastosowa je do obliczenia wartoci redniej, najmniejszej i najwikszej sygnau y z
przykadu P1.7.
ZL1.3. Utworzy macierz
3
cos( / 3)
2
27

210
X = cos( / 6)
e10

log(e3 ) log (8) log (1000)


2
10

ZL1.4. Rozwiza ukady rwna A*x = b, ([x]=A\b)


3 x1 + 4 x2 = 7
3 x1 + x2 + 4 x3 = 2

4 x1 2 x2 = 2
2 x1 + 4 x2 + x3 = 4
7 x + 3 x = 10
x 3x 2 x = 2
2
2
3
1
1

1.8. Literatura
[1] MATLAB R2010b Documentation [online]. The MathWorks, Inc., 2010 [dostp:
02.11.2010]. Dostpna w Internecie: http://www.mathworks.com/help/techdoc/
[2] J. Brzzka, L. Dorobczyski: Programowanie w Matlab, Warszawa 1998.
[3] S. Osowski, A. Cichocki, K. Siwek: MATLAB w zastosowaniu do oblicze obwodowych i
przetwarzania sygnaw. Warszawa 2006.

1-16

2. Szereg Fouriera sygnaw cigych i dyskretnych.


2.1. Cel i zakres wiczenia
Celem wiczenia jest nabycie podstawowych umiejtnoci analizy i syntezy sygnaw
okresowych. Badane s wybrane waciwoci widm sygnaw okresowych.

2.2. Podstawy teoretyczne


Najczciej stosowanym analitycznym przedstawieniem sygnaw deterministycznych
jest tzw. widmowa reprezentacja sygnau. Sygnay okresowe reprezentowane s za pomoc
szeregu Fouriera, a sygnay o ograniczonej energii za pomoc cakowego przeksztacenia
Fouriera. Szereg Fouriera sygnaw cigych (ang. Continuous-Time Fourier Series CTFS
lub po prostu Fourier Series FS) stosowany jest do analitycznej reprezentacji analogowych
(cigych) sygnaw okresowych natomiast do reprezentacji sygnaw dyskretnych uywany
jest szereg Fouriera sygnaw dyskretnych (ang. Discrete-Time Fourier Series DTFS).
2.2.1. Szereg Fouriera sygnaw cigych
Rozpatrzmy zespolony sygna okresowy f(t) o okresie P = 1/f1, okrelony prawie
wszdzie w przedziale t (-, +).
Zespolonym szeregiem Fouriera sygnau f(t) nazywamy szereg okrelony zalenociami

f (t ) =

cme jm t

(2.1)

m =

1
cm =
P

t0 + P

f (t ) e

jm1 t

(2.2)

dt

t0

gdzie cm = cm e jm wspczynniki rozwinicia sygnau f(t) w zespolony szereg Fouriera


(zwane dalej krtko wspczynnikami szeregu Fouriera), m Z, 1 = 2 f1 czstotliwo
(pulsacja) podstawowa sygnau f(t) (rad/s), f1 - czstotliwo podstawowa (Hz).
Cig cm, m Z, wspczynnikw szeregu Fouriera nazywamy widmem sygnau
okresowego. Cig moduw tych wspczynnikw cm nosi nazw widma amplitudowego
sygnau f(t), a cig argumentw (faz pocztkowych) arg(cm) = m widma fazowego.
Aby sygna f(t) mia rozwinicie w zespolony szereg Fouriera, musi spenia tzw. warunki
Dirichleta:

t0 + P

f ( t ) dt M < ,

t0

w kadym ograniczonym przedziale f(t) ma skoczon liczb niecigoci i skoczon


liczb minimw i maksimw o skoczonej wartoci.

2-1

Uwaga: Dla dowolnej funkcji okresowej f(t), caka w zalenoci (2.1) nie zmieni swej
wartoci, gdy f(t) zostanie zastpiona funkcj, ktra jest prawie wszdzie (nie w kadym
punkcie t) rwna f(t). Takich funkcji jest nieskoczenie wiele, a zatem cile rzecz ujmujc
istnieje nieskoczenie wiele sygnaw majcych ten sam rozkad w szereg Fouriera (czyli te
same wartoci wspczynnikw cm). Wobec tego zwizek midzy sygnaem f(t) a jego
rozwiniciem w szereg Fouriera naleaoby zapisa w postaci

f ( t ) = a .e

ce

jm1 t

(2.3)

m =

gdzie =a.e. oznacza rwno prawie wszdzie. Zazwyczaj rozpatruje si sygnay odcinkami
cige, niezawierajce niecigoci typu luka (mog wystpowa niecigoci typu skok).
Szereg Fouriera wyznaczony dla funkcji z niecigociami typu skok przyjmuje w punktach
niecigoci warto rwn redniej arytmetycznej granic lewo- i prawostronnej funkcji w
tym punkcie.
Rozwaone zostan nastpnie inne postaci szeregu Fouriera sygnau okresowego. Przy
dodatkowym zaoeniu, e funkcja f(t) jest funkcj rzeczywist, zachodzi f(t) = f*(t) oraz:

f (t ) =

cme jm1t =

m =

f * (t ) =

m=

cm* e jm1t =

m=

e jm1t

m=

*
m

(2.4)

e jm1t

(2.5)

Z porwnania (2.4) z (2.5) wynika, e:

cm = c* m

(2.6)

cm* = cm

(2.7)

Sumowanie we wzorze (2.1) mona zatem przedstawi w nastpujcej postaci:

m =1

m =1

f ( t ) = c0 + cm e jm1t + c m e jm1t = c0 + cm e jm1t + cm* e jm1t

(2.8)

Suma liczby zespolonej z jej sprzeniem jest rwna jej podwojonej czci rzeczywistej, wic

m =1

m =1

f ( t ) = c0 + 2 Re {cm e jm1t } = c0 + 2 Re cm e j ( m1t +m )

gdzie wspczynniki cm przedstawiono w postaci wykadniczej jako c m = c m e jm

(2.9)

Ostatecznie otrzymano tzw. kosinusow posta szeregu Fouriera

m =1

m =1

f ( t ) = c0 + 2 cm cos(m1t + m ) = A0 + Am cos(m1t + m )

(2.10)

Wspczynnik A0 = c0 nazywany jest skadow sta, Am = 2cm nosi nazw amplitudy m-tej
harmonicznej, m fazy pocztkowej m-tej harmonicznej. Harmoniczna o czstotliwoci 1
nazywana jest harmoniczn podstawow.
2-2

Stosujc wzory Eulera mona przedstawi dowolny sygna harmoniczny jako prost
kombinacj zespolonych sygnaw wykadniczych o czstotliwociach dodatnich i ujemnych

Am cos(m1t + m ) =

1
1
Ame jm e jm1t + Ame jm e jm1t = cme jm1t + c me jm1t
2
2

(2.11)

Na podstawie rwnania (2.11) lub (2.6) otrzymujemy rwnocic-m=cm oraz


-arg(c-m) = arg(cm) = m. Widmo amplitudowe jest funkcj parzyst zmiennej m, a widmo
fazowe funkcj nieparzyst. Sygnay rzeczywiste mog by reprezentowane w dziedzinie
czstotliwoci tylko przez prawostronne czci widm amplitudowego i fazowego. W
przypadku widma amplitudowego naley okreli czy prezentowane s moduy
wspczynnikw cm czy amplitudy harmonicznych Am = 2cm.
Kady sygna harmoniczny mona przedstawi jako kombinacj sygnau sinusoidalnego i
kosinusoidalnego:
Am cos ( m1t + m ) = Am cos ( m1t ) cos m Am sin ( m1t ) sin m =
= ( Am cos m ) cos ( m1t ) ( Am sin m ) sin ( m1t ) = am cos ( m1t ) + bm sin ( m1t )

(2.12)

Szereg Fouriera (2.10) moe by zatem przedstawiony w tzw. postaci trygonometrycznej

f (t ) =
2
am =
P
2
bm =
P

a0
+ am cos(m1t ) + bm sin(m1t )
2 m=1
m =1
t0 + P

f ( t ) cos(m t)dt ,
1

m = 0,1, 2,...

(2.13)

(2.14)

t0
t0 + P

f ( t ) sin(m t)dt ,
1

m = 1, 2,...

(2.15)

t0

Powizania pomidzy postaci kosinusow i trygonometryczn szeregu Fouriera s


nastpujce:

A0 =

a0
a
b
, Am = am2 + bm2 , cos m = m , sin m = m
2
Am
Am

(2.16)

Zwizki pomidzy wspczynnikami ak i bk a wspczynnikami zespolonego szeregu Fouriera


(2.2) s nastpujce:
e jm + e jm
am = Am cos m = Am
= cm + c m = 2 Re {cm }
2

bm = Am sin m = Am

e jm e jm j
= j ( cm c m ) = 2Im {cm }
2j
j

(2.17)

(2.18)

Zwizki odwrotne:

c0 =

a0
a jbk
, ck = k
, k = 1, 2,...
2
2

(2.19)

2-3

W przypadku gdy funkcja f(t) jest nieparzysta, to wspczynniki am (Re{cm}) przyjmuj


warto zero, a gdy funkcja f(t) jest parzysta wspczynniki bm (Im{cm}) s rwne zeru.

P2.1. Wyznaczy rozwinicie w zespolony szereg Fouriera nastpujcego sygnau


y (t ) = 1, 5 + 2 cos(2 10 t ) + sin(2 20 t + / 4)

(2.20)

e
e j 2 10t + e j 2 10t
Podstawiajc 2 cos(210t ) = 2
i sin(220t + / 4) =
2
mona rozpatrywany sygna zapisa w postaci
y (t ) = 1,5 + e j 2 10t + e j 2 10t j 0,5e

+ j ( 2 20 t + /4 )

+ j 0,5e

j ( 2 20 t + /4 )

j ( 2 20 t + /4 )

e
j2

j ( 2 20t + /4)

(2.21)

Po uporzdkowaniu wzgldem czstotliwoci podstawowej harmonicznej f1 = 10Hz


otrzymano
j ( /2 /4 ) j 2 20 t

(2.22)

y(t ) = 0,5e j/4e j 2 20t + 1e j 0e j 2 10t + 1,5e j + 1e j 0e j 2 10t + 0,5e j /4 e j 2 20t

(2.23)

+ e j 210t + 1,5e j + e j 2 10t + 0,5e

j ( /2 + /4 )

e j 2 20t

y (t ) = 0,5e

Na podstawie (2.23) mona zidentyfikowa wspczynniki cm jako:


0,5e j / 4 , m = 2
j0
1e , m = 1
.
cm = 1, 5e j , m = 0
1e j 0 , m = 1

j/ 4
,m=2
0,5e

(2.24)

P2.2. Szereg Fouriera przebiegu prostoktnego.


Wyznaczy rozwinicie w zespolony szereg Fouriera sygnau z rys. 2.1 okrelonego wzorem
dla t ( kP a , kP + a ), k Z
A

f (t ) = A / 2 dla t = kP a , k Z
0
dla t pozostaych

(2.25)

Rys. 2.1. Sygna prostoktny unipolarny (sygna parzysty)


Rozwizanie:
a) m 0

2-4

P/2

1
1
1
A
cm =
f ( t ) e jm1tdt = A e jm1t dt =
e jm1t

P P/2
P a
P jm1

1 A P

e
P j 2 m
cm =

2
jm a
P

2
jm a
P

2a
P

jm 2 a jm 2 a
2a

e P e P A sin m
A
P
=


=
2 j
m
m

A sin ( m )
m

gdzie =

(2.26)

oznacza tzw. wspczynnik wypenienia.

b) m = 0
P/2

1
1
A
c0 =
f ( t ) dt = Adt = t

P P/2
P a
P

= A
a

2a
= A
P

(2.27)

Wszystkie wspczynniki cm s rzeczywiste. Jest to cecha charakterystyczna szeregw


Fouriera sygnaw rzeczywistych parzystych. Korzystajc z funkcji

sin ( x)
dla x 0

sinc ( x ) = x
1
dla x = 0

(2.28)

mona zapisa (2.26) w postaci

cm = A sinc(m )

(2.29)

Na rys. 2.2 przedstawiono interpretacj graficzn powyszej zalenoci dla = 1 i = .


Oglnie widmo przebiegu prostoktnego mona interpretowa jako wynik prbkowania (w
dziedzinie czstotliwoci) odpowiedniej funkcji sinc(.).

Rys. 2.2. Interpretacja wspczynnikw szeregu Fouriera przebiegu prostoktnego za pomoc


funkcji sinc(.).
2-5

P2.3. Szereg Fouriera przebiegu pioksztatnego.


Wyznaczy rozwinicie w zespolony szereg Fouriera sygnau f(t)
A
P t dla t ( kP, ( k + 1) P ) , k Z

f (t ) = A / 2 dla t = kP, k Z
0
dla t pozostaych

(2.30)

pokazanego na poniszym rysunku.

Rys. 2.3. Przebieg pioksztatny.


Rozwizanie:
a) m 0 ,
P

cm =

1
1 A
f ( t ) e jm1 tdt = t e jm1 tdt

P0
P0P

Korzystajc z zalenoci

xe

ax

x 1
dx = eax 2 , otrzymano
a a
P

A
1
A jm1P P
1
1

=
cm = 2 e jm1t
e

2
2
2
2
2

P
P 2
jm1 m 1 m 1
jm1 ( jm1 )
0

A
P
1
= 2 e jm2
+
2
2

P
2 2

jm

P m P

1
P2
j
A

= A

2
2

P jm 2
2 m .
2 2
m
P

b) m = 0 ,
P

1
1 A
A t2
c0 = f ( t ) dt = tdt = 2
P0
P a P
P 2

A
.
2

2-6

Podsumowujc:

cm = A
c0 =

j
,
2 m

m 0,

(2.31)

A
.
2

(2.32)

Skadowa zmienna przebiegu pioksztatnego z rys. 2.3 jest przebiegiem nieparzystym.


Wszystkie wspczynniki szeregw Fouriera przebiegw rzeczywistych nieparzystych s
urojone.

2.2.2. Prbkowanie, dyskretny sygna sinusoidalny


Prbkowaniem sygnau analogowego f(t) nazywamy okresowe pobieranie jego wartoci
w chwilach tk = kT, gdzie T nazywa si okresem prbkowania, a jego odwrotno fs = 1/T
czstotliwoci prbkowania. Cig f[k] o elementach f[k] = f(kT) tworzy sygna dyskretny.
Rozwaona zostanie sinusoida dyskretna powstaa z prbkowania z okresem T
sinusoidy analogowej o czstotliwoci 1 = 2f1 = 2/P, czyli
f [ k ] = sin ( 2f1 kT ) = sin ( 1kT ) = sin (1k ) ,

(2.33)

gdzie 1 = 1T = 2f1/fs. Otrzymana sinusoida dyskretna nie zawsze jest sygnaem


okresowym. Sygna dyskretny f[k] jest okresowy jeli istnieje taka liczba cakowita N, e
f [k + N ] = f [k ], k Z ,

(2.34)

f [ k + N ] = sin ( 2 f1 ( k + N )T ) = sin ( 2 f1 kT ) cos ( 2 f1 NT ) + cos ( 2 f1 kT ) sin ( 2 f1 NT ) (2.35)

Zaleno (2.34) zachodzi jeli cos(2f1NT) = 1 i sin(2f1NT) = 0. Wwczas 2f1NT = n2 lub

P N
= ,
T n

(2.36)

gdzie n jest liczb cakowit. Wielko N.T musi by rwna P lub wielokrotnoci P, czyli P/T
musi by liczb wymiern. Jeli warunek ten jest speniony, to liczba N jest okresem
sekwencji, natomiast n okrela liczb okresw sygnau analogowego mieszczcych si w
jednym okresie odpowiadajcej mu sekwencji. Jeli P/T jest liczb niewymiern, f[k] jest
sekwencj nieokresow.
Okres sinusoidy analogowej o dowolnej czstotliwoci rzeczywistej f1 jest zawsze dany
przez P = 1/f1. I odwrotnie, czstotliwo sinusoidy analogowej o dowolnym okresie P jest
zawsze dana przez f1 = 1/P. W przypadku sinusoidy dyskretnej okres nie zawsze poprawnie
odzwierciedla szybko zmian wartoci sygnau, co ilustruje poniszy przykad.

P2.4. Dany jest sygna analogowysinusoida o czstotliwoci 50Hz:


f a ( t ) = sin ( 2 50 t )

P = 1/ 50 = 0.02s ;

Sygna dyskretny 1sekwencja prbek sygnau fa(t), okres prbkowania T = 0.002s:

2-7

f1[ k ] = sin ( 2 50 0, 002 k ) = sin ( 0, 2 k )

Poniewa P/T = 0,02/0,002 = 10/1 to jeden okres sekwencji N = 10 obejmuje jeden okres
sinusoidy analogowej.

Sygna dyskretny 2sekwencja prbek sygnau f(t), okres prbkowania T = 0.006s:


f 2 [ k ] = sin ( 2 50 0, 006 k ) = sin ( 0, 6 k )

P/T = 0,02/0,006 = 10/3, jeden okres sekwencji N = 10 obejmuje trzy okresy sinusoidy
analogowej.

Rys. 2.4. Dwie sinusoidy dyskretne o rnych czstotliwociach i o tym samym okresie.
Oba sygnay z przykadu P2.4 uzyskano z tej samej sinusoidy analogowej, maj ten sam
okres sekwencji dyskretnej N, natomiast sygna dyskretny f2[k] ma trzykrotnie wiksz
szybko zmian wartoci. Nie mona zatem uywa okresu sekwencji dyskretnej do
okrelania jej czstotliwoci.
Z tego powodu czstotliwo sinusoidy dyskretnej, zarwno okresowej jak i
nieokresowej, okrela si jako czstotliwo jej obwiedni. Obwiednia jest cig sinusoid
sin(2ft), ktrej prbki w chwilach kT s rwne wartociom danej sekwencji sinusoidalnej.
Dla sinusoidy dyskretnej (2.33) oczywicie f(t) = sin(2f1t) jest obwiedni f[k], co wynika
wprost z definicji prbkowania. Ale skoro sin(2f1t) jest obwiedni f[k], to rwnie sin(2f1
+2n/T)t = sin(2(f1 +nfs)t), n Z jest obwiedni f[k]. Istotnie
n 2

sin ( 2 ( f1 + nf s ) t ) = sin 2 f1t +


t
= sin ( 2 f1kT + 2nk ) =
T t = kT

= sin ( 2 f1kT ) cos ( nk 2 ) + cos ( 2 f1kT ) sin ( nk 2 ) = sin ( 2 f1kT )

(2.37)

A zatem dyskretna sinusoida ma nieskoczenie wiele obwiedni. Podstawienie w sekwencji


sin(2fkT) = sin(kT) = sin(k) dowolnej wartoci postaci:

2-8

f = f1 + nf s ,

= 1 + n2f s , = 1 + n2, n Z

(2.38)

pozostawia sekwencj bez zmian. Wobec tego, prbki sinusoidy nie okrelaj jednoznacznie
jej czstotliwoci. Zbiory nierozrnialnych czstotliwoci okrelonych rwnaniami (2.38)
nazywane s aliasami.

P2.5. Rozpatrzmy dwa sygnay analogowe i ich dyskretne odpowiedniki


sinusoida analogowa o czstotliwoci 7Hz:

f1 (t ) = sin(2 7t )

(2.39)

oraz sinusoida dyskretna powstaa z prbkowania f1(t) z czstotliwoci 20Hz:

1
1

f1 [ k ] = f1 k = sin 2 7 k = sin ( 0, 7 k )
20
20

(2.40)

sinusoida analogowa o czstotliwoci 27Hz:

f 2 (t ) = sin(2 (7 + 20)t )

(2.41)

oraz sinusoida dyskretna powstaa z prbkowania f2(t) z czstotliwoci 20Hz:

1
1

f 2 [ k ] = f 2 k = sin 2 ( 7 + 20 ) k = sin ( ( 0, 7 + 2 ) k )
20
20

(2.42)

Rys. 2.5. Niejednoznaczno czstotliwoci:


dwa rne przebiegi sinusoidalne jeden cig dyskretny.
Sygnay f1[k] i f2[k] s identycznymi cigami prbek, mimo e powstay z prbkowania
rnych sygnaw analogowych i maj rne czstotliwoci (rnice si o 2).
Aby jednoznacznie okrela czstotliwoci 1 sinusoid dyskretnych postaci (2.33)
mona lokowa je, poprzez dodawanie lub odejmowane wielokrotnoci 2, w jednym,
dowolnie wybranym przedziale o dugoci 2. Jednake, jeeli tym przedziaem jest (-, ], to
wtedy obwiednia sin(2ft) przeprowadzona przez prbki sekwencji ma najnisz, co do
wartoci bezwzgldnej, czstotliwo (powyszych prbek nie mona poczy obwiedni o
2-9

mniejszej czstotliwoci). Czstotliwo f obwiedni analogowej odzwierciedla szybko


zmian sygnau dyskretnego.
Podsumowujc, czstotliwo dyskretnego sygnau sinusoidalnego sin(2f1kT) mona
zdefiniowa jako czstotliwo f sinusoidalnego sygnau analogowego sin(2ft) ktrego
prbki w chwilach kT s rwne sin(2f1kT) speniajc warunki:

fs / 2 < f fs / 2, f = f1 + nf s , n Z ,

(2.43)

lub

/ T < / T , = 1 + n2 / T , n Z .

(2.44)

P2.6. Rozwaone zostan dwie sekwencje sinusoidalne f1[k] = sin(2f1kT) = sin(21kT) oraz
f2[k] = cos(2f1kT) = cos(21kT) powstae w wyniku prbkowania sygnaw analogowych o
tych samych amplitudach i czstotliwociach, a jedynie przesunitych wzgldem siebie w
fazie o kt /2. Na rys. 2.6 przedstawiono sze sekwencji cyfrowych powstaych w wyniku
prbkowania sinusoidy (rysunki a, c, e) i kosinusoidy (rysunki b, d, f) z rnymi okresami T:
T = 1s (rysunki a, b), T = 0,5s (rysunki c, d) i T = 0,2s (rysunki e, f). Czstotliwo sygnaw
analogowych wynosi 1 Hz.
a) y(kT) = sin(21k1), Py = 0.00

b) y(kT) = cos(21k1), Py = 1.00

-1
0

-1
0

c) y(kT) = sin(21k0,5), Py = 0.00


1

-1
0

e) y(kT) = sin(21k0,2), Py = 0.50


1

f) y(kT) = cos(21k0,2), Py = 0.50

-1
0

d) y(kT) = cos(21k0,5), Py = 1.00

-1
0

-1
0

Rys. 2.6. Analogowe sygnay sinusoidalne i sygnay dyskretne powstae w wyniku ich
prbkowania.
Wyznaczone zostan okresy sygnaw dyskretnych.
sygnay dyskretne z rys. 2.6 a i b P/T = 1/1 = N/n, N = 1,
sygnay dyskretne z rys. 2.6 c i d P/T = 1/0,5 = 2/1 = N/n, N = 2,
2-10

sygnay dyskretne z rys. 2.6 e i f P/T = 1/0,2 = 5/1 = N/n, N = 5,


Oba sygnay analogowe zostay sprbkowane w taki sposb, e jeden okres sekwencji
dyskretnej obejmuje jeden okres sinusoidy / kosinusoidy analogowej. Okrelone zostan
czstotliwoci sygnaw cyfrowych. Dla najmniejszej wartoci okresu N = 1, f1[k] jest
sekwencj samych zer, a f2[k] samych jedynek, wic czstotliwo obu sekwencji jest rwna
0. Dla kolejnej wartoci okresu N = 2, f1[k] jest rwnie sekwencj samych zer, a f2[k] cigiem
liczb +1 i -1, czyli sekwencj o czstotliwoci f = fs/2, rwnej czstotliwoci sygnau
analogowego. Dla okresu N = 5 czstotliwoci obu sekwencji dyskretnych s rwne
czstotliwociom sygnaw analogowych. Na rysunkach podano rwnie wartoci mocy
rednich sygnaw dyskretnych, s one zgodne z wartociami obliczanymi dla sygnaw
cigych jeli fs > 2f1.
Oglnie, jeeli zwikszana jest czstotliwo f1 dyskretnego sygnau kosinusoidalnego (a
oglniej zespolonego sygnau wykadniczego) od 0 do fs/2, to szybko zmian wartoci
sygnau wzrasta, osigajc dla czstotliwoci fs/2 maksymaln szybko oscylacji, co jest
zgodne z intuicyjnym odczuciem czstotliwoci. Jeli f1 bdzie dalej zwikszana, to szybko
zmian sygnau bdzie zmniejsza si a do osignicia czstotliwoci fs, dla ktrej otrzymany
przebieg bdzie cigiem staych wartoci, tak jak dla czstotliwoci f1 = 0.
Na podstawie powyszych rozwaa rwnie mona stwierdzi, e jeeli czstotliwo
sinusoidy dyskretnej f1 < fs/2 (lub 1 < /; 1 < ), to jest moliwe okrelenie czstotliwoci
sinusoidy analogowej na podstawie sekwencji prbek.
Z liniowoci prbkowania wynika, e gdy f(t) mona przedstawi jako superpozycj
sygnaw sinusoidalnych, to sygna dyskretny f[k] mona przedstawi jako superpozycj
dyskretnych sygnaw sinusoidalnych o odpowiednich czstotliwociach cyfrowych. Wobec
tego dla sygnaw zoonych z wielu sinusoid mona zastosowa, skadnik po skadniku,
obserwacje poczynione dla pojedynczej sinusoidy.
Jeeli dla wszystkich m skadowych sinusoidalnych przebiegu analogowego zachodzi

m ( / T , / T ) [ rad/s ] ,

(2.45)

czyli

m = mT ( , )

[ rad ] ,

(2.46)

czyli

fm =

m
2

( fs / 2, fs / 2)

[ Hz] ,

(2.47)

to wszystkie dyskretne sinusoidy zachowaj swoj oryginaln czstotliwo (w odpowiedniej


skali). Mona pokaza, e w takim przypadku mona dokadnie odtworzy sygna analogowy
na podstawie jego prbek branych co T sekund.
Powysze stwierdzenie stanowi uproszczone sformuowanie tzw. twierdzenia o prbkowaniu
(NyquistaShannona-Kotielnikowa). Czstotliwo fN = fs/2 nazywana jest czstotliwoci
Nyquista.

2-11

2.2.3. Szereg Fouriera sygnau dyskretnego


Szereg Fouriera sygnau dyskretnego o okresie N jest okrelony rwnaniami:
N 1

f [ k ] = cm e

jm

2
k
N

, k = 0,1, ..., N 1

(2.48)

m =0

2
jm k
1 N 1
cm = f [ k ] e N , m = 0,1, ..., N 1
N k =0

(2.49)
j(m+ N )

2
k
N

jm

2
k
j 2 k
N

jm

2
k
N

Poniewa funkcja eksponencjalna jest okresowa: e


=e
e
=e
,
wspczynniki cm s okresowe (w dziedzinie czstotliwoci) ze wzgldu na m i powtarzaj si
co N:

cm+ N

2
2
j ( m+ N ) k
jm k
1 N 1
1 N 1
N
= f [k ] e
= f [ k ] e N = cm
N k =0
N k =0

(2.50)

Zatem reprezentacja dyskretnego sygnau okresowego za pomoc szeregu Fouriera ogranicza


si tylko do N rnych wspczynnikw np. dla m = 0, 1, , N-1 lub dla innego przedziau
indeksw o dugoci N.
Cig cm, m = 0, 1, , N-1 wspczynnikw rozwinicia sygnau f[k] w zespolony szereg
Fouriera sygnau dyskretnego nazywamy widmem sygnau dyskretnego. W przypadku
sygnau dyskretnego powstaego w wyniku prbkowania wspczynnik c0 jest wartoci
2
2
= 1 = 2f1 , c2
redni sygnau, c1 wyraa udzia skadowej o czstotliwoci 1
NT
P
skadowej o czstotliwoci 4f1 , itd.
Wykazana zostanie teraz wasno symetrii DTFS sygnau rzeczywistego f[k], czyli:

cN /2+m = cN* /2m

(2.51)
N

cN / 2 + m

2
2
j +m k
jm
k
1 N 1
1 N 1
1 N 1
k jm k
= f [ k ] e 2 N = f [ k ] e j k e N = f [ k ] ( 1) e N (2.52)
N k =0
N k =0
N k =0

oraz
N

cN / 2 m

2
2
j m k
jm
k
jm k
1 N 1
1 N 1
1 N 1
k
j k
2
N
N
= f [k ] e
= f [k ] e e
= f [ k ] ( 1) e N
N k =0
N k =0
N k =0

(2.53)

Z rwnoci (2.51) wynika, e wzgldem wspczynnika cN /2 cz rzeczywista widma jest


symetryczna tj. Re {c N /2 + m } = Re {c N / 2 m } , natomiast cz urojona jest asymetryczna
Im {cN /2 + m } = Im {c N / 2 m } . Czyli wystarczy tylko N/2 +1 wspczynnikw cm o indeksach m

= 0, , N/2 aby jednoznacznie okreli DTFS. Indeksowi m = N/2 odpowiada skadowa o


czstotliwoci f = (N/2)f1 = (N/2)(1/NT) = fs/2.
Gdy spenione jest twierdzenie o prbkowaniu, tzn. gdy fs > 2fm, gdzie fm jest skadow
widma o najwikszej czstotliwoci, to wspczynniki cmd = cma , gdzie indeksy grne d i a
oznaczaj odpowiednio wspczynniki DTFS i CTFS. Natomiast gdy twierdzenie o
2-12

prbkowaniu nie jest spenione, cmd cma , poniewa c md jest sum wszystkich wspczynnikw
w rozwiniciu sygnau analogowego, ktrym odpowiada ta sama czstotliwo cyfrowa po
sprbkowaniu [4] [6]:

cmd =

n =

a
m + nN

, m=

N 1
N 1
, ..., 1, 0, 1, ...,
2
2

(2.54)

Zjawisko nakadania si w widmie sygnau dyskretnego harmonicznych odpowiadajcych


rnym oryginalnym czstotliwociom analogowym nazywa si nakadaniem widma (ang.
aliasing).

2.2.4. Wybrane waciwoci szeregu Fouriera


Zaoono, e f(t) jest sygnaem okresowym o okresie P i czstotliwoci f1 = 1/P (1 = 2/P).
Do zapisu odwzorowania sygnau okresowego f(t) w zbir wspczynnikw zespolonego
szeregu Fouriera cm uyto notacji:
CTFS
f (t )
c mf

(2.55)

Odwzorowanie sygnau okresowego f[k] o okresie N i czstotliwoci 1 = 2/N w zbir


wspczynnikw zespolonego szeregu Fouriera sygnau dyskretnego cm jest zapisywane
nastpujco:
DTFS
f [ k ]
c mf

(2.56)

1. Liniowo
CTFS
af (t ) + bg (t )
acmf + bcmg ,

a, b R

DTFS
af [ k ] + bg [ k ]
acmf + bcmg ,

a, b R

(2.57)
(2.58)

2. Przesunicie w dziedzinie czasu


CTFS
f (t t0 )
e jm1t0 cmf ,

t0 R

DTFS
f [ k k 0 ]
e jm1k0 cmf ,

(2.59)

k0 Z

(2.60)

3. Przesunicie w dziedzinie czstotliwoci


CTFS
f (t )e jn0 1t
cmf n0 ,
DTFS
f [ k ] e jn01k
cmf n0 ,

n0 Z

(2.61)

n0 Z

(2.62)

4. Zmiana skali czasu

t
CTFS, 1 / a
f = g (t )
cmg = cmf ,
a

a R+

(2.63)

Sygna g(t) ma okres aP, odstp midzy prkami widma wynosi 1/a, wspczynniki
sygnau oryginalnego i przeskalowanego s identyczne.

2-13

cmf
k
DTFS, 1 / a
g
f = g [ k ] cm = ,
a
a

a R+

(2.64)

Sygna g[k] ma okres aN, odstp midzy prkami widma wynosi 1/a.
5. Iloczyn

f (t ) g (t )
c c =
CTFS

f
m

g
m

n =

DTFS
f [ k ] g [ k ]
cmf cmg =

f
n

ckgm

n= N

f
n

ckg m

(2.65)
(2.66)

6. Moc rednia (twierdzenie Parsevala)

1
2
(
)
d
=
f
t
t
cnf

P 0
m =
P

(2.67)

2
1
f [ k ] = cnf

N k= N
n= N

(2.68)

2.3. Zastosowanie rodowiska Matlab do analizy i syntezy sygnaw okresowych


Wszystkie sygnay wykorzystywane w komputerowych programach obliczeniowych s
sygnaami dyskretnymi (a cilej cyfrowymi przyjmujcymi rwnie wartoci z pewnego
skoczonego przedziau liczbowego). W wiczeniach laboratoryjnych sygnay analogowe s
reprezentowane w rodowisku Matlab ich sprbowanymi, z odpowiednio du
czstotliwoci, dyskretnymi odpowiednikami. W trakcie wiczenia wykorzystywane s
wspczynniki cm szeregu Fouriera sygnau cigego obliczone analitycznie, a sygnay
okresowe s generowane za pomoc funkcji kosinusy.m umoliwiajcej syntez
rzeczywistych sygnaw okresowych zgodnie ze wzorem (2.10) (patrz zadanie ZL2.1).
Program Matlab zawiera dwie funkcje umoliwiajce obliczanie szeregu Fouriera
sygnau dyskretnego (DTFS) okrelonego rwnaniami (2.48) i (2.49). Funkcja fft
efektywnie implementuje, przeskalowane o czynnik N, rwnanie (2.48):
N

Ncm = f [ k ] e

j ( m 1)

2
( k 1)
N

, m = 1, ..., N

(2.69)

k =1

Jeeli y jest wektorem o dugoci N zawierajcym jeden okres sygnau dyskretnego f[k], to
DTFS f[k] mona obliczy w nastpujcy sposb:
cm = (1/N)*fft(y).
Natomiast funkcja ifft jest efektywn procedur obliczajc
2
j ( m 1) ( k 1)
1 N
N
f [ k ] = ( Ncm ) e
, k = 1, ..., N
N m=1

(2.70)

czyli przeskalowan o czynnik 1/N realizacj rwnania (2.48). Jeeli cm jest wektorem o
dugoci N zawierajcym wspczynniki szeregu Fouriera sygnau dyskretnego f[k], to wektor
y zawierajcy prbki f[k] mona wyznaczy w nastpujcy sposb:
2-14

y = N*ifft(cm).
W celu obliczenia widma amplitudowego mona wykorzysta funkcj abs(x), ktra w
przypadku liczb zespolonych zwraca moduy kolejnych elementw wektora/macierzy x.
Aby obliczy widmo fazowe mona skorzysta z funkcji angle(x), ktra zwraca kty
fazowe (w radianach) elementw wektora/macierzy liczb zespolonych.
W celu obliczenia czci rzeczywistych lub urojonych liczb zespolonych mona posuy si
funkcjami real i imag
Funkcje w programie Matlab
Pliki zawierajce polecenia w jzyku Matlab nazywane s m-plikami. S dwa rodzaje mplikw: skrypty i funkcje. Funkcje akceptuj argumenty wejciowe i zwracaj argumenty
wyjciowe. Nazwy m-pliku oraz funkcji powinny by takie same. Funkcje operuj na
zmiennych lokalnych, odseparowanych od przestrzeni roboczej programu Matlab. Pierwsza
linia funkcji powinna zawiera nazw funkcji, sowo kluczowe function oraz argumenty
wejciowe i wyjciowe (funkcja kosinusy zawiera cztery argumenty wejciowe i jeden
wyjciowy). Nastpnych kilka linii przeznaczonych jest zazwyczaj na komentarze. Linie te
zostan wywietlone po wpisaniu polecenia help nazwa_funkcji. Pierwsza linia
komentarza, tzw. linia H1, jest wywietlana po wpisaniu polecenia lookfor, powinna ona
zawiera najwaniejsze informacje o funkcji. Reszta pliku stanowi tzw. ciao funkcji i zawiera
wykonywalne polecenia rodowiska Matlab.
W komentarzu funkcji lub skryptu powinna by zawarta informacja o autorach i
terminie wykonania wiczenia zgodnie z podanymi niej wytycznymi (przykad podano w
komentarzu funkcji kosinusy):
%Autorzy: imiona i nazwiska, nr stanowiska: od 1 do 6
%Grupa dziekaska: nr grupy,
rok akademicki: 2010/2011
%Termin zaj: data, dzie tygodnia, godz. od do

2.4. Wykaz zada do wykonania


2.4.1. Zadania do wykonania przed zajciami
ZD2.1. Wyznaczy i narysowa widmo amplitudowe |cm| oraz widmo fazowe m sygnau z
przykadu P2.1.
ZD2.2. Wyznaczy i narysowa widmo amplitudowe (uwzgldni dziesi pierwszych
harmonicznych) Am oraz widmo fazowe m nastpujcych sygnaw okresowych:
Sygnau prostoktnego z przykadu P2.2 o wspczynniku wypenienia = 0,5,
czstotliwoci f oraz wartoci parametru A podanych w poniszej tabeli
gr.
1
2
3
4
5
6
f [Hz] 50
60 70 80 90 100
A
7
6
5
4
3
2
Sygnau trjktnego z przykadu P2.3 o czstotliwoci f oraz wartoci parametru A
podanych w tabeli podanej wyej.
Na osi odcitych zaznaczy wartoci czstotliwoci poszczeglnych harmonicznych, wartoci
poszczeglnych harmonicznych napisa nad prkami.
ZD2.3. Uzupeni kod funkcji kosinusy.m (doczonej do instrukcji) umoliwiajcej syntez
rzeczywistych sygnaw okresowych zgodnie ze wzorem (2.10).

2-15

ZD2.4. Naley uzupeni brakujcy fragment kodu w funkcji alias.m (doczonej do


instrukcji) w celu obliczenia wspczynnikw szeregu Fouriera sygnaw dyskretnych yd[k]
(wykorzysta funkcj fft programu Matlab).
2.4.2. Zadania do wykonania w trakcie zaj laboratoryjnych
ZL2.1. Sprawdzenie poprawnoci dziaania funkcji kosinusy.m. Naley wygenerowa kilka
sygnaw np.:
1.
2.
3.

4.

y1 = 2 230 sin ( 2 50 ( kT ) + / 6 ) , jeden okres przebiegu, f1=50Hz, T = 0,001s,

1
y2 = 1 + sin ( 2 50 ( kT ) ) + sin ( 200 ( kT ) ) , jeden okres, f1=50Hz, T = 0,001s,
3
1
y3 = cos ( 2 50 ( kT ) ) + cos ( 2 150 ( kT ) ) , dwa okresy przebiegu, f1=50Hz, T = 0,001s.
3
1

y4 = cos ( 2 50 ( kT ) ) + cos 2 150 ( kT ) + , dwa okresy, f1=50Hz, T = 0,001s.


3
2

ZL2.2. Uywajc skryptu synteza.m (doczonego do instrukcji) naley wykona syntez


przebiegw: prostoktnego oraz pioksztatnego, ktrych wspczynniki rozwinicia w
zespolony szereg Fouriera zostay obliczone w przykadach P2.2 i P2.3. Zaobserwowa jak
zmieniaj si ksztaty syntetyzowanych sygnaw oraz ich moce rednie (obliczane na
2
podstawie twierdzenia Parsevala jako suma c m ) dla rnej liczby harmonicznych (1, 3, 10,
100). Przeanalizowa zwizki midzy ksztatem sygnaw syntetyzowanych a ich widmami:
amplitudowym i fazowym oraz rzeczywistym i urojonym.
ZL2.3. Skrypt alias.m umoliwia syntez cigego przebiegu okresowego y(t)
(prostoktnego lub pioksztatnego wybr za pomoc zmiennej sygnal) ze skadowej staej i
pierwszych dziesiciu harmonicznych.
Tak utworzony sygna jest prbkowany (z sekwencji reprezentujcej sygna cigy
pobierane s prbki) z trzema rnymi czstotliwociami: z zachowaniem twierdzenia o
prbkowaniu, na granicy twierdzenia o prbkowaniu oraz bez zachowania twierdzenia o
prbkowaniu (wybr czstotliwoci prkowania za pomoc zmiennej probkowanie).
Wynikiem prbkowania jest sygna dyskretny yd[k].
Obliczane s wspczynniki szeregu Fouriera cmd sygnau dyskretnego yd[k] (na podstawie
fragmentu kodu opracowanego w ZD2.4).
Na podstawie wspczynnikw cmd syntetyzowany jest sygna dyskretny ydo[k] przy uyciu
odwrotnej transformaty Fouriera (funkcja ifft).
Rwnie z wykorzystaniem wspczynnikw cmd syntetyzowany jest sygna cigy yo(t) za
pomoc funkcji kosinusy.m.
Po uzupenieniu brakujcych fragmentw kodu naley uruchomi skrypt.
Zaobserwowa dla ktrego sygnau i dla jakiej czstotliwoci prbkowania wystpuje
zjawisko nakadania widma (do rozpatrzenia jest sze przypadkw: dwa rne sygnay i trzy
rne czstotliwoci prbkowania). Wskaza wspczynniki dyskretnego szeregu Fouriera

cmd , ktre rni si od wspczynnikw szeregu Fouriera sygnau cigego cma . Obliczy ich
warto wykorzystujc wiedz na temat mechanizmu nakadania widma i wzr na
harmoniczne sygnau analogowego.

2-16

cmd

cma + rN
r =

cma +rN

(2.71)

r = n

gdzie m indeks harmonicznej sekwencji dyskretnej uzyskanej z N prbek, n jest parametrem


okrelajcym dokadno szacowania.
Dla przykadu obliczono warto wspczynnika c9d widma sygnau dyskretnego o okresie 20
prbek przy znanych cma sygnau cigego:

cmd =

r =

a
m + rN

a
= ... + cma N + cma + cma + N + ... = ... + c9a20 + c9a + c9a+ 20 + ... = ... + ca11 + c9a + c29
+ ... (2.72)

Poniewa analizowany sygna zosta zsyntetyzowany tylko ze wspczynnikw o indeksach


a
m = -10, , 0, , 10 to wspczynniki ca11 i c29
s zerowe i c9d = c9a . Natomiast dla sygnau o

okresie 16 prbek mamy:

cmd = ...c9a216 + c9a16 + c9a + c9a+16 + ... = ca7 + c9a ,

(2.73)

czyli wartoci dziewitego wspczynnika szeregu Fouriera sygnau dyskretnego i szeregu


Fouriera sygnau cigego s rne. Naley porwna wartoci cmd obliczone za pomoc
wzoru (2.71) z wyznaczonymi funkcj fft.
Naley zaobserwowa czy sygnay cige y(t) i yo(t) oraz dyskretne yd[k] i ydo[k] rni si
midzy sob? Jeli tak, to naley poda w ktrych przypadkach oraz wyjani dlaczego.
ZL2.4. Napisa skrypt, w ktrym zostanie wykonana analiza dokadnie jednego okresu N
dyskretnego sygnau prostoktnego lub pioksztatnego (do wyboru) o parametrach z zadania
ZD2.2. Wyznaczy i narysowa widmo amplitudowe cm i fazowe o odcitych
wyskalowa w hercach. Analiz wykona dla dwch rnych okresw N (N = 20 i N = 100).
Porwna wartoci c1d i c1a oraz c9d i c9a dla obu okresw sygnau i przedstawi wnioski.

ZL2.5. (Dla zainteresowanych) Przeprowadzi syntez sygnau prostoktnego przesunitego


w czasie. Skorzysta z twierdzenia o przesuniciu w dziedzinie czasu (2.60). Dla trzech
rnych przesuni zaobserwowa zmiany w widmie amplitudowym i fazowym.
ZL2.6. (Dla zainteresowanych) Przeprowadzi syntez sygnau bdcego sum przebiegw
prostoktnego i pioksztatnego. Skorzysta z wasnoci liniowoci szeregu Fouriera (2.58).

2.5. Literatura
[1]
[2]
[3]
[4]
[5]
[6]
[7]

J. A. Wojciechowski: Sygnay i systemy. Warszawa 2008.


T. P. Zieliski: Cyfrowe przetwarzanie sygnaw. Warszawa 2007.
J. Szabatin: Podstawy teorii sygnaw. Warszawa 2000.
A. Papoulis: Obwody i ukady. Warszawa 1988.
J. Nieznaski: Sygnay i systemy. Niepublikowane materiay wykadowe. Gdask 2010.
A. V. Oppenheim, R. W. Schaffer: Cyfrowe przetwarzanie sygnaw. Warszawa 1979.
C. T. Chen: System and Signal Analysis. Saunders College Publishing, USA 1994.

2-17

3. Przeksztacenie Fouriera sygnaw cigych i dyskretnych


3.1. Cel i zakres wiczenia
Celem wiczenia jest opanowanie podstawowych poj analizy widmowej sygnaw
deterministycznych oraz nabycie podstawowych umiejtnoci w wykorzystaniu dyskretnej
transformaty Fouriera w celu analizy widmowej sygnaw i interpretacji uzyskanych
wynikw.

3.2. Podstawy teoretyczne


W poprzednim wiczeniu rozwaano reprezentacj widmow sygnaw okresowych.
Teraz zostanie zdefiniowana reprezentacja czstotliwociowa sygnaw aperiodycznych.
Sygnay nieokresowe analogowe reprezentowane s transformat Fouriera (ang. Continuous
Time Fourier Transform CTFT), a dyskretne transformat Fouriera sygnau dyskretnego
(ang. Discrete-Time Fourier Transform DTFT). Dyskretne przeksztacenie Fouriera (ang.
Discrete Fourier Transform DFT) jest uywane do reprezentacji i analizy sygnaw
dyskretnych periodycznych i aperiodycznych o skoczonej dugoci.

3.2.1. Przeksztacenie Fouriera


Rozwamy sygna okresowy f(t) z rys. 3.1 okrelony wzorem
dla t ( kP a , kP + a ), k Z
A

f (t ) = A / 2 dla t = kP a , k Z
0
dla t pozostaych

(3.1)

Rys. 3.1. Sygna prostoktny unipolarny


Jeli okres P bdzie zwikszany a do nieskoczonoci, to sygna f(t) stanie si aperiodyczny.
Wykorzystujc ten fakt wyprowadzona zostanie transformata Fouriera sygnaw
nieokresowych. Sygna f(t) mona przedstawi w postaci szeregu Fouriera

f (t ) =

cme jm t

(3.2)

m =

gdzie:

3-1

cm =

A sin ( m2a / P ) 2aA sin ( m1a ) 2aA


=
=
sinc ( m1a )
m
Pm1a
P

(3.3)

c0 =

2a
A
P

(3.4)

Gdy okres P dy do nieskoczonoci, to wspczynniki cm rozwinicia w zespolony szereg


Fouriera d do zera nie mog zatem reprezentowa w dziedzinie czstotliwoci sygnaw
aperiodycznych. Rozwamy zatem wspczynniki cm pomnoone przez P. Na rys. 3.2
przedstawiono wykresy iloczynw Pcm dla trzech rnych wartoci okresu P = P1,
P = P2 = 4P1, P = . Mona zauway, e obwiednia wartoci Pcm jest taka sama dla
wszystkich P. Gdy okres P ronie, to maleje czstotliwo podstawowa f1 = 1/P, a tym samym
odstp pomidzy prkami Pcm pooonymi przy czstotliwociach mf1. W granicy, gdy P
otrzymuje si pojedynczy impuls prostoktny o szerokoci 2a, ktrego widmo jest widmem
cigym.

Rys. 3.2. Sygnay prostoktne wraz z ich wspczynnikami rozwinicia w zespolony szereg
Fouriera: a) P = P1, b) P = P2 = 4P1, c) P = .
Jeli przyjmiemy F(m1) = Pcm, to
P
F ( m1 ) = Pcm =
P

f (t ) =

t0 + P

f (t ) e

t0

jm 1 t

dt =

t0 + P

f (t ) e

jm1 t

dt

(3.5)

t0

1
1
jm1 t
Pc
e
=
m
F ( m1 ) e jm1t1
P m=
2 m=

(3.6)

Gdy okres P, to czstotliwo podstawowa 1=2/P dy do nieskoczenie maej


wartoci d. Wwczas m1 przechodzi w , a sum w rwnaniu (3.6) mona zastpi cak.
Rwnania (3.6) i (3.5) mona zapisa w nastpujcej postaci:

3-2

1
f (t ) =
F ( ) e j td

F ( ) =

f (t ) e

j t

(3.7)

dt

(3.8)

Jeli caka w rwnaniu (3.7) zostanie obliczona wzgldem czstotliwoci f, to mona


rwnanie powysze zapisa bez wspczynnika 2 w postaci:

f (t ) =

F ( 2f ) e

j 2 ft

df

(3.9)

Rwnania (3.7) i (3.8) stanowi par przeksztace (transformat) Fouriera. Tak zwane
rwnanie analizy (3.8) jest nazywane prostym przeksztaceniem (transformat) Fouriera
(oznaczane jako F ( ) = F { f ( t )} ), a tzw. rwnanie syntezy (3.7) przedstawia odwrotne
przeksztacenie (transformat) Fouriera (oznaczane jako f ( t ) = F

{F ( )} ).

Funkcja F() = |F()|ejarg(F()) nazywana jest widmem zespolonym sygnau f(t), |F()|
widmem amplitudowym, a arg(F()) widmem fazowym. Jeeli istnieje czstotliwo g
taka, e |F()| = 0 dla || > g, to f(t) jest sygnaem o ograniczonym widmie.
Rwnanie (3.8) przedstawiajce funkcj nieokresow f(t) moe by interpretowane jako suma
nieskoczonej liczby drga skadowych postaci
F ( ) d e j t = dAe j t

(3.10)

o czstotliwociach lecych blisko siebie.


Std

F ( ) =

dA
d

(3.11)

moe by interpretowane jako gsto amplitudy lub gsto spektralna widma przebiegu
okrelonego funkcj f(t).
Aby sygna f(t) mia transformat Fouriera musi spenia tzw. warunki Dirichleta:

f ( t ) dt M <

mie skoczon liczb niecigoci i skoczon liczb minimw i maksimw w kadym


skoczonym przedziale czasu.
Analogicznie jak dla szeregu Fouriera, jeli sygna f(t) nie jest cigy w chwili t0, to
odwrotna transformata Fouriera zwraca w wyniku redni arytmetyczn granic lewo- i
prawostronnej funkcji w tym punkcie:
f ( t0+ ) + f ( t0 )
2

1
=
F ( ) e j t d

(3.12)

niezalenie od wartoci f(t0).

3-3

P3.1. Transformata Fouriera impulsu prostoktnego.

Rys. 3.3. Impuls prostoktny.

F ( ) =

f (t ) e

j t

dt = A e
a

j t

A
dt =
e j t
j

=
a

A
2A
e j a e j a =
sin (a )
j

(3.13)

Korzystajc z funkcji sinc(), mona powysze zapisa w postaci

a
F ( ) = 2 Aa sinc

(3.14)

Rys. 3.4. Transformata Fouriera impulsu prostoktnego.


Zwizek midzy transformat Fouriera i szeregiem Fouriera
f(t) sygna okresowy o okresie P (f(t) cm),
fP(t) sygna rwny f(t) w jednym okresie (fP(t) F ()),
Bezporednio z porwnania zalenoci na cm i F()
1
cm =
P

t0 + P

f (t ) e

jm1 t

(3.15)

dt

t0

F ( ) =

f (t ) e
P

j t

dt

(3.16)

wynika:
3-4

cm =

F ( m1 )
P

, 1 =

2
P

(3.17)

P3.2. Szereg Fouriera przebiegu prostoktnego wyznaczany na podstawie transformaty


Fouriera impulsu prostoktnego
2
a
m
F ( )
1
m 1 a 1
P
= A sinc(m )
cm =
= 2 Aa sinc
= 2 Aa sinc
P =m1 P

P

3.2.2. Transformaty Fouriera wybranych sygnaw


Delta Diraca
W teorii sygnaw wan rol peni pojcie funkcji delta Diraca (impulsu Diraca).
cile rzecz ujmujc, delta Diraca nie jest funkcj, lecz tzw. dystrybucj (lub funkcj
uoglnion). Definicja funkcja delta Diraca jako dystrybucji zostanie podana pniej,
natomiast obecnie zostanie wprowadzone to pojcie w sposb uproszczony. W podejciu
uproszczonym funkcj delta (t) traktuje si jako graniczny przypadek impulsu n(t) o coraz
mniejszej szerokoci i coraz wikszej amplitudzie; przykady takich impulsw pokazano na
poniszych rysunkach.

(t ) = lim ( n (t ))

(3.18)

Rys. 3.5. Aproksymacja sygnau delta Diraca za pomoc: (a) impulsw prostoktnych,
(b) impulsw trjktnych

Rys. 3.6. Symbol graficzny sygnau delta Diraca.


Wybrane waciwoci:

3-5

(t )dt = (t )dt = 1

(3.19)

f (t ) (t t0 )dt = f (t0 )

wasno prbkowania (sifting property)

(3.20)

wasno zmiany skali

(3.21)

(at ) =

1
(t )
a

Impuls Diraca moe by zdefiniowany jako funkcjona. Dla dowolnej funkcji f(t)

( ) ( )

f 0+ + f 0
D ( f ) =
2

(3.22)

Innymi sowy, dystrybucja D jest funkcjonaem przypisujcym funkcji f(t) redni


arytmetyczn z jej granic lewo- i prawostronnej w punkcie t = 0. Dla funkcji cigych w
punkcie t = 0 jest to po prostu warto funkcji w tym punkcie. cile rzecz ujmujc,
dystrybucja delta nie wystpuje jako byt samodzielny, ale zawsze jako operator dziaajcy na
pewn funkcj w zwykym sensie. Posugujc si konwencj zastosowan przy zapisie
wasnoci prbkowania, mona by powysz definicj zapisa w postaci (niespeniajcej
warunku cisej poprawnoci matematycznej)
D ( f ) =

f (t ) (t )dt

(3.23)

lub, uoglniajc pojcie dystrybucji delta na inne punkty ni t = 0,


D t 0 ( f ) =

f (t ) (t t0 )dt

(3.24)

A zatem cile rzecz ujmujc wasno prbkowania nie jest cech wyprowadzon z jakiej
niezalenej definicji funkcji delta, tylko jest cech definiujc t funkcj. Symbol (t),
sugerujcy samodzielne istnienie funkcji delta oraz moliwo jej cakowania, jest
wygodnym i czsto stosowanym uproszczeniem (ktre bdzie wykorzystywane).
Transformata Fouriera impulsu Diraca ()
Bezporednio z wasnoci prbkowania impulsu Diraca otrzymuje si

( ) =

(t ) e

j t

dt = e j 0 = 1

(3.25)

3-6

Rys. 3.7. Delta Diraca i jej transformata Fouriera.


Uwagi:
1. Caka z () jest nieskoczona, wic energia impulsu Diraca jest nieskoczona (na
podstawie wzoru Parservala).
2. Warto zauway, e pogldowe spojrzenie na impuls Diraca jako graniczny przypadek
impulsu o znikajcej szerokoci i rosncej amplitudzie ma pewne pokrycie we
wasnociach widma impulsu prostoktnego. Podstawiajc parametry impulsu (t) do
oglnego wzoru na transformat Fouriera impulsu prostoktnego o amplitudzie A=1/(2a)
i szerokoci 2a, otrzymuje si

1
a
a
a
F ( ) = 2 Aa sinc
= 2 a sinc
= sinc

2a


(3.26)

Dla malejcej wartoci a poszerza si pasmo czstotliwoci , dla ktrych transformata


przyjmuje warto blisk jeden.
Transformata Fouriera sygnau okresowego
Na pocztku wyznaczono odwrotn transformat Fouriera impulsu Diraca F() = (
1) wykorzystujc wasno prbkowania impulsu Diraca (3.20)

f (t ) =

1
1
1 j1t
F ( ) e j td =
( 1 ) e j td =
e

2
2
2

(3.27)

Std transformata Fouriera funkcji eksponencjalnej jest rwna

F {e j t } = 2 ( 1 )

(3.28)

a w szczeglnoci transformata Fouriera funkcji staej f(t) = 1

F {e j t }
1

1 = 0

= F {1} = 2 ( )

(3.29)

Transformata Fouriera funkcji staej jest zatem rwna impulsowi Diraca o wartoci 2 dla
= 0 oraz jest rwna zeru dla 0.
Transformata Fouriera funkcji kosinus i sinus

1 j1t j1t
( e e ) = j ( 1 ) + j ( + 1 )
2
j

F {sin ( 1t )} = F

3-7

(3.30)

1 j1t j1t
e +e
= ( 1 ) + ( + 1 )
2

F {cos ( 1t )} = F

(3.31)

Oglnie jeli f(t) jest sygnaem okresowym o okresie P, ktry mona rozwin w zespolony
szereg Fouriera:

f (t ) =

ce

m=

jm1t

(3.32)

to transformat Fouriera sygnau okresowego f(t) mona obliczy w sposb nastpujcy

m =

{ f (t )} = F cme jm t = cmF
1

m=

{e } = 2c ( m )
jm1t

m =

(3.33)

Jest to cig impulsw Diraca mnoonych przez wartoci 2cm okrelonych dla czstotliwoci
m1 bdcych wielokrotnociami czstotliwoci podstawowej.
Szereg impulsw Diraca funkcja grzebieniowa
Inne terminy: funkcja prbkujca (ang. comb function, Dirac comb, sampling function,
impulse train, shah function).
W przypadku prbowania sygnaw analogowych funkcja prbkujca jest przedstawiana w
postaci sumy odlegych o T impulsw Diraca

(t ) =

(t kT )

(3.34)

k =

Rys. 3.8. Funkcja grzebieniowa.


Z oglnej formuy wicej szereg Fouriera sygnau okresowego z transformat Fouriera
pojedynczego okresu sygnau otrzymuje si
cm =

( m1 )

( t ) =

1
,
T

1 =

2
T

(3.35)

1 jm1t
e
T m =

(3.36)

a wic widmo funkcji grzebieniowej skada si z nieskoczonej liczby prkw o jednakowej


wartoci (co oznacza nieskoczon moc takiego sygnau).

3-8

Transformata Fouriera funkcji prbkujcej

F { ( t )} =

2
( m1 )
T m=

(3.37)

3.2.3. Transformacja Fouriera sygnau dyskretnego


W rozdziale 3.2.1 transformat Fouriera sygnau analogowego f(t) wyprowadzono z
szeregu Fouriera traktujc f(t) jako przebieg okresowy i rozszerzajc okres sygnau do
nieskoczonoci. Analogiczny zabieg mona powtrzy w stosunku do dyskretnego sygnau
f[k] o ograniczonej energii aby otrzyma par transformat Fouriera sygnau dyskretnego
przedstawionych zalenociami:

f [k ] =

1
2

F ( ) =

F ( )e

jk

d,

k = ..., 2, 1, 0,1, 2,...

(3.38)

f [k ] e

, = (, ]

j k

(3.39)

k =

Wystpujca w powyszych zalenociach = T = 2f/fs oznacza czstotliwo


unormowan wzgldem czstotliwoci prbkowania fs.
Rwnania (3.38) i (3.39) stanowi par przeksztace (transformat) Fouriera dla sygnau
dyskretnego. Rwnanie (3.38) jest nazywane transformat Fouriera sygnau dyskretnego (ang.
Discrete-Time Fourier Transform DTFT) a rwnanie (3.39) odwrotn transformat
Fouriera sygnau dyskretnego. Funkcj F() = |F()|ejarg(F()) nazywa si widmem zespolonym
sygnau f[k], |F()| widmem amplitudowym, a arg(F()) widmem fazowym.

P3.3. DTFT dyskretnego impulsu prostoktnego z przykadu P3.1.


Sygna dyskretny ma posta:

1 dla n = N / 2,..., 0,..., N / 2 1


f [k ] =
0 dla pozostaych n

(3.40)

DTFT sygnau f[k] obliczono wykorzystujc wzr na sum czciow szeregu


geometrycznego
N 1

aqk = a
k=p

F ( ) =

q p qN
1 q

f [k ]e jk =

k =

F ( ) = e j / 2

(3.41)
N
1
2

k =

N
2

e jk =

e jN /2 e jN /2 2 j e jN /2 e jN /2
=
1 e j
2 j ( e j /2 e j /2 ) e j /2

sin ( N / 2 )
sin ( / 2 )

(3.42)

3-9

Rys. 3.9. Dyskretny impuls prostoktny dla N = 8 (a) i jego widmo amplitudowe (b).
W celu przetwarzania sygnaw analogowych metodami cyfrowymi istotne jest
ustalenie jaki jest zwizek midzy transformatami Fouriera sygnaw dyskretnego i cigego.
Zamy, e sygna dyskretny f[k] powsta z prbkowania analogowego sygnau
bezwzgldnie cakowalnego f(t), czyli
f [k ] = f (t )

t = kT

= f ( kT )

(3.43)

przy czym

f (t ) =

1
Fa ( ) e j td

(3.44)

Indeks dolny w symbolu transformaty wprowadzono dla odrnienia transformaty sygnau


analogowego od transformaty sygnau dyskretnego. Podstawiajc (3.44) do (3.43), otrzymano
nastpujc reprezentacj sygnau dyskretnego:

1
f [k ] =
Fa ( ) e j k d .

(3.45)

Z drugiej strony, f[k] mona zapisa za pomoc jego transformaty Fouriera (3.38)
f [k ] =

1
2

Fd ( )e

jk

(3.46)

(dodano indeks dolny w symbolu transformaty dla odrnienia od transformaty sygnau


analogowego). Aby ustali zwizek midzy Fd() i Fa(), naley przeksztaci (3.45) do
postaci (3.46) i odpowiedni cz wyraenia podcakowego zinterpretowa jako Fd().
W pierwszym kroku zastpiono w (3.45) cak w granicach sum caek w
przedziaach o dugoci 2/
(2 r +1)

f [k ] =

1
2

Fa ( ) e j k d
r =

(3.47)

(2 r 1)
T

3-10

2
, aby kady wyraz sumy sprowadzi do caki
T
oznaczonej w przedziale od /T do /T. Wwczas (3.47) przeksztaca si do postaci

Nastpnie podstawiono = + r

f [k ] =

1
2

Fa + r
r =

2
e
T

j + r
k
T

d =

1
2

Fa + r
r =

2 j k
d (3.48)
e
T

Pomijajc znak prim przy i podstawiajc = /T, otrzymano

f [k ] =

2 r =

2 j k
1
2
1

+
r
e
d

=
Fa + r e j k d

T
2 r =
T
T

(3.49)

Zamieniajc kolejno cakowania i sumowania, mona przedstawi f[k] w postaci

f [k ] =

1
2

1
2 j k

Fa + r
e d
T r
T


=
= Fd ( )

(3.50)

w ktrej odpowiednie wyraenie identyfikuje si jako Fd(). A zatem

Fd ( ) =

1
2

Fa + r ,
T r =
T

( , ]

(3.51)

Dla transformaty Fouriera sygnau analogowego Fa() o ograniczonym widmie g,


pokazanej na rys. 3.10a, transformata Fouriera sygnau dyskretnego Fd() wyglda jak na
rys. 3.10b jeeli g > /T. Jeli czstotliwo prbkowania jest zbyt maa (okres prbkowania
T zbyt duy), to przesunite widma Fa() nakadaj si na siebie, a skadowe o duych
czstotliwociach w transformacie Fa(), po odwrceniu, nakadaj si na skadowe o
mniejszych czstotliwociach w transformacie Fd() wystpuje zjawisko nakadania si
widm. Jeeli prbkowanie zachodzi z czstotliwoci ponad dwa razy wiksz od najwyszej
czstotliwoci Fa(), czyli g /T , to transformata Fouriera sygnau dyskretnego jest
identyczna z transformat Fouriera sygnau analogowego w przedziale < .

3-11

Fa ( )

g
Fd ( )

gT

Fd ( )

gT <

Rys. 3.10. Transformata Fouriera sygnau analogowego o ograniczonym widmie g (a);


transformata Fouriera sygnau dyskretnego otrzymanego w wyniku prbkowania sygnau
analogowego gdy g > /T (b); transformata Fouriera sygnau dyskretnego otrzymanego w
wyniku prbkowania sygnau analogowego gdy g > /T (c).

3.2.4. Waciwoci transformat Fouriera


Do oznaczenia transformaty Fouriera F() sygnau analogowego f(t) uyto notacji
CTFT
f (t )
F ( )

(3.52)

natomiast w przypadku sygnau dyskretnego f[k] zapis


DTFT
f [ k ]
F ( )

(3.53)

oznacza, e f[k] posiada transformat Fouriera F().


1. Liniowo
CTFT
af (t ) + bg (t )
aF ( ) + bG ( ) ,

a, b R

(3.54)

DTFT
af [ k ] + bg [ k ]
aF ( ) + bG ( ) ,

a, b R

(3.55)

2. Przesunicie w dziedzinie czasu


3-12

CTFT
f (t t0 )
e j t0 F ( ),

t0 R

DTFT
f [ k k 0 ]
e j k0 F ( ),

(3.56)

k0 Z

(3.57)

3. Przesunicie w dziedzinie czstotliwoci


CTFT
f (t )e j0t
F ( 0 ),

0 R

(3.58)

DTFT
f [ k ] e j0 k
F ( 0 ),

0 R

(3.59)

4. Zmiana skali czasu

t CTFT
f
a F ( a ) ,
a

a R+

(3.60)

k DTFT
f
F (n )
n

(3.61)

gdzie k jest wielokrotnoci n.


5. Iloczyn
CTFT
f (t ) g (t )
F ( ) G ( ) =

DTFT
f [ k ] g [ k ]
F ( ) G ( ) =

1
F ( )G ( ) d
2

(3.62)

1
F ( )G ( ) d
2

(3.63)

6. Splot w dziedzinie czasu

f (t )* g (t ) =

f ( ) g ( t ) d F ( ) G ( )
CTFT

(3.64)

DTFT
f [k ]* g[k ] = f [n]* g[k n]
F ( ) G ( )

(3.65)

7. Energia (twierdzenie Parsevala)

f (t ) dt =

k =

f [k ] =
2

1
2
F ( ) d

(3.66)

2
1
F ( ) d

(3.67)

8. Symetria dla analogowych sygnaw rzeczywistych f(t)

F ( ) = F * ( )

(3.68)

Re { F ( )} = Re { F ( )}

(3.69)

Im { F ( )} = Im { F ( )}

(3.70)

3-13

F ( ) = F ( )

(3.71)

arg ( F ( ) ) = arg ( F ( ) )

(3.72)

jeli f(t) rzeczywisty i parzysty, to F() rzeczywiste i parzyste,


jeli f(t) rzeczywisty i nieparzysty, to F() urojone i nieparzyste,
9. Symetria dla dyskretnych sygnaw rzeczywistych f[k]

F ( ) = F * ( )

(3.73)

Re {F ( )} = Re { F ( )}

(3.74)

Im { F ( )} = Im { F ( )}

(3.75)

F ( ) = F ( )

(3.76)

arg ( F ( ) ) = arg ( F ( ) )

(3.77)

jeli f[k] rzeczywisty i parzysty, to F() rzeczywiste i parzyste,


jeli f[k] rzeczywisty i nieparzysty, to F() urojone i nieparzyste.

3.2.5. Dyskretna transformacja Fouriera


Zaoono, e f[k] ma niezerowe wartoci dla k = 0, 1, 2, ... , N-1. Wwczas

F ( ) =

f [k ]e jk =

k =

N 1

f [k ]e jk,

[0, 2 )

(3.78)

k =0

W przedziale czstotliwoci [0, 2) jest nieskoczenie wiele liczb, ale za pomoc


ukadw cyfrowych mona wyznaczy widmo (3.78) tylko dla dyskretnych czstotliwoci .
Jeli sygna f[k] ma N prbek, to mona wyznaczy F() w N punktach rwnomiernie
rozmieszczonych w przedziale [0, 2) (lub [0, fs)), czyli

= m

2
,
N

f =m

fs
, m = 0, 1, ... , N 1
N

(3.79)

Otrzymano
N 1

F [ m] = F ( ) =m 2 = f [ k ] e

jm

2
k
N

, m = 0,1, ..., N 1

(3.80)

k =0

F[m] jest dyskretn transformat Fouriera (ang. Discrete Fourier Transform DFT) sygnau
f[k] i wyznacza prbki widma transformaty Fouriera sygnau dyskretnego f[k].
Przeksztatenie odwrotne do DFT definiuje rwnanie
2
jm k
1 N 1
f [ k ] = F [ m] e N dla k = 0, 1, ... , N 1
N m =0

(3.81)

ktre nazywane jest odwrotn dyskretn transformat Fouriera (ang. Inverse Discrete
Fourier Transform IDFT). Zalenoci (3.80) i (3.81) stanowi par transformat DFT, ktre

3-14

s wyznaczane zazwyczaj za pomoc efektywnych algorytmw tzw. szybkich transformat


Fouriera (ang. Fast Fourier Transform FFT).
Zwizek midzy DTFS i DFT
Naley zwrci uwag na to, e zalenoci okrelajce DTF oraz DTFS s niemal identyczne,
rni si o czynnik skalujcy N. Jeli
f[k] jest sygnaem bezwzgldnie sumowalnym (niezerowe wartoci dla k = 0, , N-1),
~
f [k ] jest sygnaem okresowym bdcym okresowym rozszerzeniem (ang. periodic

extention) f[k],
DFT
f [ k ]
F [m] ,
DTFS
f [ k ]
cm ,

to z porwnania zalenoci na cm i F[m] natychmiast wida, e

cm =

F [m]
N

(3.82)

3.2.6. Interpretacja dyskretnej transformaty Fouriera


W wielu zastosowaniach analizy czstotliwociowej interesujce jest widmo sygnau
analogowego F(f), ktry jest generowany przez rzeczywisty ukad fizyczny. Jeli uywane s
ukady cyfrowe do obliczania widma analogowych sygnaw, to trzeba te sygnay
sprbkowa. Najczciej dysponuje si jedynie zarejestrowanym fragmentem sygnau, na
podstawie ktrego wnioskuje si o widmie sygnau cigego. Zwizek midzy widmem
sygnau analogowego a widmem F[m] uzyskanym na podstawie DFT mona szybko
przeanalizowa na podstawie rys. 3.11. Na rys. 3.11a przedstawiono sygna kosinusoidalny, a
na rys. 3.11b jego transformat Fouriera F(f) = 0,5((f+f1) + (f-f1)). Impuls prostoktny o
dugoci 2a tzw. prostoktne okno czasowe przedstawiono na rys. 3.11c a na rys. 3.11d jego
widmo W(f) = 2asinc(2af). Naley wyznaczy widmo fragmentu sygnau kosinusoidalnego,
czyli matematycznie rzecz ujmujc, sygnau f(t) wymnoonego przez impuls prostoktny w(t)
(rys. 3.11e). Na pocztek zaoono, e jest moliwo wycicia z sygnau kosinusoidalnego
dokadnie cakowitej liczby okresw. Widmo iloczynu sygnaw Fw(f) = 0,5(W(f+f1)+W(f-f1))
jest splotem widm poszczeglnych sygnaw, zgodnie z zalenoci (3.62), na rys. 3.11f
przedstawiono widmo amplitudowe Fw(f). W miejscach gdzie w F(f) wystpoway impulsy
Diraca, w widmie Fw(f) wystpuj widma okna prostoktnego W(f). W widmie Fw(f) mona
zaobserwowa tzw. liski gwne o szerokoci 1/a pooone przy czstotliwociach f1 i f1 oraz
tzw. liski boczne bdce rezultatem oscylacji funkcji sinc transformaty Fouriera funkcji
okna. Niezerowa szeroko listka gwnego utrudnia rozrnienie w Fw(f) skadowych
harmonicznych o zblionych czstotliwociach (problem rozrnialnoci czstotliwociowej),
natomiast poziomy listkw bocznych limituj rozrnienie skadowych o znacznie rnicych
si amplitudach (problem rozrnialnoci amplitudowej). Rozrnialno czstotliwociow
mona poprawi zwikszajc dugo okna czasowego gdy dugo okna ronie jego widmo
staje si bardziej cinite a tym samym szeroko liska gwnego maleje. Rozrnialno
amplitudow mona zwikszy stosujc inny ksztat okna wycinajcego, o mniejszym
poziomie liskw bocznych.

3-15

W wyniku prbkowania sygnau (zgodnie z twierdzeniem o prbkowaniu) otrzymano


sygna dyskretny fw[k] (rys. 3.11g). Widmo amplitudowe transformaty Fouriera sygnau
dyskretnego (DTFT) Fwd ( f ) pokazano na rys. 3.11h, jego ksztat wynika z zalenoci (3.51).
Na rys. 3.11i oraz rys. 3.11j lini cienk narysowano widmo amplitudowe Fwd ( f ) , a
kropkami oznaczono prbki widma amplitudowego wyznaczone za pomoc DFT. Na
rys. 3.11i pokazano widmo amplitudowe DFT F ( mf s / K1 ) fragmentu sygnau
kosinusoidalnego o dugoci K1 (do analizy wzito tylko prbki czterech okresw
kosinusoidy). Liczba prbek obliczana przez DFT jest rwna liczbie prbek sygnau
analizowanego. Rozdzielczo w czstotliwoci (rozumiana jako odlego na osi
czstotliwoci pomidzy dwiema ssiednimi prbkami widma nie myli z rozrnialnoci
czstotliwociow) wynosi wic fs/K1 = fs/(nN), gdzie N jest okresem kosinusoidy dyskretnej,
a n liczb okresw sygnau okresowego mieszczc si w analizowanym fragmencie sygnau.
niezerow
prbk
widma
obserwuje
si
dla
czstotliwoci
Pierwsz
f = nfs/(nN) = fs/N = 1/(NT) = f1. Poniewa poddano analizie dokadnie n okresw dyskretnego
sygnau kosinusoidalnego to otrzymano tylko dwie niezerowe prbki dla czstotliwoci f1 i
fs - f1. Wyznaczone wartoci widma odpowiadaj wartociom wspczynnikw rozwinicia
sygnau f[k] w szereg Fouriera wystarczy jedynie je przeskalowa, zgodnie z zalenoci
(3.82), przez liczb prbek K1 = nN.
Na rys. 3.11i widoczne jest widmo amplitudowe DFT F ( mf s / K 2 ) fragmentu sygnau
kosinusoidalnego o dugoci K2 = 2 K1, ktry zosta rozszerzony o dodatkowe prbki zerowe.
Dziki dodaniu zer do analizowanego sygnau rozdzielczo w czstotliwoci wynosi
fs/K2 = fs/(2K1),
zmniejszono
wic
odlego
pomidzy kolejnymi
prbkami
czstotliwociowymi DFT, czyli zwikszono rozdzielczo czstotliwociow (w tym
przypadku dwa razy). Naley zwrci uwag, e uzupenianie zerami sygnau (ang. zero
padding) nie zwiksza rozrnialnoci czstotliwociowej, poniewa nie wprowadza nowych
informacji o sygnale, umoliwia jedynie gstsze prbkowanie widma Fwd ( f ) .

P3.4. Na rys. 3.12 przedstawiono przykadowe widma sygnau prostoktnego f1[kT] oraz
sygnau sinusoidalnego f2[kT] = sin(2kT) gdzie: P = NT = 1s jest okresem sygnaw f1[kT] i
f2[kT], T okresem prbkowania, a N = 16,
1 dla k = 0, 1, ..., N /2
f1[kT ] =
.
0 dla k = N /2 + 1, ..., N 1
Prezentowane widma dyskretnych transformat Fouriera F1[m] i F1[m] s prbkami widm F1(f)
i F2(f) pobieranymi z krokiem fm = mfs/N = m1[Hz] (m = m2/N = m0,3927[rad/s]). Naley
pamita, e widma F1(f) i F2(f) s rezultatem splotu widma sygnau i funkcji okna
prostoktnego. Liczba prkw N widma jest rwna liczbie prbek sygnau. Pierwszy i
ostatni prek widma dla czstotliwoci analizy f1 = 1Hz oraz f15 = 15Hz = f-1 = -1Hz
wyznaczony jest dla czstotliwoci podstawowej sygnaw rwnej 1/P = 1/NT = 1[Hz]. W
przypadku sygnau sinusoidalnego pozostae wartoci widma amplitudowego s rwne zeru.

3-16

f(t)

a)

F(f )

b)

1
1
2

f
w(t)

c)

f
W(f)

1/a
Fw ( f )

d)

2a

2a

fw(t) = f(t)w(t)

e)

f)
a

2a

-f
fw[k]

g)

01

h)

0
a
T

d
w

(f)

K1
K2

i)
d
w

a
T

(f),

j)

F [mf s / K1 ]

fs-f

-fs/2
a
T

fs f

-f 0 f
F ( f ) , F [ mf s / K 2 ]

fs/2 f

d
w

fs-f

fs f

Rys. 3.11. Sygna kosinusoidalny (a) i jego widmo CTFT (b); okno prostoktne (c) i jego
widmo amplitudowe CTFT (d); iloczyn kosinusoidy i okna prostoktnego (e) i jego widmo
amplitudowe CTFT (f); sprbkowany fragment kosinusoidy (g) i jego widmo amplitudowe
DTFT (h); widmo amplitudowe DFT fw[k] (i); widmo amplitudowe DFT fw[k]
rozszerzonego o dodatkowe zera (j); fs czstotliwo prbkowania, fs = 1/T.
3-17

Rys. 3.12. Przebiegi sygnaw prostoktnego i sinusoidalnego oraz ich przeskalowane widma
amplitudowe (|F1(f)| i |F2(f)| - kolor czerwony, |F1[m]| i |F2[m]| - kolor niebieski) i fazowe
(arg(F1(f)) i arg(F2(f)) - kolor czerwony, arg(F1[m]) i arg(F2[m]) - kolor niebieski (arg(F1[m])
i arg(F2[m]) jest nieokrelony (wic nie zaznaczony) jeli |F1[m]| lub |F2[m]| jest rwny 0)).

Rys. 3.13. Przebiegi sygnaw prostoktnego i sinusoidalnego oraz ich widma amplitudowe w
przypadku gdy liczba punktw DFT jest rna od wielokrotnoci okresu sygnau.
3-18

Dla sygnau prostoktnego prbki widma F1(f) dla czstotliwoci fm o indeksach m


nieparzystych s niezerowe a o m parzystych zerowe, poniewa w sygnale prostoktnym
wystpuj tylko skadowe o czstotliwociach fm (m nieparzyste), ktre dokadnie
pokrywaj si z czstotliwociami wyznaczanymi przez DFT. Takie idealne widma jak
pokazane na rys. 3.12 otrzymuje si tylko wtedy, gdy liczba prbek N dyskretnej transformaty
Fouriera jest rwna cakowitej wielokrotnoci okresu dyskretnego sygnau okresowego. W
przypadku niespenienia tego warunku w wyniku DFT uzyskuje si widma, ktrych wszystkie
prbki mog by niezerowe (rys. 3.13).
Przedstawione na rys. 3.13 widma dyskretnych transformat Fouriera F1[m] i F2[m] s
prbkami widm F1(f) i F2(f) pobieranymi z krokiem fm = mfs/N = m16/17[Hz], a wic DFT
sprawdza wystpowanie w sygnale czstotliwoci, ktre s wielokrotnociami 16/17 [Hz].
Takich czstotliwoci w analizowanych sygnaach nie ma, std te widoczne rozmycie widm.
Skadowe o czstotliwociach wystpujcych w analizowanych sygnaach (dla przebiegu
sinusoidalnego jest to skadowa o czstotliwoci 1Hz) s widoczne we wszystkich innych
wyznaczanych skadowych (o czstotliwociach bdcych wielokrotnociami 16/17 [Hz]).
Zjawisko to nazywane jest rwnie przeciekiem, poniewa analizowany sygna okresowy,
ktrego czstotliwo nie jest rwna dokadnie czstotliwociom, dla ktrych wyznaczamy
wartoci DFT, tak jakby przecieka do wszystkich innych wyznaczanych wartoci DFT.

3.3. Zastosowanie rodowiska Matlab do analizy widmowej sygnaw


Funkcja fft programu Matlab zwraca dyskretn transformat Fouriera (DFT) sygnau
dyskretnego, obliczon za pomoc algorytmu szybkiej transformaty Fouriera (FFT).
Wyraenie Y = fft(y) oblicza N rwnomiernie rozoonych prbek transformaty Fouriera
sygnau dyskretnego (DTFT) y o dugoci N
N

Y (m) = y [ k ] e

j ( m1)

2
( k 1)
N

, m = 1, ..., N

(3.83)

k =1

Y = fft(y,M) oblicza M prbek DTFT sygnau y. Jeli M jest wiksze od dugoci


sygnau N to y zostanie przed analiz uzupeniony zerami do dugoci M. Jeli M jest
mniejsze od N to sygna y zostanie skrcony (obcity) do dugoci M.
Jeli funkcja fft zostanie wykorzystana do przyblionego wyznaczenia transformaty
Fouriera sygnau analogowego wwczas naley odpowiednio przeskalowa prbki DTFT
zwracane przez ni (zaleno (3.51)). Majc N prbek sygnau y(kT) w wektorze y mona za
pomoc komendy Y=T*fft(y) obliczy
N

Y ( m) = T y [ k ] e
k =1

j ( m 1)

2
( k 1)T
NT

= T y [k ] e

j 2

( m 1) f s ( k 1)T
N

F ( f ) , m = 1, ..., N

(3.84)

k =1

Przykad aproksymacji widma transformaty Fouriera znajduje si w ZL3.3. Wykorzystano w


tym przykadzie funkcj fftshift, ktrej uyto w celu prezentacji widma w takiej postaci,
aby skadowa staa znajdowaa si w rodku widma (jeli dany jest wektor a=[0 1 2 -2 -1], to
fftshift(a) przeksztaca a na wektor [-2 -1 0 1 2]).

3-19

3.4. Wykaz zada do wykonania


3.4.1. Zadania do wykonania przed zajciami
ZD3.1. Napisa funkcj brute_dft.m, ktra bdzie wyznaczaa dyskretn transformat
Fouriera (DFT) sygnau wprost z rwnania definicyjnego, czyli uywajc tzw. algorytmu
siowego (ang. brute-force), prostego w implementacji lecz nieoptymalnego pod wzgldem
liczby potrzebnych oblicze, wykorzystania zasobw sprztowych komputera itp..
Algorytm ma by zakodowany w postaci funkcji o wywoaniu X=brute(x), gdzie x jest
wektorem prbek analizowanego sygnau, a X jest wektorem wartoci DFT (naley przyj,
e X ma tyle samo elementw co x);
Podpowied:
X [m ] =

N 1

x[k ] e

k =0

jm

2
k
N

N 1

x[k ] W

mk

gdzie W = e

2
N

k =0

Oznaczajc przez x wektor zoony z elementw x[k], dla k = 0, , N-1, a przez W wektor
zoony z elementw Wmk, k = 0, , N-1, mona zapisa wzr na X[m] w notacji jzyka
Matlab w nastpujcy sposb
X(m+1) = sum(x.*(W^m).^k)
gdzie: m jest skalarem indeksowanym w ptli, a k jest wektorem, indeksowanie zapisano jako
m+1, zamiast m, bo w rodowisku Matlab najniszy indeks to 1, a nie 0.

3.4.2. Zadania do wykonania w trakcie zaj laboratoryjnych


ZL3.1. Sprawdzenie poprawnoci dziaania funkcji brute_dft.m. W tym celu mona
wykorzysta skrypt brute_test.m.
ZL3.2. Wykorzystujc funkcj okno_prost.m naley obliczy widmo amplitudowe sygnau o
ograniczonej energii
1 dla k = 0, 1, ..., N -1
f [k ] =
.
0 dla k = N , N + 1,...K 1 (uzupenianie zerami)
dla N = 5 oraz K = 5, K = 10, K = 100,
dla N = 10 oraz K = 10, K = 100,
dla N = 20 oraz K = 20, K = 100.
Zaobserwowa i poda zwizek midzy dugoci sygnau N (lub czasem trwania NT, gdzie
T = 1s jest okresem prbkowania), a pooeniem miejsc zerowych widma.
ZL3.3. Korzystajc z skryptu tlum_cos.m przeanalizowa jak zmienia si widmo
amplitudowe sygnau y = e-akTsin(2f0kT) (dla k > 0) w zalenoci od dugoci fragmentu
poddawanego analizie. Dla jakiej dugoci sygnau mona przyj, e aproksymacja
numeryczna jest dobrym przyblieniem widma amplitudowego sygnau analogowego? Jak
naley postpowa, aby uzyska dobre przyblienie widma sygnau analogowego? Zwrci
uwag na wykorzystanie funkcji fftshift i sposb skalowania osi odcitych.
ZL3.4. Przeprowadzi analiz widmow sygnau sinusoidalnego y = Amsin(2f1kT)
sprbkowanego z czstotliwoci fs = 1/T o parametrach zamieszczonych w poniszej tabeli
(mona wykorzysta skrypt analiza_sin.m).

3-20

gr.
f1 [Hz] Am fs [Hz]
1
50
7
400
2
60
6
480
3
70
5
560
4
80
4
640
5
90
3
720
6
100
2
800
a) wykorzystujc funkcj fft wyznaczy widmo amplitudowe i fazowe dla fragmentw
sygnau o dugoci jednego i dziesiciu okresw sinusoidy,
b) przesun w fazie przebieg sinusoidalny (np. o /4, /2, 3/2) i zbada wpyw tej operacji
na widmo amplitudowe i fazowe (m.in. odczyta z wykresu warto przesunicia
fazowego dla analizowanej harmonicznej (np. przy uyciu przycisku Data Cursor) i
wyjani jej zwizek z przebiegiem czasowym);
c) do sygnau y doda skadow sta o wartoci rwnej Am a nastpnie -Am, wyznaczy
widma amplitudowe i fazowe dla fragmentu sygnau bdcego cakowit krotnoci okresu
sygnau;
d) do sygnau y doda skadow o czstotliwoci rwnej 2f1 i o amplitudzie 0,5Am, wyznaczy
widma amplitudowe i fazowe dla fragmentu sygnau bdcego cakowit krotnoci okresu
sygnau;
e) wykona analiz sygnau y dla kilku przypadkw niepenej liczby okresw (m.in. jeden
okres + jedna prbka, 2,5 okresu),
f) do sygnau y doda skadow o czstotliwoci rwnej 0,1f1 i o amplitudzie 10Am,
wyznaczy widma amplitudowe i fazowe dla fragmentu sygnau o dugoci dziesiciu
okresw sinusoidy a nastpnie o dugoci jednego okresu;
g) sprawdzi jaki jest wpyw uzupeniania zerami analizowanego sygnau y na wyniki
analizy,
Zaoy, e analizowany jest sygna okresowy i wyznaczane widmo amplitudowe szeregu
Fouriera sygnau okresowego (DTFS) (rozdzia 3.2.5).
Przeprowadzone badania naley udokumentowa rysunkami, w przypadku prezentacji widm
o odcitych wyskalowa w hercach. Wycign wnioski i opracowa w formie pisemnego
sprawozdania na nastpne zajcia. Przykadowe rysunki ilustrujce przeprowadzon analiz
zamieszczono w zaczniku Z3.1.

3.5. Literatura
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]

J. A. Wojciechowski: Sygnay i systemy. Warszawa 2008.


T. P. Zieliski: Cyfrowe przetwarzanie sygnaw. Warszawa 2007.
J. Szabatin: Podstawy teorii sygnaw. Warszawa 2000.
A. Papoulis: Obwody i ukady. Warszawa 1988.
J. Nieznaski: Sygnay i systemy. Niepublikowane materiay wykadowe. Gdask 2010.
A. V. Oppenheim, R. W. Schaffer: Cyfrowe przetwarzanie sygnaw. Warszawa 1979.
C. T. Chen: System and Signal Analysis. Saunders College Publishing, USA 1994.
E. Ozimek: Podstawy teoretyczne analizy widmowej sygnaw. Warszawa-Pozna 1985.

3-21

Zaczniki: Z3.1. Rysunki do zadania ZL3.4


1 okres sygnau sinusoidalnego

10 okresw sygnau sinusoidalnego

0
0.1

0.2

0.3

0.4
0.5
0.6
czas [s]
widmo amplitudowe

0.7

0.8

0.9

0.5

0
0

5
6
czas [s]
widmo amplitudowe

0
0

czstotliwo [Hz]
widmo fazowe (stopnie)
arg(Y(m))

Y= -90

czstotliwo [Hz]
widmo fazowe (stopnie)

0
1 X= 1

10

0.5

100

-100
0

0
-1
0

Y(m))/N

Y(m))/N

-1
0

arg(Y(m))

1
y(kT)

y(kT)

200
0
-200
0

X= 1

1 Y= -90 2

czstotliwo [Hz]

czstotliwo [Hz]

Rys. 3.14. Sygna sinusoidalny y=sin(2kT) oraz jego widmo amplitudowe i fazowe dla jednego (po lewej) i
dziesiciu (po prawej) penych okresw, T = 0.125s.
1 okres sygnau sinusoidalnego

9 prbek sygnau sinusoidalnego

0
-1
0

0.1

0.2

0.3

0.4
0.5
0.6
czas [s]
widmo amplitudowe

0.7

0.8

0.5

0
0

0
-1
0

0.9

Y(m))/N

Y(m))/N

1
y(kT)

y(kT)

0.1

0.2

0.3

0.4

0.5
0.6
czas [s]
widmo amplitudowe

0
0

0
2

widmo fazowe (stopnie)


arg(Y(m))

arg(Y(m))

widmo fazowe (stopnie)

0.9

czstotliwo [Hz]

200

X= 1
Y= -45

0.8

0.5

czstotliwo [Hz]

-200
0

0.7

200
0
-200
0

X= 0.88889

1Y= -70 2

czstotliwo [Hz]

czstotliwo [Hz]

Rys. 3.15. Sygna sinusoidalny y=sin(2kT+/4) oraz jego widmo amplitudowe i fazowe dla jednego penego
okresu (po lewej); 9 prbek sygnau sinusoidalnego y=sin(2kT) oraz jego widmo amplitudowe i fazowe
(po prawej), T = 0.125s.
1 okres sygnau sinusoidalnego

14 prbek sygnau sinusoidalnego


y(kT)

0
-1
0

Y(m))/N

0.1

0.2

0.3

0.4
0.5
0.6
czas [s]
widmo amplitudowe

0.7

0.8

0.9

X= 1
Y= 0.5

0.2

0.4
X= 1.0286
Y= 0.46438

0.5
0
0

0
-1
0

Y(m))/N

y(kT)

0
0

0
4

1.6

1.8

widmo fazowe (stopnie)


arg(Y(m))

arg(Y(m))

widmo fazowe (stopnie)

1.4

czstotliwo [Hz]

200

X= 1
1 Y= -90 2

0.8
1
1.2
czas [s]
widmo amplitudowe

0.5

czstotliwo [Hz]

-200
0

0.6

czstotliwo [Hz]

200
0
-200X= 1.0286
Y=0-94.0489 1

czstotliwo [Hz]

Rys. 3.16. 8 prbek sygnau sinusoidalnego y=sin(2kT) oraz widmo amplitudowe i fazowe (80 prbek)
(po lewej); 14 prbek sygnau sinusoidalnego y=sin(2kT) oraz widmo amplitudowe i fazowe (140 prbek)
(po prawej), T = 0.125s

3-22

4. Analiza widmowa sygnaw


4.1. Cel i zakres wiczenia
Celem wiczenia jest nabycie praktycznych umiejtnoci analizy widmowej sygnaw
okresowych na przykadzie analizy napi zasilajcych i prdw odbiornikw nieliniowych.

4.2. Podstawy teoretyczne


4.2.1. Harmoniczne napi i prdw
Jednym z zastosowa analizy czstotliwociowej sygnaw w elektrotechnice jest ocena
odksztace napi zasilajcych urzdze oraz prdw przez nie pobieranych. Odksztacenia
przebiegw napi i prdw mog by okrelane w dziedzinie czasu lub czstotliwoci. Ze
wzgldu na trudnoci praktycznego okrelania rnic midzy przebiegiem sygnau
analizowanego, a wzorcowym przebiegiem sinusoidalnym napicia lub prdu metody
okrelania odksztace w dziedzinie czasu nie s w praktyce stosowane. Powszechnie
natomiast zaakceptowano opis odksztacenia sygnau w dziedzinie czstotliwoci
wykorzystujc do tego celu tzw. harmoniczne sygnau.
Polska norma [1] definiuje harmoniczn napicia jako napicie sinusoidalne, ktrego
czstotliwo jest rwna cakowitej krotnoci czstotliwoci podstawowej napicia zasilania.
T definicj stosuje si take do skadowych innych przebiegw okresowych wystpujcych
w elektrotechnice. Skadowa o czstotliwoci podstawowej nazywana jest podstawow
harmoniczn pozostae harmoniczne nazywane s wyszymi harmonicznymi (wh).
Wysze harmoniczne prdu generowane s przez odbiorniki o nieliniowej
charakterystyce prdowo-napiciowej. Gwne rda harmonicznych w systemie
energetycznym to urzdzenia elektroniczne i energoelektroniczne (przeksztatniki
energoelektroniczne), urzdzenia z rdzeniami magnetycznymi (transformatory, silniki,
generatory), urzdzenia ukowe (spawarki, wyadowcze rda wiata, piece ukowe).
Wysze harmoniczne prdu zasilajcego odbiornik nieliniowy wywouj spadki napi na
impedancji zastpczej sieci zasilania, ktre powoduj odksztacenie napicia w punktach
sieci, do ktrych przyczane s inne odbiorniki ich dziaanie moe zosta zakcone lub
nawet uniemoliwione. Dlatego wprowadzane s rne akty normujce i przepisy, ktre
ograniczaj warto wyszych harmonicznych prdu wprowadzanych do sieci zasilania przez
pojedynczych odbiorcw. W zwizku z tym istnieje potrzeba pomiaru harmonicznych i
okrelania odksztace napi i prdw.
Harmoniczne obliczane s za pomoc dyskretnej transformaty Fouriera i prezentowane
w postaci widma amplitudowego i fazowego szeregu Fouriera (najczciej harmoniczne
wyraane s w procentach podstawowej harmonicznej). Przy pomiarze widma okresowego
sygnau analogowego f(t) na pocztku wykonywana jest zazwyczaj filtracja dolnoprzepustowa
(antyaliasingowa) sygnau f(t), ktra ma usun z sygnau skadowe o czstotliwociach
niespeniajcych twierdzenia o prbkowaniu. Poniewa fizycznie realizowalne filtry nie maj
idealnej, prostoktnej charakterystyki widmowej (rwnej jeden w pamie przepustowym i
zero w pamie zaporowym), wic widmo na wyjciu filtra rni si od widma sygnau
4-1

oryginalnego. Jeli wiadomo, e sygna prbkowany ma ograniczone pasmo czstotliwoci i


czstotliwo prbkowania jest odpowiednio dobrana lub dopuszczalne s niewielkie
znieksztacenia widma, to filtr antyaliasingowy mona pomin.
Nastpnie sygna cigy jest prbkowany przy uyciu przetwornika analogowo-cyfrowego
(A/C). Sygna na wyjciu przetwornika A/C jest dyskretny w czasie i przyjmuje wartoci
dyskretne, zwizane ze skoczon rozdzielczoci przetwornika A/C (sygna przyjmuje
wartoci ze skoczonego, dokadnie okrelonego zbioru liczb) Proces ten nazywany
kwantyzacj wprowadza do sygnau szum, ktry jest widoczny rwnie w widmie.
DFT wyznaczane jest jedynie dla fragmentu sygnau, wic uzyskane widmo F[m] stanowi
prbki DTFT widma bdcego splotem widma sygnau oryginalnego i funkcji okienkujcej.
W przypadku analizy harmonicznych istotne jest, aby dugo (czas trwania) fragmentu
analizowanego sygnau bya cakowit krotnoci jego okresu, gdy dziki temu mona
wyeliminowa lub w jak najwikszym stopniu ograniczy zjawisko przecieku widma.
Czstotliwo prbkowania powinna by zatem cakowit krotnoci czstotliwoci
podstawowej sygnau. Przy zapewnieniu synchronizacji prbkowania sygnau okresowego
najczciej przyjmuje si prostoktn funkcj okienkujc, aby jak najdokadniej wyznaczy
wartoci poszczeglnych harmonicznych, czyli analizie poddawany jest po prostu
zarejestrowany fragment sygnau (inne funkcje okienkujce np. Hanninga, Hamminga,
Czebyszewa Kaisera, zmniejszaj wartoci harmonicznych). Wicej informacji na temat
pomiaru harmonicznych mona znale w [2], [3]. W niniejszej instrukcji harmoniczne napi
i prdw obliczane s w sposb bardzo uproszczony niezgodny z wieloma zaleceniami
przedstawionymi w normach [2], [3] (brane pod uwag s tylko wartoci DFT dla
czstotliwoci bdcych krotnociami podstawowej harmonicznej, natomiast tzw.
interharmoniczne (skadowe czstotliwociach zawartych pomidzy harmonicznymi) nie s
uwzgldniane, synchronizacja czstotliwoci prbkowania z okresem sygnau wykonywana
jest na podstawie wzrokowej oceny przebiegu odksztaconego w dziedzinie czasu i wiele
innych uproszcze). Mimo przyjtych uproszcze wyniki analizy umoliwiaj oszacowanie
odksztace napi i prdw i przybliaj zrozumienie problemu pomiaru harmonicznych.
Zgodnie z [1] harmoniczne napicia mog by okrelone indywidualnie jako stosunek
amplitudy harmonicznej rzdu m (Um) do amplitudy skadowej podstawowej (U1) lub cznie,
przy uyciu tzw. wspczynnika zawartoci harmonicznych THD (ang. Total Harmonic
Distortion) obliczonego na podstawie zalenoci:

THD =

U1

40

m= 2

2
m

100%

(4.1)

gdzie Um oznacza amplitud m-tej harmonicznej analizowanego sygnau.


W normalnych warunkach pracy wartoci harmonicznych napi nie powinny przekracza
wartoci wyszczeglnionych w tab. 4.1 [1].
Wspczynnik zawartoci harmonicznych THD napicia zasilajcego (obliczany dla 40
harmonicznych) nie powinien przekracza 8% [1].

4-2

Tab. 4.1. Dopuszczalne wartoci wyszych harmonicznych (wh) napicia w sieciach niskiego
napicia wyraone w procentach skadowej podstawowej [1].
Rzd h
Warto
h [%]

11

13

15,
21

17

19,
23, 25

parzyste
od 6 do 24

1,5

3,5

0,5

1,5

0,5

4.2.2. Analiza widmowa sygnaw okresowych trjfazowych


W ukadzie trjfazowym sygnay okresowe o wartociach rzeczywistych fA(t), fB(t) i fC(t)
mona przedstawi w postaci kosinusowych szeregw Fouriera:

f A ( t ) = AA0 + AAm cos ( m1t + Am )

(4.2)

f B ( t ) = AB 0 + ABm cos m1t m


+ Bm
3

m=1

(4.3)

fC ( t ) = AC 0 + ACm cos m1t + m


+ Cm
3

m =1

(4.4)

m =1

W zalenoci od rzdu harmonicznej m wystpuj rne przesunicia fazowe harmonicznych


w poszczeglnych fazach ukadu trjfazowego symetrycznego.
Dla m = 1, 4, 7, 10, oglnie dla m = 3n + 1 (n = 0, 1, 2, ) ukad wielkoci
fazowych tworzy ukad symetryczny zgodny, w ktrym wysze harmoniczne maj tak sam
kolejno nastpowania faz jak harmoniczne podstawowe tj. A-B-C np. dla czwartej
harmonicznej

f A4 ( t ) = AA4 cos ( 41t )

(4.5)

f B 4 ( t ) = AB 4 cos 41t 4
3

= AB 4 cos 41t 2
3

= AB 4 cos 41t

(4.6)

fC 4 ( t ) = AC 4 cos 41t + 4
3

2
2

= AC 4 cos 41t + 2 +
= AC 4 cos 41t +

3
3

(4.7)

Dla m = 2, 5, 8, 11, oglnie dla m = 3n + 2 (n = 0, 1, 2, ) ukad wielkoci


fazowych tworzy ukad symetryczny przeciwny, w ktrym nastpstwo faz wyszej
harmonicznej jest przeciwne (A-C-B) w stosunku do harmonicznej podstawowej np. dla pitej
harmonicznej

f A5 ( t ) = AA5 cos ( 51t )

(4.8)

f B 5 ( t ) = AB 5 cos 51t 5
3

2
2

= AB 5 cos 51t 4 +
= AB 5 cos 51t +

3
3

fC 5 ( t ) = AC 5 cos 51t + 5
3

= AC 5 cos 51t + 4
3

4-3

= AC 5 cos 51t

(4.9)

(4.10)

Dla m = 3, 6, 9, 12, oglnie dla m = 3n (n = 0, 1, 2, ) ukad wielkoci fazowych


tworzy ukad symetryczny zerowy, w ktrym harmoniczne faz A, B, C s przesunite o kt 2.

f A3 ( t ) = AA3 cos ( 31t )


2

f B 3 ( t ) = AB 3 cos 31t 3
3

(4.11)

= AB 3 cos ( 31t 2 ) = AB 3 cos ( 31t )

(4.12)

fC 3 ( t ) = AC 3 cos 31t + 3 = AC 3 cos ( 31t + 2 ) = AC 3 cos ( 31t )


3

(4.13)

W symetrycznym ukadzie odksztaconych wielkoci fazowych (prdw lub napi)


poszczeglne harmoniczne reprezentuje co najwyej jeden ukad symetryczny: zerowy,
zgodny lub przeciwny.
Trjfazowy ukad reprezentowany wielkociami fazowymi moe by zastpiony
jednym wypadkowym wektorem tzw. wektorem przestrzennym. Jeli dowolne wieloci
fazowe fA(t), fB(t), fC(t) speniaj warunek:

f A (t ) + f B (t ) + fC (t ) = 0

(4.14)

to wektor przestrzenny zdefiniowany jest nastpujco:


2
4
j
j
2
f (t ) = f A (t ) + f B (t )e 3 + fC (t )e 3
3

(4.15)

Rys. 2.1 Wektor przestrzenny w ukadzie trjfazowym


Sygna f(t) jest sygnaem zespolonym i moe by reprezentowany w rnych ukadach
wsprzdnych. Jeli zostanie wprowadzony nieruchomy ukad taki, e o jest osi
rzeczywist i bdzie pokrywaa si z osi fazy A, a o jest osi urojon, to mona
przedstawi f(t) jako

f (t ) = f (t ) + jf (t )

(4.16)

4-4

Wielkoci ukadu trjfazowego mona za pomoc przeksztacenia liniowego (tzw.


przeksztacenia Clarke) sprowadzi do ukadu ortogonalnego 0:

f (t )
2

f 0 (t ) = Tf ABC (t ) = f (t ) = 0
3

f 0 (t )
1
2

1
1

2
2
f A (t )
3
3

f B (t )

2
2
f (t )
1
1 C
2
2

(4.17)

W ukadach trjfazowych trjprzewodowych (bez przewodu zerowego) dla przebiegw


fazowych prdw jest speniony warunek (4.14) wic skadowa zerowa f0(t) = i0(t) jest rwna
zeru. W tym przypadku wektor przestrzenny f(t) reprezentuje caociowo sygnay fazowe.
Jeeli warunek (4.14) nie jest speniony (np. dla ukadu pocze w gwiazd z przewodem
zerowym) wwczas naley uwzgldni skadow zerow przy obliczaniu wartoci
chwilowych wielkoci fazowych poniewa wektor przestrzenny jej nie zawiera.

1
0
1
f A (t )

f (t )
2
1
3

f ABC (t ) = T1f 0 (t ) = f B (t ) =
1 f (t )

3 2

2
fC (t )

f 0 (t )
1 3 1
2

(4.18)

Przebiegi napi, prdw lub innych wielkoci w ukadzie trjfazowym mog by


oglnie odksztacone i niesymetryczne (amplitudy mog by rne w poszczeglnych fazach
lub nie s przesunite wzgldem siebie co 120 stopni).
W niesymetrycznym ukadzie trjfazowym odksztaconych prdw lub napi
poszczeglne harmoniczne mog by reprezentowane przez ukady symetryczne zgodne i
przeciwne.

4.3. Wykaz zada do wykonania


4.3.1. Zadania do wykonania przed zajciami
ZD4.1. Przeanalizowa skrypt harmoniczne.m doczony do niniejszej instrukcji.
Przeprowadzono w nim przykadow analiz napi trjfazowych zasilajcych prostownik
szeciopulsowy oraz prdw pyncych w fazach zasilania prostownika. Napicia i prdy
fazowe zarejestrowano analizatorem widma. Prbki napi i prdw pobierane byy
jednoczenie w szeciu kanaach pomiarowych z czstotliwoci fs = 50kHz. Okna graficzne
generowane przez skrypt harmoniczne.m zamieszczono w zaczniku 1.
4.3.2. Zadania do wykonania w trakcie zaj laboratoryjnych
ZL4.1. Samodzielna analiza czstotliwociowa sygnaw okresowych wskazanych i
dostarczonych przez prowadzcego zajcia. Naley przygotowa sprawozdanie, ktre bdzie
zawiera:

4-5

a. imiona i nazwiska osb wykonujcych zadanie, dat odrobienia wiczenia i oddania


sprawozdania, tre zadania
b. rysunki, ewentualnie tabele przedstawiajce wyniki analizy (np. analogicznie jak w
skrypcie harmoniczne.m)
c. wyznaczenie podstawowych parametrw fragmentu analizowanego sygnau: moc
sygnau (obliczy w dziedzinie czasu i czstotliwoci, skorzysta z tw. Parsevala,
zaleno (2.68)), warto skuteczna (w dziedzinie czasu i czstotliwoci), warto
rednia, warto minimalna i maksymalna, wspczynnik THD (ang. Total Harmonic
Distortion)
d. opatrzony komentarzami i uporzdkowany m-plik zawierajcy wyniki wszystkich
oblicze.

4.4. Literatura
[1] PN-EN 50160:2002. Parametry napicia zasilajcego w publicznych sieciach
rozdzielczych.
[2] PN-EN 61000-4-30:2003. Kompatybilno elektromagnetyczna. Metody bada i
pomiarw. Metody pomiaru jakoci energii.
[3] PN-EN 61000-4-7:2004. Kompatybilno elektromagnetyczna. Metody bada i pomiarw.
Oglny przewodnik dotyczcy pomiarw harmonicznych i interharmonicznych oraz
przyrzdw pomiarowych dla sieci zasilajcych i przyczonych do nich urzdze.
[4] Hanzelka Z. Jako energii elektrycznej. Cz 4 Wysze harmoniczne napi i prdw
[online]. [dostp: 04.11.2010]. Dostpny w Internecie:
http://twelvee.com.pl/pdf/Hanzelka/cz_4_pelna.pdf
[5] Hanzelka. Jako energii elektrycznej. Cz 5 Wysze harmoniczne napi i prdw
(c.d.) [online]. [dostp: 04.11.2010]. Dostpny w Internecie:
http://twelvee.com.pl/pdf/Hanzelka/cz_5_pelna.pdf

4-6

Zaczniki: Z4.1. Rysunki do zadania ZD4.1.


Zarejestrowane przebiegi napi fazowych
400
ua
ub
uc

300
200

[V]

100
0
-100
-200
-300
-400
0

1000

2000

3000

4000

5000
numer prbki

6000

7000

8000

9000

10000

Zarejestrowane przebiegi pradw fazowych prostownika 6-pulsowego


15
ia
ib
ic

10

[A]

5
0
-5
-10
-15
0

1000

2000

3000

4000

5000
numer prbki

6000

7000

8000

9000

10000

Rys. 4.1. Okno graficzne 1.


Analizowany fragment napi fazowych
400
ua
ub
uc

300
200

[V]

100
0
-100
-200
-300
-400
0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

numer prbki
Analizowany fragment pradw fazowych prostownika 6-pulsowego
15
ia
ib
ic

10

[A]

5
0
-5
-10
-15
0

1000

2000

3000

4000

5000

6000

numer prbki

Rys. 4.2. Okno graficzne 2.

4-7

7000

8000

9000

10000

Widmo fazowe napicia ua


200

300

100

a []

Uma [V]

Widmo amplitudowe napicia ua


400

200
100
0
0

0
-100

200

400

600

800

-200
0

1000 1200 1400 1600 1800 2000

200

400

200

300

100

200
100
0
0

-100

200

400

600

800

-200
0

1000 1200 1400 1600 1800 2000

200

400

Widmo amplitudowe napicia uc

600

800

1000 1200 1400 1600 1800 2000

Widmo fazowe napicia uc


200

300

100

c [ ]

Umc [V]

1000 1200 1400 1600 1800 2000

400

200
100
0
0

800

Widmo fazowe napicia ub

400

b [ ]

Umb [V]

Widmo amplitudowe napicia ub

600

0
-100

200

400

600

800

-200
0

1000 1200 1400 1600 1800 2000


f [Hz]

200

400

600

800

1000 1200 1400 1600 1800 2000


f [Hz]

Rys. 4.3. Okno graficzne 3.


Widmo amplitudowe prdu ia

Widmo fazowe prdu ia


200
100

a []

Ima [A]

0
0

0
-100

200

400

600

800

-200
0

1000 1200 1400 1600 1800 2000

200

400

600

Widmo amplitudowe prdu ib

100

b [ ]

Imb [A]

200

0
-100

200

400

600

800

-200
0

1000 1200 1400 1600 1800 2000

200

400

600

Widmo amplitudowe prdu ic

1000 1200 1400 1600 1800 2000

200
100

c [ ]

Imc [A]

800

Widmo fazowe prdu ic

0
0

1000 1200 1400 1600 1800 2000

Widmo fazowe prdu ib

0
0

800

0
-100

200

400

600

800

-200
0

1000 1200 1400 1600 1800 2000


f [Hz]

200

400

Rys. 4.4. Okno graficzne 4.

4-8

600

800

1000 1200 1400 1600 1800 2000


f [Hz]

Harmoniczne napicia ua
400

Umha [V]

300
200
100
0
0

10

15

20

25

30

35

40

25

30

35

40

25

30

35

40

25

30

35

40

25

30

35

40

25

30

35

40

Rzd harmonicznej
Harmoniczne napicia ub
400

Umhb [V]

300
200
100
0
0

10

15

20

Rzd harmonicznej
Harmoniczne napicia uc
400

Umhc [V]

300
200
100
0
0

10

15

20

Rzd harmonicznej

Rys. 4.5. Okno graficzne 5.


Harmoniczne prdu ia

Imha [A]

0
0

10

15

20

Rzd harmonicznej
Harmoniczne prdu ib

Imhb [A]

0
0

10

15

20

Rzd harmonicznej
Harmoniczne prdu ic

Imhc [A]

0
0

10

15

20

Rzd harmonicznej

Rys. 4.6. Okno graficzne 6.

4-9

Harmoniczne napicia ua wyraone w procentach podstawowej harmonicznej


Umha / Um1a [%]

1.5
THDua = 1.48%

0.5

0
0

10

15

20

25

30

35

40

30

35

40

30

35

40

35

40

35

40

35

40

Rzd harmonicznej
Harmoniczne napicia ub wyraone w procentach podstawowej harmonicznej
Umhb / Um1b [%]

1.5
THDub = 1.66%

0.5

0
0

10

15

20

25

Rzd harmonicznej
Harmoniczne napicia uc wyraone w procentach podstawowej harmonicznej
Umhc / Um1c [%]

1.5
THDuc = 1.46%

0.5

0
0

10

15

20

25

Rzd harmonicznej

Rys. 4.7. Okno graficzne 7.


Harmoniczne prdu ia wyraone w procentach podstawowej harmonicznej

Imha / Im1a [%]

80
60
THDia = 92.20%

40
20
0
0

10

15

20

25

30

Rzd harmonicznej
Harmoniczne prdu ib wyraone w procentach podstawowej harmonicznej

Imhb / Im1b [%]

80
60
THDib = 95.84%

40
20
0
0

10

15

20

25

30

Rzd harmonicznej
Harmoniczne prdu ic wyraone w procentach podstawowej harmonicznej

Imhc / Im1c [%]

80
60
THDic = 91.78%

40
20
0
0

10

15

20

25

Rzd harmonicznej

Rys. 4.8. Okno graficzne 8.

4-10

30

Skadowa u
400

u [V]

200
0
-200
-400
0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

6000

7000

8000

9000

10000

6000

7000

8000

9000

10000

6000

7000

8000

9000

10000

6000

7000

8000

9000

10000

6000

7000

8000

9000

10000

numer prbki
Skadowa u
400

u [V]

200
0
-200
-400
0

1000

2000

3000

4000

5000

numer prbki
Skadowa u0
2

u0 [V]

-2

-4
0

1000

2000

3000

4000

5000

numer prbki

Rys. 4.9. Okno graficzne 9.


Skadowa i
20

i [V]

10
0
-10
-20
0

1000

2000

3000

4000

5000

numer prbki
Skadowa i
20

i [V]

10
0
-10
-20
0

1000

2000

3000

4000

5000

numer prbki
Skadowa i0
0.01

i0 [V]

0
-0.01
-0.02
-0.03
0

1000

2000

3000

4000

5000

numer prbki

Rys. 4.10. Okno graficzne 10.

4-11

Widmo amplitudowe wektora przestrzennego napicia fazowego u


350
300

Um [V]

250
200
150
100
50
0
-2000

-1500

-1000

-500

500

1000

1500

2000

1000

1500

2000

1000

1500

2000

1000

1500

2000

Widmo fazowe wektora przestrzennego napicia fazowego u


200
150
100

u []

50
0
-50
-100
-150
-200
-2000

-1500

-1000

-500

0
f [Hz]

500

Rys. 4.11. Okno graficzne 11.


Widmo amplitudowe wektora przestrzennego prdu fazowego i
6
5

Im [A]

4
3
2
1
0
-2000

-1500

-1000

-500

500

Widmo fazowe wektora przestrzennego prdu fazowego i


200
150
100

i [ ]

50
0
-50
-100
-150
-200
-2000

-1500

-1000

-500

0
f [Hz]

500

Rys. 4.12. Okno graficzne 12.

4-12

Harmoniczne wektora przestrzenego napicia u


350
300

Umh [V]

250
200
150
100
50
0
-40

-30

-20

-10

10

20

30

40

20

30

40

30

40

30

40

Rzd harmonicznej
Harmoniczne wektora przestrzenego prdu i
6
5

Imh [V]

4
3
2
1
0
-40

-30

-20

-10

10

Rzd harmonicznej

Rys. 4.13. Okno graficzne 13.


Harmoniczne wektora przestrzenego napicia u wyraone w procentach podstawowej harmonicznej
1.4
1.2

Umh / Um1 [%]

1
0.8
0.6
0.4
0.2
0
-40

-30

-20

-10

10

20

Rzd harmonicznej
Harmoniczne wektora przestrzenego prdu u wyraone w procentach podstawowej harmonicznej
80
70

Umh / Um1 [%]

60
50
40
30
20
10
0
-40

-30

-20

-10

10

Rzd harmonicznej

Rys. 4.14. Okno graficzne 14.

4-13

20

5. Dyskretne systemy liniowe


5.1. Cel i zakres wiczenia
Celem wiczenia jest nabycie podstawowych umiejtnoci analizy stacjonarnych
liniowych ukadw dyskretnych.

5.2. Podstawy teoretyczne


Dyskretny system (ukad) liniowy przetwarza dyskretny sygna wejciowy x[k] (pobudzenie) w
inny dyskretny sygna wyjciowy y[k] (odpowied). Mona to zapisa zwilej uywajc
notacji

x[k ] y[k ]

(5.1)

Podstawowe waciwoci dyskretnych systemw.


System dyskretny jest przyczynowy jeli jego wyjcie w danej chwili zaley tylko od wartoci
wejciowych do tej chwili. System nieprzyczynowy potrafiby przewidywa przysze
wydarzenia. Matematycznie mona to uj w sposb nastpujcy: system (5.1) jest
przyczynowy jeli x1[k ] y1[k ] , x2 [k ] y2 [k ] i x1[k ] = x2 [k ] dla k k0 to y1[ k ] = y2 [k ] dla
k k0.
System jest liniowy, gdy spenia zasad superpozycji. Jeli x1[k ] y1[k ] oraz x2 [k ] y2 [k ] ,
to ax1[k ] + bx2 [k ] ay1[k ] + by2 [k ] odpowied ukadu liniowego na sum pobudze jest
sum odpowiedzi na poszczeglne pobudzenia. System liniowy moe wic przetwarza
sygna wejciowy tylko przy uyciu liniowych operacji na sygnaach dyskretnych: dodawania
i mnoenia prbek przez stae.
Ukad (5.1) jest stacjonarny, niezmienny wzgldem czasu (przesunicia), jeli na pobudzenie
x[k] odpowiada sygnaem wyjciowym y[k ] , to na pobudzenie x[k n] odpowiedzi jest

y[k n] dla dowolnej wartoci n. Z wasnoci tej wynika wniosek, e jeli pobudzimy ukad
niezmienny w czasie sygnaem okresowym to odpowied musi by okresowa o tym samym
okresie.
Na zajciach bd rozpatrywane jednowejciowe i jednowyjciowe dyskretne stacjonarne
ukady liniowe, nazywane w skrcie LTI (ang. Linear Time-Invariant).
Rwnania rnicowe
W wielu zagadnieniach czowiek spotyka si z sygnaami dyskretnymi i w sposb
naturalny je przetwarza, np. mierzon codziennie temperatur powietrza x[k] urednia za
okres siedmiu dni i w ten sposb wyznacza redni temperatur tygodniow y[k]
y [ k ] = (1 / 7) ( x [ k ] + x [ k 1] + ... + x [ k 6 ])

(5.2)

Mona byoby rwnie w urednia temperatur w inny sposb, na podstawie wzoru


y [ k ] = (6 / 7) y [ k 1] + (1 / 7) x [ k ]

(5.3)

5-1

W tym przypadku rednia temperatura tygodniowa jest wyznaczana na podstawie poprzedniej


wartoci sygnau wyjciowego, branego z wag a = 6/7 i biecej wartoci sygnau
wejciowego przemnoonej przez warto 1-a = 1/7.
W powyszym przykadzie pokazano dwie rne metody przetwarzania sygnaw. Sygna
y[k] okrelony wzorem (5.2) obliczany jest tylko na podstawie wartoci wejciowych
(biecej i poprzednich) i nie zaley w aden sposb od wartoci wyjciowych. Natomiast
y[k] obliczany na podstawie (5.3) zaley od wartoci wejciowej i poprzedniej (opnionej)
wartoci wyjciowej. Ukad dyskretny okrelony zalenoci (5.2) jest tzw. ukadem o
skoczonej odpowiedzi impulsowej, natomiast ukad opisany zalenoci (5.3) jest ukadem o
nieskoczonej odpowiedzi impulsowej.
Oglnie wyjcie dowolnego ukadu przyczynowego LTI moe by opisane nastpujcym
rwnaniem rnicowym

y[k ] =

m=0

n =1

bm x[k m] an y[k n]

(5.4)

gdzie an, bm R s parametrami ukadu. Rwnanie (5.4) ilustruje istot przetwarzania


sygnaw dyskretnych przez ukady LTI, wyjcie w chwili k moe by obliczone z wejcia w
chwili k, M poprzednich wej oraz N poprzednich wyj.
Odpowied impulsowa i splot dyskretny.
Jeeli system dyskretny zostanie pobudzony impulsem jednostkowym (delta
Kroneckera)

1 dla k = 0
0 dla k 0

[k ] =

(5.5)

to odpowied y[k] = h[k] na to pobudzenie, przy zerowych warunkach pocztkowych, nazywa


si odpowiedzi impulsow. Odpowied impulsowa jest kompletnym opisem ukadu LTI, a
rne dyskretne systemy LTI maj rne odpowiedzi impulsowe.
Gdy znana jest odpowied impulsowa ukadu LTI, to mona obliczy odpowied na
dowolne pobudzenie x[k]. Jeli ukad zostanie pobudzony sygnaem x[k] = x[n][k - n]
(przesunitym o n prbek sygnaem delta Kroneckera przeskalowanym przez warto x[n], n
(liczba cakowita) jest ustalone, natomiast k (liczba cakowita) moe zmienia si od - do +
), to odpowiedzi jest y[k] = x[n]h[k - n] (przesunita o n prbek odpowied impulsowa
przeskalowan przez warto x[n]).
Sygna dyskretny x[k] mona wyrazi jako sum przesunitych impulsw jednostkowych
przeskalowanych przez warto sygnau w chwili n, czyli x[n]

x [k ] =

x [ n] [ k n]

(5.6)

n =

Jeli ukad LTI zostanie pobudzony sygnaem x[k], to w rezultacie otrzyma si sum
przeskalowanych odpowiedzi impulsowych

y [k ] =

x [ n]h [ k n] = x [ k ] * h [ k ]

(5.7)

n =

5-2

Rwnanie (5.7) okrela splot dyskretny sygnau, wic odpowied ukadu dyskretnego LTI jest
splotem jego pobudzenia z odpowiedzi impulsow ukadu. Rwnanie (5.7) moe by
rwnie zapisane w postaci

y [k ] =

h [ n] x [ k n] = h [ k ] * x [ k ]

(5.8)

n =

Jeli ukad jest przyczynowy, to jego odpowied nie moe wyprzedza pobudzenia, wwczas
odpowied impulsowa spenia warunek h[k] = 0 dla k < 0. Wzr (5.8) upraszcza si do postaci

y [ k ] = h [ n] x [ k n ]

(5.9)

n =0

Pobudzenie zespolonym sygnaem wykadniczym.


Jeli dyskretny ukad LTI zostanie pobudzony zespolonym sygnaem wykadniczym postaci
x [ k ] = z k = ( re j ) = r k e j k , = 2f / fs
k

(5.10)

to odpowied, okrelona przez splot dyskretny (5.8), jest nastpujca

y [k ] =

h[n]z ( k n ) = z k

n =

h[n]z

= z k H ( z)

(5.11)

n =

skd wida, e odpowied systemu jest rwna zespolonemu sygnaowi wykadniczemu zk


pomnoonemu przez liczb zespolon H(z) zalen od zmiennej zespolonej z.
Jeli pobudzenie dyskretnego ukadu LTI zostanie wyraone jako kombinacja liniowa
zespolonych sygnaw wykadniczych zk

x [k ] =

m =

k
m m

(5.12)

to otrzymuje si

y [k ] =

m =

H ( zm ) zmk

(5.13)

czyli odpowied rwnie bdzie wyraona jako liniowa kombinacja tych samych zespolonych
sygnaw wykadniczych.
Dla pobudzenia bdcego zespolonym sygnaem wykadniczym o postaci
x [ k ] = z k = e j k , = 2 f / fs

(5.14)

odpowied, zgodnie z (5.8), bdzie nastpujca

y [k ] =

h[n]e

j ( k n )

= e jk

n =

y [ k ] = H (e j ) e

h[n]e

j n

= e jk H (e j ) = e jk H (e j ) e j ( )

(5.15)

n =

j ( k + ( ) )

(5.16)

gdzie H(ej) jest transformat Fouriera dyskretnej odpowiedzi impulsowej. Odpowied jest
rwnie zespolonym sygnaem wykadniczym o amplitudzie |H(ej)|, przesunitym w fazie o

5-3

kt (). Warto moduu H() decyduje wic o amplitudzie odpowiedzi, a argument H() o
przesuniciu fazowym.
Odpowied ukadu LTI na zespolone pobudzenie wykadnicze moe mie inn od pobudzenia
amplitud i faz, natomiast czstotliwo odpowiedzi pozostaje taka sama jak pobudzenia.
Waciwo ta powoduje, e reprezentacja widmowa sygnaw w postaci kombinacji liniowej
zespolonych sygnaw wykadniczych ma szerokie zastosowanie w przetwarzaniu sygnaw i
analizie systemw.
Transformacja Z i transmitancja ukadu dyskretnego
Wygodnym aparatem matematycznym stosowanym w analizie ukadw dyskretnych jest
transformacja Z, ktra uatwia analiz rwna rnicowych (5.4). W rwnaniu (5.11)
mielimy ju do czynienia z transformat Z odpowiedzi impulsowej systemu LTI okrelon
zalenoci

H ( z) =

h[n]z

(5.17)

n =

Funkcja z-k stanowi ogln posta rozwizania liniowych rwna rnicowych (5.4). Dla
z = ej zaleno (5.17) odpowiada transformacie Fouriera dyskretnej odpowiedzi impulsowej
ukadu.
Dla dowolnego sygnau dyskretnego f[k] transformata Z jest zdefiniowana jako

F ( z) =

f [ n] z n

(5.18)

n =

ktra sygnaowi f[k] przyporzdkowuje funkcj F(z) zmiennej zespolonej z (f[k] F(z)).
Dla zmiennej z = ej, przyjmujcej wartoci z okrgu jednostkowego na paszczynie
zespolonej, transformata Z jest rwna transformacie Fouriera sygnau dyskretnego
(oznaczanej jako F(ej)).

F ( e j ) =

k =

f [ k ] ( e j )

f [k ] e

jk

(5.19)

k =

A zatem transformata Fouriera moe by interpretowana jako szczeglny przypadek


transformaty Z.
Jedn z najwaniejszych wasnoci transformaty Z jest przesunicie w dziedzinie czasu
f [k r ] z r F ( z )

(5.20)

ktra umoliwia stosowanie transformaty Z w celu rozwizywania rwna rnicowych.


Wyznaczony teraz zostanie zwizek midzy transformat Z sygnau wejciowego
X(z) = Z{x[k]} i wyjciowego Y(z) = Z{y[k]} ukadu LTI przy zerowych warunkach
pocztkowych y[k] = 0, k = -N, , -1.
Obie strony rwnania (5.4) poddano transformacji Z i otrzymano rwnanie algebraiczne
M

m= 0

n =1

m =0

n =1

Y ( z ) = bm Z { x [ k m]} an Z { y [ k n ]} = bm z m X ( z ) an z nY ( z )
Po uporzdkowaniu uzyskano
5-4

(5.21)

Y (z ) an z

n =0

= X (z ) bm z m

(5.22)

m=0

Dzielc obie strony przez X(z), otrzymano transmitancj ukadu dyskretnego H(z)
M

bm z m

Y (z )
H (z ) =
= m =0
X (z )

an z

b0 + b1 z 1 + b2 z 2 + + bM z M
a 0 + a1 z 1 + a 2 z 2 + + a N z N

(5.23)

n=0

gdzie a0 = 1.
Transmitancja H(z) moe by rwnie wyraona w postaci
1
1
1
Y ( z ) (1 z1 z )(1 z2 z ) ... (1 z M z )
H ( z) =
=
X ( z ) (1 p1 z 1 )(1 p2 z 1 ) ... (1 pN z 1 )

(5.24)

gdzie zi s zerami transmitancji (zera wielomianu licznika), a pi s biegunami transmitancji


(zera wielomianu mianownika).
Transformata Z impulsu [k ] jest rwna

( z ) = Z { [ k ]} =

[k ] z

= 1 z 0 = 1

(5.25)

n =

Wobec tego dla pobudzenia impulsowego zachodzi


Y ( z ) = ( z )H ( z ) = H ( z )

(5.26)

czyli transformata Z odpowiedzi impulsowej jest rwna transmitancji ukadu.


Charakterystyki czstotliwociowe
Transmitancja widmowa (charakterystyka amplitudowo-fazowa) ukadu dyskretnego to
transmitancja dyskretna H(z) wyznaczana na okrgu jednostkowym (ej) paszczyzny
zmiennej z
H ( e j ) = H ( z ) z =e j

(5.27)

Jak pokazano na poniszym schemacie zalenoci (rys. 5.1), transmitancj widmow mona
wyznaczy rwnie bezporednio z h[k], stosujc przeksztacenie Fouriera.
Charakterystyk amplitudow ukadu dyskretnego nazywany jest modu transmitancji
widmowej
A ( ) = H ( e j )

(5.28)

natomiast charakterystyk fazow ukadu dyskretnego argument transmitancji widmowej

( ) = arg H ( e j )

(5.29)

Charakterystyka amplitudowa okrela zmian amplitudy, a charakterystyka fazowa zmian


fazy jak wprowadza system dyskretny w stanie ustalonym przy pobudzeniu zespolonym

5-5

sygnaem wykadniczym o postaci z = ej. Pamitajc, e sygnay sinusoidalne s


reprezentowane przez zespolone sygnay wykadnicze powyszy wniosek dotyczy rwnie
rzeczywistych sygnaw sinusoidalnych. Pobudzajc ukad LTI sygnaem sinusoidalnym o
znanej amplitudzie (np. rwnej jeden), fazie i czstotliwoci moemy wyznaczy jeden punkt
transmitancji widmowej dokonujc pomiaru amplitudy i przesunicia fazowego sinusoidy na
wyjciu ukadu. Dla innych czstotliwoci pobudzenia mona wyznaczy kolejne punkty
charakterystyk.

h[k ]

Im(z )

H z
z := e j

1 Re z
()

H e j

Rys. 5.1. Zestawienie transformat odpowiedzi impulsowej dla ukadw dyskretnych.


Wnioski wynikajce ze zwizkw midzy h[k], H(z) i H(ej)
1. Wzmocnienie staoprdowe
H ( e j )

= 0

= H ( z ) z = e j 0 = H (1)

(5.30)

Ze wzoru na transmitancj dyskretn wyznaczono H(1)


M

H (1) =

bm

b0 + b1 z 1 + b2 z 2 + + bM z M
a 0 + a1 z 1 + a 2 z 2 + + a N z N

=
z =1

m=0
N

(5.31)

an

n=0

Wzmocnienie staoprdowe jest rwne stosunkowi sum wspczynnikw licznika i


mianownika transmitancji ukadu.
Mona rwnie wyznaczy H(1) traktujc H(z) jako transformat Z odpowiedzi
impulsowej h[k].

H (1) = h[k ] z k
= h[k ]
k = 0
z = 1 k =0

(5.32)

Wzmocnienie staoprdowe mona wic rwnie wyznacza jako sum wszystkich


elementw odpowiedzi impulsowej ukadu.
2. Pierwszy element odpowiedzi impulsowej i skokowej
b + b1 z 1 + b2 z 2 + + bM z M b0
h[0] = lim H ( z ) = lim 0
=
z
z a + a z 1 + a z 2 + + a z N
N
1
2
0
a0

5-6

(5.33)

Poniewa dyskretny skok jednostkowy q[k] dany zalenoci

1 dla k = 0, 1, 2, ...
q[k ] =
0 dla k < 0

(5.34)

spenia warunek q[k ] = [k ] dla k 0 wic odpowied ukadu przyczynowego w chwili


k = 0 jest identyczna dla q[k] i [k]. Mona t obserwacj uoglni na dowolny sygna
wejciowy przyczynowy x[k] (przyjmujcy warto 0 dla k < 0)
y[0] = x[0]

b0
a0

(5.35)

3. Warto kocowa odpowiedzi skokowej

lim yq [ k ] = lim {( z 1) Q ( z ) H ( z )} = lim ( z 1)


H ( z ) = lim { z H ( z )}
1
k
z 1
z 1
1 z

z 1

lim yq [ k ] = H (1)

(5.36)

a zatem kocowa warto


staoprdowemu ukadu.

odpowiedzi

skokowej

jest

rwna

wzmocnieniu

4. Wzmocnienie dla czstotliwoci Nyquista


H ( e j ) = H ( 1)

(5.37)

a wic wzmocnienie dla czstotliwoci Nyquista mona wyznaczy jako H(-1).


Podstawiajc -1 do zalenoci (5.23), otrzymujemy
H ( 1) =

b0 b1 + b2 b3 +
a 0 a1 + a 2 a3 +

(5.38)

Stabilno
Liniowy ukad dynamiczny jest stabilny, gdy jego odpowied na ograniczone pobudzenie
x [k ] M 1 jest rwnie ograniczona y[k ] M 2
Ukad liniowy jest stabilny wtedy i tylko wtedy, gdy jego odpowied impulsowa jest
absolutnie sumowalna, czyli

h[k ] <

(5.39)

k =

Z powyszego twierdzenia wynika, e dla ukadu stabilnego musi by

( )

H e j <

(5.40)

poniewa

( ) h[k ] e

H e j =

k =

jk

k =

h[k ] e jk =

h[k ]

k =

5-7

(5.41)

Ukad o transmitancji dyskretnej H(z) jest stabilny, jeli wszystkie bieguny transmitancji
znajduj si wewntrz okrgu jednostkowego na paszczynie zmiennej zespolonej z.
Szczeglne postacie transmitancji
1. M = 0, N > 0. Transmitancja ma posta
H (z ) =

a0 + a1 z

1
+ a2 z 2 + + a N z N

(5.42)

Odpowied impulsowa ukadu o powyszej transmitancji trwa nieskoczenie dugo,


dlatego takie ukady nazywa si ukadami o nieskoczonej odpowiedzi impulsowej, NOI
(ang. infinite impulse response (IIR); inne nazwy: all-pole filter, autoregressive (AR)
filter).
2. M > 0, N = 0. Transmitancja ma posta
H ( z ) = b0 + b1 z 1 + b2 z 2 + + bM z M

(5.43)

Odpowied impulsowa ukadu o powyszej transmitancji ma skoczony czas trwania,


dlatego takie ukady nazywa si ukadami o skoczonej odpowiedzi impulsowej, SOI
(ang. finite impulse response (FIR); inne nazwy: all-zero filter, moving average (MA)
filter).
3. M > 0, N > 0. Transmitancja ma posta pen, jak w zalenoci (5.23). Odpowied
impulsowa ukadu ma nieskoczony czas trwania, a wic jest to ukad typu IIR
(nazywany te pole-zero filter, autoregressive moving average (ARMA) filter).
Podstawowe informacje o filtrach
Dyskretne ukady LTI przetwarzaj sygnay wejciowe x[k] na wyjciowe y[k]. Ich dziaanie
mona opisywa w dziedzinie czasu lub czstotliwoci. Celem przetwarzania sygnaw jest
ksztatowanie odpowiedzi ukadu o okrelonych parametrach, ktre s najczciej
definiowane w dziedzinie czstotliwoci. Proces ten nazywany jest filtracj cyfrow a ukady,
realizujce go nazywane s filtrami cyfrowymi. Gwnymi zadaniami filtrw cyfrowych s
rozdzielanie sygnaw (np. sygnau uytecznego od zakce i szumw) oraz odtwarzanie
sygnaw znieksztaconych (np. sabej jakoci nagra muzycznych).
Dziaanie filtru, w dziedzinie czstotliwoci, manifestuje si zmian widma pobudzenia X(ej)
na widmo odpowiedzi Y(ej) co mona zapisa w nastpujcy sposb

( ( )) = H e j earg( H ( e )) X e j earg( X ( e ))
( )
( )

(5.44)

( ( )) = H e j X e j earg( H ( e ))+arg( X ( e ))
( ) ( )

(5.45)

Y ( e j ) e

arg Y e j

Y ( e j ) e

arg Y e j

skd, biorc pod uwag (5.28) i (5.29) otrzymuje si


Y ( e j ) = H ( e j ) X ( e j ) = A ( ) X ( e j )

arg Y ( e j ) = ( ) + arg X ( e j )

(5.46)

(5.47)

5-8

Wymagania czstotliwociowe filtru okrela si zazwyczaj dla charakterystyki amplitudowej


A(). Ze wzgldu na zakres (pasmo) przenoszonych czstotliwoci wyrnia si cztery
gwne typy filtrw: dolnoprzepustowy, grnoprzepustowy, pasmowoprzepustowy i
pasmowozaporowy, ktrych zadaniem jest przepuszczenie niezmienionych sygnaw w
pewnym zakresie czstotliwoci tzw. pamie przepustowym i cakowite stumienie w innym
zakresie czstotliwoci pamie zaporowym. Zakres czstotliwoci midzy pasmem
przepustowym i zaporowym nazywany jest pasmem przejciowym. Czstotliwo na granicy
pasma przejciowego i zaporowego nazywana jest czstotliwoci odcicia (graniczn) fc i
jest najczciej okrelana jako czstotliwo, dla ktrej warto odpowiedzi spada do 1/ 2
wartoci maksymalnej odpowiedzi w pamie przepustowym.

a) filtr dolnoprzepustowy
A( )
1

c) filtr pasmowoprzepustowy
A( )

pasmo
przejciowe

2/2
pasmo
przepustowe

pasmo
zaporowe

fc

fs/2 f

fs/2

b) filtr grnoprzepustowy
A( )

d) filtr pasmowozaporowy
A( )

fs/2 f

fs/2

Rys. 5.2. Pogldowe charakterystyki czterech gwnych typw filtrw.

P5.1. Filtr FIR.


Filtry tego typu mona przedstawi za pomoc struktury jak na rys. 5.3. Filtry majce tak
struktur nazywane s czasem filtrami poprzecznymi (ang. transversal filters). Cech
charakterystyczn takiej struktury jest linia opniajca zoona z szeregowego poczenia
czonw opniajcych o transmitancji z-1 (ang. unit delay elements). Linia opniajca
posiada odczepy (taps), za pomoc ktrych sygna wejciowy i jego opnione prbki
doprowadzone s do odpowiednich mnonikw bm; dla linii zoonej z M czonw
opniajcych jest M+1 odczepw.
Rwnanie rnicowe powyszego filtru atwo odczyta wprost ze schematu:

y[k ] = b0 x[k ] + b1 x[k 1] + b2 x[k 2] + b3 x[k 3]

(5.48)

Transformujc obie strony (5.48) za pomoc transformacji Z (przy zaoeniu zerowych


warunkw pocztkowych)

5-9

Y ( z ) = b0 X ( z ) + b1 z 1 X ( z ) + b2 z 2 X ( z ) + b3 z 3 X ( z )

(5.49)

i dzielc obie strony przez X(z), otrzymano nastpujc transmitancj filtru


H (z ) =

Y (z )
= b0 + b1 z 1 + b2 z 2 + b3 z 3
X (z )

(5.50)

zgodn z ogln postaci (5.43) transmitancji filtru FIR.


x[k-1]

x[k]

z
b0

-1

x[k-2]

-1

x[k-3]
-1

b1

b2

b3

y[k]

Rys. 5.3. Przykad prostego filtru FIR.


Zamy, e rozwaany filtr jest zrelaksowany (ma zerowe warunki pocztkowe) w chwili
k = 0 (czyli x[k-1] = x[k-2] = x[k-3] = 0) i zostaje pobudzony impulsem [k] (czyli x[0] = 1).
Odpowied w pierwszym kroku jest nastpujca

y[0] = b0 x[0] + b1 x[ 1] + b2 x[ 2] + b3 x[ 3] = b0
W kolejnym takcie dziaania filtru (k = 1)

y[1] = b0 x[1] + b1 x[0] + b2 x[ 1] + b3 x[ 2] = b1 x[0] = b1


Dla k = 2

y[2] = b0 x[2] + b1 x[1] + b2 x[0] + b3 x[ 1] = b2 x[0] = b2


Dla k = 3

y[3] = b0 x[3] + b1 x[2] + b2 x[1] + b3 x[0] = b3 x[0] = b3


Dla k > 3, x[k] = x[k-1] = x[k-2] = x[k-3] = 0, a wic na wszystkich odczepach linii
opniajcej wystpuj wartoci zerowe, wobec czego rwnie y[k] = 0. atwo zauway, e
odpowied impulsowa tego typu filtru jest po prostu sekwencj liczb b0, b1, , bM, 0, 0 , .
Liczba niezerowych elementw w odpowiedzi impulsowej jest rwna M+1, a zatem jest to
liczba skoczona.
Najprostszym wariantem filtru FIR jest filtr o wszystkich wspczynnikach bm jednakowych,
czyli

b0 = b1 = ... = bM =

1
M +1

(5.51)

5-10

Mona zauway, e suma wartoci powyszych wspczynnikw jest rwna jednoci, czyli
filtr o takich wspczynnikach ma wzmocnienie staoprdowe rwne 1. Tego rodzaju filtr
wyznacza po prostu redni arytmetyczn z M+1 ostatnich wartoci sygnau wejciowego.
Filtr FIR o jednakowych wspczynnikach jest przedmiotem analizy w zadaniu ZL5.1.

P5.2. Filtr IIR pierwszego rzdu


Filtr pierwszego rzdu o nieskoczonej odpowiedzi impulsowej, krtko omwiony na
pocztku instrukcji, jest zdefiniowany rwnaniem:

y [ k ] = a1 y [ k 1] + b0 x [ k ] = a y [ k 1] + (1 a ) x [ k ] , a < 1

(5.52)

Zwikszanie parametru a powoduje zmniejszenie udziau pobudzenia i dominacj


poprzedniego stanu wyjcia. Filtr reprezentowany jest za pomoc schematu blokowego
pokazanego na rys. 5.4.

Rys. 5.4. Przykad filtru IIR pierwszego rzdu.


W celu wyznaczenia transmitancji filtru obliczono transformaty Z obu stron rwnania (5.52)
(przy zaoeniu zerowych warunkw pocztkowych)
Y ( z ) = a z 1 Y ( z ) + (1 a ) X ( z )

(5.53)

(1 a z ) Y ( z ) = (1 a ) X ( z )

(5.54)

Nastpnie podzielono obie strony przez X(z) i otrzymano

H ( z) =

Y ( z)
1 a
=
X ( z ) 1 a z 1

(5.55)

Przyjto zaoenie, e rozwaany filtr ma zerowe warunki pocztkowe w chwili k = 0 (czyli


y[k-1] = 0) i zostaje pobudzony impulsem [k] (czyli x[0] = 1). Kolejne wartoci odpowiedzi
impulsowej wyznaczono metod rekurencyjn

y [ 0] = a y [ 1] + (1 a ) x [ 0] = (1 a ) 1 = 1 a
W kolejnym takcie dziaania filtru (k = 1)

y [1] = a y [ 0] + (1 a ) x [1] = a (1 a ) + (1 a ) 0 = a (1 a )
Dla k = 2

5-11

y [ 2] = a y [1] + (1 a ) x [ 2] = a a (1 a ) + (1 a ) 0 = a2 (1 a )
Dla k = 3

y [3] = a y [ 2] + (1 a ) x [3] = a a2 (1 a ) + (1 a ) 0 = a3 (1 a )
Oglnie dla k = 0, 1, 2, otrzymuje si

y [ k ] = ak (1 a )

(5.56)

Czas trwania odpowiedzi filtru IIR jest wic nieskoczenie dugi.


Filtr IIR o postaci (5.52) jest rwnie analizowany w trakcie zaj laboratoryjnych.

5.3. Wykaz zada do wykonania


5.3.1. Zadania do wykonania przed zajciami
ZD5.1. Zastanowi si w jaki sposb wyznaczy charakterystyki amplitudow i fazow
ukadu LTI (analogowego lub dyskretnego) majc moliwo wymuszania pobudze
sinusoidalnych o dowolnie nastawianej amplitudzie i czstotliwoci (zastanowi si nad
wyznaczeniem przesunicia fazowego na podstawie pomiaru opnienia midzy przebiegiem
wejciowym i wyjciowym).
ZD5.2. Zastanowi si nad rozwizaniem zadania ZL5.4.
5.3.2. Zadania do wykonania w trakcie zaj laboratoryjnych
ZL5.1. Uywajc skryptu noi_sin.m naley wygenerowa i zaobserwowa odpowiedzi ukadu
dyskretnego jednobiegunowego filtru IIR, na pobudzenia sinusoidalne. Filtr IIR o
czstotliwoci odcicia fc = 100 Hz pobudzany jest dyskretnymi kosinusoidami o zerowej
fazie pocztkowej, amplitudzie rwnej jeden i czstotliwociach: 1 Hz, 10 Hz, 20 Hz, 50 Hz,
100 Hz i 200 Hz. Przy uyciu funkcji filter realizowana jest filtracja 10 okresw kadego
sygnau wejciowego przez jednobiegunowy filtr IIR. Nastpnie za pomoc funkcji fft
wyznaczana jest warto amplitudy i fazy sygnau wyjciowego, na podstawie jednego,
ostatniego okresu odpowiedzi. Przy uyciu funkcji freqz wyznaczane s charakterystyki
amplitudowa i fazowa filtru. Obliczone wartoci amplitud i faz s naniesione na
charakterystyk amplitudow i fazow filtru.
Na podstawie analizy przebiegw czasowych naley okreli warto amplitudy odpowiedzi
oraz przesunicie fazowe pomidzy sygnaem wejciowym a wyjciowym (dla dwch
wybranych pobudze, np. 20 Hz i 100 Hz). Wyniki porwna z charakterystykami
czstotliwociowymi filtru i wynikami analizy widmowej sygnaw wyjciowych.
Wszystkie uzyskane przebiegi i charakterystyki naley zapisa.
ZL5.2. Wykorzystujc skrypt charakterystyki.m naley zaobserwowa odpowiedzi filtrw
dolnoprzepustowych FIR i IIR na wybrane sygnay wejciowe oraz ich charakterystyki
amplitudowe i fazowe wyznaczone trzema rnymi metodami: jako transformaty Fouriera
dyskretnych odpowiedzi impulsowych, na podstawie transmitancji Z, z wykorzystaniem
funkcji freqz rodowiska Matlab. Charakterystyki czstotliwociowe wykrelono w skali

5-12

liniowej i decybelowej. Filtr o skoczonej odpowiedzi impulsowej zawiera 9 wspczynnikw


o takich samych wartociach bm = 1/9; natomiast filtr IIR ma wspczynniki tak dobrane, aby
jego czstotliwo graniczna bya zbliona do filtru FIR.
Wszystkie uzyskane przebiegi i charakterystyki naley zapisa.
Zmieni dugoci odpowiedzi impulsowej filtrw z N = 40 na N = 8. Jaki wpyw ma ta
zmiana na charakterystyki czstotliwociowe filtrw wyznaczane na podstawie transformaty
Fouriera odpowiedzi impulsowej?
Zmodyfikowa sygnay filtrowane (zmieni poziom szumu dodawanego do sygnau,
parametry filtrowanych sinusoid) i zaobserwowa rezultaty.
W kocowej czci skryptu wykorzystano graficzny interfejs uytkownika fvtool
(ang. Filter Visualization Tool) przeznaczony do analizy filtrw cyfrowych. Umoliwia on
m.in. analiz charakterystyk czstotliwociowych i czasowych ukadw dyskretnych. Naley
zapozna si z podstawowymi funkcjami tego interfejsu (uy przyciskw umieszczonych na
pasku narzdziowym wywietlenie charakterystyk czasowych: impulsowej i skokowej oraz
czstotliwociowych: amplitudowej i fazowej, pooenia zer i biegunw na paszczynie
zmiennej zespolonej z). Porwna charakterystyki uzyskane za pomoc narzdzia fvtool z
uzyskanymi poprzednio.
ZL5.3. Przy uyciu funkcji noi_1b(a1) naley zaobserwowa zmiany w charakterystykach
czasowych (odpowied impulsowa i skokowa), czstotliwociowych (charakterystyka
amplitudowa i fazowa) i pooeniu biegunw i zer na paszczynie zespolonej w zalenoci
od wartoci pooenia bieguna a1 jednobiegunowego filtru IIR z zadania ZL5.2. Analiz
przeprowadzi dla kilku wartoci parametru a np. 0,2, 0,8, -0,2, -0,8, dla ktrych filtr bdzie
stabilny i a = 1,2, a = -1,2, dla ktrych stabilny nie bdzie. Otrzymane charakterystyki
amplitudowe i fazowe, odpowiedzi impulsowe i skokowe oraz pooenie zer i biegunw
zapisa. W jaki sposb warto bieguna filtru wpywa na charakterystyki czstotliwociowe i
czasowe ukadu.
ZL5.4. Filtracj sygnau za pomoc filtru FIR z zadania ZL5.2 mona zrealizowa za pomoc
bardzo szybkiego algorytmu rekurencyjnego tzw. redniej kroczcej (ruchomej). Algorytm
zostanie wyjaniony na przykadzie piciopunktowego filtru. Dwie ssiednie prbki
odpowiedzi mog by obliczane w sposb nastpujcy:
q[ k 1] = x[ k 1] + x[ k 2] + x[ k 3] + x[ k 4] + x[ k 5]

y[ k 1] = q[ k 1] 0.2

(5.57)

q[ k ] = x[ k ] + x[ k 1] + x[ k 2] + x[ k 3] + x[ k 4]

y[ k ] = q[ k ] 0.2

(5.58)

Warto q[k] rni si od q[k-1] tym, e do sumy x[k 1] + x[k 2] + x[k 3] + x[k 4]
dodano x[k] i odjto x[k-5]. Mona wic y[k] obliczy w sposb nastpujcy
q[ k ] = x[ k ] + q[ k 1] x[ k 5]

y[ k ] = q[ k ] 0.2

(5.59)

Oglnie dla redniej ruchomej o dowolnej liczbie wspczynnikw N warto y[k] mona
obliczy w sposb nastpujcy

5-13

q[ k ] = x[ k ] + q[ k 1] x[ k N ]

y[ k ] = q[ k ] (1 / N )

(5.60)

Podczas obliczania q[k], wartoci q[k-1] oraz x[k-N] powinny by dostpne jako wartoci
wyliczone w przeszoci. Wyznaczanie q[k] polega wic na dodaniu nowej wartoci x[k] do
q[k-1] i odjciu x[k-N]. Kada nowa warto x[k] staje si po N taktach wartoci najstarsz
x[k-N], a wic jest potrzebna nie tylko w biecym rachunku, lecz bdzie potrzebna rwnie
w przyszym. Dlatego warto zapamitywa kolejno wartoci x[] w buforze cyklicznym o
dugoci N (rys. 5.5). W przypadku realizacji w czasie rzeczywistym nie uywa si jawnego
indeksowania czasu, wic wygodnie zamiast k-N stosowa symbol oznaczajcy oglnie
najstarsz warto zapamitan w buforze, np. x[oldest_time]. Zamy, e aktualny
adres w buforze wskazuje wanie na t najstarsz warto. Traktujc ten adres jako indeks w
tablicy (wektorze) wartoci cirbuff, mona najstarsz warto odczytywa jako
cirbuff(cirbuff_address). Rachunek redniej ruchomej w danym takcie moe
przebiega nastpujco:
1. pobierz now warto x_new (np. nowa prbka sygnau z przetwornika analogowocyfrowego);
2. wyznacz q = q + x_new - cirbuff(cirbuff_address);
3. zapisz x_new do cirbuff(cirbuff_address);
4. aktualizuj adres (z redukcj modulo N);
5. wyznacz y = q/N;
6. powrt to punktu 1.

Rys. 5.5. Ilustracja idei bufora cyklicznego.


W celu realizacji zadania mona skorzysta z nastpujcego szkieletu funkcji:
function y=srednia_ruchoma(N,x)

5-14

%Srednia ruchoma sygnau x


% N jest okresem uredniania, iloci wspolczynnikow filtru
% x jest sygnalem analizowanym
% y jest wartoci sredniej sygnalu x za okres N
q=0;
% wartosc poczatkowa sumy q
M=length(x);
cirbuff=zeros(1,N);
% bufor cykliczny
cirbuff_address=1;
% adres bufora cyklicznego
for k=0:M-1
x_new =x(k+1); %(k+1) ze wzgldu na indeksowanie w Matlab
q =

y(k+1)=q/N;
end

Naley zaproponowa sygnay testowe x i sprawdzi dziaanie opracowanej funkcji.

5.4. Literatura
[1]
[2]
[3]
[4]

J. A. Wojciechowski: Sygnay i systemy. Warszawa 2008.


T. P. Zieliski: Cyfrowe przetwarzanie sygnaw. Warszawa 2007.
J. Nieznaski: Sygnay i systemy. Niepublikowane materiay wykadowe. Gdask 2010.
A. V. Oppenheim, A. S. Wilsky, S. H. Nawab: Signal and systems 2nd ed.. Upper Saddle
River, New Jersey 1997.

5-15

6. Filtry o nieskoczonej odpowiedzi impulsowej


6.1. Cel i zakres wiczenia
Celem wiczenia jest projektowanie i badanie filtrw cyfrowych zaprojektowanych
metod transformacji filtrw analogowych oraz analiza zwizkw midzy ukadami
analogowymi i cyfrowymi dla rnych metod dyskretyzacji ukadw analogowych.

6.2. Podstawy projektowania rekursywnych filtrw cyfrowych


6.2.1. Metoda niezmiennoci odpowiedzi czasowej
Niech H(s) oznacza transmitancj filtru analogowego, ktry ma stanowi prototyp filtru
cyfrowego. Filtr ten odpowiada sygnaem wyjciowym y(t) na wejcie x(t). Filtr cyfrowy
zachowujcy odpowied czasow prototypu analogowego powinien odpowiada sygnaem
y[k] na wejcie x[k], gdzie
x[k ] = x (t ) t = kT

(6.1)

y[k ] = y (t ) t = kT

(6.2)

Transmitancj filtru cyfrowego wyznacza si jako stosunek transformat Z sygnaw


zdefiniowanych zalenociami (6.1) i (6.2), czyli
H (z ) =

Z {y[k ]} Y ( z )
=
Z {x[k ]} X ( z )

(6.3)

Dla rnych pobudze x(t) otrzymuje si rne projekty filtrw cyfrowych


odpowiadajcych temu samemu prototypowi H(s). Najczciej zakada si, e x(t) jest
pobudzeniem impulsowym, tj. x(t) = (t). W tym przypadku mamy do czynienia z metod
niezmiennoci odpowiedzi impulsowej (ang. impulse invariant design). Czasem zakada si, e
x(t) jest pobudzeniem skokowym, czyli x(t) = q(t) i wwczas mamy do czynienia z metod
niezmiennoci odpowiedzi skokowej (ang. step invariant design).
W metodzie niezmiennoci odpowiedzi skokowej jako dyskretn wersj q(t) przyjmuje
si dyskretny skok jednostkowy q[k], ktrego transformata Z jest rwna

Q(z ) =

1
1 z 1

(6.4)

Innymi sowy, powysza transformata stanowi mianownik transmitancji filtru


cyfrowego projektowanego metod niezmiennoci odpowiedzi skokowej. Podsumowujc,
zastosowanie metody niezmiennoci odpowiedzi skokowej sprowadza si do wyznaczenia
transmitancji filtru cyfrowego zgodnie z nastpujc formu

H q ( z ) = 1 z 1 Yq (z )

(6.5)

6-1

W przypadku pobudzenia impulsowego zwykle przyjmuje si, e impuls (t) podlega


zastpieniu impulsem [k], wic mianownik transmitancji filtru cyfrowego projektowanego
metod niezmiennoci odpowiedzi impulsowej jest rwny jednoci. Takie podejcie prowadzi
jednak do wyniku, ktry trudno uzna za poprawny, wic proponuje si pewn korekt,
polegajc na wymnoeniu uzyskanej transmitancji przez okres prbkowania T.
Zastosowanie metody niezmiennoci odpowiedzi impulsowej sprowadza si do wyznaczenia
transmitancji filtru cyfrowego zgodnie z nastpujc formu

H ( z ) = T Y ( z )

(6.6)

Uwaga: W wielu rdach pomija si czynnik T w przepisie na projekt filtru metod


niezmiennoci odpowiedzi impulsowej. W szczeglnoci warto zauway, e funkcja
impinvar w rodowisku Matlab wyznacza parametry filtru cyfrowego wedug formuy
H (z ) = Y (z ) ; w przypadku korzystania z tej funkcji zaleca si odpowiedni korekt.

P6.1. Transformacja filtru analogowego metod niezmiennoci odpowiedzi czasowej


Zamy transmitancj prototypu analogowego postaci

H ( s) =

Y ( s)
1
1/
=
=
X ( s ) 1 + s s + 1/

(6.7)

Transmitancj o powyszej postaci ma na przykad dolnoprzepustowy filtr RC o schemacie


przedstawionym na poniszym rysunku.

Rys. 6.1. Filtr RC i jego schemat blokowy.


Odpowied impulsowa filtru jest wyraona nastpujc zalenoci ( = RC):
t

1
u2 (t ) = h(t ) = e

(6.8)

a odpowied skokowa:

u2 q (t ) = 1 e

(6.9)

Metoda niezmiennoci odpowiedzi impulsowej


Dla x(t ) = (t ) mamy X(s) = 1, czyli

Y (s ) = H (s ) =

1/
s + 1/

(6.10)

Odwrotna transformacja Laplacea powyszego wyraenia prowadzi do

6-2

y(t ) = h(t ) = e
1

(6.11)

Prbkujc powyszy sygna otrzymano

y [k ] = e
1

kT

(6.12)

oraz

Y (z ) =

kT

z k

k =0

T 1
1
1
= e z =

k =0
1 e / z 1

(6.13)

Korzystajc z (6.6) otrzymano

H ( z ) = T Y ( z ) =

b0
1
T

=
T /
1
1 a1 z 1
1 e z

(6.14)

gdzie: b0 = T / , a1 = e T / .
Warto podkreli, e wymnoenie Y ( z ) przez T prowadzi do sytuacji, w ktrej staa czasowa
filtru analogowego jest wszdzie znormalizowana przez odniesienie do okresu prbkowania
T (tak wanie powinno by w przypadku prawidowo zaprojektowanego filtru cyfrowego).

Rys. 6.2. Struktura filtru cyfrowego zaprojektowanego metod niezmiennoci odpowiedzi


impulsowej.
Metoda niezmiennoci odpowiedzi skokowej
Dla x(t ) = q(t ) mamy X(s) = Q(s) = 1/s, czyli

1 1/
A
B
Yq (s ) = Q(s ) H (s ) =
= +
s s + 1/ s s + 1/
Warto A mona obliczy mnoc obie strony ostatniej rwnoci przez s i podstawiajc s=0.
Otrzymano A=1. Warto B wyznaczono mnoc obie strony ostatniej rwnoci przez (s+1/)
i podstawiajc s=-1/). Otrzymano B=-1. A zatem

1
1
Yq (s ) =
s s + 1/

(6.15)

6-3

Uwzgldniajc fakt, e odwrotn transformat Laplacea wyrazu 1/s jest skok jednostkowy
q(t), za odwrotn transformat Laplacea wyrazu 1/(s+1/) jest sygna wykadniczy e t / ,
mona doj do wniosku, e dyskretna wersja yq(t) ma posta

y q [k ] = q[k ] e

kT

(6.16)

a zatem

Yq ( z ) =

1
1

1
T /
1 z
1 e
z 1

(6.17)

Podstawiajc (6.17) do (6.5), otrzymano


H q ( z ) = (1 z

) Y ( z )
q

(1 e ) z
=
T /

1 e T / z 1

b1 z 1
=
1 a1 z 1

(6.18)

gdzie: b0 = 0, b1 = 1 eT / , a1 = a1 = e T /

Rys. 6.3. Struktura filtru cyfrowego zaprojektowanego metod niezmiennoci odpowiedzi


skokowej.

6.2.2. Metody oparte na cakowaniu numerycznym


Rozpatrzony zostanie idealny analogowy ukad cakujcy, ktrego model matematyczny
zapisany w postaci rwna rniczkowych jest nastpujcy

dy
= x(t )
dt

(6.19)

a transmitancja Laplacea
H (s ) =

Y (s ) 1
=
X (s ) s

(6.20)

Model analogowego ukadu cakujcego (a take dowolnego ukadu cigego), mona


przeksztaci w model opisany rwnaniami rnicowymi, wykorzystujc metody
przyblionego cakowania numerycznego. Proces ten nazywany dyskretyzacj, naley tak
przeprowadzi, aby ukad dyskretny mia zblione do ukadu analogowego waciwoci
dynamiczne.
Rozwizanie analityczne rwnania (6.19) (sygna wyjciowy idealnego integratora) moe by
wyraone jako

6-4

y (t ) = y (t0 ) + x( )d

(6.21)

t0

gdzie: t0 oznacza chwil pocztkow, t czas biecy, a zmienn cakowania.


W podejciu numerycznym interesujce jest okrelenie rozwizania w jednym kroku
czasowym T. Warunkiem pocztkowym dla nastpnego, (k+1) kroku, jest rozwizanie
obliczone w kroku poprzednim (k). Rozwizanie (6.21) dla kT < t < (k+1)T mona
przedstawi nastpujco
y (kT + T ) = y (kT ) +

( k +1)T

x(t )dt

(6.22)

kT

Zastpujc pole pod krzyw x(t) polem prostokta lub trapezu dla przedziau czasu o
szerokoci T otrzymujemy przyblienia (aproksymacje) rozwizania (6.22). Poniej zostan
krtko przedstawione trzy najpopularniejsze i najprostsze metody przyblionego cakowania.
Metoda Eulera w przd (algorytm ekstrapolacyjny, rnice zstpujce)
Rozwizanie (6.22) jest aproksymowane nastpujco
y ( kT + T ) = y ( kT ) + Tx ( kT )

(6.23)

zY ( z ) Y ( z ) = TX ( z )

(6.24)

T
z 1
1
H (z ) =
=T
= H ( s ) s = 1 1 z 1 =
1
z 1
1 z
s s = 1 1 z 1
T z 1

(6.25)

T z 1

Oglnie, aby transformowa ukad cigy w dyskretny metod Eulera w przd naley dokona
podstawienia:
H ( z ) = H ( s ) s = 1 1 z 1

(6.26)

T z 1

Metoda Eulera wstecz (algorytm interpolacyjny, rnice wstpujce)


y (kT + T ) = y (kT ) + Tx ( kT + T )

(6.27)

zY (z ) Y ( z ) = zTX ( z )

(6.28)

H (z ) =

(6.29)

zT
1
=T
z 1
1 z 1

Oglnie:
H ( z ) = H ( s ) s = 1 (1 z 1 )

(6.30)

Metoda trapezw (transformacja biliniowa)

y(kT + T ) = y(kT ) + T

x(kT + T ) + x(kT )
2

(6.31)

6-5

zY ( z ) Y ( z ) =

T
(1 + z ) X ( z )
2

(6.32)

T z + 1 T 1 + z 1
H (z ) =
=
2 z 1 2 1 z 1

(6.33)

Oglnie:
H ( z ) = H ( s ) s = 2 1 z 1

(6.34)

T 1+ z 1

Odwzorowanie paszczyzny zespolonej operatora s na paszczyzn operatora z.


Kada z wymienionych aproksymacji rozwizania rwnania rniczkowego moe by
rozpatrywana jako odwzorowanie paszczyzny zespolonej operatora s na paszczyzn
zespolon operatora z.
Metoda Eulera w przd
s=

1 z 1
z = 1 + sT
Tz 1

(6.35)

O urojona paszczyzny zespolonej operatora s opisana rwnaniem s = j , ktra stanowi


granic obszaru stabilnoci, transformuje si w dziedzin z nastpujco
s = j z = 1 + jT = 1 + (T ) 2 e jarctg ( T )

(6.36)

Jest to rwnanie prostej z = 1, rwnolegej do osi pionowej.


z = z e j

(6.37)

czyli
z = 1 + ( T ) 2

(6.38)

= arctg(T ) - nieliniowa transformacja czstotliwoci

(6.39)

Bieguny ukadu cigego pooone w lewej ppaszczynie zmiennej s transformuj si w


obszar zmiennej z pooony na lewo od prostej o rwnaniu z = 1. Transformacja powysza nie
gwarantuje stabilnoci ukadu cyfrowego po transformacji.

Rys. 6.4. Odwzorowanie paszczyzny s na paszczyzn z w przypadku transformacji ukadu


cigego w dyskretny metod Eulera w przd.

6-6

Metoda Eulera wstecz


s=

1 z 1
1
z=
T
1 sT

(6.40)

Jeli
2
1 + (T ) e jarctg( T )
1
1 1 + jT 1

s = j z =
= 1+
= 1 +
2 jarctg( T )
1 jT 2 1 jT 2

1
+
(

T
)
e

z=

1
1 + e j 2arctg( T )
2

(6.41)

(6.42)

Jest to rwnanie koa o rodku w punkcie i promieniu rwnym .

z = z e j =

1
1 + (T ) e
2

jarctg ( T )

1
1 + (T )

e jarctg ( T )

(6.43)

czyli

z=

(6.44)

1 + (T )

= arctg(T ) - nieliniowa transformacja czstotliwoci

(6.45)

Bieguny ukadu cigego pooone w lewej ppaszczynie zmiennej s transformuj si do


wntrza koa o rodku w punkcie i promieniu rwnym . Transformacja powysza
zapewnia zatem stabilno ukadu cyfrowego po transformacji.

Rys. 6.5. Odwzorowanie paszczyzny s na paszczyzn z w przypadku transformacji ukadu


cigego w dyskretny metod Eulera wstecz.

Transformacja biliniowa
T
1+ s
2 1 z 1
2
s=
z=
T
T 1 + z 1
1 s
2

(6.46)

Jeli

6-7

T jarctg 2
T
1+
e
1 + j
2

2
s = j z =
=
2
T
T
T jarctg 2
1 j
1+
e
2
2

z = ze

=e

T
j 2 arctg

(6.47)

(6.48)

czyli
z =1

(6.49)

T
- nieliniowa transformacja czstotliwoci
2

= arctg

(6.50)

Bieguny ukadu cigego pooone w lewej ppaszczynie zmiennej s transformuj si do


wntrza koa o rodku w punkcie 0 i promieniu rwnym 1.

Rys. 6.6. Odwzorowanie paszczyzny s na paszczyzn z w przypadku transformacji ukadu


cigego w dyskretny metod transformacji biliniowej.
Transformacja powysza zapewnia stabilno ukadu cyfrowego po transformacji.
T
Dla = 2arctg
mamy
2

H (e j ) = H ( j)

(6.51)

wic dla transformacji biliniowej zachodzi rwno transmitancji widmowych dla


odpowiadajcych sobie czstotliwoci.
Gdy H ( j) 0 dla , to H (e j ) = 0 dla = .
Znieksztacenie czstotliwoci (frequency warping)

2
T
= tg
T 2
2

= 2arctg

(6.52)

Pulsacja ukadu cigego jest funkcj nieliniow pulsacji ukadu dyskretnego , czyli
wystpuje znieksztacenie skali czstotliwoci.
Jeli naley zaprojektowa filtr cyfrowy np. dolnoprzepustowy o czstotliwoci granicznej c
na podstawie analogowego prototypu o czstotliwoci c = c / T, to po transformacji
czstotliwo graniczna zaprojektowanego filtru c bdzie mniejsza od podanej c < c.

6-8

Aby tego unikn naley wyznaczy pulsacj graniczn prototypu filtra analogowego zgodnie
ze wzorem

c =

2 c
tg
T 2

(6.53)

a nastpnie zaprojektowa filtr analogowy. Kocowym etapem jest wyznaczenie


wspczynnikw transmitancji filtra cyfrowego stosujc podstawienie (6.46).

P6.2. Transformacje filtru analogowego dolnoprzepustowego metodami cakowania


numerycznego
Przyjto transmitancj prototypu analogowego z przykadu P6.1
Aby uzyska ukad dyskretny przeprowadzono dyskretyzacj modelu filtru cigego
Metoda Eulera w przd
1/
H (s) =
s + 1 / s = 1 1 z11
T z

H (z ) =

1/
T
z 1
b1 z 1
=
=
1 1 z 1
1 (1 T / ) z 1 1 a1 z 1
+
1
/

T z 1

(6.54)

gdzie: b0 = 0, b1 = T/, a1 = 1-T/.

Rys. 6.7. Struktura filtru cyfrowego zaprojektowanego metod Eulera w przd.

Metoda Eulera wstecz


1/
H (s) =
s + 1 / s = 1 (1 z 1 )
T

H (z ) =

1/

1
1 z 1 + 1 /
T

gdzie: b0 =

T /
1 + T / 1

1
b0
=
1
1
z 1 1 a1 z
1 + T /

T /
1
, a1 =
.
1 + T /
1 + T /

6-9

(6.55)

Rys. 6.8. Struktura filtru cyfrowego zaprojektowanego metod Eulera wstecz.

Transformacja biliniowa
1/
H (s) =
s + 1 / s = 2 1 z 11
T 1+ z

1/
T
1 + z 1
b0 + b0 z 1
H (z ) =
=
=
2 1 z 1
T + 2 1 2 T z 1 1 a1 z 1
+ 1/
2 + T
T 1 + z 1
gdzie: b0 =

(6.56)

T
2 T
, a1 =
.
T + 2
2 + T

Rys. 6.9. Struktura filtru cyfrowego zaprojektowanego metod transformacji biliniowej.


Wartoci pocztkowe i kocowe charakterystyk czasowych
1) Warto pocztkowa odpowiedzi impulsowej
1 b + b z 1
1
1
y [0] = lim{X ( z ) H ( z )} = lim 0 0 1 =

z
z T 1 a z
1

T + 2
inny sposb wyznaczenia (dla wymuszenia impulsowego):
1
1
1
1 b0
y [0] = lim H ( z ) =
=

z T

T a0 T + 2

Wystpuje niezgodno wartoci pocztkowych


analogowego i filtru cyfrowego.
2) Warto kocowa odpowiedzi impulsowej

odpowiedzi

impulsowej

prototypu

1 b + b z 1
lim{y [k ]} = lim{( z 1) X ( z ) H ( z )} = lim ( z 1) 0 0 1 = 0
k
z 1
z 1
T 1 a1 z

Wystpuje zgodno wartoci kocowych odpowiedzi impulsowej prototypu analogowego i


filtru cyfrowego.
3) Warto pocztkowa odpowiedzi skokowej

6-10

1 b0 + b0 z 1
T
yq [0] = lim{X ( z ) H ( z )} = lim
0
=
z
z 1 z 1 1 a z 1
1

T + 2

inaczej (dla wymuszenia skokowego):


b
T
1
yq [0] = lim{H ( z )} = 0 =

z
a0 T + 2
Wystpuje niezgodno wartoci pocztkowych odpowiedzi skokowej prototypu
analogowego i filtru cyfrowego.
4) Warto kocowa odpowiedzi skokowej (rwna wzmocnieniu staoprdowemu)

z b +b z
lim{y [k ]} = lim{( z 1)X ( z ) H ( z )} = lim( z 1)
z 1 1 a z
0

z 1

z 1

=1

inaczej:

lim{yq [k ]} = H (1) =

b0 + b0
=1
1 a1

Zgodno wartoci kocowych odpowiedzi skokowej prototypu analogowego i filtru


cyfrowego.
5) Wzmocnienie dla czstotliwoci Nyquista
b b
H (1) = 0 0 = 0
1 + a1

6.3. Wykaz zada do wykonania


6.3.1. Zadania do wykonania przed zajciami
ZD6.1. Naley wyznaczy wartoci pocztkowe i kocowe odpowiedzi impulsowej i
skokowej dla filtrw cyfrowych zaprojektowanych metodami niezmiennoci odpowiedzi
impulsowej i skokowej oraz Eulera w przd i wstecz (analogicznie jak dla filtru
zaprojektowanego metod transformacji biliniowej z przykadu P6.2).
ZD6.2. Zastanowi si nad rozwizaniem zadania ZL6.2.
6.3.2. Zadania do wykonania w trakcie zaj laboratoryjnych
ZL6.1. Naley przebada charakterystyki czasowe i czstotliwociowe piciu filtrw
cyfrowych zaprojektowanych metod transformacji projektw filtrw analogowych
Do zaprojektowania filtrw cyfrowych zastosowano:
1. Metody niezmiennoci odpowiedzi czasowej:
1.1. Niezmienno odpowiedzi impulsowej (ang. impulse invariant design)
1.2. Niezmienno odpowiedzi skokowej (ang. step invariant design)
2. Metody oparte na cakowaniu numerycznym:
2.1. Metoda rnicowa Eulera w przd
2.2. Metoda rnicowa Eulera wstecz
2.3. Transformacja biliniowa
Doczony do instrukcji m-plik a_prot.m umoliwia wykrelenie podstawowych
charakterystyk przedstawiajcych waciwoci badanych filtrw:
1. Przebiegi czasowe:
odpowied na wymuszenie impulsowe,

6-11

odpowied na wymuszenie skokowe;


2. Charakterystyki czstotliwociowe:
amplitudowa charakterystyka w skali liniowo liniowej,
amplitudowa charakterystyka w skali logarytmiczno logarytmicznej.
Dziaanie filtrw cyfrowych przeanalizowa dla rnych wartoci parametru (parametr ten
wprowadza si do oblicze jako krotno okresu prbkowania). Przetestowa filtry dla =
20Ts, = 10Ts, = 2Ts, = 0,5Ts. Dla kadego filtru cyfrowego trzeba okreli czy wystpuj
rnice w odpowiedziach czasowych midzy prototypem analogowym a filtrem cyfrowym.
Na podstawie odpowiednich twierdze (przykady zamieszczone w [3] oraz niniejszej
instrukcji) naley policzy wartoci pocztkowe i kocowe odpowiedzi impulsowych i
skokowych oraz wzmocnienie staoprdowe i wzmocnienie dla czstotliwoci Nyquista dla
kadego z filtrw cyfrowych oraz dla prototypu analogowego.
ZL6.2. Naley wyznaczy wspczynniki filtru cyfrowego zaprojektowanego metod
transformacji biliniowej prototypu analogowego o transmitancji podanej wzorem (6.7) dla
czstotliwoci granicznej fg = 1000Hz (g = 2fg = 1/). Pulsacj graniczn prototypu filtra
analogowego wyznaczy zgodnie ze wzorem (6.53). Do oblicze przyj czstotliwo
prbkowania rwn fs = 10kHz. Wyznaczy charakterystyk amplitudow filtru i odpowiedzi
na wymuszenie impulsowe, skokowe. Wyznaczy odpowiedzi na wymuszenia sinusoidalne
(dla czstotliwoci sygnau f = (10Hz, 100Hz, 1000Hz, 4000Hz, 5000Hz)); sprawdzi jak
zmienia si amplituda, faza i czstotliwo sygnau wyjciowego w stosunku do wejciowego.
Zmieni czstotliwo graniczn filtru cyfrowego na fg = 4000Hz i zaobserwowa zmiany w
charakterystykach czasowych i czstotliwociowych.
ZL6.3. Wyniki pracy na laboratorium naley zamieci w sprawozdaniu, ktre naley
uzupeni o wnioski i ewentualne obliczenia i przynie na nastpne zajcia w postaci
elektronicznej.

6.4. Literatura
[1] J. A. Wojciechowski: Sygnay i systemy. Warszawa 2008.
[2] T. P. Zieliski: Cyfrowe przetwarzanie sygnaw. Warszawa 2007.
[3] J. Nieznaski: Sygnay i systemy. Niepublikowane materiay wykadowe. Gdask 2010.

6-12

7. Ptla synchronizacji fazowej


7.1. Cel wiczenia
Celem wiczenia jest zapoznanie si z zasad dziaania i implementacj ptli
synchronizacji fazowej PLL (ang. Phase Locked Loop).

7.2. Podstawy teoretyczne


W energoelektronice algorytm synchronizacji fazowej PLL stosowany jest do
synchronizacji przebiegw napi i/lub prdw z napiciem zasilajcym. W instrukcji
przedstawiono implementacj synchronizacji fazowej w przypadku trjfazowego napicia
zasilajcego.
Na rys. 7.1 przedstawiono schemat blokowy ukadu synchronizacji fazowej
w przypadku trjfazowego napicia zasilajcego. Synchronizacja fazowa w omawianym
przypadku oparta jest na transformacji Clarke-Parka. Realizuje ona transformacj
skadowych z trjfazowego stacjonarnego ukadu odniesienia do ortogonalnego wirujcego
ukadu odniesienia (rys. 7.2).
Regulator proporcjonalno-cakujcy (PI) z poprawnie dobranymi wartociami nastaw i
ukadem cakujcym powoduj sprowadzanie do zera wartoci skadowej napicia uq.
Skadowa napicia uq jest rwna zeru wtedy, gdy estymowany kt fazowy jest zgodny z
wartoci rzeczywistego kta (rys. 7.2), a take w przypadku rnicy pomidzy nimi
wynoszcej . Drugi z wymienionych przypadkw moe zachodzi jedynie przejciowo, co
zostanie skomentowane szerzej w dalszej czci instrukcji.

Rys. 7.1. Idea ptli synchronizacji fazowej z trjfazowym napiciem zasilajcym [1]
Idea realizacji ptli synchronizacji fazowej przedstawiona zostaa dla przypadku
symetrycznego trjfazowego ukadu sinusoidalnych napi kolejnoci zgodnej, ktre opisane
s rwnaniem (7.1).

7-1

Rys. 7.2. Wykres wskazowy prezentujcy wektor przestrzenny napicia i jego skadowe
ortogonalne w ukadzie stacjonarnym - i wirujcym d-q

uabc

U cos (t )
m

u a

= ub = U m cos t
3

uc

U m cos t +
3

(7.1)

gdzie: ua, ub, uc,- napicia trjfazowe, Um amplituda napi, - pulsacja napi
Transformacja Clarke (opisana rwnaniem macierzowym (7.2)) pozwala wyznaczy wartoci
skadowych ortogonalnych napicia zasilajcego u i u, na podstawie skadowych
trjfazowych.

2
u
3
= =
u 0

1
3

3
3

1
3
uabc
3

3

(7.2)

gdzie: u, u - skadowe ortogonalne napicia w stacjonarnym ukadzie odniesienia


Po przeksztaceniach z wykorzystaniem tosamoci trygonometrycznych dla sumy i
rnicy ktw funkcji kosinus, skadowe napicia u i u mona wyrazi za pomoc
zalenoci (7.3)

7-2

u = ua = U m cos (t )

3
( ub uc ) = U m sin (t )
u =
3

(7.3)

Transformacja Parka (opisana rwnaniem macierzowym (7.4)) umoliwia obliczenie


skadowych ortogonalnych napicia zasilajcego ud i uq w wirujcym z pulsacj ukadzie
odniesienia zgodnie z ukadem rwna (7.5).
ud cos ( t ) sin ( t )
udq = =
u
uq sin ( t ) cos ( t )

(7.4)

gdzie: - estymowana przez ptl synchronizacji fazowej pulsacja napi zasilajcych.


ud = u cos ( t ) + u sin ( t )

uq = u sin ( t ) + u cos ( t )

(7.5)

Po podstawieniu zalenoci (7.3) do rwna (7.5) uzyskano:


ud = U m cos (t ) cos ( t ) + U m sin (t ) sin ( t )

uq = U m cos (t ) sin ( t ) + U m sin (t ) cos ( t )

(7.6)

Po kolejnych przeksztaceniach, wykorzystujcych tosamoci trygonometrycznych uzyskuje


si uproszczenie zapisw umoliwiajcych wyznaczenie skadowych napicia ud i uq
ud = U m cos (t t )

uq = U m sin (t t )

(7.7)

Podstawiajc rnice pomidzy faz napicia zasilajcego i faz estymowan przez ptl
synchronizacji fazowej (zgodnie z (7.8)) do zestawu rwna (7.7) uzyskano zestaw rwna
(7.9)
t =
t t = =

t =

(7.8)

gdzie: - kt fazowy wektora przestrzennego napicia zasilajcego, - kt fazowy napicia


zasilajcego estymowany przez ptl synchronizacji fazowej (rys. 7.2).
ud = U m cos ( )

uq = U m sin ( )

(7.9)

W przypadku synchronizacji wirujcego ukadu odniesienia z napiciem zasilania


(wwczas = 0) skadowe napicia ud i uq wynosz odpowiednio:
u d = U m

u q = 0

(7.10)

Skadowa uq zapewnia ujemne sprzenie zwrotne dla ukadu regulacji ptli


synchronizacji fazowej. W przypadku wyznaczenia przez ptl synchronizacji fazowej zbyt
7-3

duej wartoci kta fazowego w stosunku do jego wartoci rzeczywistej skadowa uq


przyjmuje warto ujemn. Ujemna warto skadowej uq powoduje poprzez regulator
zmniejszenie estymowanej wartoci pulsacji ktowej , a w konsekwencji dziki ukadowi
cakujcemu, zmniejszenie bdu estymowanego kta fazowego .
Naley zwrci uwag, i w przypadku uzyskania przez ptl synchronizacji fazowej
estymacji kta napicia z bdem k, gdzie k jest nieparzyst liczb cakowit, uzyskuje si
take zerow warto skadowej uq. Omawiany przypadek moe wystpi jedynie
przejciowo, poniewa wwczas skadowa uq stanowi dodatnie sprzenie zwrotne (zgodnie z
rwnaniem (7.11)), zatem jest to niestabilny punkt pracy, z ktrego pod wpywem dowolnego
wymuszenia rnego od zera algorytm PLL zostanie wyprowadzony.

uq = Um sin ( + k ) = Um sin ( ) - dla k nieparzystego

(7.11)

Niekorzystne jest jednak, i w przypadku maksymalnego bdu estymacji kta fazowego


warto skadowej uq (ktra stanowi uchyb regulacji) wynosi zero. W [1] zaproponowano
modyfikacj wartoci uchybu wedug nastpujcej zalenoci (rys. 7.3):

uq
dla ud >= 0

e = U m ud dla ud < 0 uq >= 0


U + u dla u < 0 u < 0
d
q
m d

(7.12)

Powysza modyfikacja zapewnia krtszy czas regulacji w przypadku wystpienia bdu


estymacji wikszego co od moduu od /2.
2
1.5
1

e/U , u /U

0.5
0
-0.5
-1
-1.5
-2
-1

-0.8

-0.6

-0.4

-0.2

0
/ [rad/]

0.2

0.4

0.6

0.8

Rys. 7.3. Zmodyfikowana charakterystyka uchybu e w stosunku do skadowej napicia uq [1]


W celu dobrania nastaw regulatora typu PI zlinearyzowano obiekt regulacji
(rys. 7.4) [2]. Wystpujc w zapisie na skadow napicia uq funkcj sinus (zgodnie z (7.9))
dla maych wartoci bdu estymacji mona zastpi wartoci bdu estymacji :

e = Um sin ( ) Um
7-4

(7.13)

(s)

( s )

E (s)

R (s)

(s)

1
s

(s)

Rys. 7.4. Zlinearyzowany model ptli synchronizacji fazowej [2]


Nastawy regulatora dobrano wykorzystujc dostpne w bibliotece Control System
Toolbox narzdzie Designing PID Controllers (rys. 7.6). Narzdzie to wymaga
przeksztacenia schematu blokowego do postaci zaprezentowanej na rys. 7.5.
Y * (s)

E (s)

R (s)

U (s)

G (s)

Y (s)

Rys. 7.5. Schemat blokowy wykorzystywany w narzdziu strojcym wartoci


nastaw regulatora Designing PID Controllers
W omawianym przypadku transmitancja obiektu G(s) jest iloczynem wzmocnienia Um
i transmitancji ukadu cakujcego zgodnie z ponisz zalenoci:

G ( s) =

Um
s

(7.14)

Poniej przedstawiono sposb wywoania narzdzia strojcego nastawy regulatora Designing


PID Controllers w omawianym przypadku.
Um=230*sqrt(2);% amplituda napi zasilajcych
B=Um;
% wspczynnik licznika transmitancji obiektu G(s)
A=[1 0];
% wspczynniki mianownika transmitancji obiektu G(s)
sys=tf(B,A);
% utworzenie transmitancji obiektu dla zadanych
wspczynnikw B i A
pidtool(sys,'pi') % wywoanie narzdzia Designing PID Controllers dla
regulatora PI

Narzdzie to umoliwia dobr nastaw regulatora w dwu trybach podstawowym Basic


i rozszerzony Extended (rys. 7.6). W trybie podstawowym Basic uytkownik zadaje czas
regulacji. W wymienionym trybie uytkownik nie ma wpywu na ksztatowanie wartoci
dopuszczalnego przeregulowania. Wicej moliwoci uytkownikowi przysparza tryb
rozszerzony Extended, w ktrym projektant specyfikuje bezporednio pulsacj odcicia oraz
zapas fazy ukadu regulacji (rys. 7.6). Dla zadanej pulsacji odcicia nastpuje spadek
wzmocnienia zamknitego ukadu regulacji o 3 dB. W omawianym przypadku ustawiono
czstotliwo odcicia na 100 [rad/s] (rys. 7.7). Dla tej wartoci pulsacji ktowej sygnau
zmieniajcego czstotliwo napi zasilajcych estymowana amplituda zmian pulsacji
1
ktowej przez ptl synchronizacji fazowej ma o
zanion warto. Zmieniajc
2
wymagany dla ukadu regulacji zapas fazy uytkownik wpywa na przebieg stanu
przejciowego (maksymalne przeregulowanie, oscylacje). Zwikszenie wymaganego zapasu
fazy przez uytkownika wpywa na zmniejszenie si maksymalnego przeregulowania
i oscylacji w stanie przejciowym. Ze wzgldu na to, e rozwaany ukad regulacji jest

7-5

astatycznym drugiego rzdu narzucono stosunkowo du warto zapasu fazy - 85 deg,


uzyskujc 89 deg (rys. 7.8).

Rys. 7.6. Narzdzie strojce wartoci nastaw regulatora Designing PID Controllers

Rys. 7.7. Charakterystyka czstotliwociowa Bodego zamknitego ukadu regulacji


generowana przez narzdzie strojce wartoci nastaw regulatora Designing PID Controllers

7-6

Rys. 7.8. Charakterystyka czstotliwociowa Bodego otwartego ukadu regulacji generowana


przez narzdzie strojce wartoci nastaw regulatora Designing PID Controllers
Wartoci

wspczynnika

wzmocnienia

Kp

czasu

zdwojenia

Ti

regulatora

1
o transmitancji R ( s ) = K p 1 + w funkcji wzmocnie Kp_DC i Ki_DC dla regulatora
Ti
projektowanego za pomoc narzdzia Designing PID Controllers o transmitancji
K
RDC ( s ) = K p_DC + i_DC wynosz:
s

K p = K p_DC = 0.30739

K p_DC 0.30739

T
=
=
= 0.57137
i

K
0.53799
i_DC

(7.15)

7.3. Wyniki symulacji ptli synchronizacji fazowej


Badania symulacyjne ptli synchronizacji fazowej byy przeprowadzone
w nastpujacych uwarunkowaniach:
1. Zasymulowano symetryczny trjfazowy ukad napi zasilajacych kolejnosci zgodnej
zawierajcy jedynie skadow podstawow,
2. Amlitud symulowanych napie sieciowych ustawiono na 230*sqrt(2) V 325 V,
3. Zrealizowano modyfikacje czstotliwoci symulowanych napi zasilajacych z pulsacj
10 rad/s i amplitud 3Hz,
4. Dla czasu symulacji 20 ms zrealizowano skokow zmian fazy symulowanych napi
zasilania,
5. Nastawy regulatora proporcjonalno-cakujcego przyjeto zgodnie z rwnaniami (7.15),
6. Zrealizowano dyskretyzacj regulatora metod dwuliniow z zastosowaniem techniki
prewarping,

7-7

7. Czstotliwo prbkowania ustawiono na 10 kHz,


8. Wprowadzono predykcj estymowanego kta fazowego dla chwili k, uwzgldniajc jego
warto w chwili k-1 oraz estymowan warto pulsacji katowej w chwili k-1. Zaoono
w tym przypadku, i pulsacja katowa nie zmienia si w okresie prbkowania,
9. Uwzgldniono modyfikacj uchybu zgodnie z funkcj sklejan (7.12).
Na rys. 7.9 przedstawiono przebiegi skadowych napicia u i u uzyskane za pomoc
transformacji Clarke skadowych trjfazowych. Mona zauway skokow zmian ich kta
fazowego dla czasu 20 ms, a take fluktuacje ich okresw, spowodowan sygnaem
modulujacym o pulsacji 10 rad/s i amplitudzie 3 Hz.
400

U [V]

200
0
-200
-400
0

0.02

0.04

0.06

0.08

0.1
t [s]

0.12

0.14

0.16

0.18

0.2

0.02

0.04

0.06

0.08

0.1
t [s]

0.12

0.14

0.16

0.18

0.2

400

U [V]

200
0
-200
-400
0

Rys. 7.9. Przebiegi skadowych napicia u i u


Na rys. 7.10 przedstawiono przebiegi skadowych napicia zasilajcego ud, uq oraz
uchybu e. Wymienione skadowe, w przypadku symetrycznego trjfazowego ukadu napi
zawierajcych wycznie skadow podstawow, przyjmuj wartoci stae w stanie ustalonym.
Mona zaobserwowa rnice w przebiegach podczas stanu przejciowego spowodowanego
skokow zmian fazy pomidzy skadow uq a uchybem e. Uchyb e w stosunku do skadowej
uq gwatownie zmienia swoj warto oddziaujc niezwocznie i z du wartoci na
regulator, ktry zdecydowanie szybciej doprowadza ukad PLL do synchronizacji.

7-8

200
0

U [V]

400

-200
-400
0

0.02

0.04

0.06

0.08

0.1
t [s]

0.12

0.14

0.16

0.18

0.2

0.02

0.04

0.06

0.08

0.1
t [s]

0.12

0.14

0.16

0.18

0.2

0.02

0.04

0.06

0.08

0.1
t [s]

0.12

0.14

0.16

0.18

0.2

200
0

U [V]

400

-200
-400
0

e [V]

0
-200
-400
-600
0

Rys. 7.10. Przebiegi skadowych napicia ud, uq oraz uchybu e


Na rys. 7.11 przedstawiono przebiegi czstotliwoci symulowanych napi zasilajcych,
czstotliwoci estymowanej przez ptl synchronizacji fazowej oraz bdy estymacji
czstotliwoci i kta fazowego.

fPLL, f [Hz]

50
40
30
20
0

0.1

0.2

0.3

0.4

0.5
t [s]

[deg]

f [Hz]

0.7

0.8

0.9

30
20
10

-50
-100
-150

0
0

0.6

0.2

0.4

0.6

0.8

t [s]

0.2

0.4

0.6

0.8

t [s]

Rys. 7.11. Przebiegi: czstotliwoci symulowanych napi zasilajcych, czstotliwoci


estymowanej przez ptl synchronizacji fazowej oraz
bdw estymacji czstotliwoci i kta fazowego
7-9

Dla uwzgldnionego wymuszenia skokowej zmiany kta fazowego mona zauway


stosunkowo krtki czas regulacji. Wprowadzenie zmian czstotliwoci z pulsacj 10 rad/s
i amplitud 3 Hz jest stosunkowo precyzyjnie odtwarzane przez ptl synchronizacji fazowej.
Mona by skrci czas regulacji dobierajc nastawy regulatora dla wikszej wartoci
czstotliwoci odcicia. Jednake wwczas ptla synchronizacji fazowej jest bardziej czua na
wysze harmoniczne zawarte w przebiegach napi. Wysze harmoniczne wystpujce w
napiciu zasilajcym powoduj wprowadzenie skadowej zmiennej do przebiegw
skadowych napicia ud i uq, a w konsekwencji take do przebiegw estymowanej pulsacji
i fazy.

7.4. Wykaz zada do wykonania


7.4.1. Zadania do wykonania przed zajciami
ZD7.1. Zapozna si z treciami teoretycznymi oraz wynikami symulacji ptli synchronizacji
fazowej.
7.4.2. Zadania do wykonania w trakcie zaj laboratoryjnych
ZL7.1. Zbada wpyw wyszych harmonicznych na prac ptli synchronizacji fazowej dla 6%
amplitudy podstawowej harmonicznej w przypadku pitej harmonicznej i 5% w przypadku
sidmej harmonicznej. Naley wygenerowa pit harmoniczn kolejnoci przeciwnej
i sidm harmoniczn kolejnoci zgodnej.
ZL7.2 W przypadku wygenerowania wyszych harmonicznych naley dobra nastawy
regulatora dla czstotliwoci odcicia 10 rad/s i wycign wnioski dotyczce pracy ptli
synchronizacji fazowej dla pulsacji zmieniajcej warto czstotliwoci generowanych napi
10 rad/s i skokowej zmiany kta fazowego generowanych napi o warto .

7.5. Literatura
[1] A. Cichowski, materiay niepublikowane.
[2] S. K. Chung: Phase-locked loop for grid-connected three-phase power conversion
systems, Electric Power Applications, IEE Proceedings Electr., Vol. 147, No.3, 2000.

7-10

Z7.1. Skrypt PLL.m


close all; clear all;
% parametry symulacji
fs=1e4;
% czstotliwo prbkowania
Ts=1/fs;
% okres prbkowania
t=0:1/fs:1-1/fs;
% dyskretny czas symulacji
w=10;
% pulsacja ktowa sygnau zmieniajcego czstotliwo
% podstawow symulowanego ukadu napi
f=50+3*sin(w*t);
% czstotliwo podstawowa symulowanego ukadu
% trjfazowego napi
Um=230*sqrt(2);
% amplituda symulowanych napi trjfazowych
% regulator PI
Kp=0.30739;
% wspczynnik wzmocnienia regulatora PI
Ti=0.57137;
% czas zdwojenia regulatora PI
B=[Kp*Ti Kp];
% wspczynniki licznika regulatora PI
A=[Ti 0];
% wspczynniki mianownika regulatora PI
[Bz, Az]=bilinear(B,A,fs,w/(2*pi));% transformacja dwuliniowa regulatora PI
% z zastosowaniem techniki "prewarping"
% macierz transformacji Clarke
Tclark=[2/3 -1/3 -1/3; 0 sqrt(3)/3 -sqrt(3)/3];
% inicjalizacja zmiennych
teta=0;
% inicjalizacja kta fazowego napi trjfazowych
teta_PLL=0;
% inicjalizacja kta fazowego estymowanego przez
% algorytm ptli synchronizacji fazowej
w_PLL=50*2*pi;
% inicjalizacja pulsacji ktowej estymowanej przez
% algorytm ptli synchronizacji fazowej
e=0;
% inicjalizacja uchybu
% iteracje symulacji
for k=2:length(t)
teta(k)=teta(k-1)+2*pi*f(k)*Ts; % akumulacja (cakowanie) kta fazowego
% symulowanych napi trjfazowych
if(k==200);
% dla czasu 200*Ts wywoanie skokowej
% zmiany kta fazowego symulowanych napi
teta(k)=teta(k)-pi;
% skokowa zmiana kta fazowego o pi
end;
% generacja trjfazowego, symetrycznego ukadu napi trjfazowych
% kolejnosci zgodnej
Uabc(1,k)=Um*cos(teta(k));
% generacja napicia fazy a
Uabc(2,k)=Um*cos(teta(k)-2*pi/3);
% generacja napicia fazy b
Uabc(3,k)=Um*cos(teta(k)+2*pi/3);
% generacja napicia fazy c
% transformacja Clarke'a napi trjfazowych do ukadu stacjon. alfa-beta
Uab(:,k)=Tclark*Uabc(:,k);
% predykcja estymowanego kta dla chwili k na podstawie kta z z chwili k-1
teta_PLL_trans=teta_PLL(k-1)+w_PLL(k-1)*Ts;
% macierz transf. Parka skadowych napicia Uab do ukadu wirujcego d-q
Tpark=[cos(teta_PLL_trans) sin(teta_PLL_trans); ...
-sin(teta_PLL_trans) cos(teta_PLL_trans)];
% transformacja Parka skadowych napicia Uab do ukadu wirujcego d-q
Udq(:,k)=Tpark*Uab(:,k);
% modyfikacja uchybu e
if((Udq(1,k)<0)&(Udq(2,k)>=0))
e(k)=Um-Udq(1,k);
elseif((Udq(1,k)<0)&(Udq(2,k)<0))
e(k)=-Um+Udq(1,k);
else
e(k)=Udq(2,k);
end;
% implementacja cyfrowa regulatora PI
w_PLL(k)=-Az(2)*w_PLL(k-1)+Bz(1)*e(k)+Bz(2)*e(k-1);

7-11

% akumulacja (cakowanie) estymowanego kta fazowego


teta_PLL(k)=teta_PLL(k-1)+w_PLL(k)*Ts;
end;
% Generacja wykresw
cz=20;
figure; subplot(2,1,1); plot(t,Uab(1,:),'b','LineWidth',2.5); grid on;
set(gca,'FontSize',cz,'FontWeight','normal','LineWidth',2.5, ...
'GridLineStyle','--','XLim',[0 0.2],'FontName','Times New Roman CE');
xlabel('\itt \rm[s]','FontSize',cz,'FontWeight','normal', ... 'FontName',
'Times New Roman CE');
ylabel('\itU_\alpha \rm[V]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
subplot(2,1,2); plot(t,Uab(2,:),'b','LineWidth',2.5); grid on;
set(gca,'FontSize',cz,'FontWeight','normal','LineWidth',2.5, ...
'GridLineStyle','--','XLim',[0 0.2],'FontName','Times New Roman CE');
xlabel('\itt \rm[s]','FontSize',cz,'FontWeight','normal', ...
'FontName', 'Times New Roman CE');
ylabel('\itU_\beta \rm[V]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
figure; subplot(3,1,1); plot(t,Udq(1,:),'b','LineWidth',2.5); grid on;
set(gca,'FontSize',cz,'FontWeight','normal','LineWidth',2.5, ...
'GridLineStyle','--','XLim',[0 0.2],'YLim',[-400 400], ...
'FontName', 'Times New Roman CE');
xlabel('\itt \rm[s]','FontSize',cz,'FontWeight','normal', ...
'FontName', 'Times New Roman CE');
ylabel('\itU_d \rm[V]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
subplot(3,1,2); plot(t,Udq(2,:),'b','LineWidth',2.5); grid on;
set(gca,'FontSize',cz,'FontWeight','normal','LineWidth',2.5, ...
'GridLineStyle','--','XLim',[0 0.2],'YLim',[-400 400], ...
'FontName','Times New Roman CE');
xlabel('\itt \rm[s]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
ylabel('\itU_q \rm[V]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
subplot(3,1,3); plot(t,e,'b','LineWidth',2.5); grid on;
set(gca,'FontSize',cz,'FontWeight','normal','LineWidth',2.5, ...
'GridLineStyle','--','XLim',[0 0.2],'YLim',[-700 100], ...
'FontName','Times New Roman CE');
xlabel('\itt \rm[s]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
ylabel('\ite \rm[V]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
figure; subplot(2,1,1); plot(t,w_PLL/(2*pi),'r',t,f,'b','LineWidth',2.5);
grid on;
set(gca,'FontSize',cz,'FontWeight','normal','LineWidth',2.5, ...
'GridLineStyle','--','XLim',[0 1],'YLim',[15 55], ...
'FontName','Times New Roman CE');
xlabel('\itt \rm[s]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
ylabel('\it\color{red}f\color{black}\rm, \it\color{blue}f\rm_P_L_L
\color{black}\rm[Hz]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
subplot(2,2,3); plot(t,f-w_PLL/(2*pi),'b','LineWidth',2.5); grid on;
set(gca,'FontSize',cz,'FontWeight','normal','LineWidth',2.5, ...
'GridLineStyle','--','XLim',[0 1],'YLim',[-5 35],'FontName','Times New
Roman CE');

7-12

xlabel('\itt \rm[s]','FontSize',cz,'FontWeight','normal', ...


'FontName','Times New Roman CE');
ylabel('\Delta\itf \rm[Hz]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
subplot(2,2,4);plot(t,(teta-teta_PLL)/pi*180,'b','LineWidth',2.5); grid on;
set(gca,'FontSize',cz,'FontWeight','normal','LineWidth',2.5, ...
'GridLineStyle','--','XLim',[0 1],'YLim',[-180 20], ...
'FontName','Times New Roman CE');
xlabel('\itt \rm[s]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');
ylabel('\Delta\it\theta \rm[deg]','FontSize',cz,'FontWeight','normal', ...
'FontName','Times New Roman CE');

7-13

You might also like