मैं तरंगिका परिवर्तन की आवृत्ति बनाम परिमाण की साजिश कैसे कर सकता हूं?


14

मैं Morlet निरंतर तरंगिका परिवर्तन चला रहा हूं। मुझे wscalogramसंकेत मिल गया है और अब मैं निम्नलिखित चित्र की तरह फ्रीक-परिमाण की साजिश करना चाहता हूं। लेकिन मुझे नहीं पता कि यह कैसे करना है:

यहाँ छवि विवरण दर्ज करें

मैंने scal2freqस्केल को छद्म आवृत्तियों में बदलने के लिए MATLAB फ़ंक्शन का उपयोग किया है । इसके अलावा मेरे संकेत में कुछ आवृत्तियां हैं जिनका एक बड़ा भिगोना अनुपात (4%) है, इसलिए वे प्लॉट में अच्छी तरह से दिखाई नहीं देते हैं। मैं इन अत्यधिक नम मोडों को कैसे अतिरंजित कर सकता हूं?

मैं MATLAB का उपयोग कर रहा हूं, यहां मेरे कोड हैं:

% Import the text4.txt to matlab workspace. and save it under name "data"
t=linspace(0,30,301);
Fs=ceil(inv(t(2)-t(1)));
x=data(:,4); % use x=data(:,3),x=data(:,5) too. first column is time,second is refrence
wname = 'morl';
scales = 1:1:256;
coefs = cwt(x,scales,wname,'lvlabs');
freq = scal2frq(scales,wname,1/Fs);
surf(t,freq,abs(coefs));shading('interp');
axis tight; xlabel('Seconds'); ylabel('Pseudo-Frequency (Hz)');
axis([0 30 0 1 0 60])
xlabel('Time'); ylabel('Frequency');
figure;
sc=wscalogram('image',coefs,'scales',freq,'ydata',x);
hold on 

मेरा वर्तमान प्लॉट इस तरह दिखता है:

यहाँ छवि विवरण दर्ज करें


आपका तरंगिका डेटा किस रूप में लेता है?
जिम क्ले

हाय @JimClay! मुझे यकीन नहीं है कि अगर मैं आपके सवाल को समझूं। लेकिन अगर आपको लगता है कि यह कैसा दिखता है, तो इसका दूसरा लिंक जैसा है जिसे मैंने सवाल पर बनाए रखा था। और मुझे 1 लिंक जैसा प्लॉट चाहिए। (2nd [myplot]) cubeupload.com/im/bSSlMI.jpg 1 [वांछित]) cubeupload.com/im/KbhGMI.jpg यहाँ मेरा संकेत है < fileswap.com/dl/Lwfn96fAt/test4.txt.html > यहाँ है my Mfile < fileswap.com/dl/gMrslBFAdb/mfile.txt.html > सबसे अच्छा संबंध है।
इलेक्ट्रिकमैन

मुझे वास्तव में यकीन नहीं है कि आपका सवाल क्या है ...
तरिन जियाई

हाय @ user4619; पहले प्लॉट को देखें। आप तरंगिका स्केलोग्राम के दाईं ओर एक भूखंड [freq- परिमाण] देखते हैं [जिसे matlab द्वारा प्राप्त किया गया है]। दूसरी तस्वीर मेरा तरंगिका स्केलोग्राम है। लेकिन मुझे नहीं पता कि पहली साजिश के दाईं ओर की तरह [freq- परिमाण] की साजिश कैसे की जाती है। किसी भी मदद plz?
इलेक्ट्रिकमैन

@Electricman एक स्पेक्ट्रोग्राम एक स्केलोग्राम के समान नहीं है। यदि आप एक स्केलोग्राम जा रहे हैं, तो कोई आवृत्ति वीएस समय नहीं है, केवल वीएस समय। तो आप कौन सा कर रहे हैं?
तारिणी ज़ियाई

जवाबों:


4

आपके कोड को थोड़ा संशोधित करना, लेकिन कोई बड़ा बदलाव नहीं है, और मुझे किसी भी तरह से सही परिणाम मिलते हैं। यहां इस टेम्प्लेट कोड का उपयोग करें, और आपको कोई समस्या नहीं दिखनी चाहिए। मुझे सही परिणाम मिले।

clear all; 
t=linspace(0,30,301); 
Fs = (inv(t(2)-t(1))); 
x=randn(100,1);  
wname = 'morl'; 
scales = 1:1:256; 
chefs = cwt(x,scales,wname,'lvlabs');

freq = scal2frq(scales,wname,1/Fs);

figure; 
coefsSquared = abs(coefs).^2; 
imagesc(coefsSquared); 
grid off;

%Pick one of the columsn to plot: 
figure; 
plot(coefsSquared(:,47))

आपके द्वारा लगाई गई पहली छवि के दाहिने हाथ की आकृति प्राप्त करने के लिए, यह केवल टाइम-स्लाइस स्पेक्ट्रम है। दूसरे शब्दों में, आपके फ़्रीक्वेंसी-टाइम मैट्रिक्स का एक कॉलम।

उदाहरण के लिए, हमें निम्न वर्ग-गुणांक मैट्रिक्स मिल सकता है, आवृत्ति बनाम समय में:

यहाँ छवि विवरण दर्ज करें

मान लें कि हम स्तंभ 47 में टाइम-स्लाइस के लिए स्पेक्ट्रम देखना चाहते हैं। फिर, यह यहाँ दिया गया है:

यहाँ छवि विवरण दर्ज करें

