home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / dsp / 1844 < prev    next >
Encoding:
Text File  |  1992-07-29  |  2.0 KB  |  44 lines

  1. Newsgroups: comp.dsp
  2. Path: sparky!uunet!decwrl!csus.edu!csusac!cindy!rat!polyslo.csc.calpoly.edu!shorio
  3. From: shorio@polyslo.csc.calpoly.edu (Shigenori Horio)
  4. Subject: Need help to find fundamental frequency!
  5. Message-ID: <1992Jul30.005716.25410@rat.csc.calpoly.edu>
  6. Date: Thu, 30 Jul 92 00:57:16 GMT
  7. Organization: Cal Poly State Univ,CSC Dept,San Luis Obispo,CA 93407
  8. Nntp-Posting-Host: polyslo.csc.calpoly.edu
  9. Lines: 33
  10.  
  11. Hello!  I recently started learning signal processing algorithms for my thesis.
  12. I have some problems understanding the theory and converting it to the C code.
  13. My theis deals with musical instruments' acoustic signals and finding its
  14. fundamental frequencies.
  15.  
  16. I am testing this with my Amiga 3000, getting a 8 bit long signal from parallel
  17. port. Right now I am playing an electoric guitar and sending the signal to the
  18. port. Hopefully, I would like to find a sequence of the fundamental frequencies
  19. from the input singal in real-time.  
  20.  
  21. Now, my questions are:
  22.  
  23.     Is there any fast algorithms written in any programming language that
  24. retrieves the fundamental frequency without going through FFT algorithm?
  25.  
  26.     If not, I think I understand that I have to make a window (array of
  27. N elements, x[n]) and pass this to DFT alorithm, and move the window to the
  28. next sampling data by N or N/2.
  29.  
  30. I have gotten some of the DFT alorithms written in C such as fft() and realfft()
  31. which inputs a data array(size sixteen) and returning an output array which is
  32. also the size sixteen, x[16].  Now, to find the fundamental frequency out of
  33. the output array, do I have to go through all the elements in the array and find
  34. the maximum value in x[k]? (Does it need N times comparisons for the window
  35. size N: x[N]?)  Does this bring to the result that the fundamental frequency
  36. is (R / 16) * k?  Also, can the input data array be the 8 bit long signal that
  37. I am getting from the port?
  38.  
  39.     Any kind of advice, suggestions, corrections, or coding is rally 
  40. appreciated.
  41.  
  42. -Fory Horio (shorio@polyslo.csc.calpoly.edu
  43.              or shorio@bach.csc.calpoly.edu)
  44.