I am using a matched filter to recognize an audio sample within a noisy input stream by cross correlating my sample with the input array and checking if the maximum crosses over my threshold.

Currently my threshold is static and my input is not normalized, and my results are greatly affected by the gain of my input.

Should I normalize my input signal vector, or dynamically calculate my threshold based on the input gain? If either is a good choice, how would I go about implementing this?

  • 1
    $\begingroup$ One possible solution is to add an automatic gain control (AGC) system before the matched filter, so that the power into the filter remains constant. $\endgroup$
    – MBaz
    Jul 9 '15 at 20:51
  • $\begingroup$ Mbaz where can I find an algorithm for AGC and would this introduce any unwanted effects I should account for? $\endgroup$
    – shane
    Jul 10 '15 at 3:04
  • $\begingroup$ Read chapter 6 of the book linked at the end of this page: sethares.engr.wisc.edu/telebreak.html. $\endgroup$
    – MBaz
    Jul 10 '15 at 14:21

Your Answer

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

Browse other questions tagged or ask your own question.