क्या अप-सैंपलिंग क्रॉस-सहसंबंध से पहले बेकार है?


12

एक साधारण मामले पर विचार करें जहां दो अलग-अलग सेंसर से दो सिग्नल क्रॉस-सहसंबंधित हैं, और समय-विलंब-से-आगमन उनके क्रॉस-सहसंबंध समारोह के चरम के अनुपस्थिति से गणना करता है।

अब हम आगे मानते हैं कि दोनों एंटेना की आयामी बाधाओं और अधिकतम संभव नमूना दर पर बाधाओं के कारण, अधिकतम प्राप्य विलंब संभव 10 नमूनों के अनुरूप D

समस्या:

क्योंकि उन बाधाओं के कारण, अपने गणना देरी से किसी से भिन्न हो सकते हैं पूर्णांक : 0 और 10 नमूने के बीच मूल्य, वह यह है कि 0D10 । यह समस्याग्रस्त है क्योंकि मैं वास्तव में जो चाहता हूं वह है कि मेरे एंटेना पर लगाए जाने वाले दो संकेतों के बीच देरी का भिन्नात्मक-विलंब भेदभाव है, और आयामों को बदलना या नमूना दर एक विकल्प नहीं है।

कुछ विचार:

  • स्वाभाविक रूप से, इस मामले के लिए मुझे लगता है कि पहली बात एक क्रॉस-सहसंबंध प्रदर्शन करने से पहले संकेतों को उखाड़ रही है। हालाँकि मुझे लगता है कि यह किसी भी तरह से 'धोखा' है, क्योंकि मैं वास्तव में सिस्टम में कोई नई जानकारी नहीं जोड़ रहा हूं।

  • मुझे समझ में नहीं आ रहा है कि एक तरह से अपशगुन 'धोखा' कैसे नहीं है। हां, हम अपने वर्तमान में देखी गई आवृत्ति जानकारी के आधार पर अपने सिग्नल को फिर से बना रहे हैं, लेकिन यह कैसे एक ज्ञान देता है, जहां एक सिग्नल सही मायने में शुरू होता है, कहते हैं, D=7 और D=8 ? कहाँ इस जानकारी मूल संकेत में निहित है कि निर्धारित किया गया था कि संकेत का सच आंशिक-देरी शुरू में वास्तव में था D=7.751 ?

प्रश्न):

  • क्या यह वास्तव में 'धोखा' है?

    • यदि नहीं, तो यह नई 'सूचना ’कहां से आ रही है?
    • यदि हाँ, तो भिन्नात्मक-विलंब समय का अनुमान लगाने के लिए और क्या विकल्प उपलब्ध हैं?
  • मैं देरी के लिए उप-नमूना उत्तरों को प्राप्त करने के प्रयास में, क्रॉस-सहसंबंध के परिणाम को उखाड़ने से अवगत हूं , लेकिन क्या यह भी 'धोखा' का एक रूप नहीं है? यह क्रॉस-सहसंबंध से पहले के अपसंस्कृति से अलग क्यों है?

यदि वास्तव में यह मामला है कि अपसमर्पण 'धोखा' नहीं है, तो हमें अपनी नमूना दर बढ़ाने की आवश्यकता क्यों होगी? (कम नमूना संकेत को प्रक्षेपित करने की तुलना में एक उच्च नमूना दर हमेशा बेहतर होता है?)

तब ऐसा लगता है कि हम बहुत कम दर पर नमूना ले सकते हैं और जितना चाहें उतना इंटरपोल कर सकते हैं। क्या तब यह हमारे हृदय की इच्छा के लिए एक संकेत को प्रक्षेपित करते हुए नमूना दर को 'बेकार' के रूप में नहीं बढ़ाएगा? मुझे एहसास है कि प्रक्षेप कम्प्यूटेशनल समय लगता है और बस एक उच्च नमूना दर के साथ शुरू नहीं होगा, लेकिन क्या यह एकमात्र कारण है?

धन्यवाद।


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

@endolith अच्छा बिंदु (s)। मैं अब स्पष्ट हूं कि यह क्यों / कैसे काम करता है, और हां, परिणाम को अपसमय करना इस मामले में जाने का तरीका होगा।
स्पेसी

जवाबों:


12

यह धोखा नहीं है, और यह कोई नई जानकारी भी नहीं जोड़ रहा है। आप जो कर रहे हैं वह वही है जो कोई भी अपसंस्कृति एलपीएफ कर रहा है- शून्य जोड़ रहा है और फिर पहले से ज्ञात आवृत्ति जानकारी के साथ तरंग का पुनर्निर्माण कर रहा है। इस प्रकार, कोई नई जानकारी नहीं है, लेकिन अभी भी बेहतर समय संकल्प है।

परिणाम को ऊपर करना समान है- कोई नई जानकारी नहीं बल्कि बेहतर समय संकल्प। आप द्विघात प्रक्षेप के माध्यम से बहुत कुछ समान कर सकते हैं ।

ये सभी विधियाँ- अपसंस्कृति और बहुपदीय प्रक्षेप- उनकी जानकारी प्राप्त करती हैं कि भिन्नात्मक चोटी चोटी और उसके पड़ोसियों दोनों से कहाँ है। एक त्वरित सचित्र उदाहरण। संतुलित चोटी

ऊपर की तस्वीर में नीली रेखा मेरा नकली क्रॉस-सहसंबंध डेटा है (हालांकि यह किसी भी परिणाम हो सकता है, न कि केवल एक क्रॉस-सहसंबंध है)। इसे मैं एक "संतुलित" शिखर कहता हूं क्योंकि पड़ोसी सममित हैं। जैसा कि आप उम्मीद कर सकते हैं, परिणामस्वरूप द्विघात प्रक्षेप (लाल रेखा) इंगित करता है कि सही शिखर शून्य पर है।

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

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

यदि वास्तव में यह मामला है कि अपसमर्पण 'धोखा' नहीं है, तो हमें अपनी नमूना दर बढ़ाने की आवश्यकता क्यों होगी?

Nyquist मानदंड को पूरा करने के लिए।

कम नमूना संकेत को प्रक्षेपित करने की तुलना में उच्च नमूना दर हमेशा एक मायने में बेहतर नहीं है?

सं। सैद्धांतिक दृष्टिकोण से, जब तक Nyquist मानदंड संतुष्ट है, इससे कोई फर्क नहीं पड़ता कि नमूना दर क्या है। एक व्यावहारिक दृष्टिकोण से आप आमतौर पर एक नमूना दर के रूप में कम के साथ जाते हैं क्योंकि आप भंडारण आवश्यकताओं और कम्प्यूटेशनल लोड को कम करने के लिए दूर हो सकते हैं, जो बदले में आवश्यक संसाधनों और बिजली की खपत को कम करता है।


1
Fs

1
@ मोहम्मद हां और नहीं। शोर- या तो स्वयं परिणामों से या परिमाणीकरण शोर- से अंततः समय संकल्प को निरर्थक बना दिया जाएगा। उस बिंदु तक, हालांकि, हां, अधिक अपक्षय अनुमान की सटीकता में सुधार करना चाहिए।
जिम क्ले

1
नोट्स और उदाहरण कोड के लिए द्विघात / परवलयिक प्रक्षेप: gist.github.com/255291#file_parabolic.md और कुछ वैकल्पिक प्रक्षेप विधियाँ: dspguru.com/dsp/howtos/how/o-interpolate-fft-peak
endolith

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

8

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

नमूनों के बीच इंटरपोलेशन एक शिखर दिखा सकता है। इस प्रकार शायद बेकार नहीं।

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

