Ich baue ein optisches OOK-System (On Off Key Ring) ohne Trägerfrequenz auf. [Ich habe jedoch eine Schutzzeit zwischen den Symbolen, sodass aufeinanderfolgende "1" -Nachrichten zu einer Impulsfolge im Gegensatz zu DC führen (siehe Bild).] Im Wesentlichen zeigt das Vorhandensein eines Signals Eins an und das Fehlen von Null. Ich habe eine genaue Uhr, die den Empfänger mit dem Sender synchronisiert. Das System arbeitet mit einem niedrigen SNR und ich möchte das SNR mithilfe von DSP-Techniken verbessern.
Ich habe ein paar Fragen:
Ich taste in meiner Hardware selektiv ab, mit anderen Worten, ich taste den Kanal nicht kontinuierlich ab, sondern nur, wenn die Wahrscheinlichkeit, das Signal zu sehen, maximal ist (dh dies ist ein Lichtimpuls, ich tippe den ADC so, dass der ADC am Ende abtastet) des Pulses, wo ich weiß, dass die gesamte analoge Kette stabilisiert ist). Siehe Bild.
Natürlich zeigt diese Zeichnung das Geräusch nicht, aber es ist da. Dies ist insbesondere ein Niedrigsignalsystem, und primäre Rauschquellen sind Schrotrauschen, Johnson-Rauschen und internes Rauschen des Verstärkers. (Optisches System, es gibt also keine anderen Störer außer Sonne). Meine Beobachtung des Rauschens zeigt, dass es in allen Frequenzen ähnlich ist. (Zumindest was ich in Scope sehe)
Ich verwende jetzt einen einfachen Schwellenwertvergleich in der Software, um festzustellen, ob die Daten eins oder null sind. Gibt es einen besseren Weg? Ich habe über einige Optionen nachgedacht, höre aber gerne von Experten.
Bisher habe ich folgende Möglichkeiten geprüft:
Führen Sie eine kontinuierliche ADC durch und versuchen Sie, diese während der Anstiegszeit zu integrieren: Der Nutzen ist nicht ganz sicher (möglicherweise gibt es andere Vorteile, die ich nicht kenne).
Passender Filter in der Software: Verstehe die Mathematik nicht wirklich, aber basierend auf dem, was ich gelesen habe, eine Möglichkeit
Während der Schutzzeit abtasten und vom ADC-Wert des Signals subtrahieren (Dies kann einige weitere Details liefern, ist jedoch nicht sicher, ob die Schutzzeit die Rauschmessung ist)
Hardware auf einen Synchrondecoder umstellen, teuer, zeitaufwendig und möglicherweise nicht gut, da meine Datenrate schnell ist und ein Synchrondemodulator eine teure Karte bedeuten würde, da ich ein Multi-MHz-Trägerfrequenzsystem aufbauen muss.
quelle
Antworten:
Da Sie angegeben haben, dass das Leistungsspektrum Ihres Hintergrundrauschens flach ist, gehe ich davon aus, dass es weiß ist . Ein Hauptnachteil Ihres derzeitigen Ansatzes besteht darin, dass Sie einen großen Teil der Signalleistung verwerfen. Selbst mit dem Effekt der Front-End-Bandbegrenzung, der in Ihrem Diagramm durch die exponentiell ansteigende Sprungantwort gezeigt wird, liefert eine einzelne ADC-Abtastung nahe dem Ende des gerundeten Impulses eine Momentaufnahme des Empfängereingangs, die zeitlich ziemlich lokalisiert ist. Sie können einen größeren Teil der Signalleistung ausnutzen, indem Sie mit einer höheren Abtastrate abtasten und ein angepasstes Filter mit der höheren Abtastrate anwenden .
Theorie:
Sie können dies als ein relativ einfaches Problem in der Detektionstheorie betrachten . In jedem Symbolintervall muss sich Ihr Empfänger zwischen zwei Hypothesen entscheiden:
Diese Art von Problem wird häufig mit Bayes'schen Entscheidungsregeln gelöst , die versuchen, die optimale Entscheidung nach einem bestimmten Risikomaß zu treffen. Dies bietet einen Rahmen, in dem Erkennungsentscheidungen auf der Grundlage flexibler Kriterien optimal getroffen werden können. Wenn Ihr System beispielsweise einen großen Nachteil hat, wenn es das Signal nicht erkennt, wenn es tatsächlich vorhanden ist (dh Sie wählen wenn H 1 wahr ist), können Sie dies bei Bedarf in Ihre Entscheidungsregel integrieren.H0 H1
Bei einem Erkennungsproblem wie dem Ihren, bei dem Sie versuchen, zwischen Nullen und Einsen am Empfängerausgang zu entscheiden, wird die Strafe normalerweise als gleich angenommen (Ausgabe einer Null, wenn eine Eins gesendet wurde, und umgekehrt, "gleich verletzt"). ). Der Bayes'sche Ansatz reduziert sich in diesem Fall auf einen Maximum-Likelihood- Schätzer (auch hier beschrieben ): Sie wählen die Hypothese aus, die angesichts der Beobachtung Ihres Empfängers am wahrscheinlichsten ist. Das heißt, wenn die Menge, die Ihr Empfänger beobachtet, , wird eine Entscheidung auf der Grundlage der Hypothese generiert, die den größten Wahrscheinlichkeitsfunktionswert aufweist. Für den binären Entscheidungsfall kann stattdessen das Wahrscheinlichkeitsverhältnis verwendet werden:x
Unter Verwendung des obigen Modells würde der optimale Empfänger für jede Beobachtung des Kanals entscheiden, dass das Signal nicht vorhanden ist (daher wird eine Null ausgegeben), wenn das Wahrscheinlichkeitsverhältnis Λ ( x ) größer als Eins ist (und daher war das Signal am wahrscheinlichsten) aufgrund der Beobachtung nicht anwesend sein) und umgekehrt.x Λ(x)
Was bleibt, ist ein Modell für das interessierende Signal und alle anderen Komponenten in der Empfängererkennungsstatistik , die seine Entscheidungen beeinflussen könnten. Für eine digitale Kommunikation wie diese könnte dies folgendermaßen modelliert werden:x
Dabei ist eine Zufallsvariable, die einer Verteilung entnommen wurde (oft als Gauß-Mittelwert Null angenommen), und s ist eine deterministische Komponente der Beobachtung, die auf das von Ihnen gesuchte Signal zurückzuführen ist. Die Verteilung des beobachtbaren Empfängers x variiert daher abhängig davon, ob die Hypothese H 0 oder H 1 wahr ist. Um das Wahrscheinlichkeitsverhältnis zu bewerten, benötigen Sie ein Modell für diese Verteilungen. Für den oben genannten Gaußschen Fall sieht die Mathematik folgendermaßen aus:n s x H0 H1
wobei die Varianz des Gaußschen Rauschausdrucks ist. Es ist zu beachten, dass die additive Signalkomponente nur die Funktion hat, den Mittelwert der resultierenden Gaußschen Verteilung von x zu verschieben . Das Log-Likelihood-Verhältnis kann verwendet werden, um die Exponentiale zu beseitigen:σ2 x
Denken Sie daran, dass unsere Entscheidungsregel wenn das Wahrscheinlichkeitsverhältnis größer als eins war. Die äquivalente Log-Likelihood-Entscheidungsregel lautet, H 0 auszuwählen, wenn die Log-Likelihood größer als Null ist. Einige Algebra zeigt, dass die Entscheidungsregel reduziert auf:H0 H0
Beachten Sie, dass, wenn , dann sind beide Hypothesen gleich wahrscheinlich, und Sie müssten nur eine auswählen; Dies ist jedoch kein praktisches Problem bei kontinuierlich bewerteten Signalen. Daherkönnen wirbei einer bekannten Signalamplitudesderen Vorhandensein vor dem Hintergrund des Gaußschen Rauschens optimal erfassen, indem wir eine SchwelleT=seinstellenx=s2 s ; Ist der beobachtete Wertxgrößer alsT, deklarieren wir das anliegende Signal und senden eine Eins aus und umgekehrt.T=s2 x T
Trainieren:
Wie ich bereits erwähnt habe, wird Rauschen oft als Gauß'sch angenommen, weil die Normalverteilung so einfach zu bearbeiten ist: Die Summe einer Gruppe unabhängiger Gauß'scher ist immer noch Gauß'sch, und ihre Mittelwerte und Varianzen addieren sich ebenfalls. Auch die Statistiken erster und zweiter Ordnung der Distribution reichen aus, um sie vollständig zu charakterisieren (angesichts des Mittelwerts und der Varianz einer Gaußschen Distribution können Sie deren PDF schreiben ). Hoffentlich ist das zumindest für Ihre Anwendung eine gute Annäherung.
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.
quelle
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.
quelle