I would like to find a sinusoidal wave whose period or frequency change to half (or double) with every step, someting like this

enter image description here

But I cant find the precise coefficients for the period to decrease (or increase) twice. Can someone help me?

I want to use it to map the different pitch (or notes) of voice, to certain values.

In our speech, and singing, the range of the first octave is half of the next octave, so I need a function whose period is twice as big each time to cover all the octaves. it need not be a sinusoidal it can be any periodical function.

  • 1
    $\begingroup$ $ \sin \left( 2 \pi \; 2^x \right) $ or $ \sin \left( 2 \pi \; 2^{-x} \right) $ $\endgroup$
    – Will Jagy
    Jun 9, 2016 at 18:52
  • $\begingroup$ Let $p_k$ be the distance between two successive zero crossings. If $p_{k+1} = {1 \over 2} p_k$, then the zero crossings must accumulate at some finite point. $\endgroup$
    – copper.hat
    Jun 9, 2016 at 19:10
  • $\begingroup$ @WillJagy I don't see the period duplicating :( $\endgroup$ Jun 9, 2016 at 21:13
  • $\begingroup$ @copper.hat , I'm not sure about that, we would just divide by half and keep diving to infinity they would be very very close but never accumulate, I think. $\endgroup$ Jun 9, 2016 at 21:14
  • 1
    $\begingroup$ The zero crossings would be at $p_0+p_1+p_2+...$ which is bounded above... $\endgroup$
    – copper.hat
    Jun 9, 2016 at 21:23

1 Answer 1


The "correct" way of specifying a signal with time-varying frequency $f(t)$ is

$s(t) = \sin(2 \pi \int_0^t f(t) dt)$

In other words the phase is the integral of the instantaneous frequency $f(t)$. This is best checked when you consider the case when $f(t)$ is a step function, or linearly increasing.

If you now want the frequency to increase from a certain value at $t_0$ to twice the value at some time $t_1$, you need to choose an appropriate function $f(t)$ which does

$f(t_1) = 2 f(t_0)$

The precise form of $f$ can be chosen freely to meet your demand. If you want exponential behavior, i.e. doubling every $T_0$ with frequency of $f_0$ at time = 0 the following would be a possible choice

$f(t) = f_0 2^{t/T_0}$

  • $\begingroup$ Maybe I am confused, I don't want to double every To,by an f0. I mean every period being twice as long as the one before. If I leave the integral of 2^t, then I have sin(2^(x)*2*pi/ln(2)) which doesn't work either $\endgroup$ Jun 9, 2016 at 21:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .