Matlab

2013-01-17 32 views
5

में दो सिग्नल की तुलना करने का सबसे अच्छा तरीका मेरे पास मैटलैब में एक सिग्नल है जिसे मैं किसी अन्य सिग्नल से तुलना करना चाहता हूं (उन्हें y और z कहें)। जो मैं खोज रहा हूं वह एक मूल्य या प्रतिशत असाइन करने का एक तरीका है जो समान दो सिग्नल हैं।Matlab

मैं corrcoef उपयोग करने के लिए कोशिश कर रहा था, लेकिन मैं बहुत गरीब मूल्यों को प्राप्त (corrcoef(y,z) = -0.1141), फिर भी जब मैं एक दूसरे पर आरोपित दो भूखंडों के FFT को देखो, मैं नेत्रहीन होता ने कहा कि वे बहुत समान हैं। दो सिग्नल की परिमाण के एफएफटी के कॉरकोफ पर एक नज़र डालने से बहुत अधिक आशाजनक लग रहा है: corrcoef(abs(fft(y)),abs(fft(z))) = 0.9955, लेकिन मुझे यकीन नहीं है कि इसके बारे में जाने का सबसे अच्छा तरीका है क्योंकि उनके शुद्ध रूप में दो सिग्नल नहीं दिखते हैं सहसंबंधित होना चाहिए।

क्या किसी के पास मैटलैब में दो संकेतों की तुलना करने की सिफारिश की गई है?

धन्यवाद!

+0

इस प्रश्न के लिए एक बेहतर जगह dsp.stackoverflow.com है। (मैंने इसे स्थानांतरित करने के लिए फ़्लैग करने का प्रयास किया, लेकिन, किसी कारण से साइट एक विकल्प नहीं थी।) –

+1

क्या कोई dsp.stackoverflow है? – toozie21

+0

क्षमा करें dsp.stackexchange.com –

उत्तर

9

प्रश्न "समान" द्वारा आपके मतलब का स्पष्ट परिभाषा के बिना उत्तर देना असंभव है।

यदि "समान" से आपका मतलब "सहसंबंधित आवृत्ति प्रतिक्रिया" है, तो, ठीक है, आप खेल से एक कदम आगे हैं!

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

इस बीच, freq-domain सहसंबंध का उपयोग करने का आपका विचार बुरा नहीं है।

http://en.wikipedia.org/wiki/Hidden_Markov_model http://en.wikipedia.org/wiki/Autoregressive_model http://en.wikipedia.org/wiki/Autoregressive%E2%80%93moving-average_model

: लेकिन आप भी

http://en.wikipedia.org/wiki/Dynamic_time_warping

या विभिन्न सांख्यिकीय मॉडल के तहत समय श्रृंखला की संभावना पर विचार कर सकते

या अन्य मॉडलों की संख्या ...

मुझे जोड़ना चाहिए: सामान्यतः, सहसंबंध गुणांक betw ईन दो टाइम-सीरीज़ समय-श्रृंखला की समानता का बहुत ही कम मीट्रिक है, बहुत विशिष्ट परिस्थितियों (उदाहरण के लिए, चरण में कोई बदलाव नहीं)

+0

हाँ, मुझे लगता है कि मैं उतना स्पष्ट नहीं था जितना कि मुझे उम्मीद थी, क्षमा करें। मैं अंततः जो करना चाहता था वह मेरा मूल संकेत "मिश्रण" लेना था, इसलिए इसमें कुछ सामान, इसे "मिश्रण" करें और देखें कि यह मूल सिग्नल के करीब कितना करीब था। मुझे पता था कि यह थोड़ा अलग होगा क्योंकि मेरे पास दो मिश्रणों के बाद एलपीएफ और बीपीएफ था, इसलिए मैं यह दरना चाहता था कि यह कितना समान था। अफसोस की बात है, मुझे यकीन नहीं है कि मैंने इसे इतना साफ कर दिया, क्या मैंने किया? – toozie21

+0

क्षमा न करें। आपने पूछा कि आपने क्या सोचा था कि एक उचित सवाल था। अब आप से मजेदार सामान मिल गया है! – Pete

6

पीट सही है कि आपको आगे बढ़ने से पहले समानता की धारणा को परिभाषित करने की आवश्यकता है । आप अपनी परिस्थितियों के लिए समानता की उपयोगी धारणा होने के लिए सामान्यीकृत अधिकतम पार से संबंध परिमाण मिल सकती है, हालांकि:

norm_max_xcorr_mag = @(x,y)(max(abs(xcorr(x,y)))/(norm(x,2)*norm(y,2))); 
x = randn(1, 200); y = randn(1, 200); % two random signals 
norm_max_xcorr_mag(x,y) 

ans = 0.1636 

y = [zeros(1, 30), 3.*x]; % y is delayed, multiplied version of x 
norm_max_xcorr_mag(x,y) 

ans = 1 

समानता की यह धारणा दो दृश्यों के दुहराव सहसंबंध के समान है लेकिन समय देरी करने के लिए अपरिवर्तनीय है।