FFT & overtones



 Science > Physics > FFT & overtones

LINK TO THIS PAGE  


rating :  0   |  0


  Page 1 of 1

1

 
Topic: Science > Physics
User: "Paul"
Date: 04 Jul 2004 04:43:59 PM
Object: FFT & overtones
Hello, i'm developing an application for tuning string instruments
especially electric guitar. I'm having a problem with the FFT. The problem
is that signal processed often exhibits a lot of overtones and harmonics,
that are louder than the actual pitch, that yields very inaccurate results.
I've also tried applying autocorrelation process before the FFT which seems
to help a tiny bit but the signal still has a lot of overtones. I've seen
commercial and free tuner programs that don't seem to have the problems that
mine does. And those programs were very tolerant of the signal quality or
lack of. Is there any additional processing that can be added to estimate
the frequency correctly?
.

User: "Franz Heymann"

Title: Re: FFT & overtones 05 Jul 2004 02:54:35 AM
"Paul" <nospam@nospam.com> wrote in message
news:40e879fb$0$3059$61fed72c@news.rcn.com...

Hello, i'm developing an application for tuning string instruments
especially electric guitar. I'm having a problem with the FFT. The

problem

is that signal processed often exhibits a lot of overtones and

harmonics,

that are louder than the actual pitch, that yields very inaccurate

results.

I've also tried applying autocorrelation process before the FFT

which seems

to help a tiny bit but the signal still has a lot of overtones.

I've seen

commercial and free tuner programs that don't seem to have the

problems that

mine does. And those programs were very tolerant of the signal

quality or

lack of. Is there any additional processing that can be added to

estimate

the frequency correctly?

Filter like hell to get rid of as much of the harmonic content as you
can.
Franz



.
User: "Paul"

Title: Re: FFT & overtones 05 Jul 2004 09:40:13 AM
Any particular algorithm or process that you have in mind?
"Franz Heymann" <notfranz.heymann@btopenworld.com> wrote in message
news:ccb1fr$oa8$4@hercules.btinternet.com...


"Paul" <nospam@nospam.com> wrote in message
news:40e879fb$0$3059$61fed72c@news.rcn.com...

Hello, i'm developing an application for tuning string instruments
especially electric guitar. I'm having a problem with the FFT. The

problem

is that signal processed often exhibits a lot of overtones and

harmonics,

that are louder than the actual pitch, that yields very inaccurate

results.

I've also tried applying autocorrelation process before the FFT

which seems

to help a tiny bit but the signal still has a lot of overtones.

I've seen

commercial and free tuner programs that don't seem to have the

problems that

mine does. And those programs were very tolerant of the signal

quality or

lack of. Is there any additional processing that can be added to

estimate

the frequency correctly?


Filter like hell to get rid of as much of the harmonic content as you
can.

Franz





.
User: "Franz Heymann"

Title: Re: FFT & overtones 05 Jul 2004 04:27:25 PM
"Paul" <nospam@nospam.com> wrote in message
news:40e96827$0$3090$61fed72c@news.rcn.com...


"Franz Heymann" <notfranz.heymann@btopenworld.com> wrote in message
news:ccb1fr$oa8$4@hercules.btinternet.com...


"Paul" <nospam@nospam.com> wrote in message
news:40e879fb$0$3059$61fed72c@news.rcn.com...

Hello, i'm developing an application for tuning string

instruments

especially electric guitar. I'm having a problem with the FFT.

The

problem

is that signal processed often exhibits a lot of overtones and

harmonics,

that are louder than the actual pitch, that yields very

inaccurate

results.

I've also tried applying autocorrelation process before the FFT

which seems

to help a tiny bit but the signal still has a lot of overtones.

I've seen

commercial and free tuner programs that don't seem to have the

problems that

mine does. And those programs were very tolerant of the signal

quality or

lack of. Is there any additional processing that can be added

to

estimate

the frequency correctly?


Filter like hell to get rid of as much of the harmonic content as

you

can.

Any particular algorithm or process that you have in mind?