यहां, आप स्तंभ 47 के समय-स्लाइस के लिए गुणांक, बनाम आवृत्ति की शक्ति देखते हैं।


कोड को संशोधित करने के लिए धन्यवाद। लेकिन मुझे अपने सवाल का जवाब अभी तक नहीं मिला। सवाल यह है कि मैं फ्रेक-परिमाण या स्केल-परिमाण [कोई अंतर नहीं] कैसे साजिश कर सकता हूं। मुझे पहली तस्वीर के दाईं ओर एक प्लॉट चाहिए। [यह सवाल है]। अग्रिम धन्यवाद
इलेक्ट्रिकमैन

1
@Electricman दाहिने हाथ की तरफ का प्लॉट आपके फ्रीक्वेंसी VS टाइम मैट्रिक्स का केवल एक कॉलम है।
तरिन ज़ियाई जूल

- @ user4619 यह फ्रीक बनाम समय नहीं है। समय सीमा 0-20 है और आवृत्ति रेंज 0-2.5 है, लेकिन दाहिने हाथ की ओर का भूखंड फ्रीक बनाम परिमाण है। मुझे यकीन नहीं है कि इसकी ठीक-ठीक परत या परिमाण लेकिन स्पष्ट रूप से कोफ़्स या कॉफ़े ^ 2 के आनुपातिक हैं। tnx
इलेक्ट्रीशियन

@Electricman कृपया संपादन देखें। क्या यह अब स्पष्ट है?
तारिणी ज़ियाई

- @ user4619 यह काम करता है। आपके उत्तर के लिए धन्यवाद। मैंने mfile के अंत में थोड़ा सा कोड डाला। और उल्लेखित कथानक के दाहिने हाथ की तरह एक ही भूखंड मिला। cof2 = पेट (coefs) ^ 2। cof2trans = cof2 '; maxmods = अधिकतम (cof2trans); आंकड़ा; प्लॉट (मैक्समोड्स, फ़्रीक) अक्ष ([0 60 0 1]) सबसे अच्छा संबंध
इलेक्ट्रीशियन

4

सतत तरंग परिवर्तन (सीडब्ल्यूटी) समय-विश्लेषण के लिए एक विधि है । हां, आप इसे सही ढंग से पढ़ते हैं, पैमाना , आवृत्ति नहीं । हालांकि, तराजू को आवृत्तियों पर मैप करना संभव है, और यहां तक ​​कि काफी आसानी से। चूंकि आप MATLAB उपयोगकर्ता हैं, आप संभवतः इस फ़ंक्शन का उपयोग करना चाहेंगे , जो निम्न कार्य करता है:

F = scal2frq (A, 'wname', DELTA) A द्वारा दिए गए तराजू के समान छद्म-आवृत्तियों को लौटाता है, तरंगिका फ़ंक्शन 'wname' (अधिक जानकारी के लिए wavefun देखें) और DELTA का नमूना ले रहा है।

जैसा कि आप पढ़ सकते हैं, फ्रीक्वेंसी सिग्नल में वास्तविक आवृत्तियाँ नहीं हैं, लेकिन सन्निकटन हैं। यदि आप वास्तविक आवृत्तियों को चाहते हैं, तो आपको कम समय के फूरियर रूपांतरण (STFT) का उपयोग करना चाहिए।

तो, सीडब्ल्यूटी का उपयोग कब करना चाहिए? एक सामान्य सिद्धांत के रूप में, तरंगें अच्छी तरह से काम करती हैं जब संकेत क्षणिक होते हैं (अर्थात त्वरित परिवर्तन होते हैं)।

संपादित करें: हाहा, मुझे नहीं पता कि मैं यहाँ क्या कर रहा हूँ। क्षमा करें: -D आपके प्रश्न के बिंदु से पूरी तरह से चूक गया। बस शीर्षक पढ़िए…।


@ आपकी जानकारी सही है। लेकिन तो क्या? मैं सिर्फ पहली तस्वीर के दाहिने हिस्से की तरह एक प्लॉट करना चाहता हूं। फ्रीक बनाम परिमाण। और जब तक मैं स्केल 2freq का उपयोग कर सकता हूं, तब तक यह ठीक है कि मुझे स्केल बनाम परिमाण मिलता है।
इलेक्ट्रिकमैन

"यदि आप वास्तविक आवृत्तियों को चाहते हैं, तो आपको कम समय के फूरियर रूपांतरण (STFT) का उपयोग करना चाहिए।" मोल्ट वेवलेट में उसी तरह फ़्रीक्वेंसी होती है जिस तरह गॉसियन-विंडो वाले एसटीएफटी में फ़्रीक्वेंसी होती है। दोनों परिवर्तनों के "परमाणु" समान हैं।
14

0

यकीन नहीं होता अगर आपको अभी भी मदद की ज़रूरत है ...

यदि आप आवृत्ति बनाम परिमाण चाहते हैं तो गुणांकों को प्लॉट करने के लिए "मेष / सर्फ" कमांड का उपयोग करें।

फिर भूखंड के अभिविन्यास को बदल दें ताकि आपके पास वह परिणाम हो जो आप चाहते हैं। इसके लिए "दृश्य" कमांड देखें।


धन्यवाद, मैंने कई महीने पहले उस समस्या को हल किया और अपने परिणाम प्रकाशित किए। लेकिन मैं अगली बार आपके विकल्प की कोशिश करूंगा। लेकिन, कृपया अपना जवाब टिप्पणी जगह पर स्थानांतरित करें। सौभाग्य। @ asilva732
इलेक्ट्रिकमैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.