Re: Experimenting active noise cancellation



Hi, QZ

I'm a signal processing software engineer of NI. I'm also working on active
noise control with adaptive filters recently just as you do. And I have also
experienced with all the same problems when I build a real demo using NI
hardware. The followings are my experiences to build ANC system:
1. Use LabVIEW RT, do not use desktop LabVIEW. Unlike typical control
application with sampling rate only as high as several hundred Hz, ANC works at
much higher sampling rate (at least 5KHz) to acquire the sound data. As a
result, time deterministic is very important.


2. Hardware timed single point timing
is very CPU consuming, you need to use real time controller at high throughput
like PXI-8196 or the latest PXI-8106 with Intel core2 dual processor.
3. Do not use DSA card like 4461/4472 to acquire
sound data. For ANC, the delay between input and output will be as small as
possible in order to make the control speaker keep up with the primary noise.
Hardware single point timing is the best timing mode for you. But DSA card do
not support hardware single point timing for you in DAQmx currently. In addition,
there exist several samples input delay because of the input digital/analog
anti-aliasing filter of DSA board. The followings are from 4461 user manual
addressing this issue:
The input filter delay, or time required for digital
data to propagate through the ADC digital filter, is 63 sample clock samples.
For example, a signal experiences a delay equal to 6.3 ms at 10 kS/s. This
delay is an important factor for stimulus-response measurements, control
applications, or any application where loop time is critical.
4. Because you can not use 4461/4472 for
AI/AO, multi function DAQ will be your nature choice. I use PXI-6281 to build
my ANC system. 6281 is a high accuracy M series multifunction DAQ with 16
channels AI to acquire acoustic signal and 2 channels AO to drive the control
speakers. In addition, it has onboard analog anti-aliasing filter which is also
very important to acquire the weak microphone signal corrupted by high frequency
noise. To use 6281 for ANC purpose, you should pay attentions to the following
issues:

Unlike
DSA card, multifunction DAQ do not have onboard IEPE stimulus, it can not
acquire acoustic signal from microphone directly in another word. You need
to use NI SCC-ACC01 to provide IEPE current source in order to acquire microphone
signal. You can also choose third-party microphone amplifiers.
Unlike
DSA card, the DAC of multifunction DAQ is zero-order hold, not
sigma-delta. This is why you encounters high frequency components using
9263 for analog output purpose. If you probe the output of 9263 to a oscillograph,
it will be clear. Digital filter is invalid here because after DAC, the
signal is in analog domain now! The only choice is to use analog low
pass-filter to decrease the high frequency component. I built an active
low-pass filter with operational amplifiers. You can also use simple one
order passive RC low-pass filter, and it will be better than none.



5. You can also consider to use Compact RIO
platform. The followings are the advantages of Compact RIO for ANC
applications:

Use
cRIO-9233 to acquire microphone signal. Unlike multifunction DAQ,
cRIO-9233 is specially designed to acquire dynamic signal, you do not need
external signal conditioner.
The
ANC algorithms are running on FPGA, the time sequence will be determined
by hardware, it will be much more stable for control application like ANC.
The
CRIO system is low-cost and compact, it can work at critical situations
(high temperature for example).
Hopefully the oboves can help you. BTW, I'm also interested in your application. I can provide my LV source code for you if you need it. You can also contact me directly by email: xiaosong.liu@ni
.



Relevant Pages

  • Re: Havent done anything real with OOP yet.
    ... solid target, 30 minutes for the liquid He-3 filled target. ... That's one user-adjustable time constant. ... filter; you don't have a lock-in amplifier unless you have a filter. ... signal from the lock-in, calculates a control action, and signals a DC ...
    (comp.object)
  • RE: Child control is changing data on exit, how to stop?
    ... that means the Control Source for the control is ... The subform has Office Name as the link child and master fields. ... Does not position the form to the selected doctor? ... what else do I have to add to get this cbo to filter the subform ...
    (microsoft.public.access.forms)
  • Re: Simple Illuminator Tip
    ... light control and found it was a perfectly standard Triac control circuit. ... limiting resistor to the filter had to be 1.00 ohm. ... brightness, so the needed resistance changed to 3.55 ohms. ... Of course then the blades had to be insulated from the ...
    (sci.techniques.microscopy)
  • Re: Setting Properties to my user control
    ... I put the load function in PreRender and it worked ... David Lozzi ... > filter criteria, it takes two clicks to get the correct data to appear ... > #User Control load.... ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Anti-spam measures.
    ... In article, anc wrote: ... the disadvantage is that if you make a mistake in ... > your filter you will lose email, however I think the advantage far ...
    (comp.os.linux.misc)