2
$\begingroup$

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?

$\endgroup$
5
  • $\begingroup$ I'm asking about active noise control specifically $\endgroup$ Sep 6 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$
    – DKNguyen
    Sep 6 at 23:01
  • 1
    $\begingroup$ Which leads you to this: physics.stackexchange.com/questions/60614/… $\endgroup$
    – DKNguyen
    Sep 6 at 23:05
  • 1
    $\begingroup$ Perfectly? Then infinite speed… $\endgroup$
    – Solar Mike
    Sep 7 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$
    – Syed
    Sep 7 at 7:45
1
$\begingroup$

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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.