LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Help on NI Speedy-33 (2 questions)

Hai,

A-weighting or any weighting filter are values to be added with each frequency in frequency spectrum.  Its a tabulation that says for Frequency 1Hz -  Weight - 5dB  and similary for all frequencies.  Run a search in net to find out the tabulation that gives this relation and rest is math.  Get the frequency domain of the signal add this weightage and then take Ifft now you have A-weighted signal.Smiley Happy

With regards,
JK
(Certified LabVIEW Developer)
Give Kudos for Good Answers, and Mark it a solution if your problem is solved.
0 Kudos
Message 11 of 26
(1,205 Views)

To summarize,

1) the ambient "sound" pressure level (mechanical energy) is converted to electrical energy via the onboard microphones.

2) It is converted from analog to digital signal via A/D converter with 16 bits resolution.

3) A gain (depending on the gain setting) is applied to the signal and reflected on the waveform graph.

4) Weighting filter (usually A-weighted) is applied which response to the human sentivity hearing range (1-4kHz) for better illustration/understanding of what is being measured.

 

Hence, it is possible to implement the A-weighted filter using the LabVIEW Digital Filter Design toolkit  (I know S&V measurement has it but it cant be executed in DSP module)?

 


1) Yes that is correct

2) yes 16 bit

3) correct

4) You may have may solutions here, You may create a lookup table, and applying it on the FFT. You may also use the A-weighting transfer function and convert it to digital filter using Z transform. And also LabVIEW Digital Filter Design toolkit placing zeros and poles from the transfer function Google is your friend, try the phrase ->hearing curve A-weighting



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 12 of 26
(1,201 Views)

Hi Guys,

 

The NI support engineer has replied that the onboard microphone's sensitivity level is at 8mV/Pa (or -42dB at 1V/Pa). Also, the amplitude value displayed on the waveform graph is in "digitilize" value, hence, I still waiting for the amplifier volt gain in order to get back the actual analog voltage measured.

 

P.S: Beside the amplifier volt gain, will the resolution, frame size or sampling freq affect the actual analog voltage measure?  If yes, how?

 

Thanks!

0 Kudos
Message 13 of 26
(1,181 Views)

BK Lian wrote:

P.S: Beside the amplifier volt gain, will the resolution, frame size or sampling freq affect the actual analog voltage measure?  If yes, how?


Oh yes indeed 😉 Take a look at this link http://zone.ni.com/devzone/cda/tut/p/id/4278



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 14 of 26
(1,168 Views)

JK1 wrote:

Hai,

A-weighting or any weighting filter are values to be added with each frequency in frequency spectrum.  Its a tabulation that says for Frequency 1Hz -  Weight - 5dB  and similary for all frequencies.  Run a search in net to find out the tabulation that gives this relation and rest is math.  Get the frequency domain of the signal add this weightage and then take Ifft now you have A-weighted signal.Smiley Happy


 

Hi JK,

 

I roughly understand ur meaning but which area should I look into (search)? The transfer function of A-weighted filter is in s-domain. To implement using DFD toolkit, I need it to be in z-domain....

 

PS: A-weighted filter is apply on time-domain signal?

 

Regards,

Bee Kwang

0 Kudos
Message 15 of 26
(1,110 Views)

BK Lian wrote:
I roughly understand ur meaning but which area should I look into (search)? The transfer function of A-weighted filter is in s-domain. To implement using DFD toolkit, I need it to be in z-domain....

 

PS: A-weighted filter is apply on time-domain signal?

 


Yes you apply the A-weighted filter on the time domain signal. In the theory this is quite simple. You take the  s-domain  transfer function, and apply bilinear transform. After some reworking you can extract the 'feed-backward' coefficients and the  'feed-forward' coefficients. These coefficients may be used as input to Labview filter functions. As I said the theory is simple, but I think it will be a hard job to do this. If you are planning to use spectrum analysis in your application, you can skip the filter and instead apply the A-weighted filter transfer function output to the frequency bins your spectrum. This way you may save a lot of work, since you stay in the frequency domain all the time.

You use this formulas to calculate the A curve in dB, for every frequency bin in your spectrum analysis output.

 

 Then you simply add this array to the spectrum output array. For this to work the output from the spectrum must be in dB not dBm, scaled to Vpk. The output units from the power spectrum VIs is Vrms^2 or Vrms depending on which function used. But here you use the "Spectrum Unit Conversion VI" this VI will scale the output as you want it. Se example.  

Edit: You will find the formula here http://en.wikipedia.org/wiki/A-weighting

 

Message Edited by t06afre on 04-04-2009 02:16 PM


Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
Download All
Message 16 of 26
(1,107 Views)

Hi t06afre,

 

1) Thanks for ur feedback on bilinear transform. I understand the MathScript has a function to convert but as u have said, it is probably too hard to do it.

 

2) Regarding the transfer function, I'm still trying to digest it Smiley Wink.

 

P.S. Do you mind converting the vi example to labview version 8.2?

 

Regards,

Bee Kwang

 

0 Kudos
Message 17 of 26
(1,086 Views)

1) Thanks for ur feedback on bilinear transform. I understand the MathScript has a function to convert but as u have said, it is probably too hard to do it.

Doing the job by pencil and paper is not an easy job. But a computer may do this. You can try it. But as I said before, by using spectrum analysis you do not need the filter in time domain.

2) Regarding the transfer function, I'm still trying to digest it

The wiki paper on this is quite good, but it is more here http://www.cross-spectrum.com/audio/weighting.html

In my example I have used these fixed parameters 44100 Hz sample rate, 22050 samples(0.5 seconds of sound) It is saved in 8.0

 

 



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
Message 18 of 26
(1,078 Views)

Hi to6afre,

 

Thanks for the conversion. I can relate what u've said based on the simulation. However, I'm still confused on the block diagram section. Is there any way to simplify it? Perharps using a  FFT Spectral measurement?

 

Also, refer to the link below, it demonstrate how to convert the weighted filter using bilinear transformation. Can u understand?

http://www.mathworks.com/matlabcentral/fileexchange/69

 

Regards,

Bee Kwang

0 Kudos
Message 19 of 26
(1,069 Views)

Well, yeah... :smileyindifferent:  Huh Simplify? It can't be simpler than this. Using an Express VI will add a lot more of code. But NI hide it for you in a not so clever way.   But perhaps the NI dsp toolkit do not support all spectrum analysis options.  Since I am in a good mod I browsed through the DSP module documentation. I seams like the DSP module is supporting the Spectral Measurements Express VI. If this is correct. You have to do something like I show in the picture attached. I have never used the DSP module so I am not sure how correct this is in the NI DSP world. But the math is correct. Other have to help with the rest of your code.



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 20 of 26
(1,057 Views)