2016-04-26 16 views
0

Ich versuche, Wavelet-Koeffizienten über die Zeit und zwischen Signalen zu vergleichen. Zu diesem Zweck MATLABcwt Funktion. Die Ausgabe [coefs sgram] = cwt(foo) gibt mir die Wavelet-Koeffizienten und die Skalogramm-Koeffizienten, die für diese Koeffizienten repräsentativ sind, hinsichtlich ihres Gesamtbeitrags zur Signalenergie.Wie skaliert MATLAB Koeffizienten für die Continuous Wavelet Transform-Funktion?

Was ich sicher sein muss ist, dass ich verstehe, wie dies "unter der Haube" durchgeführt, so dass diese Vergleiche gültig sind. Ich teste das mit Referenz: http://www.mathworks.com/help/wavelet/ref/cwt.html

Mein Anliegen ist in Bezug auf die Farboptionen. In diesem Beispiel verwenden wir 'scal'. Die Dokumentation sagt mir nicht genau, wie es funktioniert. Ich habe versucht, andere Farboptionen mit meiner angegebenen Abtastrate zu verwenden, und es scheint, dass die Skalierung nicht konstant ist. Ich würde gerne wissen, wie es berechnet wird.

load vonkoch 
vonkoch=vonkoch(1:510); 
len = length(vonkoch); 
cw1 = cwt(vonkoch,1:32,'sym2','plot'); 
title('Continuous Transform, absolute coefficients.') 
ylabel('Scale') 
[cw1,sc] = cwt(vonkoch,1:32,'sym2','scal'); 
title('Scalogram') 
ylabel('Scale') 

Wenn ich extrahieren Sie die Maximalwerte für cw1 und sc mit [ms is] = max(abs(cw1(:))) und [mc ic] = max(sc(:)) (absolut, weil Koeffizienten manchmal negativ sind) Ich nehme zur Kenntnis, dass sie den gleichen Index und die Werte sind

mc = 0.0084 
ms = 0.1313 

, dessen Verhältnis zu besetzen ms/mc = 15.6310. Aber, auf zwei anderen Werten, cw1(4,4) und sc(4,4) prüfend, kann ich dieses Verhältnis nicht reproduzieren. Wie funktioniert 'scal'? Wenn möglich, würden Verbindungen, die die anderen Färbemodi weiter beschreiben und wie sie Koeffizienten in eine Skalogrammdarstellung skalieren, geschätzt werden.

Antwort

0

die Skala von cwt (Diese Version von CWT mehr empfohlen wird kein Verwenden Sie das aktualisierte cwt statt..) Haben folgende Gleichung „unter der Haube“:

WSCALOGRAM Scalogram for continuous wavelet transform. 
% SC = WSCALOGRAM(TYPEPLOT,COEFS) computes the scalogram 
% SC (percentage of energy for each coefficient). COEFS is 
% the matrix of continuous wavelet coefficients (see CWT). 
% The scalogram is obtained by computing: 
%  S = abs(coefs.*coefs); SC = 100*S./sum(S(:))