डीएसपी तकनीकों का उपयोग करके एसएनआर में सुधार


14

मैं एक वाहक आवृत्ति के बिना एक ऑप्टिकल OOK (ऑन की रिंग ऑफ) प्रणाली का निर्माण कर रहा हूं। [हालाँकि मेरे पास प्रतीकों के बीच में एक गार्ड समय है, इसलिए लगातार "1" संदेशों के परिणामस्वरूप डीसी के विपरीत एक पल्स ट्रेन का परिणाम होगा, छवि देखें]। अनिवार्य रूप से, संकेत की उपस्थिति एक को इंगित करती है और इसकी कमी शून्य को इंगित करती है। मेरे पास एक सटीक घड़ी है जो रिसीवर को ट्रांसमीटर से सिंक करती है। सिस्टम कम SNR के साथ काम करता है और मुझे DSP तकनीकों का उपयोग करके SNR में सुधार करना पसंद है।

मेरे कुछ प्रश्न हैं:

मैं अपने हार्डवेयर में चयनात्मक नमूना करता हूं, दूसरे शब्दों में, मैं लगातार चैनल का नमूना नहीं लेता हूं, लेकिन केवल नमूना होता है जब सिग्नल देखने की संभावना अधिकतम होती है (अर्थात यह एक प्रकाश नाड़ी है, मैं एडीसी को इस तरह से जोड़ता हूं कि अंत में एडीसी नमूने नाड़ी जहां मुझे पता है कि पूरी एनालॉग श्रृंखला स्थिर है)। छवि देखें यहाँ छवि विवरण दर्ज करें

स्वाभाविक रूप से, यह ड्राइंग शोर नहीं दिखाती है लेकिन यह वहाँ है। यह विशेष रूप से एक कम सिग्नल प्रणाली है और प्राथमिक शोर स्रोत शॉट शोर, जॉनसन शोर और एम्पलीफायर आंतरिक शोर हैं। (ऑप्टिकल सिस्टम ताकि सूर्य के अलावा कोई अन्य दखल न हो)। शोर का मेरा अवलोकन इंगित करता है, यह सभी आवृत्तियों में समान है। (कम से कम मैं स्कोप में क्या देख रहा हूं)

अब मैं यह निर्धारित करने के लिए सॉफ्टवेयर में एक साधारण सीमा तुलना का उपयोग करता हूं कि क्या डेटा एक या शून्य है। क्या कोई बेहतर तरीका है? मैंने कुछ विकल्पों के बारे में सोचा है लेकिन मुझे विशेषज्ञों से सुनना पसंद है।

अब तक मैंने निम्नलिखित विकल्पों पर विचार किया है:

  • निरंतर एडीसी करें और वृद्धि समय के दौरान एकीकृत करने का प्रयास करें: लाभ पर पूरी तरह से निश्चित नहीं है (अन्य लाभ भी हो सकते हैं, मुझे नहीं पता)।

  • सॉफ्टवेयर में फ़िल्टर किया गया मेल: वास्तव में गणित को नहीं समझ सकता है लेकिन जो मैंने पढ़ा है, उसके आधार पर

  • गार्ड समय के दौरान नमूना और संकेत एडीसी मूल्य से इसे घटाएं (यह कुछ और विवरण प्रदान कर सकता है लेकिन यह भी सुनिश्चित नहीं है, गार्ड समय शोर माप होगा)

  • एक तुल्यकालिक डिकोडर में हार्डवेयर बदलें, महंगा, समय लेने वाला और अच्छा काम नहीं कर सकता क्योंकि मेरे डेटा की दर तेज है और एक सिंक्रोनस डेमोडुलेटर होने का मतलब महंगा बोर्ड होगा क्योंकि मुझे एक मल्टी-मेगाहर्ट्ज वाहक आवृत्ति प्रणाली का निर्माण करना होगा।


आपका नमूना कैसे जानता है कि दाल कब होने वाली है? क्या ट्रांसमीटर और रिसीवर के बीच कुछ समय का तालमेल है?
जेसन आर

@ जेसन हां। इसका उल्लेख पाठ में किया गया है।
फ्रैंक

