How calculate a single frequency of a multifrequency signal?

Click For Summary

Discussion Overview

The discussion revolves around the methods for calculating individual frequencies from a multifrequency audio signal, specifically focusing on the analysis of a PCM-modulated *.wav file. Participants explore various approaches to frequency analysis, including the use of Fourier transforms and algorithms.

Discussion Character

  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant inquires about calculating individual frequencies from a complex audio signal, noting the presence of multiple frequencies and providing sample rate information.
  • Another participant asserts that it is not possible to determine instantaneous frequency as described, emphasizing the need for a discrete Fourier transform (DFT) or Fast Fourier Transform (FFT) to analyze frequency content over time.
  • It is suggested that the analysis should be performed over time intervals longer than the period of the slowest frequency component, typically around 20 Hz.
  • Participants discuss the importance of segmenting the audio signal into smaller portions to effectively analyze frequency distribution changes over time.
  • One participant questions the use of the unit "Hz/s," stating it is not a useful measurement and equating it to 1/s².
  • Another participant mentions the Goertzel algorithm as an alternative method for frequency analysis, although they express uncertainty about its specific applications.
  • There is a clarification that FFT is a method for efficiently calculating the DFT, and it is commonly used in numerical software.

Areas of Agreement / Disagreement

Participants generally agree on the necessity of using Fourier transforms for frequency analysis, but there is disagreement regarding the interpretation of instantaneous frequency and the appropriateness of certain units. The discussion remains unresolved regarding the specific applications of the Goertzel algorithm.

Contextual Notes

Participants have not fully defined the assumptions regarding the signal characteristics or the specific requirements for frequency analysis. There are also unresolved questions about the implementation and understanding of FFT and the Goertzel algorithm.

Richard_Steele
Messages
53
Reaction score
3
I'm just coding a program where I've to calculate the individual frequencies inside an audio file *.wav file.
The modulation is pcm and the information I've is a lots of points, like this:
http://www.renesas.com/media/support/faqs/faq_results/Q1000000-Q9999999/samp_1.gif

To be exact, I've 44,000 samples per second.
Well, the signals would look like this:
220px-Analog_digital_series.svg.png

It's not a constant tone, it's a combination of different frequencies.
My question is how can I calculate, frequency by frequency its value in hertzs/second and how can I approach the problem.
 
Last edited by a moderator:
Physics news on Phys.org
You can't. At least not the way you describe it.

To analyze the frequency spectra of a signal you use a discrete Fourier transform, usually using an FFT algorithm. This will tell you the frequency content of the signal.
However, there is no such thing as instantaneous frequency; you always have to analyze the signal over some time which should be significantly longer than the period of the slowest frequency component you are interested in, for sound that is usually 20 Hz, so you need to analyze "slices" that are at least a few times 1/20 s long.

Now, of course there are still many uses for tools that can show us how the frequency distribution changes over time. especially in music. The way to do this is to chop the signal into small portions (just long enough to get the frequency content) of the signal at a time; I guess you could divide the signal into chunks; but it would presumably be better to use a FIFO buffer of some suitable length.

Also, Hz/s is not a useful unit; so I am not sure why you would use that (it is the same thing as 1/s^2, i..e per second square)
 
f95toli said:
You can't. At least not the way you describe it.

To analyze the frequency spectra of a signal you use a discrete Fourier transform, usually using an FFT algorithm. This will tell you the frequency content of the signal.
However, there is no such thing as instantaneous frequency; you always have to analyze the signal over some time which should be significantly longer than the period of the slowest frequency component you are interested in, for sound that is usually 20 Hz, so you need to analyze "slices" that are at least a few times 1/20 s long.

Now, of course there are still many uses for tools that can show us how the frequency distribution changes over time. especially in music. The way to do this is to chop the signal into small portions (just long enough to get the frequency content) of the signal at a time; I guess you could divide the signal into chunks; but it would presumably be better to use a FIFO buffer of some suitable length.

Also, Hz/s is not a useful unit; so I am not sure why you would use that (it is the same thing as 1/s^2, i..e per second square)

I 've also read that Goertzel algorithm can be used too, but I don't know exactly for what pourpouse.
You're right that almost in all cases people use FFT or DFT because it's the main tool that I see each time. But I don't fully understand what FFT is and how it works.
 
FFT is just a clever way to calculate the discrete Fourier transform (DFT), it is by far the most common method, to the point where people just say "FFT" when they really mean DFT. FFT is often a built in function in software for numerical calculations, I believe even Excel has a FFT function.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
3K
Replies
17
Views
6K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
7
Views
4K
  • · Replies 3 ·
Replies
3
Views
3K
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
9
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K