मैंने एक काफी सरल TDOA प्रणाली बनाई है जो दो स्पीकरों से जियोलॉकेट (स्पीकरों के सापेक्ष) मोबाइल फोन में उत्सर्जित अल्ट्रासोनिक संकेतों का उपयोग करती है। दो संकेतों को आवृत्ति द्वारा अलग किया जाता है।
सिस्टम में निम्नलिखित बाधाएँ हैं:
- संकेत अश्राव्य होने चाहिए। उस छोर तक हम 17 kHz से अधिक आवृत्तियों पर चिपकते हैं। कुछ लोग अभी भी ऐसा सुन सकते हैं, लेकिन अधिकांश नहीं कर सकते।
- नमूना दर 44.1 kHz है।
- संगीत आमतौर पर बजता रहेगा, इसलिए कम आवृत्तियों पर बहुत हस्तक्षेप होता है।
- ऊपरी आवृत्तियों पर स्पीकर और माइक्रोफोन कितनी अच्छी तरह काम करते हैं, इस पर हमारा नियंत्रण नहीं है, इसलिए हमने अपनी ऊपरी सीमा लगभग 20 kHz पर रखी है।
विशेष संकेत जो मैं उपयोग कर रहा हूं वह है BPSK उनके अच्छे ऑटोक्रॉलेशन गुणों के कारण 13-बिट बार्कर कोड को संशोधित करता है। आटोक्लेररेशन निम्नलिखित की तरह दिखता है-
जब मैं वास्तविक जीवन में प्राप्त संकेत के खिलाफ अपेक्षित संकेत को पार करता हूं, हालांकि, मुझे जो मिलता है वह आम तौर पर इस तरह दिखता है-
नीला स्पीकर 1 सिग्नल के साथ क्रॉस सह-संबंध है, और लाल स्पीकर 2 सिग्नल के साथ क्रॉस-सह-संबंध है। ऐसा प्रतीत होता है कि गूँज महत्वपूर्ण है और दुर्भाग्य से, अक्सर माइक्रोफोन के दिशात्मक लाभ के कारण प्रत्यक्ष पथ संकेत से अधिक मजबूत होती है।
मैंने केवल संकेत के शुरुआती रूप का पता लगाने की कोशिश की क्योंकि यह प्रत्यक्ष मार्ग होने की संभावना है। यह दृष्टिकोण उस सीमा के प्रति बहुत संवेदनशील है जिसका उपयोग मैं यह तय करने के लिए करता हूं कि सिग्नल मौजूद है और इसलिए यह बिल्कुल भी मजबूत नहीं है।
मैं सिग्नल के "सही" आगमन समय को निर्धारित करने के लिए एक मजबूत दृष्टिकोण चाहूंगा- यानी सीधे पथ संकेत के आगमन का समय। शायद चैनल के आकलन और विघटन के कुछ रूप? यदि हां, तो वह कैसे काम करेगा?
डेटा / कोड: मैं यह स्पष्ट करना चाहता हूं कि मैं किसी को भी डेटा का विश्लेषण करने या अपने कोड का निरीक्षण करने की उम्मीद नहीं कर रहा हूं। यदि आप ऐसा करना चाहते हैं तो मैंने उन्हें उपलब्ध कराया है। मुझे ज्यादातर विचारों में दिलचस्पी है।
मैंने डाउनलोड के लिए कच्चा प्राप्त संकेत और संशोधित अपेक्षित संकेत उपलब्ध कराया। वे सभी 44.1 kHz पर नमूना हैं। अपेक्षित संकेतों के साथ प्राप्त संकेत को सहसंबंधित करना कुछ इसी तरह का उत्पादन करेगा, लेकिन ऊपर दिए गए चित्र के समान नहीं है क्योंकि मैं प्राप्त संकेतों को बेसबैंड तक ले जाता हूं और अपेक्षित संकेतों के साथ सहसंबंधित होने से पहले समझदार हूं।
Matlab स्क्रिप्ट Matlab स्क्रिप्ट में सिग्नल जनरेशन स्क्रिप्ट (genLocationSig.m) और मेरे प्राप्त / प्रसंस्करण स्क्रिप्ट (calcTimingOffset.m) दोनों हैं।