Detekcja, filtr dopasowany, odbiór k

Transkrypt

Detekcja, filtr dopasowany, odbiór k
Laboratorium Cyfrowego Przetwarzania Sygnałów
Preskrypt do v.2014Z
ćwiczenie nr 6 z 10 (Detekcja, filtr dopasowany,
odbiór korelacyjny)
na prawach rękopisu
Lista Autorów
Zakład Teorii Obwodów i Sygnałów
Instytut Systemów Elektronicznych
Wydział Elektroniki i Technik Informacyjnych
Politechnika Warszawska
Uwagi redakcyjne prosimy zgłaszać do: [email protected] tel. 5441
Warszawa, 27 listopada 2014, 23:05
Spis treści
6
Detekcja, filtr dopasowany, odbiór korelacyjny
6.1 Podstawy teoretyczne . . . . . . . . . . . . . . . . . . . . .
6.1.1 Krótka teoria filtru dopasowanego . . . . . . . . . .
6.1.2 Krótka teoria modulacji PSK z rozpraszaniem widma
6.1.3 Zadania do pracy własnej studenta . . . . . . . . . .
6.2 Eksperymenty do wykonania w laboratorium . . . . . . . .
6.2.1 Filtr dopasowany . . . . . . . . . . . . . . . . . . .
6.2.2 Detekcja sygnałów za pomocą filtru dopasowanego .
6.2.3 Przesyłanie sygnału z wielodostępem kodowym . . .
6.2.4 Przetwarzanie sygnału rzeczywistego . . . . . . . .
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
7
11
11
11
13
16
17
Ćwiczenie 6
Detekcja, filtr dopasowany, odbiór
korelacyjny
Opiekun ćwiczenia: KK
6.1. Podstawy teoretyczne
6.1.1. Krótka teoria filtru dopasowanego
W wielu praktycznych urządzeniach odbieramy pewien sygnał o znanym przebiegu na tle szumu i zakłóceń, i pożądane jest, aby wyznaczyć pewne parametry tego sygnału – np. stwierdzić,
czy i w jakiej chwili czasowej taki sygnał odebrano, jaka była jego amplituda i/lub faza. Przykładami mogą być:
– Ucho nietoperza, który poluje na ćmę wysyłając krótkie piski i oceniając odległość do niej
poprzez opóżnienie echa (musi więc wiedzieć czy w odebranym sygnale znajduje się echo,
i w jakiej chwili nadeszło).
– Odbiornik GPS, w którym trzeba określić opóźnienie kilku sygnałów pseudolosowych względem siebie.
– Odbiornik telekomunikacyjny z modulacją QAM, w którym trzeba określić amplitudę i fazę
sygnału w odpowiedniej chwili czasu.
We wszystkich tych zagadnieniach konieczne jest zmniejszenie wpływu szumu i zakłóceń
na podejmowaną decyzję, przy czym można wykorzystać wiedzę na temat sygnału nadawanego s[n].
Klasyczny problem detekcji (taki jak w przypadku nietoperza, sonaru czy radaru) polega
na testowaniu dla interesujących chwil czasu dwóch hipotez:
– hipoteza H1 : x[n] = s[n] + ξ[n] – w odebranym sygnale x[n] oprócz szunu znajduje się
sygnał użyteczny s[n];
– hipoteza H0 : x[n] = ξ[n] – w odebranym sygnale x[n] występuje tylko szum ξ[n].
Nie wnikając zbyt daleko w teorię, powiemy tu tylko, że musimy w tym celu obliczyć
pewną wielkość liczbową reprezentującą prawdopodobieństwo, że zachodzi hipoteza H1 i porównać ją z odpowiednio ustalonym progiem.
Zarówno w zagadnieniu detekcji jak i w układzie decyzyjnym odbiornika telekomunikacyjnego potrzebny jest mozliwie “czysty” sygnał, zawierający jak najmniej zakłóceń. Nie jest
3
4
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
Rys. 6.1: Przykładowy sygnał widoczny na tle szumu
konieczne zachowanie kształtu sygnału – potrzebna jest wartość liczbowa mówiąca jaka jest w
danej chwili amplituda (i w niektórych zastosowaniach faza) sygnału użytecznego w sygnale
odebranym.
Te rozważania prowadzą do następującego zagadnienia: potrzebujemy metody przetworzenia sygnału, która na wyjściu da nam impuls proporcjonalny do amplitudy sygnału, mozliwie
jak najsilniejszy w stosunku do szumu (patrz rys. 6.1).
Dysponując takim układem możemy, na podstawie położenia maksimum, ustalić czas nadejścia echa. Na podstawie porównania wartości tego maksimum z progiem wyznaczonym z
wartości średniej możemy podjąć decyzję, czy w ogóle sygnał uzyteczny odebrano.
Tu można dać przykład prehistorycznego filtru do radiotelegrafu Morse'a.
Ustalmy więc założenia w taki sposób, aby łatwo było znaleźć rozwiązanie:
– Przyjmijmy, że nadawany jest znany sygnał s[n] o ograniczonym czasie trwania.
– Szum ξ[n] niech będzie szumem białym o rozkładzie gaussowskim, który dodaje się do
sygnału użytecznego (addytywny, biały szum gaussowski – po angielsku AWGN).
– Nie wiemy czy, nie wiemy w jakiej chwili czasu ani z jaką amplitudą odebrany został sygnał
s[n]
– Chcemy na wyjściu układu maksymalizować stosunek szczytowej wartości impulsu (związanego z obecnością sygnału użytecznego) do średniej wartości szumu; ten warunek najłatwiej sformułować korzystając z pojęcia mocy – a więc maksymalizujemy kwadrat wartości
szczytowej impulsu do średniej mocy szumu.
– Układu przetwarzającego sygnał szukamy wśród przyczynowych układów liniowych i stacjonarnych.
Przyjmujemy więc, że sygnał odebrany ma postać
x[n] =