1
क्षमा करें, मैंने इसे अपने शुरुआती पढ़ने के दौरान याद किया। शोर कैसे विशेषता है? क्या यह सफेद है? गाऊसी? क्या यह बिल्कुल भी शोर है, या यह किसी अन्य स्रोत से हस्तक्षेप है? एक नोट के रूप में, मैं पहले दो विकल्पों पर विचार करूंगा जिन्हें आपने समकक्ष माना है, और वे आपकी समस्या के लिए प्रासंगिक हो सकते हैं, लेकिन मुझे पहले आपके सिस्टम की शर्तों के बारे में अधिक जानकारी चाहिए थी।
जेसन आर

@JasonR प्रतिक्रिया के लिए धन्यवाद, मैंने शोर के बारे में सवाल अपडेट किया।
फ्रैंक

मैं एक मैच्योर फिल्टर पर कुछ गंभीर दांव लगाऊंगा।
फ़ोनॉन

जवाबों:


9

चूंकि आपने संकेत दिया था कि आपके बैकग्राउंड शोर का पावर स्पेक्ट्रम सपाट है, तो मैं मान लूंगा कि यह सफेद है । आपके वर्तमान दृष्टिकोण के साथ एक बड़ी कमी यह है कि आप सिग्नल शक्ति की एक बड़ी मात्रा को त्याग रहे हैं; यहां तक ​​कि घातीय-वृद्धि चरण प्रतिक्रिया द्वारा आपके आरेख में दिखाए गए फ्रंट-एंड बैंडलिमिटिंग के प्रभाव के साथ, गोल पल्स के अंत के पास एक एकल एडीसी नमूना रिसीवर इनपुट का एक स्नैपशॉट प्रदान करता है जो समय में स्थानीयकृत होता है। आप उच्च दर पर नमूना लेने और उच्च नमूना दर पर एक मिलान फ़िल्टर लागू करके सिग्नल पावर का अधिक लाभ उठा सकते हैं ।

सिद्धांत:

आप इसका पता लगाने के सिद्धांत में एक अपेक्षाकृत सरल समस्या के रूप में देख सकते हैं । प्रत्येक प्रतीक अंतराल में, आपके रिसीवर को दो परिकल्पनाओं के बीच निर्णय लेने की आवश्यकता होती है:

H0:signal is not presentH1:signal is presenटी

इस तरह की समस्या को अक्सर बायेसियन निर्णय नियमों का उपयोग करके हल किया जाता है , जो जोखिम के कुछ निर्दिष्ट माप के अनुसार इष्टतम निर्णय लेने का प्रयास करता है। यह एक ऐसा ढांचा प्रदान करता है, जहाँ कोई मानदंड के लचीले सेट के आधार पर जानबूझकर निर्णय ले सकता है। उदाहरण के लिए, अगर वहाँ संकेत पता लगाने के लिए अगर यह तथ्य वर्तमान में है असफल रहने के लिए अपने सिस्टम के लिए एक बड़ा जुर्माना है (यानी आप लेने जब एच 1 सच है), तो आप उस निर्माण कर सकते हैं अपने निर्णय शासन में यदि आवश्यक हो तो।एच0एच1

आपके जैसी पहचान की समस्या के लिए, जहाँ आप रिसीवर आउटपुट पर शून्य और लोगों के बीच निर्णय लेने की कोशिश कर रहे हैं, पेनल्टी को समान रूप से माना जाता है (जब एक ट्रांसमिट किया गया था तो शून्य का आउटपुट होता है, और इसके विपरीत, "समान रूप से चोट लगी" )। उस मामले में बायेसियन दृष्टिकोण एक करने के लिए कम कर देता है अधिकतम संभावना आकलनकर्ता (यह भी वर्णित यहाँ ): यदि आप परिकल्पना है कि सबसे अधिक संभावना है लेने, अवलोकन है कि अपने रिसीवर बनाता दिया। यही है, यदि आपके रिसीवर ने जो मात्रा देखी है , वह , तो यह उस परिकल्पना के आधार पर एक निर्णय उत्पन्न करेगा जिसमें सबसे अधिक संभावना फ़ंक्शन मान है। बाइनरी निर्णय मामले के लिए, इसके बजाय संभावना अनुपात का उपयोग किया जा सकता है:एक्स

Λ(एक्स)=पी(एक्स | एच0 मैंरों टीआरयू)पी(एक्स | एच1 मैंरों टीआरयू)=पी(एक्स | रोंमैंजीnएल मैंरों nटी पीआररोंnटी)पी(एक्स | रोंमैंजीnएल मैंरों पीआररोंnटी)

