1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How does Parceval's theorem help with an efficient CQT?

  1. Dec 14, 2013 #1

    First, apologies if this is the wrong forum or even the wrong website. The site popped up when searching for a math forum to help me implement an equation efficiently. I’m not sure if this is the place for discussing computational efficiency, but since the efficiency is achieved by way of mathematical theorems, I thought it might fit.

    I’m trying to implement an efficient version of the constant Q transform in an attempt to determine pitch for a real-time application, but the math part of my brain has been sitting unused for some years and Google doesn’t seem to hold much information.

    I’ve stumbled upon an algorithm derived by Judith Brown and Miller Puckette in an (easy to skim) article here:

    I’ve verified that the algorithm works (although not yet its speed), but I need to understand it better.
    The gist of the article is (if I understand correctly, of course) that a kernel (equation 4) can be pre-calculated and then used repeatedly for multiplication with the input signal. That seems reasonable: less processing power required, much more memory needed.

    The article seems to imply that using a form of Parceval’s relation (equation 3) is what provides the speed. I can’t understand the efficiency gain in multiplying an FFT’d kernel with an FFT’ed input, as opposed to just performing the multiplication in the time domain (first and second part of equation (5) in the article).

    What’s the catch? I guess what I’d like to know is what the use of Parceval’s theorem really is (especially coupled to the CQT).

    If this is such an elementary question that you don’t want to reward it with a lengthy answer, pointers to relevant articles would be sufficient.

    Also, if the first thought that pops into your head is “that’s not at all efficient. I know a much better way to do this”, please write away.

    Thanks in advance.
  2. jcsd
  3. Dec 16, 2013 #2

    Stephen Tashi

    User Avatar
    Science Advisor

    When I look at that document,the first page is blank. Anyone else able to see the first page ?
  4. Dec 16, 2013 #3
    When I click on the link in my post, I get the PDF document displayed as it should. I can't see anything different between page one and the others (apart from the information, of course), so I don't know why the first page would appear to be invisible for you.

    I use Safari and its built-in PDF reader, btw, although it shouldn't matter.
  5. Dec 16, 2013 #4


    User Avatar
    Science Advisor
    Homework Helper

    I think the point is that in equation (5) the sum is not really over N-1 terms because most of the K* terms are close to zero, as shown in Fig 2. Fig 3 is presumably some measure of the error introduced by dropping the near-zero terms. If the objective is to identify discrete 12-tone or 24-tone pitches in a scale, errors of a fraction of a tone interval (e.g. less than half) probably don't matter.
  6. Dec 19, 2013 #5
    Of course. It's funny how one's mind works. I've read the article several times, but somehow I've completely missed that (which some might argue is a central point of the article).

    It makes a lot more sense now. Thanks.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook