मुलर के उत्तर का विस्तार करने के लिए,
- क्या अलग होने के लिए माइक्रोफ़ोन को अलग-अलग ट्यूबों में रखा जाना चाहिए?
- नहीं, आप स्रोत की दिशा की पहचान करने की कोशिश कर रहे हैं, ट्यूब जोड़ने से केवल ट्यूब के अंदर ध्वनि में उछाल आएगा जो निश्चित रूप से नहीं चाहता है।
कार्रवाई का सबसे अच्छा तरीका उन्हें सीधा सामना करना होगा, इस तरह से वे सभी समान ध्वनि प्राप्त करेंगे और केवल एक चीज जो उनके बारे में अद्वितीय है, वे हैं उनके भौतिक प्लेसमेंट जो सीधे चरण को प्रभावित करेंगे। एक 6 kHz साइन लहर की तरंग दैर्ध्य हैध्वनि की गतिध्वनि की आवृत्ति=343 मी। / से6 kHz= 5.71 मि.मी.। इसलिए यदि आप 6 kHz तक साइन तरंगों के चरणों की विशिष्ट रूप से पहचान करना चाहते हैं, जो मानव बात करने के लिए विशिष्ट आवृत्तियों हैं, तो आपको माइक्रोफ़ोन को सबसे अधिक 5.71 मिमी से अलग करना चाहिए। यहां एक आइटम है जिसमें एक व्यास है जो 5.71 मिमी से कम है। लगभग 6-10 kHz पर कट-ऑफ आवृत्ति के साथ एक कम पास फिल्टर जोड़ना न भूलें।
संपादित करें
मुझे लगा कि यह # 2 प्रश्न मजेदार लग रहा है इसलिए मैंने इसे अपने दम पर हल करने की कोशिश करने का फैसला किया।
- क्या चरण सहसंबंध की गणना किसी भी तरह एक साथ 3 स्रोतों के बीच की जा सकती है? (यानी गणना में तेजी लाने के लिए)
यदि आप अपने रैखिक बीजगणित को जानते हैं, तो आप कल्पना कर सकते हैं कि आपने माइक्रोफोन को एक त्रिभुज में रखा है जहाँ प्रत्येक माइक्रोफोन एक दूसरे से 4 मिमी की दूरी पर प्रत्येक आंतरिक कोण को बनाते हैं ।60 °
तो चलिए मान लेते हैं कि वे इस विन्यास में हैं:
C
/ \
/ \
/ \
/ \
/ \
A - - - - - B
मे लूँगा...
- नामकरण उपयोग करें जो से तक की ओर इशारा करते हुए एक वेक्टर हैअ ब¯¯¯¯¯¯¯¯एबी
- मेरे मूल को बुलाओए
- सभी नंबरों को mm में लिखें
- 3D गणित का उपयोग करें लेकिन एक 2D दिशा के साथ समाप्त होता है
- माइक्रोफोन की ऊर्ध्वाधर स्थिति को उनके वास्तविक तरंग रूप में सेट करें। तो ये समीकरण एक ध्वनि तरंग पर आधारित हैं जो कुछ इस तरह दिखती है ।
- अपनी स्थिति और तरंग के आधार पर इन माइक्रोफोन के क्रॉस उत्पाद की गणना करें, फिर इस क्रॉस उत्पाद से ऊंचाई की जानकारी को अनदेखा करें और स्रोत की वास्तविक दिशा के साथ आने के लिए आर्कटन का उपयोग करें।
- फोन स्थान पर माइक्रोफोन के उत्पादन में , कॉल की स्थिति में माइक्रोफोन के उत्पादन में , कॉल स्थिति में माइक्रोफोन के उत्पादन मेंएएखबीसीसी
तो निम्नलिखित बातें सच हैं:
- ए = ( 0 , 0 , ए )
- बी = ( 4 , 0 , बी )
- सी= ( 2 ,42-22------√= २3-√, सी )
यह हमें देता है:
- अ ब¯¯¯¯¯¯¯¯= ( 4 , 0 , ए - बी )
- A सी¯¯¯¯¯¯¯¯= ( २ , २3-√, एक - सी )
और क्रॉस उत्पाद बसअ ब¯¯¯¯¯¯¯¯×A सी¯¯¯¯¯¯¯¯
अ ब¯¯¯¯¯¯¯¯×A सी¯¯¯¯¯¯¯¯=⎛⎝⎜40ए - बी⎞⎠⎟×⎛⎝⎜223-√ए - सी⎞⎠⎟=⎛⎝⎜0 ⋅ ( एक - सी ) - ( एक - ख ) ⋅ 23-√( एक - ख ) ⋅ 2 - 4 ⋅ ( एक - सी )४ ⋅ २3-√- 0 ⋅ 2⎞⎠⎟=⎛⎝⎜23-√( बी - ए )- 2 ए - 2 बी - 4 सी83-√⎞⎠⎟
Z सूचना, सिर्फ कबाड़ है, हमारे लिए शून्य ब्याज है। जैसे-जैसे इनपुट सिग्नल बदल रहे हैं, क्रॉस वेक्टर स्रोत की ओर आगे और पीछे स्विंग होगा। तो समय का आधा यह सीधे स्रोत (प्रतिबिंब और अन्य परजीवी की अनदेखी) को इंगित करेगा। और समय का दूसरा आधा स्रोत से 180 डिग्री दूर इंगित करेगा।83-√
मैं जिस बारे में बात कर रहा हूं, वह है जिसे को सरल बनाया जा सकता है , और फिर रेडियन को डिग्री में बदल दें।arctan(- 2 ए - 2 बी - 4 सी23√( बी - ए ))arctan(ए + बी + 2 सी3√( ए - बी ))
तो क्या आप के साथ समाप्त होता है निम्नलिखित समीकरण है:
arctan(ए + बी + 2 सी3-√( ए - बी ))180π
लेकिन आधे समय की जानकारी शाब्दिक रूप से 100% गलत है, तो कैसे .. एक .... इसे सही समय का 100% बनाना चाहिए?
खैर अगर अग्रणी है , तो स्रोत बी के करीब नहीं हो सकता है।एख
दूसरे शब्दों में, बस कुछ इस तरह से सरल बनाएं:
source_direction=atan2(a+b+2c,\sqrt{3}*(a-b))*180/pi;
if(a>b){
if(b>c){//a>b>c
possible_center_direction=240; //A is closest, then B, last C
}else if(a>c){//a>c>b
possible_center_direction=180; //A is closest, then C last B
}else{//c>a>b
possible_center_direction=120; //C is closest, then A last B
}
}else{
if(c>b){//c>b>a
possible_center_direction=60; //C is closest, then B, last A
}else if(a>c){//b>a>c
possible_center_direction=300; //B is closest, then A, last C
}else{//b>c>a
possible_center_direction=0; //B is closest, then C, last A
}
}
//if the source is out of bounds, then rotate it by 180 degrees.
if((possible_center_direction+60)<source_direction){
if(source_direction<(possible_center_direction-60)){
source_direction=(source_direction+180)%360;
}
}
और शायद आप केवल प्रतिक्रिया करना चाहते हैं यदि ध्वनि स्रोत एक विशिष्ट ऊर्ध्वाधर कोण से आ रहा है, अगर लोग माइक्रोफोन के ऊपर बात करते हैं => 0 चरण परिवर्तन => कुछ भी नहीं करते हैं। लोग इसके बगल में क्षैतिज रूप से बात करते हैं => कुछ चरण बदलते हैं => प्रतिक्रिया करते हैं।
| पी|=पी2एक्स+पी2y-------√=3 ( ए - बी)2+ ( एक + ख + 2 ग)2-------------------√
इसलिए आप उस सीमा को कुछ कम, जैसे कि 0.1 या 0.01 पर सेट करना चाह सकते हैं। मैं पूरी तरह से निश्चित नहीं हूं, मात्रा और आवृत्ति और परजीवी पर निर्भर करता है, इसे स्वयं परखें।
निरपेक्ष मान समीकरण का उपयोग करने के लिए एक और कारण शून्य क्रॉसिंग के लिए है, जब दिशा गलत दिशा में इंगित करेगी, तो इसके लिए थोड़ा सा समय हो सकता है। हालांकि यह केवल 1% समय के लिए होगा, यदि ऐसा है भी। तो आप दिशा में एक पहले आदेश एलपी फ़िल्टर संलग्न करना चाह सकते हैं।
true_true_direction = true_true_direction*0.9+source_direction*0.1;
और यदि आप एक विशिष्ट वॉल्यूम पर प्रतिक्रिया करना चाहते हैं, तो बस 3 माइक्रोफोन एक साथ जोड़ दें और कुछ ट्रिगर मूल्य की तुलना करें। माइक्रोफोनों का माध्य मान उनकी राशि 3 से विभाजित होगा, लेकिन यदि आप कारक 3 से ट्रिगर मान बढ़ाते हैं तो आपको 3 से भाग देने की आवश्यकता नहीं है।
मुझे कोड को C / C # / C ++ या JS या किसी अन्य के रूप में चिह्नित करने में समस्या आ रही है, इसलिए दुख की बात है कि कोड सफेद पर काला होगा, मेरी इच्छा के विरुद्ध। ओह अच्छा, अपने उद्यम पर शुभकामनाएँ। सुनने में अच्छा लग रहा हैं।
इसके अलावा 50/50 संभावना है कि दिशा 99% समय के स्रोत से 180 दूर होगी। मैं ऐसी गलतियाँ करने में माहिर हूँ। हालांकि इसके लिए एक सुधार सिर्फ 180 डिग्री जोड़ने के लिए बयानों को उलटने के लिए होगा।