s[n − n0 ] + ξ[n]
dla n0 ¬ n ¬ n0 + P

ξ[n]
dla pozostałych n
(6.1)
gdzie P + 1 jest liczbą próbek nadawanego deterministycznego sygnału użytecznego s[n].
Skoro szukamy naszego filtru wśród układów liniowych, możemy oddzielnie obliczyć jak
zostanie przetworzony szum, a jak sygnał użyteczny.
Jeśli sy [n] jest sygnałem na wyjściu filtru, otrzymanym przez przetworzenie sygnału użytecznego s[n], a η[n] jest szumem na wyjściu filtru otrzymanym przez przetworzenie białego
szumu w[n], to stosunek sygnał/szum na wyjściu filtru definiujemy ilorazem
ρ=
|sy (n0 + P )|2
E {|η(n0 + P )|2 }
(6.2)
Zauważmy, że wielkość ρ jest definiowana niekonwencjonalnie. Pod pojęciem stosunek sygnał/szum rozumie się na ogół iloraz mocy (wariancji), natomiast (6.3) jest ilorazem kwadratu
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
5
modułu sygnału użytecznego na wyjściu filtru w chwili n0 + P i wariancji szumu na wyjściu
filtru.
Dlaczego wynik badamy dopiero w chwili n0 + P ? Szukamy filtru przyczynowego, więc
wcześniej filtr nie ma dostępu do całego sygnału użytecznego.
Filtr liniowy, przyczynowy i stacjonarny, na wyjściu którego wielkość ρ osiąga największą
możliwą wartość ρmax nazywamy filtrem dopasowanym do sygnału użytecznego (deterministycznego) s[n] . O tym w jaki sposób znaleźć filtr dopasowany rozstrzyga następujące
Twierdzenie. Jeśli sygnał deterministyczny s[n] o skończonym czasie trwania, n = 0, 1, . . . , P ,
jest odbierany w obecności addytywnego szumu białego w[n] o zerowej wartości średniej i wariancji σw2 , to filtrem dopasowanym do sygnału s[n] jest filtr, którego odpowiedź impulsowa
spełnia warunek
h[n] = s∗ [P − n]
(6.3)
gdzie ∗ jest operatorem sprzężenia (istotnym tylko jeśli sygnał s[n] jest zespolony).
Filtry utworzone przez dalsze opóźnianie i/lub skalowanie odpowiedzi impulsowej h[n]
oczywiście też są filtrami dopasowanymi. Zauważ, że h(n) to s∗ (n) odwrócony w czasie (i
opóźniony, aby filtr był przyczynowy).
Tu można pokazać (nieobowiązkowo) wyprowadzenie, bo ono jest eleganckie matematycznie i wcale nietrudne.
Na rys. 6.2 przedstawiono przykładowy przebieg sygnału s[n], sygnału odwróconego s[−n]
i odpowiedź impulsową h[n] przyczynowego filtru dopasowanego do sygnału s[n].
Rys. 6.2: Przykładowy przebieg sygnału s[n] i odpowiedzi impulsowej h[n] przyczynowego
filtru SOI dopasowanego do sygnału s[n]
Dla uproszczenia w dalszych rozważaniach założymy, że sygnały są rzeczywiste.
Rozpatrzmy dokładniej sygnał sy [n] (sygnał użyteczny po przejściu przez filtr dopasowany) przyjmując n0 = 0.
Ponieważ
n
n
sy (n) =
X
h(k)s(n − k) =
k=0
X
s(p − k)s(n − k)
(6.4)
k=0
to w chwili n = P otrzymamy
sy (P ) =
P
X
k=0
s(P − k)s(P − k) =
P
X
|s(m)|2
(6.5)
m=0
W zależności (6.5) tkwi „cała tajemnica” filtru dopasowanego – w chwili czasu n = P próbka
sygnału wyjściowego określa energię sygnału użytecznego (sumę kwadratów próbek). Przy
6
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
okazji zauważmy, że filtr dopasowany realizuje splot s[n] ∗ s[−n], a więc oblicza on funkcję
autokorelacji sygnału s[n].
Przykład 6.1. Przypuśćmy, że sygnał użyteczny ma postać impulsu prostokątnego o wartości A i odbierany jest z opóźnieniem n0


s[n] = 
A
dla n = n0 , n0 + 1, . . . , n0 + NF − 1
0
dla pozostałych n
(6.6)
Filtrem dopasowanym do sygnału (6.6) będzie filtr uśredniający o odpowiedzi impulsowej1