यदि नमूनाकरण की मात्रा निर्धारित की जाती है, तो एक उच्च दर पर नमूना आपको एलएसबी अधिक जानकारी का एक अंश खरीद सकता है, जो कि परिमाणीकरण त्रुटि के कारण या शोर के कारण होता है। लेकिन यह नमूने के एस / एन अनुपात और सटीकता और नमूने में उपयोग की जाने वाली सटीक मात्राकरण प्रक्रिया पर निर्भर करता है।

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


1
धन्यवाद hotpaw2 इसलिए यह कहना सही है कि यह वास्तव में मायने नहीं रखता है यदि आप दोनों संकेतों को बढ़ाते हैं और फिर सहसंबंधित करते हैं, या सहसंबंधित करते हैं और फिर परिणाम को रोकते हैं? बैंड-लिमिटिंग की वजह से, दो तरीकों से आपको समान परिणाम देने चाहिए?
स्पेसी

@ मोहम्मद: मुझे लगता है कि इसमें दोनों तरह से समान जानकारी होगी, लेकिन चूंकि प्रक्षेप सही नहीं है, इसलिए कार्यान्वयन के आधार पर परिणाम थोड़े अलग होंगे।
एंडोलिथ

3

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

सही तरीके से ऊपर उठाने के लिए, दोनों संकेतों को बैंड सीमित करने की आवश्यकता है, और आपको उन बैंडवाइड को जानना होगा। आपके प्रश्न में उल्लेखित "नई" जानकारी आसन्न नमूनों से आती है, और संकेत बैंड सीमित हैं।


धन्यवाद Telaclavo। एक चीज जो मेरे लिए वास्तव में स्पष्ट नहीं है, वह है 'बैंड-लिमिटेड' की शब्दावली। मुझे पता है कि क्या मतलब है, लेकिन मुझे समझ में नहीं आता कि इसका उल्लेख यहां क्यों किया जा रहा है। किसी भी प्रणाली, संभवतः शोर को छोड़कर 'बैंड-लिमिटेड' है, इसलिए इसे इस अर्थ में बार-बार क्यों उल्लेख किया जा रहा है?
स्पेसी

3

पिछले उत्तरों में थोड़ा सा जोड़ने के लिए, आप अपने सहसंबंध चर को गैर-पूर्णांक बनाकर एक अप-बैंड-सीमित क्रॉस-सहसंबंध के बराबर प्राप्त कर सकते हैं।

τ

τ=argmaxτn=0N1f(n)g(n+τ)

यही है, यह क्रॉस सहसंबंध का अधिकतम पता लगाता है।

इनपुट चर aऔर वर्णों का bवर्णन और लिए और दोनों को बैंड सीमित और आवधिक माना जाता है पीरियड (शिफ्ट को असतत फूरियर डोमेन में लागू किया गया है) के साथ। सीमा ।f(n)g(n)n={0,1,...,N1}Nτ[N+1,N1]

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

एक सूक्ष्मता यह है कि आप कैसे नमूना (निक्विस्ट आवृत्ति) का इलाज करते हैं , क्योंकि यह सकारात्मक और नकारात्मक बैंड के बीच साझा किया जाता है। यहाँ उपयोग किया जाने वाला समाधान धनात्मक घूर्णन फ़ासर और ऋणात्मक घूर्णन फ़ासर (जो वास्तविक अक्ष पर परावर्तन हैं) के बीच में अंतर करना है, जो कि वास्तविक अक्ष पर इकाई रोटेशन फ़ेज़र को प्रोजेक्ट करना है, जो कि एक cos फ़ंक्शन (है ) क्योंकि नेक्विस्ट आवृत्ति के अनुरूप मूल्य है )। स्पष्ट रूप से इस मूल्य को वास्तविक समय डोमेन सिग्नल बनाए रखने के लिए वास्तविक होना चाहिए।N2piomega

