SPRAWOZDANIE Z LABORATORIUM Podstawy i algorytmy przetwarzania sygnałów |
|||
Grzegorz Bil 132461 |
|
Termin: Piątek 1115 |
Data wyk. ćw. |
|
|
|
2006. 04. 01 |
Ćwiczenie nr 3 Iloczyn skalarny, splot, funkcja korelacji. |
Ocena |
1. Iloczyn skalarny.
Iloczyn skalarny jest to liczba określająca wzajemne położenie wektorów w przestrzeni sygnałowej. W szczególnym przypadku iloczyn skalarny wynosi 0 dla wektorów prostopadłych. Swoją maksymalną wartość osiąga dla wektorów równoległych.
Skrypt ilskal.m ilustruje wartość iloczynu skalarnego dla różnych sygnałów. Chcąc sprawdzić ortogonalność dwóch wektorów wystarczy w powyższym skrypcie umieścić instrukcje wyświetlającą alert dla wartości iloczynu skalarnego równego `0'.;
…
if IL==0 printf („są prostopadłe”)
…
2. Splot.
Za pomocą skryptu convdemo.m obserwowano splot dwóch sygnałów dyskretnych prostokątnych. Następnie przerobiono odpowiednio skrypt tak, aby możliwa była graficzna ilustracja splotu innych funkcji. Ponieważ nie zostały określone sygnały, które mają być użyte, wybrano sygnał sinusoidalny (a dokładniej jeden jego okres) oraz sygnał sinusoidalny wyprostowany dwupołówkowo. Zmiany dokonane w skrypcie przedstawiono poniżej:
…
fs=1000;
fp=1000;
n=(0:0.1:4);
tp=1/fp;
ts=n*tp;
% fala wyprostowana dwupolowkowo
a=2*cos(2*pi*fs*ts)/3;
b=2*cos(2*pi*fs*ts)/15;
c=2*cos(6*pi*fs*ts)/35;
x=(2/pi)*(1+a-b+c);
...
B=sin(2*pi*fs*ts);
y = [zeros(1,15), B, zeros(1,16)];
…
Wykres poniżej przedstawia splot obu sygnałów.
Rys. 2.1 Splot sygnału wyprostowanego dwupołówkowo i sinusoidy
Następnie za pomocą skryptu convdef.m obserwowano sploty różnych sygnałów ciągłych oraz odpowiadające im widma. Na początku obserwowano splot sygnału składającego się z dwóch sinusoid o częstotliwościach 2 i 6 Hz z sygnałem sinusoidalnym o częstotliwości 2 Hz tłumionym ekspotencjalnie. Wyniki obserwacji przedstawiają rysunki 2.2 oraz 2.3.
Rys. 2.2. Splot sygnału złożonego z dwóch sinusoid z tłumiona sinusoidą.
Rys.2.3. Widmo sygnału złożonego z 2 sinusoid, tłumionej sinusoidy oraz splotu tych sygnałów.
Rys.2.4. Splot sygnału prostokątnego prostokątnego sinusoidy.
Rys.2.5. Widmo sygnału prostokątnego, sinusoidy oraz splotu tych sygnałów.
Rys.2.6. Splot fali piłowej i sygnału chip.
Rys.2..7. Widmo sygnału piłowego, chirp oraz ich splotu.
Łatwo możemy zauważyć, że splot dwóch sygnałów w dziedzinie czasu jest iloczynem sygnałów w dziedzinie częstotliwości. Ów iloczyn doskonale widać w przypadku amplitud poszczególnych widm. Również przemnożenie jednego widma przez drugie daje specyficzny efekt w postaci wycinania fragmentów charakterystyk. Operacja ta może więc służyć do filtracji sygnałów.
3. Korelacja.
Za pomocą odpowiedniego przekształcenia skryptu corel.m dokonano obserwacji korelacji wzajemnej różnych sygnałów oraz ich zaszumionych odpowiedników. Wyniki obserwacji przedstawiono na rysunkach 3.1 i 3.2.
Rys.3.1. Korelacja sygnału sinusoidalnego i sygnału sinusoidalnego zaszumionego.
Rys.3.2. Korelacja sygnału piłowego oraz sygnału piłowego zaszumionego.
Następnie zbadano korelacje wzajemną dwóch różnych sygnałów; wybór padł na sygnał prostokątny skonstruowany za pomocą szeregu Fouriera oraz sygnał sinusoidalny tłumiony eksponencjalnie. Wyniki obserwacji przedstawiono poniżej.
Rys.3.3. Korelacja wzajemna sygnału prostokątnego z sygnałem sinusoidalnym tłumionym eksponencjalnie.
Zbadano również korelacja wzajemną sygnału sinusoidalnego, którego częstotliwość rośnie na zadanym odcinku czasu, nazywanego powszechnie chirp( ), z identycznym sygnałem przesuniętym na osi x o pewien zadany odcinek. Wyniki obserwacji przedstawiono na rysunku 3.4.
Rys.3.4. Korelacja wzajemna 2 sygnałów chirp() przesuniętych względem siebie.
Przeprowadzając odpowiednią modyfikacje skryptu corel.m dokonano analizy funkcji autokorelacji dla różnych sygnałów. W skrypcie zmiany ograniczyły się do zmiany nazw odpowiednich sygnałów tak, aby skrypt przeliczał korelacje sygnału z samym sobą. Kilka przykładów autokorelacji zamieszczono poniżej:
Rys.3.5. Autokorelacja sygnału prostokątnego (do 19-tej harmonicznej)
Rys.3.6. Autokorelacja szumu białego.
Rys.3.7. Autokorelacja dla sygnału Sa{}
4. Relacja między funkcją korelacji a splotem.
Za pomocą skryptu convcor.m dokonano obserwacji podobieństw między korelacją i splotem dla sygnału sinusoidalnego oraz sygnału sinusoidalnego eksponencjalnie tłumionego. Następnie zmodyfikowano odpowiednio skrypt, tak aby umożliwiał on obserwacje korelacji i splotu różnych sygnałów. Wyniki obserwacji przedstawiono poniżej:
Rys.4.1. Splot oraz korelacja sygnałów: impulsu prostokątnego oraz tłumionej sinusiody
Rys.4.2. Splot oraz korelacja sygnałów: Sa{} oraz prostokątnego.
Powyżej przedstawiono przykłady sygnałów, dla których splot i korelacja wzajemna pokrywają się. Istnieją też zestawienia sygnałów, dla których splot i korelacja dają inny wynik; sytuacje taka przedstawiono poniżej.
Rys.4.3. Splot oraz korelacja sygnałów: zaszumionego sin(x)/x oraz impulsu trójkątnego
Rys.4.4. Splot oraz korelacja sygnałów: sin(x)/x oraz kombinacji sygnałów chirp( )
5. Wnioski
Iloczyn skalarny sygnałów niesie wiele informacji o tych sygnałach; przede wszystkim informuje nas operacjach kacie zawartym miedzy wektorami sygnałowymi, operacjach szczególnym przypadku pozwala stwierdzić prostopadłość wektorów. Istnieje kilka metod liczenia iloczynów skalarnych; różnią się one od siebie przede wszystkim ilością wykonywanych operacji, a co za tym idzie szybkością obliczenia. Generalnie przy wykonywaniu obliczenia macierzowego Octave obliczenia są szybsze niż w pętli.
W dziedzinie przetwarzania sygnałów bardzo często wykorzystywana jest operacja splotu funkcji. Długość szeregu będącego splotem funkcji wynosi :
size(s) = size(x) +[size(y)-1]
Splot sygnałów w dziedzinie czasu odpowiada iloczynowi widm sygnałów w dziedzinie częstotliwości. Ma to bardzo ważne znaczenie gdyż umożliwia łatwe obliczenie splotu; wystarczy przejść na dziedzinę częstotliwości, operacjach obliczenie splotu sprowadzi się do obliczenia iloczynu widm. Bardzo często opisane zjawisko wykorzystywane jest do filtrowania jednych sygnałów drugimi operacjach dziedzinie częstotliwości. Przemnożenie widma danego sygnału przez odpowiednie widmo filtru prowadzi do wycięcia odpowiednich fragmentów danego sygnału.
Korelacja sygnałów informuje nas jak bardzo sygnały są do siebie zbliżone i uzyskuje swoje maksimum dla sygnałów identycznych. Szum biały dodany do sygnału poprzez na przykład transmitowanie go w kanale od nadajnika do odbiornika nie wpływa na korelacje. Funkcje korelacji można wykorzystać do detekcji sygnałów po ich transmisji. Jak powszechnie wiadomo transmisja różnych sygnałów w torach telekomunikacyjnych powoduje przekłamania oraz dodanie szumu. Aby w odbiorniku zdecydować jakie słowo kodowe odebrano można obliczyć korelacje sygnału odebranego i poszczególnych słów wzorcowych; na tej podstawie możemy zadecydować co zostało nadane. Korelacja ma szerokie zastosowanie wszędzie tam gdzie trzeba porównać ze sobą dwa sygnały i zadecydować o ich podobieństwie.
Funkcja autokorelacji jest to korelacja sygnału ze swoją kopią przesuniętą w czasie; ma ona swoje maksimum z zerze.
Zarówno operacja splotu jak i korelacji wzajemnej sygnałów maja ze sobą wiele wspólnego; w obu przypadkach wynikiem jest pole pod krzywą, jednak obliczanie go przeprowadzamy po innych zmiennych. W przypadku splotu liczymy według zmiennej τ, natomiast w przypadku korelacji przesunięty sygnał całkujemy po czasie. Niekiedy zdarza się, że funkcja korelacji i splot dają ten sam wynik; zdarza się tak, gdy jedna z funkcji będzie funkcją parzystą. W przeciwnym wypadku wyniki zachowują pewne podobieństwo; są najczęściej symetrycznymi odbiciami względem osi x bądź y lub innymi kombinacjami.