h[n] = 
1/NF
dla n = 0, 1, . . . , NF − 1
0
dla pozostałych n
(6.7)
Sygnał użyteczny na wyjściu sy [n] dla n = n0 + NF − 1 jest równy A, a więc przechodzi
przez filtr ze wzmocnieniem 1. Natomiast szum biały (o wariancji σw2 ) po przejściu przez
filtr uśredniający ma wariancję (w stanie ustalonym) σw2 /NF . Zmniejszenie wariancji szumu
na wyjściu filtru uśredniającego jest zrozumiałe – zmienne losowe w(n) szumu białego są
nieskorelowane, a więc ich uśrednienie zmniejsza poziom szumu wyjściowego. Iloraz (6.3)
przyjmuje wartość maksymalną dla n = n0 + NF − 1 równą
ρmx =
A2 NF
σw2
(6.8)
Przykład 6.2. Przypuśćmy, że sygnał użyteczny jest zespoloną cosinusoidą
s[n] =


Aejnθo , n = n0 , n0 + 1, . . . , n0 + NF − 1

0
dla pozostałych n
(6.9)
gdzie A jest rzeczywistą amplitudą, a θ0 jest unormowaną ustaloną pulsacją.
Z sygnałem (6.9) mamy bardzo często do czynienia w impulsowych systemach radiolokacyjnych. Rzeczywisty sygnał mikrofalowy (impulsowy) jest emitowany przez nadajnik i odbija
się od obiektu znajdującego się w przestrzeni. W odbiorniku sygnał ten jest demodulowany w
demodulatorze kwadraturowym, tj. wymnażany przez cosinusoidę i sinusoidę o częstotliwości
sygnału nadawanego i filtrowany filtrem dolnoprzepustowym.
Jeżeli echo jest odbite od obiektu nieruchomego, na wyjściu detektora kwadraturowego
otrzymujemy sygnał o kształcie takim, jak obwiednia sygnału nadanego i o stałej fazie. Jeżeli
jedna obiekt się porusza, faza sygnału odbitego się zmienia w czasie i uzyskujemy zespolony
sygnał jak powyżej, gdzie θ0 reprezentuje unormowaną pulsację dopplerowską wynikającą
z ewentualnego radialnego ruchu obiektu wykrywanego.
Zauważmy, że w rozpatrywanym przykładzie sygnał (6.9) jest zespolony. W tym przypadku odpowiedź impulsowa przyczynowego filtru dopasowanego jest opisana zależnością
h[n] = s∗ (N − n)
1
(6.10)
Zauważ, że w stosunku do definicji z Twierdzenia (6.1) wprowadzono czynnik skalujący 1/A · 1/NF , który
nie wpływa na iloraz ρ, gdyż wchodzi i do licznika, i do mianownika.
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
7
analogiczną do (??).
Przyjmując N = NF − 1 i n0 = 0 otrzymujemy z (6.10)
h[n] =


Ae−j(NF −1−nθo ) ,
n = 0, 1, . . . , NF − 1

