How fast does a digital signal processor have to be to perfectly cancel out noise with an inverted signal? Is it possible for a digital signal processor react so fast?
-
$\begingroup$ I'm asking about active noise control specifically $\endgroup$– water castleCommented Sep 6, 2021 at 22:35
-
1$\begingroup$ You might want to say "inaudible" rather than "perfect" because nothing is perfect. I think you are asking about the clock speed of the DSP but that isn't the proper thing to ask. The proper thing to ask is the maximum latency between input and output since the actual execution cycles is going to vary depending on the DSP and the code. $\endgroup$– DKNguyenCommented Sep 6, 2021 at 23:01
-
1$\begingroup$ Which leads you to this: physics.stackexchange.com/questions/60614/… $\endgroup$– DKNguyenCommented Sep 6, 2021 at 23:05
-
1$\begingroup$ Perfectly? Then infinite speed… $\endgroup$– Solar MikeCommented Sep 7, 2021 at 5:03
-
$\begingroup$ How many lines of code does your algorithm have (per delivered audio sample)? If it has infinite number of lines, then you know the answer to your question. I would say the upper limit for your application would be around 20-30ms for adequate cancellation quality. Run as many or as few lines of code in that time frame. $\endgroup$– SyedCommented Sep 7, 2021 at 7:45
1 Answer
There's a "rule of thumb" for any phase-sensitive control loop that the processing phase lag has to be less than $\frac{\pi}{4}$ at the frequencies of interest to be stable.
For decent noise-cancelling, you'll want to do considerably better than that. I suspect you can find the actual time lag (not phase) for a given product by looking at the upper frequency limit and intuiting the time lag as something on the order of half the period of that limit. From that you can estimate the update rate of the digital processing algo.