बहुत कम आवृत्ति (250 हर्ट्ज) में सिग्नल भेजने का सबसे अच्छा तरीका?


8

मैं एक इलेक्ट्रॉनिक सवाल का सामना करने वाला एक प्रोग्रामर हूं, इसलिए मैंने सोचा कि यहां पूछने की जगह है!

  • मेरे पास एक चुंबकीय क्षेत्र सेंसर है जो मुझे चुंबकीय क्षेत्र मूल्यों (XYZ अक्ष) के साथ 250 बार एक सेकंड प्रदान करता है।
  • प्रोग्रामेबल माइक्रोप्रोसेसर के साथ एक इलेक्ट्रॉनिक सर्किट एक कॉइल को नियंत्रित करता है, जो इस सेंसर के करीब चुंबकीय क्षेत्र को बदल सकता है। फिर भी, दो उपकरणों को सख्ती से तैनात नहीं किया जाता है, इसलिए मैं स्थिति माप पर रिले नहीं कर सकता।
  • मैं सर्किट से सेंसर तक 2 अलग-अलग प्रकार के सिग्नल भेजना चाहता हूं, जो चुंबकीय क्षेत्र पर मजबूत शोर का सामना कर सकता है, और आधे सेकंड से कम हो सकता है (हाँ, सेकंड - हम 250 हर्ट्ज में हैं!)

वर्तमान समाधान 17Hz वर्ग तरंग को प्रसारित करना है, फिर 12Hz, फिर सिग्नल A के लिए 17Hz, सिग्नल B के लिए आदेश को उलट देना है। लेकिन इन संकेतों का पता लगाने के लिए लंबी पर्याप्त तरंगों को भेजने की आवश्यकता होती है, जो सिग्नल को 1.5 की लंबाई में लाती है। सेकंड।

तो, मेरा सवाल यहां है: क्या कोई रास्ता है, चलो एक पैटर्न कहते हैं, जैसे संगीत पैटर्न जो तेजी से संकेत देने के लिए इस्तेमाल किया जा सकता है, और अभी भी विश्वसनीय हो सकता है?

जवाबों:


7

250 हर्ट्ज के एक नमूना दर के साथ, आप आसानी से 100 बिट्स / सेकंड या अधिक भेज सकते हैं। 0.5 सेकंड में, यह 50-60 बिट्स के क्रम पर होगा।

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

एक डीएसपी तकनीक जिसे " मिलान फ़िल्टर " के रूप में जाना जाता है, का उपयोग कोड का पता लगाने के लिए किया जा सकता है।


दिलचस्प लगता है! लेकिन, मैं भटक रहा था कि कम्प्यूटेशनल रूप से जटिल "मैच्योर फिल्टर" कैसे हो सकता है? क्या इसके लिए भारी एफएफटी / अन्य गणनाओं की आवश्यकता होगी?
रुमज़

मैंने एक मिलान फ़िल्टर के लिए c ++ कार्यान्वयन की जाँच की, और ऐसा लगता है कि सिग्नल का पता लगाने के लिए इसे बहुत भारी गणना की आवश्यकता होगी। तो यह मेरे लिए उतना उपयोगी नहीं हो सकता है, क्योंकि मेरा सेंसर साइड कोड एक आरटी वातावरण में चलेगा, तो क्या कोई अन्य फ़िल्टर है जो मुझे 5 प्रकार के सिग्नल भेजने की अनुमति दे सकता है। 5 सेकंड से भी कम समय में, बहुत अधिक गणनाओं के बिना। ?
रुबमज़

2
इसे फूरियर रूपांतरण की आवश्यकता नहीं है, लेकिन इसके लिए तीन इनपुट चैनलों में से प्रत्येक पर एक एफआईआर (परिमित आवेग प्रतिक्रिया) फिल्टर के बराबर की आवश्यकता होती है, जो गणितीय रूप से प्रत्येक नए के लिए दो 128-नमूना वैक्टर पर डॉट उत्पाद करने के बराबर है। नमूना है कि (128 गुणक और 128 में आता है, 250 बार एक दूसरे, कुल ~ 33 k के लिए प्रत्येक फिल्टर प्रति सेकंड गुणा-जोड़ आपरेशनों, या लगभग 100k मैक / सेकंड कुल)। यहां तक ​​कि एक बहुत ही कम-अंत डीएसपी चिप जैसे कि माइक्रोचिप डीएसपीआईसी आसानी से वास्तविक समय की गणना के इस प्रकार को संभाल सकता है।
डेव ट्वीड

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