Dynamic Signal Acquisition

cancel
Showing results for 
Search instead for 
Did you mean: 

Sound Level Pressure with several channel

Hello,

 

I met a problem with the VI "SVL Exp Avg Sound Level.vi". It works perfectly if I make a measurement with a single microphone, but with more microphones I have some computation error with discontinuity depending on the buffer size.

The following message is given in Labview Help :

"The SVL Exp Avg Sound Level VI requires a continuous input data stream. An internal mechanism automatically detects any sampling discontinuity and resets the filters. "

 

I suppose that there is a link with my problem, but I have no idea to correct it.

 

Here is my VI which is composed of a producer/consumer pattern. The consumer loop computes the sound level pressure during the measurement and stores the measured data in a TDMS file.

I am not expert with enqueue and dequeue function, so maybe it is bad programmed and I have some discontinuity in my data stream coming from the dequeue function.

Sound Level Meter.GIF

 

Thanks for your help,

 

Mathieu

 

0 Kudos
Message 1 of 3
(6,732 Views)

Based on your screenshot, it looks as though your code may be computing the weighted sound level for each channel in a single For Loop. The Weighting VIs and the Sound Level VIs maintain state, so it is not correct to use it in a For Loop to process multiple channels. Instead, wire the entire array of sound pressure channels to the input of the weighting and sound level VIs. The polymorphic VIs will adapt to the input type, and if the input data is continuous, the warning will not be returned.

 

Interestingly, you may be able to simplify your code if you specify the read order to group measurement types. Here is some code that I was looking at when evaluating performance for some different approaches to grouping waveforms. The Group by measurement type case was the fastest.

Doug
NI Sound and Vibration
0 Kudos
Message 2 of 3
(6,723 Views)

Hello Doug,

thanks for your answer ! Your are right, if I put the weighting and sound level meter Vi out of the For loop, it works good. Thanks !!

 

I 'll try to optimize the architecture by regarding your examples, thanks for the tips!

 

Mathieu 

0 Kudos
Message 3 of 3
(6,704 Views)