0
dla pozostałych n
(6.11)
Splatając odpowiedź impulsową h[n] z sygnałem (6.9) dla n0 = 0 otrzymamy sygnał na wyjściu filtru
n
sy [n] =
X
A2 e−j(NF −kθ0 ) · ej(n−k)θ0
(6.12)
k=0
Dla n = NF − 1 otrzymujemy z (6.12) maksymalną wartość sygnału wyjściowego
sy (NF − 1) = A2 NF
(6.13)
określającego energię sygnału użytecznego (6.9). Wielkość ρ przyjmuje dla n = NF − 1
wartość maksymalną określoną wzorem (6.8).
Wnikliwy czytelnik zarzuci nam akademickość przykładu (6.2). – jeśli θ0 interpretować
jako pulsację dopplerowską, której odpowiada pewna (nieznana) prędkość radialna obiektu
wykrywanego przez radar, to w jaki sposób nie znając θ0 można zrealizować filtr dopasowany?
Otóż tworzy się wówczas bank filtrów pasmowych nastrojonych na różne pulsacje środkowe
θ1 , θ2 , . . . , θk i analizuje się sygnały wyjściowe z poszczególnych filtrów. Najsilniejszy sygnał
(w odpowiedniej chwili czasowej) otrzymamy z r-tego filtru dla którego θr ∼
= θ0 . Można
wówczas mówić, że filtr ten jest w przybliżeniu dopasowany do sygnału (6.9), otrzymujemy
wówczas wartość ρ ¬ ρmx .
6.1.2. Krótka teoria modulacji PSK z rozpraszaniem widma
Niniejszy rozdział nie jest wyczerpującym podręcznikiem teorii modulacji, ma tylko za zadanie przekazanie najważniejszych informacji umozliwiajacych wykonanie ćwiczenia i nabycie
podstawowego zrozumienia sygnałowych podstaw kodowania z rozpraszaniem widma.
Kodowanie z rozpraszaniem widma pozwala na wykorzystanie do transmisji pasma szerszego niż to wynika z samego strumienia danych.
6.1.2.1. Kodowanie bipolarne i PSK
Stosunkowo prostym kodowaniem strumienia danych binarnych jest kodowanie bipolarne –
dane kodowane są jako impulsy o stałej szerokości czasowej T i o wartości +1 dla bitu „1”
oraz −1 dla bitu „0”. (rysunek) Widmo takiego sygnału zajmuje w przybliżeniu2 pasmo o
szerokosci B = 1/T . Oznaczmy dalej taki sygnał jako x(t), a jego widmo jako X(jω).
Jeżeli teraz każdy z impulsów bipolarnych pomnożymy przez pewien sygnał c(t), po stronie widmowej będzie temu odpowiadać splot z widmem C(jω). Najprostszym przykładem
jest tu zwykła modulacja PSK, w której sygnał c(t) = sin(Ωt) jest sinusoidą – wtedy wartości “0” i “1” strumienia danych kodowane są poprzez odwrócenie fazy tej sinusoidy. Widmo
S(t) sygnału zmodulowanego s(t) – wskutek wzmiankowanego splotu – przesuwa się do częstotliwości F = 2πΩ (patrz rys. 6.3 i rys. 6.4).
2
Przybliżenie polega na pominięciu listków bocznych widma. W praktyce stosuje się pewną modyfikację sygnału, mającą na celu zmniejszenie tych listków – wykorzystuje się impulsy o kształcie różnym od prostokątnego.
8
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
Rys. 6.3: Schemat kodowania PSK
Rys. 6.4: Widmo sygnału PSK
6.1.2.2. Kodowanie z rozpraszaniem widma (DSS)
W modulacji z rozpraszaniem widma sygnałem c(t) jest sygnał pseudolosowy o czasie trwania
T – powtórzony w czasie dla każdego bitu do zakodowania (rys. 6.5).
Sygnał ten jest szybkozmienny (w czasie T następuje wiele zmian jego wartości) i nie
zawiera składowych okresowych (w idealnym przypadku). Może on więc zajmować szerokie
pasmo, znacznie szersze niż 1/T . Jeśli jest on generowany cyfrowo z częstotliwością próbkowania Ts , może zajmować pasmo o szerokości Bs = 1/Ts . W takiej sytuacji mówimy często
Rys. 6.5: Schemat kodowania z rozpraszaniem widma (DSS)
2014-11-27 23:05
Detekcja, filtr dopasowany, odbiór korelacyjny
9
Rys. 6.6: Widmo sygnału DSS
o sekwencji rozpraszającej, mając na myśli sekwencję (ciąg) próbek sygnału c(t). Akronim
DSS oznacza „Direct Spread Spectrum”.
Mnożąc s(t) i c(t), splatamy ich widma – w ten sposób widmo sygnału zakodowanego
poszerza się (rozprasza), a sam sygnał bardzo przypomina szum (rys. 6.6).
Przy odkodowaniu (detekcji) sygnału odbieranego na tle szumu wykorzystuje się filtr dopasowany do oryginalnego sygnału c(t). W przypadku modulacji PSK odpowiedź impulsowa
filtru będzie odcinkiem sinusoidy3 , a w przypadku sygnału z rozpraszaniem widma – odwróconą w czasie sekwencją pseudolosową użytą w nadajniku. Podkreślmy, że odbiornik musi
znać tę sekwencję.
Po filtracji dopasowanej każdy symbol ai (któremu odpowiada przebieg ai · c(t − i · T )
przyjmie postać (ai · c(t−i · T ))∗c(−t), gdzie ∗ jest operatorem splotu (filtracji). Operator ten
jest liniowy i niezmienniczy względem przesunięcia, otrzymamy więc impuls o amplitudzie
ai kształcie c(t) ∗ c(−t) przesunięty do chwili i · T .
Sygnał pseudolosowy jest bardzo dobry w roli sygnału c(t), gdyż z dużym prawdopodobieństwem jego splot z nim samym ma kształt wąskiej i wysokiej szpilki na tle niewielkiego
szumu – zauważ, że gdyby c(t) potraktować jako realizację sygnału losowego, to c(t) ∗ c(−t)
byłoby estymatą jego funkcji autokorelacji. Ciąg takich wąskich szpilek będzie bardzo łatwy
do zdetekowania (i określenia znaku ich amplitudy).
W praktyce telekomunikacyjnej stosuje się specjalnie dobrane (deterministyczne) sygnały
c(t), mające wszystkie pożądane cechy – w szczególności szpilkowy kszałt c(t) ∗ c(−t).
6.1.2.3. Wielodostęp CDMA – przesyłanie kilku sygnałów w jednym kanale fizycznym
Odpowiedni dobór różnych sekwencji rozpraszających pozwala przesłać w jednym kanale fizycznym wiele strumieni danych. Polega to na wykorzystaniu sekwencji (np. c1 (t) i c2 (t) takich, aby filtr dopasowany do jednej z nich był zupełnie niedopasowany do drugiej. Wtedy
3
Filtr musi być dopasowany do pojedynczego symbolu; filtr dopasowany do nieskończonej sinusoidy miałby
nieskończenie wąskie pasmo i nie przeniósłby na wyjscie żadnych zmian fazy.
10
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
Rys. 6.7: Schemat wielodostępu CDMA
Rys. 6.8: Słowo 10-bitowe z bitami startu i stopu
układ jak na rysunku (rys. 6.7) zapewni poprawne rozdzielenie dwóch strumieni danych4 .
Odpowiada to warunkowi c1 (t) ∗ c2 (t) = 0, który jest praktycznie nierealizowalny – zastępuje się go warunkiem, aby amplituda tego splotu była mozliwie niewielka w porównaniu
ze szczytową wartością c1 (t) ∗ c1 (t) czy c2 (t) ∗ c2 (t). Jeśli odbiornik jest dobrze zsynchronizowany – dokładnie znany jest moment, kiedy powinna wystąpić szczytowa wartość sygnału
– warunek dotyczy chwili próbkowania wartości szczytowej, czyli t = 0, i mówimy wtedy o
kodach ortogonalnych – iloczyn skalarny c1 i c2 (a więc splot dla chwili t = 0) ma byc równy
zeru.
6.1.2.4. Sygnał kodowany wykorzystywany w laboratorium
W laboratorium będziemy badać sygnał CDMA, w którym zakodowane bedzie 10-bitowe słowo (bit startu=1, 8 bitów informacji, bit stopu=0 – patrz rys. 6.8).
Sekwencja rozpraszająca będzie pseudolosową sekwencją bipolarną, tj. będzie się składać
z wartości +1 i -1. Przy domyślnych ustawieniach długość sekwencji rozpraszającej będzie
wynosiła 1000 próbek.
4
W praktyce np. telefonii komórkowej 3G liczba jednoczesnych strumieni danych jest znacznie większa –
wtedy potrzeba też wiekszej liczby różnych sekwencji ci (t).
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
11
6.1.3. Zadania do pracy własnej studenta
Podobne zadania mogą znaleźć się na wejściówce. Nie dotyczy to zadań oznaczonych tu jako
”trudne”.
1) Jaka będzie odpowiedź filtru dopasowanego do sekwencji próbek s[n] = [+1, − 1, −
1, + 1, − 1, + 1]?
2) Jeśli na powyższy filtr podamy sygnał s[n] to jaki sygnał otrzymamy na wyjściu (oblicz
dla każdej chwili czasu)?
3) Jeśli na powyższy filtr podamy szum biały gaussowski o mocy 1 – jaką moc będzie
miał szum na wyjściu?
4) Oblicz wartość stosunku sygnał/szum ρ (patrz wzór (6.2)) na wejściu i na wyjściu filtru.
Ile razy wzrósł ten stosunek?
5) Pewien sygnał wytworzono, pobudzając impulsem jednostkowym δ(n) filtr przyczynowy SOI o charakterystyce częstotliwościowej H(ejθ ). Jaką charakterystykę częstotliwościową
będzie miał filtr dopasowany do tego sygnału?
6) Rozważ sygnał z czasem ciągłym, którego widmo amplitudowe ma kształt prostokąta
od −ω0 do +ω0 , a fazowe równe jest zeru. Jak będzie wyglądał przebieg czasowy tego sygnału?
Jaki będzie czas trwania głównej części sygnału?
7) Rozważ rodzinę sygnałów o skończonym czasie trwania równym N i postaci
xk (n) =

 ejn 2πk