चैनल प्रत्येक अवलोकन के लिए उपरोक्त मॉडल का उपयोग करते हुए , इष्टतम रिसीवर तय करेगा कि सिग्नल मौजूद नहीं था (इसलिए एक शून्य आउटपुट) अगर संभावना अनुपात Λ ( x ) एक से अधिक है (और इसलिए सिग्नल सबसे अधिक संभावना था) अवलोकन के आधार पर उपस्थित नहीं होना), और इसके विपरीत।xΛ(x)

जो कुछ बचा है वह ब्याज के संकेत के लिए एक मॉडल है और रिसीवर डिटेक्शन स्टैटिस्टिक्स में किसी भी अन्य घटक जो इसके निर्णयों को प्रभावित कर सकते हैं। इस तरह के एक डिजिटल संचार के लिए, इसे निम्नानुसार मॉडल किया जा सकता है:x

H0:x=NH1:x=s+N

जहाँ कुछ वितरण से लिया गया एक यादृच्छिक चर है (जिसे अक्सर शून्य-माध्य गॉसियन माना जाता है) और s अवलोकन का एक निर्धारक घटक है जो उस संकेत के कारण होता है जिसे आप खोज रहे हैं। इसलिए, देखने योग्य एक्स के रिसीवर का वितरण इस बात पर निर्भर करता है कि क्या परिकल्पना एच 0 या एच 1 सच है। संभावना अनुपात का मूल्यांकन करने के लिए, आपको उन वितरणों के लिए एक मॉडल की आवश्यकता है। ऊपर बताए गए गॉसियन मामले के लिए, गणित इस तरह दिखता है:nsxH0H1

Λ(x)=P(x | H0 is true)P(x | H1 is true)=P(x | x=N)P(x | x=s+N)

Λ(x)=P(x | H0 is true)P(x | H1 is true)=ex22σ2e(xs)22σ2

जहां गाऊसी शोर अवधि के विचरण है। ध्यान दें कि additive सिग्नल घटक में केवल एक्स के परिणामस्वरूप गॉसियन वितरण के माध्यम को स्थानांतरित करने का कार्य है । लॉग-संभावना अनुपात exponentials के छुटकारा पाने के लिए इस्तेमाल किया जा सकता:σ2x

ln(Λ(x))=ln(ex22σ2e(xs)22σ2)=(x22σ2)((xs)22σ2)

याद रखें कि यदि हमारी संभावना नियम एक से अधिक हो तो चुना गया। यदि लॉग-संभावना शून्य से अधिक है, तो बराबर लॉग-लाइबिलिटी निर्णय नियम H 0 को चुनना है। कुछ बीजगणित से पता चलता है कि निर्णय नियम कम हो जाता है:H0H0

x<s2choose H0x>s2choose H1

ध्यान दें कि अगर , फिर दोनों परिकल्पनाएं समान रूप से होने की संभावना है, और आपको सिर्फ एक लेने की आवश्यकता होगी; हालांकि, लगातार मूल्यवान संकेतों के लिए यह व्यावहारिक चिंता नहीं है। तो, दिए गए एक ज्ञात संकेत आयामरोंएक सीमा निर्धारित करके शोर बेहतर है, हम गाऊसी की पृष्ठभूमि के खिलाफ अपनी उपस्थिति का पता लगा सकतेटी=रोंx=s2s ; यदि देखा गया मानxTसे अधिक है, तो हम संकेत को वर्तमान घोषित करते हैं और एक का उत्सर्जन करते हैं, और इसके विपरीत।T=s2xT

अभ्यास:

कुछ व्यावहारिक मुद्दे हैं जो इस सरल, खिलौना सैद्धांतिक उदाहरण में रेंगते हैं। एक: सिर्फ भ्रामक सरल दिखने वाले मॉडल में वर्णित परिदृश्य का मानचित्रण सीधा नहीं लग सकता है। दूसरे, यह बहुत ही दुर्लभ है कि आप को पता होगा आयाम है , संकेत है कि आप देख रहे हैं तो सीमा चयन कुछ विचार की आवश्यकता है।s

जैसा कि मैंने पहले उल्लेख किया है, शोर को अक्सर गाऊसी माना जाता है क्योंकि सामान्य वितरण के साथ काम करना इतना आसान होता है: स्वतंत्र गाऊसी के गुच्छा का योग अभी भी गाऊसी है, और उनका मतलब और संस्करण अभी भी जोड़ते हैं। इसके अलावा, वितरण के पहले और दूसरे क्रम के आंकड़े पूरी तरह से उन्हें चिह्नित करने के लिए पर्याप्त हैं (एक गौसियन वितरण के माध्य और विचरण को देखते हुए, आप इसकी पीडीएफ लिख सकते हैं )। तो, उम्मीद है कि आपके आवेदन के लिए कम से कम एक सभ्य अनुमान है।

