# scales

CWT filter bank scales

## Description

rs = scales(fb) returns the raw (unitless) scales used in creating the wavelet bandpass filters. Scales are ordered from finest to coarsest.

example

[rs,cs] = scales(fb) returns the wavelet scales converted to units of the sampling frequency or sampling period.

## Examples

collapse all

Create a CWT filter bank with sampling period equal to 0.001 seconds.

fb = cwtfilterbank('SamplingPeriod',seconds(0.001));

Obtain the raw and converted scales used in creating the wavelet bandpass filters.

[rs,cs] = scales(fb);

Obtain the filter bank bandpass center periods.

P = centerPeriods(fb);

Compare the finest converted scale with the smallest bandpass center period normalized by the sampling period.

min(cs)
ans = 2.3035
min(P)/seconds(0.001)
ans = 2.3035

The scales should increase by a factor of approximately ${2}^{1/|NV|}$, where $NV$ is the number of voices per octave. The default value of $NV$ is 10. Plot the ratios of successive scales and compare with ${2}^{1/10}$.

len = length(rs);
plot(rs(2:len)./rs(1:len-1),'rx-')
hold on
plot(1:len-1,2^(1/10)*ones(1,len-1),'b')
title('Successive Scale Ratios')
legend('Scale Ratio','Scale Factor')

## Input Arguments

collapse all

Continuous wavelet transform (CWT) filter bank, specified as a cwtfilterbank object.

## Output Arguments

collapse all

Raw scales used in creating the wavelet bandpass filters, returned as a real-valued vector of length Ns, where Ns is the number of wavelet bandpass frequencies (equal to the number of scales).

Data Types: double

Converted scales used in creating the wavelet bandpass filters, returned as a real-valued vector of length Ns, where Ns is the number of wavelet bandpass frequencies (equal to the number of scales). cs is in units of the sampling frequency or sampling period.

Data Types: double