wavelet decomposition of a signal
11 views (last 30 days)
Jan on 18 Aug 2013
Use wavedec() to calculate the wavelet decomposition and wenergy to extract the energie in the decomposition.
[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.