LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 10-26-2008, 04:53 PM   #1
tanoatlq
Member
 
Registered: Mar 2007
Posts: 157

Rep: Reputation: 30
spectrum analyzer and equalizer


Hello,
where can I find more docs about developing a small spectrum analyzer
and / or an equalizer? I did not speak about source code (I am reading
xmms's), but a good tutorial/paper/book.
Thanks,
tano
 
Old 10-26-2008, 07:09 PM   #2
jlinkels
LQ Guru
 
Registered: Oct 2003
Location: Bonaire, Leeuwarden
Distribution: Debian /Jessie/Stretch/Sid, Linux Mint DE
Posts: 5,195

Rep: Reputation: 1043Reputation: 1043Reputation: 1043Reputation: 1043Reputation: 1043Reputation: 1043Reputation: 1043Reputation: 1043
I think you'd have to look for FFT (Fast Fourier Transform) algorithms. And there is plenty of docs on that subject.

jlinkels
 
Old 10-27-2008, 04:01 AM   #3
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
I also suggest to learn DSP basics and in the context the difference between IIR and FIR filters WRT phase distortions.

Narrow band IIR equalizer can have quite significant phase/group delay distortions which are definitely audible.
 
Old 10-27-2008, 05:03 AM   #4
tanoatlq
Member
 
Registered: Mar 2007
Posts: 157

Original Poster
Rep: Reputation: 30
Yes, I am reading about fft and in particular I am searching for an understable description
of the sorenson algorithm for real data. But I would like to know thing in a more organic
way.
 
Old 10-27-2008, 06:23 AM   #5
pinniped
Senior Member
 
Registered: May 2008
Location: planet earth
Distribution: Debian
Posts: 1,732

Rep: Reputation: 50
I don't know what you mean by more organic. The FFT will translate from a function in one domain to a function in another domain - in this case you have a sample with a constant difference in time and the FFT converts to a series with a constant difference in frequency, which is your 'spectrum'. The result of the FFT will also be a complex function so you may want to display the magnitude in your spectrum display (unless you really are interested in seeing the phase information). Do you want to attempt a real-time display or are you happy to play with small samples at a time? Even an ancient 160MHz machine can do the computations fast enough - but if you want to display things real-time then the spectrum analyzer is probably best implemented as a "multi-tap" filter rather than an FFT. Equalizers are best implemented as a digital filter as well rather than two sets of FFTs to implement a filter - in fact, that's how all modern DSP-based equalizers do their job.
 
Old 10-27-2008, 11:08 AM   #6
tanoatlq
Member
 
Registered: Mar 2007
Posts: 157

Original Poster
Rep: Reputation: 30
Ok, for 'organic way' I intend all the informations correlated to this subject.
What I did is look inside xmms sources and know that it use fft (I read a little on
fft in dspguide, but only as a lecture). The spectrum analyzer is built from magnitude,
even if inside the code the output is not square rooted.
But I did not know if all the samples are sent to the fft function (I have some doubts because the refresh of the spectrum analyzer is configurable, as peak falloff, and more.., so I would like to found a more specific paper about this).
I look also about the equalizer and know that it use "direct form II filter".
I am absolutely new to these kind of things, so what I have to do is *study*.
What you intend for real-time or small samples? The application should display the spectrum in real time
on the screen, yes, but I am not sure this is what you ask me..
However thanks for the ideas, I am searching about multi-tap filters and more..
tano
 
Old 10-27-2008, 11:16 AM   #7
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by tanoatlq View Post
Ok, for 'organic way' I intend all the informations correlated to this subject.
What I did is look inside xmms sources and know that it use fft (I read a little on
fft in dspguide, but only as a lecture). The spectrum analyzer is built from magnitude,
even if inside the code the output is not square rooted.
But I did not know if all the samples are sent to the fft function (I have some doubts because the refresh of the spectrum analyzer is configurable, as peak falloff, and more.., so I would like to found a more specific paper about this).
I look also about the equalizer and know that it use "direct form II filter".
I am absolutely new to these kind of things, so what I have to do is *study*.
What you intend for real-time or small samples? The application should display the spectrum in real time
on the screen, yes, but I am not sure this is what you ask me..
However thanks for the ideas, I am searching about multi-tap filters and more..
tano
Don't jump on multi-tap filters yet, start from

http://ccrma-www.stanford.edu/~jos/ ->
http://ccrma-www.stanford.edu/~jos/pubs.html ->
http://www.dsprelated.com/dspbooks/ ->
http://www.dsprelated.com/dspbooks/pasp/
http://www.dsprelated.com/dspbooks/sasp/
http://www.dsprelated.com/dspbooks/mdft/mdft.html
http://www.dsprelated.com/dspbooks/filters/filters.html
.
 
Old 10-27-2008, 12:40 PM   #8
brazilnut
Member
 
Registered: Nov 2007
Posts: 113

Rep: Reputation: 16
The second set of examples here are a little fun if I remember correctly:

http://www.speech.kth.se/snack/examples.html

Might help test as you go along...
 
Old 10-27-2008, 03:55 PM   #9
tanoatlq
Member
 
Registered: Mar 2007
Posts: 157

Original Poster
Rep: Reputation: 30
Thanks!! More news as soon as possible
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
SSC (Spread Spectrum Clocking) support for Linux with software RAID? CopaceticOpus Linux - Hardware 3 12-25-2006 09:40 AM
Can't disable XMMS opengl spectrum analyzer plugin undeaf Linux - Newbie 4 05-25-2005 04:55 PM
how can i create a simple frequency spectrum from a sound playing like in XMMS dipumurti Programming 1 05-07-2004 05:36 AM
xmms spectrum analyser question edM Slackware 0 03-25-2004 06:28 PM
XMMS Open GL Spectrum analyzer not working... Bensoft Kill MS Linux - Software 0 11-21-2003 03:04 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 07:46 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration