Searching \ for 'Wavelet spectral analysis for guitar tuner?' in subject line. () Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=wavelet+spectral
Search entire site for: 'Wavelet spectral analysis for guitar tuner?'.

Truncated match.
'Wavelet spectral analysis for guitar tuner?'
1995\07\14@072315 by  Has anyone thought of or have code for using wavelets on PIC's? Since
wavelts deal with octaves, or power's of 2 frequency ratio, these would seem
to be a natural choice. For those who don't know, wavelet analysis is
similar to fourier analysis, with the differences being wavelets are based
on a pulse rather than sinusoid, and octave rather than decade frequency
spans. That is, any waveform is expressed as a series of pulses, of varying
pulse dilation (pulse width), translation (phase) and amplitude. The
calculations required go much faster that with the fourier transform,
speeding up signal compression and analysis applications. I'm interested in
this for an inexpensive EEG/Biofeedback monitor, which spectrum is also
based on octaves rather than decades.

Here's an ftp site with info about wavelets:
ceres.math.yale.edu,   ~ftp/pub/wavelets/

The Aprill 92 issue of Dr Dobbs Journal has an article, with example C code
and executables on their BBS.  stephnss@XNET.COM wrote

Has anyone thought of or have code for using wavelets on PIC's? Since
wavelts deal with octaves, or power's of 2 frequency ratio, these would seem
to be a natural choice. For those who don't know, wavelet analysis is
similar to fourier analysis, with the differences being wavelets are based
on a pulse rather than sinusoid, and octave rather than decade frequency

I think you may have misconceptions about fourier vs. wavelet transform.
Fourier transform decomposes signal into its spectral components as normally
understood (a fundamental frequency and its harmonics). Wavelets decompose
signal into different set of primitives, based on 'fractal' shapes.

Therefore, fourier transform is better for periodic signals, while
wavelets work better for non-periodic, noisy signals with sharp
transitions. As far as speed difference, both methods are
fundamentally similar: they both represent your function f(t) as a sum
of transform base functions T(w,t) multiplied by transform coefficients F(w)
i                                           i
_N__                                _N__
\                                   \
f(t) = >   F(w) T(w,t),   where   F(w,t) = >   f(t ) T(w,t)
/___  i    i                 i      /___    i   i
i=1                                 i=1

(moreless).

przemek klosowski (przemek rrdstrad.nist.gov)
Reactor Division (bldg. 235), E111
National Institute of Standards and Technology
Gaithersburg, MD 20899,      USA

(301) 975 6249  In article  stephnss XNET.COM writes:

>Has anyone thought of or have code for using wavelets on PIC's? Since
>wavelts deal with octaves, or power's of 2 frequency ratio, these would seem

Wavelets on a single PIC seems to be a bit much.  However, an implementation
of the Discrete Wavelet Transform could be done on a cascade of PICs.  The
17C44 with its hardware multiply would be a good choice for each of the mirror
filters.  In such a fashion you would then have the PICs forming a pipeline.
This might be less expensive than using DSP chips.

Lee Holeva  >
> I think you may have misconceptions about fourier vs. wavelet transform.
> Fourier transform decomposes signal into its spectral components as normally
> understood (a fundamental frequency and its harmonics). Wavelets decompose
> signal into different set of primitives, based on 'fractal' shapes.
>
> Therefore, fourier transform is better for periodic signals, while
> wavelets work better for non-periodic, noisy signals with sharp
> transitions.

Sorry, but what you mean is the fourier series. The fourier
transform can also be done continuously for non-periodic signals.

Erwin

--------------------------------------------------------------
Erwin Petter
Fraunhofer Institute for biomedical Engineering

Ensheimerstr 48                   //////
66386 St.Ingbert                 /_~~~_\
Germany                         q o | o p
tel. +49 6894 980158            |  ===  |
\     /
-------------------------------ooOo----oOoo--------------------------  On Sun, 16 Jul 1995, Erwin Petter wrote:

> > Therefore, fourier transform is better for periodic signals, while
> > wavelets work better for non-periodic, noisy signals with sharp
> > transitions.
>
> Sorry, but what you mean is the fourier series. The fourier
> transform can also be done continuously for non-periodic signals.
>
> Erwin

The Fourier transform *implicitly* assumes a periodic signal.  You
explicitly specify the period when you choose the length of your sample
set.  In other words, the sample window or the number of samples you use
(in a digital transform) on which you perform the transform *is* the period
(and the *only* period) of your signal, as far as the transform is
concerned.

Sure, you can perform a Fourier transform on non-periodic signals.  Just
be sure to realise that you are *forcing* a periodicity on it.

Note that this periodicity becomes the sampling density in the transform
space (usually "frequency bins" in the common usage of the transform).

Paul Picot             ppicot irus.rri.uwo.ca
Imaging Research Labs, Robarts Research Institute. London, Ontario, Canada
Affiliated with University Hospital and the University of Western Ontario  Erwin is right: the Fourier TRANSFORM does not assume periodicity,
because it calculates the fourier 'coefficients' for every frequency
on the real axis (i.e. a transform of a function f(t) is another
function F(omega): for instance the fourier transform of a
sin(omega_zero*t) is a delta function with peak at 'omega_zero'; in a
complementary way a transform of an impulse has constant power density
for all frequencies). Now Fourier SERIES do assume a period (i.e. a
fundamental frequency).

Having said that, even Fourier transform 'likes' the periodic functions,
in the sense that the transforms of them have nicer properties than
transforms of arbitrary f(t).   > Erwin is right: the Fourier TRANSFORM does not assume periodicity,
> because it calculates the fourier 'coefficients' for every frequency
> on the real axis.

Sure?

Well, the DISCRETE fourier transform DOES assume periodicity, because
with a finite number of base vectors which are all periodic (sin and cos),
all you can get is a periodic function.

In programming, you always deal with the discrete FT (unless you do
computer algebra ;-), not the continuous one with the integral.

What is the moral of this? If you want to to use the discrete fourier
transform on a finite signal, then you have to make this finite
signal artificially periodic. The FT always consideres the data block
you give it as a periodic signal and you you are not carefull, you will
see the probably large edge between the last and the first sample
in your spectrum -> you get a pretty weird spectrum.

What can you do against this?

Just multiply your data block with a 'windowing function',
which makes your data periodic (i.e.  last sample = first sample = 0)
without doing too much harm to the spectrum. A number of good windowing
functions are described in every signal processing textbook. They are
called Welch, Hann, Hamming, Barlet, etc. window functions. With them, you
get really good spectral estimation using the DFT.

All this is old well-established standard technology explained in detail
in every book about digital signal processing. There's also a nice
easy to understand chapter 13.4 in "Numerical Recipes in C"
by W. H. Press et. al., ISBN 0-521-43108-5 about spectral estimation
using the FFT.

Markus

--
Markus Kuhn, Computer Science student -- University of Erlangen,
Internet Mail: <mskuhn cip.informatik.uni-erlangen.de> - Germany
WWW Home: <http://wwwcip.informatik.uni-erlangen.de/user/mskuhn>

More... (looser matching)
- Last day of these posts
- In 1995 , 1996 only
- Today
- New search...