एफएसके डिमॉड्यूलेशन, बिट टाइमिंग रिकवरी


10

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

  • मैं बिट टाइमिंग रिकवरी कैसे कर सकता हूं?
  • आप पैकेट सिंक्रनाइज़ेशन प्रस्तावना (चिरप, बार्कर कोड, गोल्डन कोड आदि) के लिए क्या सलाह देते हैं?

मैंने गार्डनर एल्गोरिथम को देखा, लेकिन मुझे यकीन नहीं है कि यह लागू है और कैसे। विचार करें कि मैं वर्तमान में साउंडकार्ड का उपयोग करके 800 बीपीएस की बिटरेट के साथ 2 आवृत्तियों के साथ काम कर रहा हूं।

जवाबों:


8

मैं वर्तमान में ध्वनिक FSK मॉडुलन और डिमॉड्यूलेशन को लागू कर रहा हूं। मैं सिग्नल प्रोसेसिंग करने वाला लड़का नहीं हूं ...

चूंकि आप कहते हैं कि आपने फ़िल्टर का मिलान किया है, और आप गैर-सुसंगत पहचान का उल्लेख करते हैं, मुझे लगता है कि आप पहले से ही एक डिजिटल संचार व्यक्ति के बहुत अधिक हैं - एक डीएसपी व्यक्ति होने का चरण बहुत छोटा है :)

पूरी तरह से समन्वित एसडीआर दृष्टिकोण

2fsymbol,max

मैंने अपने आप को एक त्वरित वास्तविक-मूल्य वाला बैंडपास सिग्नल FSK डेमोड बनाया (मुझे लगता है कि अगर मैंने फिर से ऐसा किया, तो मैंने दो बैंडपास फिल्टर को एक संयुक्त आवृत्ति अनुवाद और एक कम पास फिल्टर के साथ बदल दिया होगा, जिससे मुझे जटिल बेसबैंड मिल जाएगा, या एक पॉलीप्स फिल्टरबैंक फेंक दिया जाएगा समस्या पर, लेकिन GNU रेडियो साथी की मदद से GNU रेडियो में जो कुछ भी है) (प्रवाह ग्राफ फ़ाइल यहाँ ):

एफएसके रिकर्व

बिंदु यह है कि हम संभवत: विभाजन के समय और थ्रेशोल्ड ब्लॉक के बीच सिंक्रनाइज़ेशन का प्रतीक चाहते हैं। हम बाद में कर सकते हैं - शास्त्रीय, "माइक्रोकंट्रोलर और डिजिटल हार्डवेयर डिज़ाइन" दृष्टिकोण वास्तव में मुलर और म्यूलर घड़ी सिंक होगा और यह वहीं भी काम करेगा - लेकिन चलो ढलान की जानकारी को बर्बाद न करें।

तो, मैं यहाँ एक पॉलीफ़ेज़ क्लॉक सिंक जोड़ूँगा; मुझे यह स्वीकार करना चाहिए कि मैं टॉम से बेहतर इसे तैयार नहीं कर सकता, एक शिष्य, जो हैरिस का शिष्य था, ने अनाम जीएनयू रेडियो ब्लॉक के दस्तावेज में किया था :

पॉलीफ़ेज़ फ़िल्टरबैंक का उपयोग करके टाइमिंग सिंक्रोनाइज़र।

यह ब्लॉक फ़िल्टर किए गए सिग्नल के व्युत्पन्न को कम करके PAM संकेतों के लिए समय सिंक्रनाइज़ेशन करता है, जो बदले में SNR को अधिकतम करता है और ISI को कम करता है।

sincsinc(0)=1,sinc(0)=0

di[n]ixi[n]

e[n]={xi[n]}{di[n]}+{xi[n]}{di[n]}2.0 .

xi[n]xi[n]xi[n]केवल संकेत के बजाय कम SNR वाले संकेतों के लिए विशेष रूप से अच्छा है।

e[n]dkdratedratedratedkdratedkdαdβdαdβgain24

यह एहसास ऑडियो आवृत्ति है

तो, इस ब्लॉक को ठीक से पैरामीटर करना (और शायद कम करना bpf_decimऔर lpf_decimसिंक्रोनाइज़र को चरणों को स्थानांतरित करने के लिए अधिक हेडरूम देना) आप एक बहुत ही स्थिर प्रतीक टाइमिंग रिकवरी का निर्माण कर सकते हैं, जो आपके आवेदन के लिए पूरी तरह से ओवरकिल होगा।

जब से आप दोनों छोरों पर साउंड कार्ड के साथ सैंपलिंग कर रहे हैं, और जब से मुझे लगता है कि आपको डॉपलर के साथ सौदा नहीं करना है, तो प्रतीक दर का वाहक आवृत्तियों के साथ एक निश्चित संबंध है (उदाहरण के लिए संचारण पक्ष में एक उच्च वाहक है 8 साउंड कार्ड नमूनों की अवधि, और एक प्रतीक हमेशा ले जाता है मान लीजिए कि 128 नमूने हैं, इसलिए इसका एक निश्चित अनुपात है), आप एक छोटा कट ले सकते हैं:

darctandt[n]

पैकेट सिंक के बारे में

ठीक है, जब से आपको एक काम कर रहे डिमॉड्यूलेटर मिला है, जो संभवत: सिंक से बहुत अधिक चलेगा, जब कोई सिग्नल मौजूद नहीं है, तो बस अपने पैकेट को खोजने के लिए एक निश्चित ज्ञात डेटा अनुक्रम का उपयोग करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.