ANC Simulink Model Error

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 Commenti

Jay
Jay il 26 Giu 2024
Does anyone have the sample file of "Speedgoat_FXLMS_ANC_model.slx"?
Jimmy Lapierre
Jimmy Lapierre il 26 Giu 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

Accedi per commentare.

Risposte (1)

Jimmy Lapierre
Jimmy Lapierre il 2 Mar 2020

0 voti

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 Commenti

Olivia Park
Olivia Park il 2 Mar 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 il 2 Mar 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 il 3 Mar 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 il 3 Mar 2020
yes, and now it gives me this error:

Accedi per commentare.

Categorie

Scopri di più su Audio Processing Algorithm Design in Centro assistenza e File Exchange

Richiesto:

il 2 Mar 2020

Commentato:

il 26 Giu 2024

Community Treasure Hunt

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

Start Hunting!

Translated by