Hi all,
I'm trying to adapt the ANC example from MathWorks (https://www.mathworks.com/videos/active-noise-control-from-modeling-to-real-time-prototyping-1561451814853.html) but using National Instrument DAQs instead of the speedgoat one. here is my modified model:
i keep getting an error at the path estimation boxes:
saying that there's a mistmatch. I see that there's a mismatch, but the "51200x1" error mic signal is coming directly from the NI DAQmx input from a microphone, and I cannot make the block sizes less than 83.... is there a way I can fix this?
thank you!

2 Kommentare

Jay
Jay am 26 Jun. 2024
Does anyone have the sample file of "Speedgoat_FXLMS_ANC_model.slx"?
Jimmy Lapierre
Jimmy Lapierre am 26 Jun. 2024
I'm not sure if you mean the SLX:
openExample('audio/ActiveNoiseControlWithSimulinkExample')
Or the optional "noise" file (washing machine), which you could generate using one of the washing machine recordings in toolbox\audio\samples

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jimmy Lapierre
Jimmy Lapierre am 2 Mär. 2020

0 Stimmen

Hi Olivia, it sounds like your device is incapable of ultra-low latency operation. Unless the noise to cancel is steady-state and exclusively tonal, the total latency time of the system has to be faster than the speed of sound between the error microphone and the loudspeaker.
The example here uses the Speedgoat since its latency can be as low as approximately 2 samples. If you intend to develop ANC for something physically small like headphones, you will need that ultra-low latency (and probably increase the sample rate of the model to further reduce latency).
So you could add buffering to the error microphone in the model to make it execute, but the ANC performance will be severly limited if the latency is too long.

4 Kommentare

Olivia Park
Olivia Park am 2 Mär. 2020
My sample rate is currently set to 51200, and I’m not trying to implement ANC as a headset but more for a rook using an array of microphones, but I will try the buffer and see what happens
Olivia Park
Olivia Park am 2 Mär. 2020
I tried to buffer just the error mic, but one of the LMS filters still gave an error, so I tried to buffer both mics but i get this error "The block 'FxLMS_ANC_test/Buffer' of type 'Buffer' is a multi-rate block. Currently Simulink supports only single-rate blocks of this type when the model is configured for concurrent execution."
Jimmy Lapierre
Jimmy Lapierre am 3 Mär. 2020
Have you tried to uncheck "allow tasks to execute concurrently on target" in Configuration, Solver, down in the Tasking section?
Olivia Park
Olivia Park am 3 Mär. 2020
yes, and now it gives me this error:

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Audio Processing Algorithm Design finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 2 Mär. 2020

Kommentiert:

am 26 Jun. 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by