Buduję optyczny system OOK (On off Key Ring) bez częstotliwości nośnej. [Mam jednak czas ochronny pomiędzy symbolami, więc kolejne komunikaty „1” będą skutkować ciągiem impulsów w przeciwieństwie do prądu stałego, patrz zdjęcie]. Zasadniczo obecność sygnału wskazuje jeden, a jego brak wskazuje zero. Mam precyzyjny zegar, który synchronizuje odbiornik z nadajnikiem. System działa z niskim SNR i lubię poprawiać SNR przy użyciu technik DSP.
Mam parę pytań:
W swoim sprzęcie wykonuję selektywne próbkowanie, innymi słowy, nie próbuję w sposób ciągły kanału, ale próbkuję tylko, gdy prawdopodobieństwo zobaczenia sygnału jest maksymalne (tj. Jest to impuls świetlny, czas ADC mierzę tak, że ADC próbkuje na końcu pulsu, w którym wiem, że cały łańcuch analogowy jest ustabilizowany). Zobacz obraz.
Oczywiście ten rysunek nie pokazuje hałasu, ale jest. Jest to szczególnie system o niskim poziomie sygnału, a pierwotnymi źródłami hałasu są hałas strzałowy, hałas Johnsona i hałas wewnętrzny wzmacniacza. (układ optyczny, więc nie ma innych zakłóceń oprócz Słońca). Moja obserwacja hałasu wskazuje, że jest podobny we wszystkich częstotliwościach. (Przynajmniej to, co widzę w zakresie)
Teraz używam prostego porównania progów w oprogramowaniu, aby ustalić, czy dane są równe jeden czy zero. Czy jest lepszy sposób? Myślałem o niektórych opcjach, ale lubię słuchać od ekspertów.
Do tej pory rozważałem następujące opcje:
Wykonuj ciągłe ADC i staraj się zintegrować w czasie wzrostu: Nie jestem całkowicie pewien korzyści (mogą istnieć inne korzyści, nie wiem).
Dopasowany filtr w oprogramowaniu: tak naprawdę nie rozumiem matematyki, ale na podstawie tego, co przeczytałem, możliwość
Próbkuj podczas czasu ochronnego i odejmij to od wartości sygnału ADC (może to dostarczyć pewnych dalszych szczegółów, ale także nie jestem pewien, czas ochronny byłby pomiarem hałasu)
Zmień sprzęt na synchroniczny dekoder, który jest kosztowny, czasochłonny i może nie działać dobrze, ponieważ moja szybkość przesyłu danych jest szybka, a uzyskanie synchronicznego demodulatora oznaczałoby kosztowną płytę, ponieważ musiałem zbudować system częstotliwości wielu MHz.
źródło
Odpowiedzi:
Ponieważ wskazałeś, że spektrum mocy szumu tła jest płaskie, założę się, że jest biały . Główną wadą obecnego podejścia jest to, że odrzucasz dużą ilość mocy sygnału; nawet z efektem ograniczenia pasma z przodu pokazanego na schemacie przez odpowiedź skokowego wzrostu wykładniczego, pojedyncza próbka ADC pod koniec zaokrąglonego impulsu zapewnia migawkę wejścia odbiornika, który jest raczej zlokalizowany w czasie. Możesz skorzystać z większej mocy sygnału, próbkując z wyższą częstotliwością i stosując dopasowany filtr przy wyższej częstotliwości próbkowania.
Teoria:
Można na to spojrzeć jako stosunkowo prosty problem w teorii wykrywania . W każdym przedziale symboli odbiornik musi wybierać między dwiema hipotezami:
Tego rodzaju problem jest często rozwiązywany za pomocą bayesowskich reguł decyzyjnych , które próbują podjąć optymalną decyzję zgodnie z określoną miarą ryzyka. Zapewnia to ramy, w których można optymalnie podejmować decyzje dotyczące wykrywania w oparciu o elastyczny zestaw kryteriów. Na przykład, jeśli istnieje duża kara do systemu za brak wykryć sygnał, jeśli jest w rzeczywistości obecnej (tj wybrać gdy H 1 jest prawdą), wówczas można zbudować że w swojej reguły decyzyjnej w razie potrzeby.H0 H1
W przypadku problemu z wykrywaniem, takiego jak twój, gdy próbujesz zdecydować między zerami a zerami na wyjściu odbiornika, zwykle przyjmuje się, że kara jest równa (wyprowadzenie zera, gdy jeden został przesłany, i odwrotnie, „boli równo” ). Podejście bayesowskie w tym przypadku sprowadza się do estymatora największego prawdopodobieństwa (również tutaj opisanego ): wybierasz hipotezę, która jest najbardziej prawdopodobna, biorąc pod uwagę obserwację dokonaną przez odbiornik. Oznacza to, że jeśli ilość, którą obserwuje odbiornik, wynosi , wygenerowałoby to decyzję na podstawie hipotezy, która ma największą wartość funkcji prawdopodobieństwa . W przypadku decyzji binarnej zamiast tego można zastosować współczynnik prawdopodobieństwa:x
Korzystając z powyższego modelu, dla każdej obserwacji kanału optymalny odbiornik zdecydowałby, że sygnał nie był obecny (a zatem wyprowadzał zero), jeśli współczynnik prawdopodobieństwa Λ ( x ) jest większy niż jeden (a zatem sygnał był najprawdopodobniej nieobecność na podstawie obserwacji) i odwrotnie.x Λ(x)
Pozostał model interesującego sygnału i wszelkich innych elementów statystyki wykrywania odbiornika które mogłyby wpłynąć na jego decyzje. W przypadku takiej komunikacji cyfrowej można ją modelować w następujący sposób:x
gdzie jest zmienną losową wziętą z pewnego rozkładu (często przyjmowaną za zero-średnią gaussowską), a s jest deterministycznym składnikiem obserwacji wynikającym z poszukiwanego sygnału. Dlatego rozkład obserwowalnego odbiornika x zmienia się w zależności od tego, czy hipoteza H 0 czy H 1 jest prawdziwa. Aby ocenić współczynnik wiarygodności, potrzebujesz modelu tego, czym są te rozkłady. W przypadku Gaussa, o którym mowa powyżej, matematyka wygląda następująco:n s x H0 H1
gdzie jest wariancją terminu szumu Gaussa. Należy zauważyć, że addytywna składowa sygnału ma jedynie funkcję przesunięcia średniej wynikowego rozkładu Gaussa x . Współczynnik logarytmu wiarygodności można wykorzystać do pozbycia się wykładniczych:σ2 x
Ćwiczyć:
Jak wspomniałem wcześniej, hałas często przyjmuje się za gaussowski, ponieważ rozkład normalny jest tak łatwy do pracy: suma grupy niezależnych Gaussianów jest nadal gaussowska, a ich średnia i wariancje po prostu również dodają. Również statystyki pierwszego i drugiego rzędu rozkładu są wystarczające, aby je całkowicie scharakteryzować (biorąc pod uwagę średnią i wariancję rozkładu Gaussa, możesz napisać jego pdf ). Mamy nadzieję, że jest to przyzwoite przybliżenie przynajmniej dla twojej aplikacji.
whereFx | x=s+N(z) is the cumulative distribution function of the distribution of the observation x , given that x=s+N (and likewise for the other function). Substituting in the cdf for the Gaussian distribution, we get:
whereQ(x) is the Q function:
(i.e. the tail integral of the standard normal distribution's pdf, or1 minus the distribution's cdf) and SNR is the signal-to-noise ratio sσ . The above function is a strictly decreasing function of SNR ; as you increase the ratio of the signal amplitude s to the noise standard deviation σ , the probability of making a bit decision error decreases. So, it behooves you to do whatever you can to increase this ratio.
Remember our assumption that the noise was white and Gaussian? That can help us now. If the noise is white and Gaussian, then the noise components contained in each observation are jointly independent of one another. An important property of independent random variables is that when you sum them together, their means and variances sum. So, let's consider another simple case, where instead of taking one sample per symbol interval, you take two, then sum them together. I'll assume for simplicity that the pulse shape is rectangular (not an exponential rise), so the signal components in each observation x1 and x2 is the same. What is the difference in signal to noise ratio between just a single observation x1 and the sum of two independent ones?
So, the signal to noise ratio in the combined observation is larger than using only a single sample (under the assumption of equal signal component and equal-variance white Gaussian noise in both samples that we took). This is a basic observation that points out the potential benefits of taking more than one sample per symbol interval and integrating them together (which, for a rectangular pulse, is a matched filter). In general, you want to cover the entire symbol interval with samples so that your receiver "ingests" as much of the transmitted energy for each symbol, thus maximizing the SNR in the combined output. The ratio of symbol energy to the background noise varianceEsN0 is often used as a figure of merit when evaluating digital communications system performance.
More rigorously, it can be shown that a matched filter has an impulse response that is identical in shape (that is, "matched", with the only subtle exception being that the impulse response is reversed in time) to the pulse shape that the receiver sees (so it weights more strongly samples that have larger signal components). That shape is a function of the transmitted pulse shape as well as any effects induced by the channel or receiver front end, such as bandlimiting or multipath.
To implement this sort of arrangement in practice, you would convolve the stream of samples taken by your ADC with the time-reversed expected pulse shape. This has the effect of calculating the cross-correlation between the pulse shape and the received signal for all possible time offsets. Your implementation is aided by the precise time synchronization that you have available, so you'll know exactly which matched filter output samples correspond to correct sampling instants. The filter outputs at those times are used as the detection statisticx in the theoretical model above.
I referred to threshold selection before, which can be a complicated topic, and there are many different ways that you can choose one, depending upon your system's structure. Selecting a threshold for an on-off-keyed system is complicated by the likely-unknown signal amplitudes ; other signal constellations, like antipodal signaling (e.g. binary phase shift keying, or BPSK) have a more obvious threshold choice (for BPSK, the best threshold is zero for equally-likely data).
One simple implementation of a threshold selector for OOK might calculate the mean of many observations. Assuming that zeros and ones are equally likely, the expected value of the resulting random variable is half of the signal amplitude, which is the threshold that you seek. Performing this operation over a sliding window can allow you to be somewhat adaptive to varying background conditions.
Note that this is only intended to be a high-level introduction to the issues inherent in digital communications with respect to detection theory. It can be a very complicated topic, with a lot of statistics involved; I tried to make it somewhat easy to understand while keeping true to the underlying theory. For a better explanation, go get a good textbook, like Sklar's.
źródło
One possible technique might be to try using periodic training sequences to gather statistics, not only to differentiate between the 1's and 0's, or to calculate a reliability metric for any given threshold, but to analyze how various bit sequences might affect an adaptive bit decision threshold.
źródło