10-29-2009 03:44 AM - edited 10-29-2009 03:46 AM
Hallo zusammen,
Ich möchte über die Soundkarte ein Signal einlesen, eine FFT machen und das Signal dann A-Bewerten!
Allerdings weiß ich nicht, wie ich das komplette Spektrum über den A-Filter laufen lassen kann, so dass ich einen dBA-Wert als Ergebnis bekomme.
Ein Beispiel-VI habe ich beigefügt...
Hoffe mir kann hier jemand helfen!
Vielen Dank
Alesis
--------------------------------------------------------------------------------------------
Hi All,
I want to read a signal over the sound card,make a FFT and make then an A-Weighting!
However, I do not know how I can A-weighted the complete spectrum to get a dBA value as a result.
I have attached an example VI ...
I hope someone can help me!
Thanks alot (and sorry for my english 🙂 )
Alesis
LabVIEW Vers. 8.6
Solved! Go to Solution.
10-29-2009 08:47 AM
Hat niemand eine Idee bzw. etwas wo mich weiter bringt???
-------------------------------------------------------------------
Has no one any idea or something which brings me further??
10-29-2009 04:07 PM
Hmm... falls ich das Problem nicht verständlich beschrieben habe, fragt bitte einfach nach!!!
Da ich gerade echt nicht weiter komme bin ich einfach auf Hilfe von experten auf diesem Gebiet angewiesen.
Hoffe es gibt hier jemanden...
--------------------------------------------------------------------------------------------------------------------------
Hmm ... If I describe the problem not understandable, please aks me again!
I can't continue my programm and i need realy help from the experts in this field.
Hope there is anyone out there...
11-02-2009 02:56 AM
Hello LabVIEW community,
I ask you again to help!
I want to measure the noise level of a signal in dBA. For this I use the sound card (as described above) and let run the signal through the formula of A-rating.
Actually, I should just let it run the complete spectrum and not only one frequency peak.
However, precisely where the problem lies in the realization! I hope one of you can help me with this problem, because i do not know how I can solve it!
If anithing is not understandable, please ask me and i will describe it as good as i can...
(and again: sorry for my english )
11-02-2009 05:55 AM
Hi
In the theory you can do this with a sound card. But your system must be calibrated properly, if not the measurements are pointless. It is no standard formats then it comes to a signal chain using a microphone and a sound card. The output can be anything. Also you should be aware of that the input signal from your sound card is in the time domain. But the formula you use is for the frequency domain. You have perhaps already used this site http://en.wikipedia.org/wiki/A-weighting if not I can recommend it.
Anyway the simplest way to get the A weighted "curve" is to first create a FFT spectrum with output in dB. Then you calculate the gain for each frequency bin your FFT spectrum. You do this by the formula Ra(f) in the Wiki paper. It looks like you have implemented it already in your formel Express VI. Then you just these corrections factors to the FFT values. Remember that the number and the value of the frequency bins in a FFT is both depended on sample rate (in Hz) and number of samples. So each time you change on of these settings. New corrections values must be calculated
11-02-2009 06:44 AM
Hello Coq Rouge,
thank you very much for your help!!!
I'm trying to implement your tips and will then report back.
11-02-2009 07:01 AM
Ok, this is exactly my problem!!! how can i calculate the gain for each frequency in the FFT.
In my example vi, i do an A-Weighting only for one frequency. But i must calculate the whole spectrum (this is approximately what you write if i understand correctly).
Hope you can help me again...
Thanks
Alesis
11-03-2009 05:49 AM
Does realy nobody knows how i can calculate the gain for each frequency in the FFT???
11-03-2009 06:00 AM
Hi Alesis,
are you familiar with Array-Handling in LabVIEW? You wrote the formula for evaluating the frequences to the human ear, BUT you apply this formula to a scalar value only.
You have to apply your formula to every single value, like this:
Best regards
11-03-2009 06:33 AM
Hello MarianMO,
I'm still a beginner in Labview and therefore not yet very familiar with arrays; that's the problem...
But what signal should I put on my Formula Express VI (to X1), in order to add up the frequencies?
Can i use the magnitude from the function "Auto Power Spectrum.vi" that gives me the spectrum of the wave-signal?
(see picture)
Or is it an other signal?
Thank you very much for your help!!!
Best regards
Alesis