Documentation

centfrq

Wavelet center frequency

Syntax

FREQ = centfrq('wname')
FREQ = centfrq('wname',ITER)
[FREQ,XVAL,RECFREQ] = centfrq('wname',ITER,'plot')

Description

FREQ = centfrq('wname')returns the center frequency in herz of the wavelet function,'wname'(seewavefunfor more information).

ForFREQ = centfrq('wname',ITER),ITERis the number of iterations performed by the functionwavefun, which is used to compute the wavelet.

[FREQ,XVAL,RECFREQ] = centfrq('wname',ITER,'plot')returns, in addition, the associated center frequency based approximationRECFREQon the 2ITERpoints gridXVALand plots the wavelet function andRECFREQ.

Examples

collapse all

This example shows how to determine the center frequency in hertz for Daubechies' least-asymmetric wavelet with 4 vanishing moments.

cfreq = centfrq('sym4');

Obtain the wavelet and create a sine wave with a frequency equal to the center frequency,cfreq, of the wavelet. Use a starting phase of$-\pi$for the sine wave to visualize how the oscillation in the sine wave matches the oscillation in the wavelet.

[~,psi,xval] = wavefun('sym4'); y = cos(2*pi*cfreq*xval-pi); plot(xval,psi,'linewidth',2); holdon; plot(xval,y,'r');

This example shows to convert scales to frequencies for the Morlet wavelet. There is an approximate inverse relationship between scale and frequency. Specifically, scale is inversely proportional to frequency with the constant of proportionality being the center frequency of the wavelet.

Construct a vector of scales with 32 voices per octave over 5 octaves for data sampled at 1 kHz.

Fs = 1000; numvoices = 32; a0 = 2^(1/numvoices); numoctaves = 5; scales = a0.^(numvoices:1/numvoices:numvoices*numoctaves).*1/Fs;

Convert the scales to approximate frequencies in hertz for the Morlet wavelet.

Frq = centfrq('morl')./scales;

You can also usescal2frqto convert scales to approximate frequencies in hertz.

See Also

|

Introduced before R2006a

Was this topic helpful?