sNरों

Pe=P(choose H0 | H1 true)P(H1 true)+P(choose H1 | H0 true)P(H0 true)=12P(x<s2 | x=s+N)+12P(x>s2 | x=N)=12Fx | x=s+N(s2)+12(1Fx | x=N(s2))

where Fx | 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:

Pe=12(1Q(s2sσ))+12Q(s2σ)=12+12(Q(s2sσ)+Q(s2σ))=12+12(Q(s2σ)+Q(s2σ))=12+12(Q(SNR2)+Q(SNR2))=Q(SNR2)

where Q(x) is the Q function:

Q(x)=12πxez22dz

(i.e. the tail integral of the standard normal distribution's pdf, or 1 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 component s 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?

SNR1=sσ

SNR2=2s2σ=2SNR1

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 variance EsN0 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 statistic x 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 amplitude s; 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.


thanks for the detailed answer, I learned a lot from it. I like to ask a few clarifications. I get the point of more than 1 sample at the duration. In this case how a matched filter look like? Say, I have three samples x1,x2,x3 (x3 at the tail end and x1 at the beginning). Based on what I read, I must convolve this with a same but symmetrical shape signal. Can you perhaps explain this part? [I think I know the answer but just to make sure] Second part, I know what is the dynamic range of incoming signal would be as I have taken measurements. Can I use that range for threshold setting?
Frank

A matched filter is a way of implementing a sliding cross-correlation between the signal seen by your receiver and the expected pulse shape. The diagram shown in your question illustrates the pulse seen by the ADC as an exponential rise; if that is indeed your model for what the receiver sees, then the appropriate matched filter would have the same shape, only reversed in time (the time reversal turns the convolution operation into correlation). If the receiver front end doesn't appreciably distort the pulse, you could use an "ideal" rectangular matched filter, which is simpler to implement.
Jason R

As to your second question: yes, if you know a priori the expected amplitude of the signal component, then you can use that to select a threshold. Using the statistical model for the system (based on the type of noise that is present), you can calculate the bit error rate as a function of the signal to noise ratio (which is proportional to the signal amplitude). If the thermal noise of your receiver is the dominant source, then white Gaussian noise is usually a good assumption.
Jason R

मेरे रिसीवर में एक BPF है जो उच्च आवृत्ति संकेतों को काटता है। BPF नाड़ी के प्रारंभिक स्पाइक को बंद कर देता है और यह प्रकृति में अधिक घातीय हो जाता है। मैं बीपीएफ को निष्क्रिय कर सकता हूं लेकिन यह एचएफ शोर को वर्तमान में श्रृंखला में नहीं पेश करेगा। ऐसा लगता है कि मेरे पास एक ट्रेडऑफ़ है, मैं कैसे निर्धारित कर सकता हूं कि कौन सा तरीका बेहतर है। (यानी बीपीएफ को हटा दें और एक नाड़ी के लिए मिलान वाले फिल्टर का उपयोग करें, बीपीएफ को न हटाएं और घातीय वृद्धि के लिए एक मिलान फिल्टर का उपयोग करें)
फ्रैंक

मैं तुम्हें इनाम से सम्मानित किया, एक महान जवाब के लिए बहुत बहुत धन्यवाद।
फ्रैंक

0

एक संभव तकनीक आँकड़ों को इकट्ठा करने के लिए आवधिक प्रशिक्षण अनुक्रमों का उपयोग करने की कोशिश हो सकती है, न केवल 1 और 0 के बीच अंतर करने के लिए, या किसी भी सीमा के लिए विश्वसनीयता मीट्रिक की गणना करने के लिए, लेकिन यह विश्लेषण करने के लिए कि विभिन्न बिट अनुक्रम एक अनुकूली निर्णय निर्णय सीमा को कैसे प्रभावित कर सकते हैं। ।


दिलचस्प सोच लेकिन उपयुक्त नहीं। मुझे तेजी से निर्णय लेने की आवश्यकता है और यहां तक ​​कि अगर मैं पिछले डेटा के साथ काम करता हूं, तो क्षेत्र में भिन्नता बड़ी होगी।
फ्रैंक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.