Ich versuche, Wavelet-Koeffizienten über die Zeit und zwischen Signalen zu vergleichen. Zu diesem Zweck MATLAB
cwt
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.