आप में से किसी को मनमाने ढंग से सटीक मूल्य के लिए पार से संबंध गणना करने के लिए इसका उपयोग कर सकते । बस बंद (जो एक कॉल करने योग्य के रूप में लौटा जा सकता है) को कॉल करें, जो कि आपके फैंसी मूल्य के मूल्य के साथ है ।ττ

import numpy
from numpy import fft
from scipy import optimize

def arg_max_corr(a, b):

    if len(a.shape) > 1:
        raise ValueError('Needs a 1-dimensional array.')

    length = len(a)
    if not length % 2 == 0:
        raise ValueError('Needs an even length array.')

    if not a.shape == b.shape:
        raise ValueError('The 2 arrays need to be the same shape')

    # Start by finding the coarse discretised arg_max
    coarse_max = numpy.argmax(numpy.correlate(a, b, mode='full')) - length+1

    omega = numpy.zeros(length)
    omega[0:length/2] = (2*numpy.pi*numpy.arange(length/2))/length
    omega[length/2+1:] = (2*numpy.pi*
            (numpy.arange(length/2+1, length)-length))/length

    fft_a = fft.fft(a)

    def correlate_point(tau):
        rotate_vec = numpy.exp(1j*tau*omega)
        rotate_vec[length/2] = numpy.cos(numpy.pi*tau)

        return numpy.sum((fft.ifft(fft_a*rotate_vec)).real*b)

    start_arg, end_arg = (float(coarse_max)-1, float(coarse_max)+1)

    max_arg = optimize.fminbound(lambda tau: -correlate_point(tau), 
            start_arg, end_arg)

    return max_arg

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

ओह, आपका प्रश्न गायब हो गया! फिर भी, मैं वहां उत्तर छोड़ दूंगा।
हेनरी गोमर्सल

धन्यवाद हेनरी - (मेरे प्रश्न को हटाने के लिए क्षमा करें मैं इसे स्पष्ट करने की कोशिश कर रहा था! :-))। (मैं अजगर के ऊपर थोड़ा धीमा हूं लेकिन उसमें काम कर रहा हूं)। वैसे भी, हाँ, मुझे लगता है कि मैं आपकी विधि को समझता हूं - और मुझे लगता है कि इसका दिल इस बात में निहित है कि क्रॉस-सहसंबंध परिणाम के चरण-प्रतिक्रिया का एक प्रक्षेप लिया जाता है, और संबंधित मूल्य वहां से विघटित हो जाता है। शायद मुझे पचाने के लिए अधिक समय चाहिए, लेकिन फिर भी दिलचस्प है। आपने समय-डोमेन प्रक्षेप के बजाय इसका उपयोग कहां / क्यों किया है? संदर्भ मदद कर सकता है। धन्यवाद! tau
स्पेसी

यह गति का अनुभवहीन पीछा था, हालांकि मुझे यह बताते हुए खुशी हो रही है कि एक तेज समय डोमेन प्रक्षेप एल्गोरिथम है। मेरा तर्क यह है कि समय-क्षेत्र में गैर-पूर्णांक समय परिवर्तन करने के लिए, आपको फ़ोरियर विधि (या उपचार का उपयोग करके , दोषपूर्ण, बनाम का प्रदर्शन करने के लिए गुणा की आवश्यकता होगी। )। दोनों मामलों में सहसंबंध को समय डोमेन में लिया जाता है। यदि आप फिर से शुरू करने की कोशिश करते हैं, तो यह मुझे करने के लिए एक बहुत धीमी चीज के रूप में हमला करता है (और मैं फ़ॉउन डोमेन में भी ऐसा करूँगा!)। एन ( लॉग एन + 1 )N2N(logN+1)
हेनरी गोमर्सल

इसके अलावा, मुझे लगता है कि फूरियर डोमेन में सोच वास्तव में बहुत सरल है। लेकिन शायद यह सामान्य नहीं है!
हेनरी गोमरसेल

2

एक सहज प्रमाण है कि क्रॉस-सहसंबंध से पहले अपक्षय करना बाद में करने के बराबर है:

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

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