I was thinking of either a common or garden analogue low pass filter
wih a variable cut-off frequency, or a tuned circuit, tuned to the
fundamental of the note being tuned.
Franz
.

User: "Randy Poe"

Title: Re: FFT & overtones 05 Jul 2004 04:58:36 PM
"Paul" <nospam@nospam.com> wrote in message news:<40e96827$0$3090$61fed72c@news.rcn.com>...

"Franz Heymann" <notfranz.heymann@btopenworld.com> wrote in message
news:ccb1fr$oa8$4@hercules.btinternet.com...
I've seen

commercial and free tuner programs that don't seem to have the

problems that

mine does. And those programs were very tolerant of the signal

quality or

lack of. Is there any additional processing that can be added to

estimate

the frequency correctly?


Filter like hell to get rid of as much of the harmonic content as you
can.

Any particular algorithm or process that you have in mind?

What data rate are you sampling at? What range of frequencies
are you interested in?
For a start, you might want to consider applying a windowing
function such as a Hanning window
(http://mathworld.wolfram.com/HanningFunction.html) before you
do your FFT. This is multiplied point by point by your time
window, to reduce edge artifacts while distorting the true
spectrum as much as possible.
Digital filtering is pretty straightforward. Do a search for
Butterworth filters or Chebyshev filters to see a couple of
common examples that might be good enough for your purposes.
Filtering consists of either doing a convolution in the time
domain (the point at time t is replaced by a weighted sum of
the samples from time t to some previous time t-T) or by
multiplication in the frequency domain, which is equivalent.
- Randy
.

User: "Gregory L. Hansen"

Title: Re: FFT & overtones 05 Jul 2004 03:55:22 PM
In article <40e96827$0$3090$61fed72c@news.rcn.com>,
Paul <nospam@nospam.com> wrote:

Any particular algorithm or process that you have in mind?

"Franz Heymann" <notfranz.heymann@btopenworld.com> wrote in message
news:ccb1fr$oa8$4@hercules.btinternet.com...


"Paul" <nospam@nospam.com> wrote in message
news:40e879fb$0$3059$61fed72c@news.rcn.com...

Hello, i'm developing an application for tuning string instruments
especially electric guitar. I'm having a problem with the FFT. The

problem

is that signal processed often exhibits a lot of overtones and

harmonics,

that are louder than the actual pitch, that yields very inaccurate

results.

I've also tried applying autocorrelation process before the FFT

which seems

to help a tiny bit but the signal still has a lot of overtones.

I've seen

commercial and free tuner programs that don't seem to have the

problems that

mine does. And those programs were very tolerant of the signal

quality or

lack of. Is there any additional processing that can be added to

estimate

the frequency correctly?


Filter like hell to get rid of as much of the harmonic content as you
can.

Franz

Low-pass, presumably. The electronic circuit would look like
e ----\/\/\/\------ u
|
---
---
|
v
If your filter has a time constant a, and a sampling time T, a digital
filter would look like
u[k] = exp(-a*T)*u[k-1] + e[k]
As long as the sampling time is short enough.
You can put a second filter in series, to put a sharper knee in the
amplitude versus frequency graph. Electronically you'd put a buffer
between them, a unity gain amplifier, to present appropriate impedences
to the first and second stages.
|\
e ----\/\/\/\------| >---\/\/\/\----- u
| |/ |
--- ---
--- ---
| |
v v
If the second filter has a time constant b, then the digital filter would
look like
u[k] = (exp(-a*T)+exp(-b*T))*u[k-1] - exp(-(a+b)*T)*u[k-2] + e[k]
Unfortunately, selecting the time constants would depend on knowing in
advance about what the frequency should be. But since I've already
written out the above, I may as well send it.
You could select the first frequency in the FFT that's above some critical
amplitude, and simply discard the rest.
--
"For every problem there is a solution which is simple, clean and wrong."
-- Henry Louis Mencken
.


User: "EjP"

Title: Re: FFT & overtones 06 Jul 2004 09:59:51 AM
Franz Heymann wrote:

"Paul" <nospam@nospam.com> wrote in message
news:40e879fb$0$3059$61fed72c@news.rcn.com...

Hello, i'm developing an application for tuning string instruments
especially electric guitar. I'm having a problem with the FFT. The


problem

is that signal processed often exhibits a lot of overtones and


harmonics,

that are louder than the actual pitch, that yields very inaccurate


results.

I've also tried applying autocorrelation process before the FFT


which seems

to help a tiny bit but the signal still has a lot of overtones.


I've seen

commercial and free tuner programs that don't seem to have the


problems that

mine does. And those programs were very tolerant of the signal


quality or

lack of. Is there any additional processing that can be added to


estimate

the frequency correctly?



Filter like hell to get rid of as much of the harmonic content as you
can.

Franz

While this might work, I suspect he's got other problems. A musical
instrument that needs to be filtered in order to be tuned is
going to sound pretty lousy anyway.
-E




.


User: "Julian Streicher"

Title: Re: FFT & overtones 06 Jul 2004 11:33:29 AM
Maybe your sampling rate isn't high enough.
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
.

User: "John Popelish"

Title: Re: FFT & overtones 05 Jul 2004 03:17:58 PM
Paul wrote:


Hello, i'm developing an application for tuning string instruments
especially electric guitar. I'm having a problem with the FFT. The problem
is that signal processed often exhibits a lot of overtones and harmonics,
that are louder than the actual pitch, that yields very inaccurate results.
I've also tried applying autocorrelation process before the FFT which seems
to help a tiny bit but the signal still has a lot of overtones. I've seen
commercial and free tuner programs that don't seem to have the problems that
mine does. And those programs were very tolerant of the signal quality or
lack of. Is there any additional processing that can be added to estimate
the frequency correctly?

Since all overtones are integer multiples of the fundamental (or very
nearly so for tonal instruments) you can use the overtone pattern to
deduce the fundamental. he big problem with using FFT to find these
frequencies is that the FFT algorithm outputs the spectrum of
frequencies that have periods that are related to the sample interval
and the number of samples taken. For example, if you sample a tenth
of a second with 512 samples and use that data for a FFT, you get an
output that measures the energy of frequencies with periods of .1sec,
..1sec/2, .1sec/3, ... .1sec/(512/2). If the actual frequency does
not coincide with any of these, then it will be only approximately
measured and its energy will be divided between several or all of the
above specific frequencies.
--
John Popelish
.

User: "EjP"

Title: Re: FFT & overtones 05 Jul 2004 02:41:34 PM
Paul wrote:

Hello, i'm developing an application for tuning string instruments
especially electric guitar. I'm having a problem with the FFT. The problem
is that signal processed often exhibits a lot of overtones and harmonics,
that are louder than the actual pitch, that yields very inaccurate results.
I've also tried applying autocorrelation process before the FFT which seems
to help a tiny bit but the signal still has a lot of overtones. I've seen
commercial and free tuner programs that don't seem to have the problems that
mine does. And those programs were very tolerant of the signal quality or
lack of. Is there any additional processing that can be added to estimate
the frequency correctly?


If your overtones are larger than the fundamental, I suspect you've
made a mistake in your signal processing somewhere. Musical
instruments are dominated by the fundamental. Even a guitar
through a fuzzbox should be clean enough to tune on.
Bottom line: the FFT should show you pretty much what your
ear is hearing. If you hear the fundamental tone and it doesn't
show up on your spectrum, there's a problem somewhere.
Perhaps if you told us a little bit more about how you're
doing this, we might be able to help.
For example, if you sample the input of your sound card
at 44 Khz, and run it through a simple fast FFT algorithm,
you should get a beautiful signal.
-E
.


  Page 1 of 1

1

 


Related Articles
 

NEWER

pg.1612     pg.1232     pg.940     pg.716     pg.544     pg.412     pg.311     pg.234     pg.175     pg.130     pg.96     pg.70     pg.50     pg.35     pg.24     pg.16     pg.10     pg.6     pg.3     pg.1

OLDER