# Continuous wavelet transform and Shannon Entropy

Note: I have asked the same question on signal processing forum,but didn't get any answer. so it might be more like a math or physics question. Hope you don't consider it as cross-post.
I am trying to calculate shannon entropy of CWT. I am not sure if I am doing it right. Assume that $$W(a_i,t), i=1;2;...;M$$ is a set of wavelet coefficients. The Shannon wavelet entropy is calculated by:
$$E=-\sum_{i=1}^{M}d_i log(d_i)$$ $$\rightarrow$$ where $$d_i=\frac{|W(a_i,t)|}{\sum_{j=1}^{M}W(a_j,t)}$$
I am confused how to calculate $$E$$. for example I have a coefficient matrix with size of $$[M\times N]$$, $$M$$ is scales number and $$N$$ is time segments. first I have to calulate $$d_i$$, this is my main problem. this is the wavelet coefficient matrix :
$$W_{M\times N} = \begin{pmatrix} w_{a_1,1} & w_{a_1,2} & \cdots & w_{a_1,N} \\ w_{a_2,1} & w_{a_2,2} & \cdots & w_{a_2,N} \\ \vdots & \vdots & \ddots & \vdots \\ w_{a_M,1} & w_{a_M,2} & \cdots & w_{a_M,N} \end{pmatrix}$$

hmm . . . I am pretty sure I am wrong, can anyone help? for example tell me how can I calculate $$d_4$$?
Here I have right a little MATLAB script to calculate shannon entropy of CWT.
Is it right or wrong? and what should I do?

[M,N]=size(coeffs);
for js=1:M
Ej(js)=sum(abs(coeffs(js,:)));
end;
Etot=sum(Ej);
Pj=Ej./Etot;
%shannon entropy
shan_entr=-sum(Pj.*log(Pj));

P.S: I want to find optimum pairs of fb,fc for Morlet wavelet function. so if you look at here,free you will see why I need to calculate shannon entropy.another paper explain the method more in here too. so that's why I need to calculate shannon entropy of wavelet. I would be glad if I understand how to calculate shannon entropy for CWT. your help is much appreciated

• CWT refers to continuous wavelet transform. @Memming – Electricman Dec 29 '13 at 18:36
• Ah, thanks for the clarification. – Memming Dec 29 '13 at 18:41