wavelet decomposition of a signal

13 vues (au cours des 30 derniers jours)
m
m le 18 Août 2013
hi, i want to decompose a signal with wavelet in 5 subbands:
delta (0–4 Hz), theta (4–8 Hz), alpha (8–15 Hz), beta (15–30 Hz), and gamma (30–60 Hz) ,use db4"_
i found wavelet toolbox menu but cant use it,can you help me?
thanks.

Réponses (2)

Jan
Jan le 18 Août 2013
Use wavedec() to calculate the wavelet decomposition and wenergy to extract the energie in the decomposition.
e.g.:
[C, L] = wavedec(signal, waveorder, wavekind);
[~, energies] = wenergy(C, L);
Note, that the wavelet deomposition in a specific decomposition level does not exactly represent an actual frequency band. This can be only done, using trigonometric functions for decomposition - however, in hat case you end up with the discrete Fourier transform.
However, you can calculate corresponding frequencies (i.e. pseudo frequencies) for a specific wavelet family and level of decomposition (look at centfrq() on that matter). If you carefully choose the wavelet family and wavelet order, you get a wavelet decomposition, that roughly corresponds to the desired bands.
For your use case, one would choose Daubechies order 3 Wavelets and six levels of decomposition. Then the decomposition levels 1 to 5 in reverse order should just about match the required bands:
L1: gamma, L2: beta, L3: alpha, L4: theta and L5: delta.
  1 commentaire
Afiqah Abu Samah
Afiqah Abu Samah le 15 Mar 2017
Hi, I want to ask how to calculate the energy of 2-D wavelet decomposition. I know that function wenergy2 can be use, but I want to know how it can be calculated since I want to use single level 'dwt2' function and decompose the images level-by-level instead of using this; [C,S] = wavedec2(X,2,'bior3.7'). (I have my own reason why I need to decompose it like that)
If 'dwt2' is used, I can't calculate the energy using 'wenergy2' since I didn't know how to get the 'C' array.
Please help me, give me some ideas how to solve this.

Connectez-vous pour commenter.


m
m le 18 Août 2013
thanks jan for attention, i run your MATLAB command but i have a signal with 120hz and 23.6s and want to use db4 in 4 level , in your answer i cant understand who can i do it ?
(excuse me for my poor english!)
  3 commentaires
m
m le 18 Août 2013
ok,thanks.
Jan
Jan le 18 Août 2013
I just sent you a mail to columbia_mgi@yahoo.com

Connectez-vous pour commenter.

Catégories

En savoir plus sur Discrete Multiresolution Analysis dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by