LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Sound and Vibration, Pink Noise VI output is not flat at high frequencies

Solved!
Go to solution

I'm currently working with the Sound and Vibration Toolkit to measure loudspeaker performance. One common measurement runs pink noise through the DUT and analyzes the output with an 1/N octave filterbank. Both the pink noise and filterbank VIs were easy enough to find and use. I constructed a quick VI to analyze the raw pink noise generated before a measurement.

NI pink noise.PNG

As you can see, below 10 kHz, the noise is sufficiently flat (+/- 0.25 dB). However, above that frequency and still in the range of audio measurements, the signal rolls up over 1 dB and compromises potential measurements.

Is there a configuration issue in my VI that is causing this? Can someone suggest parameter/program structure changes that may fix the issue? 

 

 

Message 1 of 8
(4,420 Views)

The first thing I would do is check your noise source. What is the upper freq band and falloff of its spectrum. It looks like you are sampling at 51.2kHz, Nyquist freq is 25.6 kHz. If there is sufficient noise above the Nyquist freq, it will alias into the lower bins. Noise power is additive. In your case, if the aliased power is about -6dB below the passband power, it will give you the 1 dB error.

Message 2 of 8
(4,372 Views)

Thanks jamiva. To clarify, the noise source is the "Pink Noise" VI supplied by NI in the Sound and Vibration Toolkit. The waveform output is wired directly to the filter bank VI with no resampling. 

NI pink noise diagram.PNG

I generated it at 51.2 kHz because that is the highest sample rate supported by my cDAQ hardware, and the problem persists as I change the sample rate control.

 

Maybe there is aliasing occuring within the generator VI, because it does look like aliased power on the graph. I'm hoping that an NI applicatons engineer may see this post and clarify if there is a fault in the VI or if it's simple user error on my part.

0 Kudos
Message 3 of 8
(4,364 Views)
Solution
Accepted by topic author BenV2

The SVT Pink Noise generation VI is based on the generic LabVIEW  Inverse f Noise Waveform generation VI that can create noise signals with various shapes and bandwidths using appropriate IIR filtering of a white noise waveform.

 

What you see here is caused by the deviation of the filter response from the expected ideal response. As often with IIR filters the deviation gets worse the closer you get to half the sample rate (Nyquist), in your case 51.2 kHz / 2 = 25. 6 kHz.

 

If you open the Pink Noise VI diagram you can extract magnitude error (dB) from the Inverse f Noise Waveform sub-VI. This will return a plot that looks like this

 

SVT Pink Noise Deviation.jpg

 

  As you can see the ripple is around 0.2 dB from 1 Hz to 6 kHz but increases to approx. 1 dB at 20 kHz.

 

If you want to partially compensate for that peaking you can try to apply an appropriate IIR or FIR filter to your pink noise signal before generating it.

Message 4 of 8
(4,338 Views)

Here is for example what you get if you filter your pink noise signal with a 2nd order Bessel filter with a cut-off frequency of 22 kHz.

 

SVT Pink Noise Bessel Filter.jpg

0 Kudos
Message 5 of 8
(4,329 Views)

Thank you, everyone - this was so educational for me!

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 6 of 8
(4,327 Views)
Solution
Accepted by topic author BenV2

localDSP has already indicated how to measure and compensate for the rise in band power as you approach Nyquist. Is this acceptable for your application? Also, what measurements are you concerned will be compromised? With DSA outputs a couple of years ago, it would have been easy to suggest a higher update rate. However, with the 9260 in cDAQ and even the 4463 in PXIe, your update rate is limited.

 

Filed CAR 631135 to add high-frequency compensation within the SVT Pink Noise Waveform VI.

Doug
NI Sound and Vibration
0 Kudos
Message 7 of 8
(4,241 Views)

Hi Doug, thanks for your reply. localDSP's method for compensating has worked well for my application so far. I'm using a cDAQ with 9263 analog out and 9234 connected to reference microphones to measure frequency responses up to 24kHz on tweeters in a vehicle. So I am limited to a 51.2kHz output sample rate. 

0 Kudos
Message 8 of 8
(4,211 Views)