N

0
dla0 ¬ n < N
w pozostałych przypadkach
a) Oblicz odpowiedź w chwili n = N −1 przyczynowego filtru dopasowanego do sygnału
xk pobudzonego tym sygnałem.
b) Wykaż, że odpowiedź filtru dopasowanego do sygnału xk będzie w chwili n = N − 1
równa dokładnie zeru dla każdego innego sygnału z tej rodziny.
c) Wykaż, że N-punktowa DFT takiego sygnału zachowa się jak bank filtrów dopasowanych do tej rodziny, tj. na k-tej pozycji w transformacie będzie dokładnie taka sama wartość,
jak w chwili n = N − 1 na wyjściu filtru dopasowanego do funkcji xk .
Wskazówka: Zauważ, że wszystkie sygnały xk będą na odcinku N próbek miały całkowitą
liczbę okresów.
6.2. Eksperymenty do wykonania w laboratorium
6.2.1. Filtr dopasowany
6.2.1.1. Filtr dopasowany do znanej sekwencji próbek
Zbadaj odpowiedź filtru dopasowanego do sekwencji próbek podanej przez prowadzącego.
Zapisz wektor sygnału s(n) (przykładową wartość zastąp sekwencją podaną przez prowadzącego). Dla lepszej wizualizacji uzupełnij sygnał zerami z obu stron i stwórz wektor in-
12
Odpowiedz
Odpowiedz
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
deksów n odpowiadający sytuacji, gdy zadany sygnał rozpoczyna się5 od próbki o indeksie
zerowym.
» s=[1 3 -2 2 -3 -1]
» s0=[zeros(1,10), s, zeros(1,10)]
» n0=[-10:(length(s)+9)]
» plot(n0,s0)
» title('Sygnal wejsciowy')
Utwórz wektor współczynników filtru dopasowanego do sygnału s(n)
» h=s(end:-1:1)
Zbadaj odpowiedzi filtru dopasowanego: impulsową i na sygnał s0
» delta_n=(n0==0)% same 0 (false) i 1 (true) na pozycji gdzie n=0
» figure();
» y_delta=filter(h,1,delta_n);
» plot(n0, y_delta);
» title('Odpowiedz impulsowa filtru dopasowanego')
» figure()
» y_s0=filter(h,1,s0);
» plot(n0, y_s0);
» title('Odpowiedz filtru dopasowanego na sygnal')
Odpowiedz na pytanie: Jaka jest szczytowa wartość odpowiedzi filtru? Porównaj tę
wartość z energią sygnału (uzasadnij wynik porównania).
Zbadaj odpowiedź filtru na biały szum gaussowski η(n) o wariancji takiej samej, jak średnia
moc sygnału s(n)
» figure()
» p_s=(s*s')/length(s) % moc średnia
» eta=sqrt(p_s)*randn(size(s0)) %szum
» plot(n0,eta);
» title('Szum');
» y_eta=filter(h,1,eta);
» figure()
» plot(n0, y_eta);
» title('Odpowiedz filtru dopasowanego na szum')
Odpowiedz na pytanie: Ile razy wzrosła po filtracji szczytowa wartość sygnału (odczytaj
z poprzedniego rysunku)? Ile razy – orientacyjnie – wzrosła po filtracji amplituda szumu
(oszacuj wartość na rysunku i porównaj z sqrt(p_s))? O ile dB wzrósł stosunek sygnału
do szumu?
6.2.1.2. Filtr dopasowany do impulsu prostokątnego
Przed dalszą pracą uporządkuj środowisko:
» close all; clear all
Wygeneruj pojedynczy impuls prostokątny o czasie trwania 20 próbek, uzupełnij go 30
zerami z każdej strony.
5
Z matematycznego punktu widzenia rozpatrujemy sygnały o nieskończonym czasie trwania i ograniczonej
energii. Pisząc „sygnał rozpoczyna się…” używamy pewnego skrótu myślowego; dla ścisłości matematyczej
powinnismy użyć skomplikowanego sformułowania „sekwencja niezerowych próbek sygnału rozpoczyna się …”
2014-11-27 23:05
Detekcja, filtr dopasowany, odbiór korelacyjny
13
» s=ones(1,20);
» s0=[zeros(1,30), s, zeros(1,30)];
Oblicz autokorelację sygnału6 .
» plot(xcorr(s))
» title('Autokorelacja impulsu 20-probkowego');
Odpowiedz na pytanie: Jaką wartość szczytową powinna mieć odpowiedź filtru dopasowanego do sygnału badanego, gdy sygnałem wejściowym jest właśnie ten sygnał? Jak
odpowiedź filtru jest związana z obliczona przed chwilą autokorelacją? Wyprowadź i zapisz
wyrażenie na wartość szczytową takiej odpowiedzi dla impulsu prostokątnego o dowolnej
długości L.
Stwórz filtr dopasowany do sygnału s(n) i wyświetl jego odpowiedź na sygnał s0
Zanotuj wartość szczytową sygnału na wyjściu filtru.
Zweryfikuj poprawność podanego w Twojej odpowiedzi na poprzednie pytanie wzoru, powtarzając eksperyment dla innej długości impulsu.
Odpowiedz
Zanotuj
6.2.1.3. Filtr dopasowany do impulsu z modulacją pseudolosową
Nie zamykaj rysunków z poprzedniego zadania.
Wymnóż sygnał z poprzedniego zadania przez ciąg pseudolosowy (biały, gaussowski)
» s_wg=s.*randn(size(s));
» s0_wg=[zeros(1,30), s_wg, zeros(1,30)];
Wykonując podobną sekwencję instrukcji jak w poprzednim zadaniu, wyświetl odpowiedź
filtru dopasowanego do sygnału z modulacją na taki sygnał.
Odpowiedz na pytania:
Jakie widzisz zasadnicze różnice w kształcie odpowiedzi filtru w tym zadaniu i w
poprzednim? Zwróć uwagę na szerokość listka głównego odpowiedzi.
Uzasadnij różnice w szerokości listka głównego. Wskazówka: Jaki kształt ma
funkcja autokorelacji szumu białego? (albo:) Ile wynosi współczynnik korelacji dwóch niezależnych zmiennych losowych?
6.2.2. Detekcja sygnałów za pomocą filtru dopasowanego
Detektorem optymalnym (wśród układów liniowych i stacjonarnych) dla znanego sygnału
ukrytego w białym szumie gaussowskim jest detektor oparty na filtrze dopasowanym i detekcji progowej. Będziemy dalej badać rolę filtru dopasowanego w takim detektorze.
W tej części ćwiczenia będziemy posługiwać się gotową funkcją generującą sygnał o znanym kształcie i nieznanym połozeniu czasowym, ukryty w szumie. Funkcja generuje sygnały
pojedyncze lub (typ=0) wszystkie naraz, ukryte w jednym ciągu próbek.
Funkcja [x, y, np, znak]=c6_gen(typ, sn, n, n1) ma następujące parametry:
typ - rodzaj sygnalu ukrytego w szumie
0 - sygnaly 1-5 i dwa znaki sygnału kodowego nalozone na siebie
6
Skrót myślowy – pojęcie autokorelacji dotyczy sygnałów losowych. Sygnał s(n) jest tu deterministyczny,
ale możemy go potraktować jako jedną realizację sygnału losowego, zdefiniowanego jako impuls prostokątny o
znanym kształcie, lecz losowej chwili początkowej. Wtedy polecenie „oblicz” możemy uściślić jako „wyestymuj
z jednej znanej realizacji”…
Odpowiedz
14
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
1 - sygnal staly
2 - sinusoida
3 - świergot (chirp)
4 - szum kolorowy
5 - świergot (chirp) zespolony
6 - sygnal kodowany CDMA
sn - stosunek sygnału do szumu [dB]
n - dlugosc rekordu danych (domyślnie 100000)
n1 - dlugosc pojedynczego sygnalu ukrytego (domyślnie 10000)
parametry wyjsciowe:
x - sygnal wyjsciowy
y - wzorzec sygnalu ukrytego - wszystkie sygnały podane są w wierszach o poniższych indeksach:
1 - sygnal staly (impuls prostokatny)
2 - sinusoida o losowej czestotliwosci
3 - świergot f=0.1..0.4
4 - szum kolorowy
5 - świergot zespolony
6 - sekwencja rozpraszajaca c1 (kanał pierwszy)
7 - sygnal zakodowany s1=x1*c1 (kanał pierwszy)
8 - sekwencja rozpraszajaca c2 (kanał drugi)
9 - sygnal zakodowany (kanał drugi)
np - miejsca poczatków sygnalów
Aby zrozumieć pojęcie sygnału kodowanego CDMA i rolę parametrów y([6:9],:)
zapoznaj się z rozdziałem 6.1.2.
Przed eksperymentami uporządkuj środowisko.
» clear all; close all
6.2.2.1. Proste sygnały
Zanotuj
Zanotuj
Poniższą sekwencję eksperymentów przeprowadź kolejno dla wszystkich sygnałów prostych
(typ=1…5). Dla każdego z sygnałów wyświetl wyniki analizy różnymi technikami i ustal, przy
jakiej wartości S/N można określić chwilę czasową wystąpienia sygnału. Rozpocznij badania
przy wartości S/N wynoszącej -30 dB i zwiększaj ją z wybranym skokiem (np. 6 dB).
Wyświetl przebieg czasowy, widmo (FFT), spektrogram sygnału.
» typ=1; SNR=-30
» [x, y]=c6_gen(typ,SNR);
» plot(x);
» figure()
» %…(student dalej przejawia inicjatywę)
Zanotuj (dla każdego sposobu wizualizacji) przy jakiej wartości S/N było możliwe wykrycie sygnału na wykresie.
Wyświetl autokorelację sygnału (wzorca)7
» templ=y(typ,:);
» plot(xcorr(templ,templ));
7
Sugerowana nazwa zmiennej templ pochodzi od angielskiego terminu template czyli wzorzec.
2014-11-27 23:05
Detekcja, filtr dopasowany, odbiór korelacyjny
15
Zanotuj maksymalną wartość autokorelacji
Przefiltruj sygnał filtrem dopasowanym do wzorca, wyświetl wynik i zanotuj przy jakiej
wartości S/N mozliwe jest wykrycie sygnału.
Zanotuj
6.2.2.2. Sygnał z rozpraszaniem widma
W tym zadaniu spróbujemy zastosować filtr dopasowany do zdekodowania sygnału z rozpraszaniem widma (CDMA).
Nie będziemy się odnosić do poprzednich wyników – można przed eksperymentami uporządkować środowisko.
» clear all; close all
Wygeneruj i zapamiętaj sygnał CDMA przy wartości S/N równej -10 dB. Pomocniczo zapamiętaj wszystkie parametry wyjściowe funkcji c6_gen.
» [x, y, np, znak]=c6_gen(6,-10);
Zbadaj sekwencję rozpraszającą – wyświetl jej autokorelację i widmo
» sscode=y(6,:)
» plot(xcorr(sscode,sscode));
» figure();
» plot(abs(fft(sscode)));
Zanotuj maksymalną amplitudę autokorelacji i uzasadnij w protokole tę wartość.
Zbadaj podobnie cały sygnał x – wyświetl jego autokorelację i widmo
Odpowiedz na pytanie: Dlaczego na wykresie autokorelacji widoczna jest “szczotka”
krótkich impulsów?
Zastosuj filtr dopasowany utworzony na podstawie kodu rozpraszającego do detekcji transmitowanego znaku. Sygnał przetwórz przy pomocy matlab'a, natomiast sam proces detekcji
przeprowadź poprzez przyjrzenie się wykresowi.
Wskazówka: Ciąg bitów zakodowanego sygnału rozpoczyna się bitem startu (zawsze
o wartości 1), a kończy bitem stopu (zawsze o wartości 0).
Zanotuj odkodowany znak tekstowy posługując się tablicą kodów ASCII i pokaż do
weryfikacji prowadzącemu.
Zanotuj
Odpowiedz
Zanotuj
16
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
Tablica kodów ASCII
b0-b3
b4-b7
0000
0001
0010 0011
0100 0101
0110 0111
0000
NUL
DLE
SP
0
@
P
‘
p
0001
SOH
DC1
!
1
A
Q
a
q
0010
STX
DC2
”
2
B
R
b
r
0011
ETX
DC3
#
3
C
S
c
s
0100
EOT
DC4
$
4
D
T
d
t
0101
ENQ
NAK
%
5
E
U
e
u
0 1 1 0 ACK
SYN
&
6
F
V
f
v
0111
BEL
ETB
'
7
G
W
g
w
1000
BS
CAN
(
8
H
X
h
x
1001
HT
EM
)
9
I
Y
i
y
1010
LF
SUB
*
:
J
Z
j
z
1011
VT
ESC
+
;
K
[
k
{
1100
FF
FS
,
<
L
\
l
|
1101
CR
GS
−
=
M
]
m
}
1110
SO
RS
.
>
N
ˆ
n
˜
1111
SI
US
/
?
O
__
o
DEL
Przykładowo, znak „6” kodowany jest w 8-bitowym słowie jako 00110110.
6.2.2.3. zadanie ekstra, wyłącznie przy dużym zapasie czasu!!! Detekcja automatyczna
Napisz funkcję która automatycznie dokona detekcji.
6.2.3. Przesyłanie sygnału z wielodostępem kodowym
Zastosowanie kodów ortogonalnych i dopasowanych do nich filtrów pozwala na jednoczesne
przesyłanie wielu strumieni danych (kanałów logicznych) przez jeden kanał fizyczny. Zasymulujemy tu podstawowy mechanizm działania wielodostępu CDMA.
6.2.3.1. Dwa znaki przesyłane jednocześnie
Zanotuj
Wygeneruj sygnał, w którym będą nałożone w jednym czasie dwa zakodowane znaki. (Uwaga: są w nim ukryte w losowych chwilach czasu wszystkie dostępne sygnały!!)
» [x, y]=c6_gen(0,-10);
Obejrzyj spektrogram sygnału i zauważ na nim wzrost poziomu szumu szerokopasmowego
na pewnym odcinku czasu – prawdopodobnie tu nałożony jest sygnał kodowany (zanotuj
położenie tego odcinka).
Utwórz dwa filtry dopasowane na podstawie dwóch wzorców sygnału rozpraszającego
» h1=y(6,end:-1:1);
2014-11-27 23:05
Detekcja, filtr dopasowany, odbiór korelacyjny
17
Rys. 6.9: Połączenie mikrofonu poprzez przedwzmacniacz
» h2=y(8,end:-1:1); i przefiltruj sygnał oddzielnie każdym filtrem, a następnie zdekoduj przesyłane znaki
Zanotuj odkodowane znaki i pokaż do weryfikacji prowadzącemu.
Zanotuj
6.2.3.2. zadanie ekstra Wykrywanie wielu sygnałów
Wykryj wszystkie sygnały ukryte w szumie.
6.2.4. Przetwarzanie sygnału rzeczywistego
Zestaw stanowisko do nagrywania sygnału. Ustaw amplitudę na około 1 V (sprawdź oscyloskopem).
Połączenie mikrofonu poprzez przedwzmacniacz – patrz rysunek rys. 6.9.
Nagraj 10 sekund sygnału akustycznego, zawierającego krótkie gwizdy o szybkozmiennej
częstotliwości imitujące świergot, przeplatane z fragmentami mowy:
“ćwir, ćwir, Ala ma kota, ćwir, dwa koty, ćwir...”
Zastosuj fs = 44100 Hz.
» x=GETDATA(10*fs,1,1/fs);
6.2.4.1. Przygotowanie sygnału
– Obejrzyj przebieg czasowy sygnału i jego spektrogram. Określ na spektrogramie i zanotuj
jakie pasmo częstotliwości unormowanych (fd , fg ) zajmuje gwizd.
– Zaprojektuj filtr pasmowy 6-tego rzędu, przepuszczający interesujące pasmo:
» [B, A]=butter(6,[fd, fg]);
Przefiltruj sygnał zaprojektowanym filtrem.
Zanotuj
18
Detekcja, filtr dopasowany, odbiór korelacyjny
2014-11-27 23:05
» y=filter(B,A,x);
– Sprawdź na spektrogramie, czy filtr poprawił jakość sygnału. Odsłuchaj sygnał.
» putdata(10*x,1/44100,1)
6.2.4.2. Fitr dopasowany utworzony na podstawie rzeczywistego sygnału
Zanotuj
– Wytnij w dziedzinie czasu jeden odcinek ładnego gwizdu (odsłuchaj go, ewentualnie wybierz inny). Wybrany kawałek sygnału użyj jako wzorzec do utworzenia filtru dopasowanego.
– Przefiltruj cały sygnał.
– Dwoma kolorami wyświetl na wykresie przebieg czasowy sygnału przed i po filtrze.
Wskazówka: Przeskaluj sygnał po filtrze, żeby uzyskać podobne amplitudy na wykresie; koniecznie zanotuj współczynnik skalujący!
– Wyznacz i zanotuj stosunek amplitud przed i po filtrze dla:
– fragmentu sygnału użytego jako wzorzec świergotu
– innych fragmentów świergotu
– fragmentów z mową

Podobne dokumenty