On 4/11/2015 9:39 AM, robert bristow-johnson wrote:
i have to confess that this is hard and i don't have a concrete solution
for you.

Knowing that this isn't well known helps. I have an idea (see below). It might be wrong.


it seems to me that, by this description:

r[n] = uniform_random(0, 1)

if (r[n] <= P)

    x[n] = uniform_random(-1, 1);

else

  x[n] = x[n-1];

from that, and from the assumption of ergodicity (where all time
averages can be replaced with probabilistic averages), then it should be
possible to derive an autocorrelation function from this.

but i haven't done it.

Using AMDF instead of autocorrelation:

let n be an arbitrary time index
let t be the AMDF lag time of interest

AMDF[t] = fabs(x[n] - x[n-t])

there are two cases:

case 1, (holding): x[n-t] == x[n]
case 2, (not holding) x[n-t] == uniform_random(-1, 1)

In case 1, AMDF[t] = 0
In case 2, AMDF[t] = 2/3 (i think?)

To get the limit of AMDF[t], weight the values of the two cases by the probability of each case case. (Which seems like a textbook waiting-time problem, but will require me to return to my textbook).

Then I just need to convert the AMDF to PSD somehow.

Does that seem like a reasonable approach?

Ross.

_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to