DSPRelated.com
Forums

Seeking Free Frequency analysis toolkit or examples

Started by David Chen June 26, 2003
Hi,

I'm currently a 17-year-old student trying to do a project, involving
embedding data within an audio file. Hopefully, it will survive MP3
compression... so I've come to the conclusion I will have to convert all the
samples to the freq. domain to do any analysis.

I downloaded FFTW and I have it working, but it assumes that the user knows
what he's doing (which I do not really).

I found this software kit at http://www.eobj.com/eofft-dll.html that would
be perfect, except it costs $60... Basically, it will calculate forward and
inverse FFT and can add extra output tasks such as different windowing
functions, converting output of forward FFT to magnitude (dB) or power.

Is there any software kit (preferably in C/C++ or Java) for free that can
provide similar features? Actually, all I really need are examples showing
me how to do the above tasks I mentioned (mainly converting output of
forward FFT to magnitude, after using a windowing function).


Thanks.


David Chen



David Chen wrote:

> I found this software kit at http://www.eobj.com/eofft-dll.html that would > be perfect, except it costs $60... Basically, it will calculate forward and > inverse FFT and can add extra output tasks such as different windowing > functions, converting output of forward FFT to magnitude (dB) or power.
This might do what you want: http://www.iowegian.com/scopedsp.htm Also, there's a lot of tutorial info at www.dspguru.com that you might find interesting. -- Jim Thomas Principal Applications Engineer Bittware, Inc jthomas@bittware.com http://www.bittware.com (703) 779-7770 There are 10 kinds of people: the ones who understand binary code, and the ones who don't.
David,

you should look into the examples for the FFT provided on my
http://www.dspdimension.com pages. I am using the FFT to do pitch
shifting (sic!) which involves calculating the magnintudes from the
Fourier transform. Maybe this is of help.

--sms

> Actually, all I really need are examples showing > me how to do the above tasks I mentioned (mainly converting output of > forward FFT to magnitude, after using a windowing function).
"David Chen" <david_c11@yahoo.com> wrote in message
news:qvLKa.4$BS4.2700474@newssvr21.news.prodigy.com...
> Hi, > > I'm currently a 17-year-old student trying to do a project, involving > embedding data within an audio file. Hopefully, it will survive MP3 > compression... so I've come to the conclusion I will have to convert all
the
> samples to the freq. domain to do any analysis. > > I downloaded FFTW and I have it working, but it assumes that the user
knows
> what he's doing (which I do not really). > > I found this software kit at http://www.eobj.com/eofft-dll.html that would > be perfect, except it costs $60... Basically, it will calculate forward
and
> inverse FFT and can add extra output tasks such as different windowing > functions, converting output of forward FFT to magnitude (dB) or power. > > Is there any software kit (preferably in C/C++ or Java) for free that can > provide similar features? Actually, all I really need are examples showing > me how to do the above tasks I mentioned (mainly converting output of > forward FFT to magnitude, after using a windowing function).
Take a look at Cool Edit. Not exactly what you've asked for but could be useful in some situations. You can adjust the sample values manually with a mouse or external to the program as a file manipulation. Fred
I'm not sure what you are trying to do though it sounds like you are 
attempting to fingerprint recordings.  Designing signals that survive 
conversion to MP3 requires an expert understanding of the conversion process 
and only indirectly would be helped by understanding frequency analysis.

If you have a real signal organized as single or double precision real data, 
you can fill a buffer of length N and compute the FFT using the rfftw series 
of functions.  The output of rfftw is complex organized as follows:

Real (0)                     DC
Real frequency (1)
Real frequency (2)
.
Real frequency (N)    Nyquist frequency
Imaginary frequency (N-1)
Imaginary frequency (N-2)
..
Imaginary frequency (1)

The magnitude at a frequency I is

mangitude(I) = sqrt(Real(I) * Real(I) + Imaginary(I) * Imaginary(I))

QED

Windowing may be done in the time domain by multiplying the input series by 
the window function on a point by point basis or in the frequency domain by 
convolution.  It is generally easier to window in the time domain.  The Harris 
paper on windowing mentioned in the comp.dsp FAQ is a good starting point on 
the subject of windowing.  

In fact, the comp.dsp FAQ is a good starting point for any question you might 
want to ask in this group.  

In article <qvLKa.4$BS4.2700474@newssvr21.news.prodigy.com>, "David Chen" 
<david_c11@yahoo.com> wrote:
>Hi, > >I'm currently a 17-year-old student trying to do a project, involving >embedding data within an audio file. Hopefully, it will survive MP3 >compression... so I've come to the conclusion I will have to convert all the >samples to the freq. domain to do any analysis. > >I downloaded FFTW and I have it working, but it assumes that the user knows >what he's doing (which I do not really). > >I found this software kit at http://www.eobj.com/eofft-dll.html that would >be perfect, except it costs $60... Basically, it will calculate forward and >inverse FFT and can add extra output tasks such as different windowing >functions, converting output of forward FFT to magnitude (dB) or power. > >Is there any software kit (preferably in C/C++ or Java) for free that can >provide similar features? Actually, all I really need are examples showing >me how to do the above tasks I mentioned (mainly converting output of >forward FFT to magnitude, after using a windowing function). > > >Thanks. > > >David Chen > > >
"David Chen" <david_c11@yahoo.com> wrote in message news:<qvLKa.4$BS4.2700474@newssvr21.news.prodigy.com>...
> Hi, > > I'm currently a 17-year-old student trying to do a project, involving > embedding data within an audio file. Hopefully, it will survive MP3 > compression... so I've come to the conclusion I will have to convert all the > samples to the freq. domain to do any analysis. > > I downloaded FFTW and I have it working, but it assumes that the user knows > what he's doing (which I do not really). > > I found this software kit at http://www.eobj.com/eofft-dll.html that would > be perfect, except it costs $60... Basically, it will calculate forward and > inverse FFT and can add extra output tasks such as different windowing > functions, converting output of forward FFT to magnitude (dB) or power. > > Is there any software kit (preferably in C/C++ or Java) for free that can > provide similar features? Actually, all I really need are examples showing > me how to do the above tasks I mentioned (mainly converting output of > forward FFT to magnitude, after using a windowing function). > > > Thanks. > > > David Chen
Hi David u may want to try the software called Autosignal. U can download the trial version for free from the web. just search for it in google. -Nithin